There was talk of this before, and my suggestion was just build a virtual
device driver for hylafax. Hylafax is the defacto standard in faxing
applications, and works with many faxmodem drivers. All we need is a
totally software faxmodem driver so hylafax thinks it is talking to a real
modem. The other side of the driver can talk to whatever necessary on the
asterisk side.
At 09:58 AM 4/17/2003 -0500, you wrote:
Quote:
I have been thinking about the issues regarding transmitting faxs over VoIP
asterisk networks. I have a couple of ideas I want to toss around with you
guys. What I currently have in mind is fax client & server applications.
These would basically be the same but the server would be a tdm gateway -
where the faxes transmitted and received are handed off to the telco.
The fax client would send and receive documents to local devices (fax
machines, network printers, email, PCs, etc. - but only the fax machines are
really necessary, as the server could do everything else) outgoing documents
would be queued until the entire document is received. The queued file would
then be sent to the server app where it would be transmitted out the tdm
gateway. Incoming documents would work in a similar manor.
This strategy would be simpler than trying to get iax, echocans and delays
to work smoothly with fax traffic. Additionally, the image quality would be
better and the negotiated transmission rates would be maximized.
We could probably find an existing fax server or rendering library, to
incorporate into the asterisk app, to do most of the work. It would have to
be lightweight so it didn't bog down the asterisk program. Would the use of
gpl code be OK for apps? A bit of notification code would need to be written
in addition to the app interface.
Tips, suggestions, criticism or info on fax applications that would be
suitable for this purpose?
I have been thinking about the issues regarding transmitting faxs over VoIP
asterisk networks. I have a couple of ideas I want to toss around with you
guys. What I currently have in mind is fax client & server applications.
These would basically be the same but the server would be a tdm gateway -
where the faxes transmitted and received are handed off to the telco.
The fax client would send and receive documents to local devices (fax
machines, network printers, email, PCs, etc. - but only the fax machines are
really necessary, as the server could do everything else) outgoing documents
would be queued until the entire document is received. The queued file would
then be sent to the server app where it would be transmitted out the tdm
gateway. Incoming documents would work in a similar manor.
This strategy would be simpler than trying to get iax, echocans and delays
to work smoothly with fax traffic. Additionally, the image quality would be
better and the negotiated transmission rates would be maximized.
We could probably find an existing fax server or rendering library, to
incorporate into the asterisk app, to do most of the work. It would have to
be lightweight so it didn't bog down the asterisk program. Would the use of
gpl code be OK for apps? A bit of notification code would need to be written
in addition to the app interface.
Tips, suggestions, criticism or info on fax applications that would be
suitable for this purpose?
The problem here wouldn't be so much a fax application problem, You
could easily wrap hylafax up and make it do what you want. The problem
is that the gateways here need fax modems since there isn't( to my
knowledge) a fax modem available in software that we could use on the
end of just a TDM audio feed to code/decode with. I would also point out
that it would probably end up taking quite a bit of processor load to do
a fax modem bank in software.
I have been somewhat tempted to try and get my hands on one of those
modem cards that has a T1 interface to hook into our T400P here and be
able to terminate faxs and backup data connections into it. Of course
once we get our PRI in, I look forward to trying to get our ISDN backup
connection routed into the PRI.
--
Steven Critchfield <critch@basesys.com>
I have been thinking about the issues regarding transmitting faxs over VoIP
asterisk networks. I have a couple of ideas I want to toss around with you
guys. What I currently have in mind is fax client & server applications.
These would basically be the same but the server would be a tdm gateway -
where the faxes transmitted and received are handed off to the telco.
The fax client would send and receive documents to local devices (fax
machines, network printers, email, PCs, etc. - but only the fax machines are
really necessary, as the server could do everything else) outgoing documents
would be queued until the entire document is received. The queued file would
then be sent to the server app where it would be transmitted out the tdm
gateway. Incoming documents would work in a similar manor.
This strategy would be simpler than trying to get iax, echocans and delays
to work smoothly with fax traffic. Additionally, the image quality would be
better and the negotiated transmission rates would be maximized.
We could probably find an existing fax server or rendering library, to
incorporate into the asterisk app, to do most of the work. It would have to
be lightweight so it didn't bog down the asterisk program. Would the use of
gpl code be OK for apps? A bit of notification code would need to be written
in addition to the app interface.
Tips, suggestions, criticism or info on fax applications that would be
suitable for this purpose?
Over on openh323 is something called t38modem. I know of someone who's
using it as a soft modem
Jon Pounder wrote:
Quote:
There was talk of this before, and my suggestion was just build a
virtual device driver for hylafax. Hylafax is the defacto standard in
faxing applications, and works with many faxmodem drivers. All we need
is a totally software faxmodem driver so hylafax thinks it is talking to
a real modem. The other side of the driver can talk to whatever
necessary on the asterisk side.
At 09:58 AM 4/17/2003 -0500, you wrote:
> I have been thinking about the issues regarding transmitting faxs over
> VoIP
> asterisk networks. I have a couple of ideas I want to toss around with
> you
> guys. What I currently have in mind is fax client & server applications.
> These would basically be the same but the server would be a tdm gateway -
> where the faxes transmitted and received are handed off to the telco.
>
> The fax client would send and receive documents to local devices (fax
> machines, network printers, email, PCs, etc. - but only the fax
> machines are
> really necessary, as the server could do everything else) outgoing
> documents
> would be queued until the entire document is received. The queued file
> would
> then be sent to the server app where it would be transmitted out the tdm
> gateway. Incoming documents would work in a similar manor.
>
> This strategy would be simpler than trying to get iax, echocans and
> delays
> to work smoothly with fax traffic. Additionally, the image quality
> would be
> better and the negotiated transmission rates would be maximized.
>
> We could probably find an existing fax server or rendering library, to
> incorporate into the asterisk app, to do most of the work. It would
> have to
> be lightweight so it didn't bog down the asterisk program. Would the
> use of
> gpl code be OK for apps? A bit of notification code would need to be
> written
> in addition to the app interface.
>
> Tips, suggestions, criticism or info on fax applications that would be
> suitable for this purpose?
>
> John
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev@lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
I have been thinking about the issues regarding transmitting faxs over VoIP
asterisk networks. I have a couple of ideas I want to toss around with you
guys. What I currently have in mind is fax client & server applications.
These would basically be the same but the server would be a tdm gateway -
where the faxes transmitted and received are handed off to the telco.
The fax client would send and receive documents to local devices (fax
machines, network printers, email, PCs, etc. - but only the fax machines are
really necessary, as the server could do everything else) outgoing documents
would be queued until the entire document is received. The queued file would
then be sent to the server app where it would be transmitted out the tdm
gateway. Incoming documents would work in a similar manor.
This strategy would be simpler than trying to get iax, echocans and delays
to work smoothly with fax traffic. Additionally, the image quality would be
better and the negotiated transmission rates would be maximized.
We could probably find an existing fax server or rendering library, to
incorporate into the asterisk app, to do most of the work. It would have to
be lightweight so it didn't bog down the asterisk program. Would the use of
gpl code be OK for apps? A bit of notification code would need to be written
in addition to the app interface.
Tips, suggestions, criticism or info on fax applications that would be
suitable for this purpose?
While looking around to make sure my last claim was valid, I happened
across a via driver for their AMR modem. Inside that package is a dsp.a
file that may well be a dsp library that could be called out to. It
appears to have all the important v. numbers. Granted in V56K and V90 we
wouldn't get the appropriate matching side to make real 56K connections,
but it would get the benefit of current up to date code.
Note that this is not from via, and there is no license file on the web
page I downloaded from, nor in the TGZs. The only files that contain
license information inside of themselves are code that has been derived
from the kernel.
--
Steven Critchfield <critch@basesys.com>
Which sort of application are people most interested in ?
1) a private fax network where you control both ends of the system ?
2) a gateway in/out of your lan to the pstn for faxing ?
To me at least these are 2 totally different animals.
1) requires some sort of ip protocol and 2 foip endpoints
2) requires a software faxmodem driver for hylafax.
I think 1) is far simpler to solve than 2).
for 1), something as simple as the good old ftp protocol could be used to
exchange files of a predefined type (pdf, tiff, g3, etc) over an ip channel
between two drivers of hylafax. Using LCR algorithms in hylafax, this
driver could be selected for communicating with other stations of the same
type. (this could be a store and forward setup as well, where the far end
foip station is not the final destination of the fax.)
for 2) we actually need the dsp stuff.
At 05:00 PM 4/17/2003 +0200, you wrote:
Quote:
At 16:21 17-4-2003 +0200, you wrote:
>What system is Cisco using for Fax over their IP networks, and their IP to
>Analog gateway devices?
>
>I see that Cisco is using Skinny on their 48 port IP to Analog Gateway.
Skinny is just another dumb voip protocol which uses RTP streams for
audio. No specific fax-issues there...
Which sort of application are people most interested in ?
1) a private fax network where you control both ends of the system ?
2) a gateway in/out of your lan to the pstn for faxing ?
To me at least these are 2 totally different animals.
1) requires some sort of ip protocol and 2 foip endpoints
2) requires a software faxmodem driver for hylafax.
I think 1) is far simpler to solve than 2).
for 1), something as simple as the good old ftp protocol could be used to
exchange files of a predefined type (pdf, tiff, g3, etc) over an ip channel
between two drivers of hylafax. Using LCR algorithms in hylafax, this
driver could be selected for communicating with other stations of the same
type. (this could be a store and forward setup as well, where the far end
foip station is not the final destination of the fax.)
for 2) we actually need the dsp stuff.
At 05:00 PM 4/17/2003 +0200, you wrote:
Quote:
At 16:21 17-4-2003 +0200, you wrote:
>What system is Cisco using for Fax over their IP networks, and their IP to
>Analog gateway devices?
>
>I see that Cisco is using Skinny on their 48 port IP to Analog Gateway.
Skinny is just another dumb voip protocol which uses RTP streams for
audio. No specific fax-issues there...
What I am most interested in is a way to attach a fax to an Asterisk FXS
port and then connect through IAX (prefered) to another asterisk system
to connect to a T1 card for transmission to the PSTN.
Fax - FXS - * - WAN - * T1 - PSTN.
While direct conversion of the channel to a bitstream over IAX would be
nice, a store and forward would do in most cases.
This type of Fax capability (coupled with a good compression codec
v.729?) would alow me to take asterisk as a concept to asterisk as a
viable product.
We provide Satellite service to the Energy sector and currently use
VoFR frads to provide 9.6k voice with VAD (also VAD would be nice) ti
provide voice and data services over a typical 64k satellite link. With
equivilant compression on the voice and fax capabilities in this
bandwidth senario, I belive that I could add enough value to suplant our
current setup.
Which sort of application are people most interested in ?
1) a private fax network where you control both ends of the system ?
2) a gateway in/out of your lan to the pstn for faxing ?
To me at least these are 2 totally different animals.
1) requires some sort of ip protocol and 2 foip endpoints
2) requires a software faxmodem driver for hylafax.
I think 1) is far simpler to solve than 2).
for 1), something as simple as the good old ftp protocol could be used
to
exchange files of a predefined type (pdf, tiff, g3, etc) over an ip
channel
between two drivers of hylafax. Using LCR algorithms in hylafax, this
driver could be selected for communicating with other stations of the
same
type. (this could be a store and forward setup as well, where the far
end
foip station is not the final destination of the fax.)
for 2) we actually need the dsp stuff.
At 05:00 PM 4/17/2003 +0200, you wrote:
Quote:
At 16:21 17-4-2003 +0200, you wrote:
>What system is Cisco using for Fax over their IP networks, and their
IP to
Quote:
>Analog gateway devices?
>
>I see that Cisco is using Skinny on their 48 port IP to Analog
Gateway.
Quote:
Skinny is just another dumb voip protocol which uses RTP streams for
audio. No specific fax-issues there...
What I am most interested in is a way to attach a fax to an Asterisk FXS
port and then connect through IAX (prefered) to another asterisk system
to connect to a T1 card for transmission to the PSTN.
Fax - FXS - * - WAN - * T1 - PSTN.
While direct conversion of the channel to a bitstream over IAX would be
nice,
Quote:
...a store and forward would do in most cases.
This is what I am proposing. I think it would be easier and much more solid
than attempting to send the fax stream over IP (In your case, it would be
very simple to apply compression to the intermediate file prior to
transmission). If we persued the other route of streaming the fax data
live,there would be issues with handshaking through transmission delay, echo
problems, some fax machines would be more stringent regarding handshake
timings, we would need special echocans, the transmission rate would be
low - in fact this would probably lead to overall slower faxing, higher
telco minutes, the list would go on and on. Because of this, building a
virtual device driver for hylafax would ultimately be a waste of time.
However, utilizing its functional blocks might be great, as it already does
almost all of the things we need...
Additionally, it might be done in a new cvs agtools (asterisk gpled tools)
we could use big parts of a gpled fax program (providing a suitable one
exists) - since it would be a separate app wouldn't this approach not
interfere with the Asterisk licence? Or, if hylafax source lends itself to
queue then transmit - there would be no problem (see below). We also might
talk to the hylafax developers - as they might be interested in maintaining
asterisk call functionality in their source - * would give them a lot too...
John
<!--StartFragment--> HylaFAX Facsimile Software
Copyright (c) 1990-1996 Sam Leffler
Copyright (c) 1991-1996 Silicon Graphics, Inc.
HylaFAX is a trademark of Silicon Graphics, Inc.
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
publicity relating to the software without the specific, prior written
permission of Sam Leffler and Silicon Graphics.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.
Posted: Fri Apr 18, 2003 3:53 am Post subject: [Asterisk-Dev] FAX Subsystem discussion.
A couple more thoughts I wanted to mention. It is likely that an existing
fax server would regard it's self as a real-time application. It is possible
that operating this program and asterisk at the same time could lead to
compromised operation of one or both.
Another thing was that I was basing my position on an assumption that fax
protocol handshaking has stringent timing requirements. It is possible that
this is not the case and replys might just be waited for. If so, reliable
fax transmission streams might be accomplished with a special echocan that
takes advantage of the one-sided-ness of a fax transmission. Mark's
daggressive_suppresion might be tweeked for this without too much change.
I'll see what i can find out...
John
Quote:
> What I am most interested in is a way to attach a fax to an Asterisk FXS
> port and then connect through IAX (prefered) to another asterisk system
> to connect to a T1 card for transmission to the PSTN.
>
> Fax - FXS - * - WAN - * T1 - PSTN.
>
> While direct conversion of the channel to a bitstream over IAX would be
nice,
> ...a store and forward would do in most cases.
This is what I am proposing. I think it would be easier and much more
solid
Quote:
than attempting to send the fax stream over IP (In your case, it would be
very simple to apply compression to the intermediate file prior to
transmission). If we persued the other route of streaming the fax data
live,there would be issues with handshaking through transmission delay,
echo
Quote:
problems, some fax machines would be more stringent regarding handshake
timings, we would need special echocans, the transmission rate would be
low - in fact this would probably lead to overall slower faxing, higher
telco minutes, the list would go on and on. Because of this, building a
virtual device driver for hylafax would ultimately be a waste of time.
However, utilizing its functional blocks might be great, as it already
does
Quote:
almost all of the things we need...
Additionally, it might be done in a new cvs agtools (asterisk gpled tools)
we could use big parts of a gpled fax program (providing a suitable one
exists) - since it would be a separate app wouldn't this approach not
interfere with the Asterisk licence? Or, if hylafax source lends itself to
queue then transmit - there would be no problem (see below). We also might
talk to the hylafax developers - as they might be interested in
maintaining
Quote:
asterisk call functionality in their source - * would give them a lot
too...
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum