HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
Re: [hylafax-users] Digital vs Analog
here is my semi-informed summary on how this works (I DO, however, know
that it works, because we ARE using it in a production environment)
t38modem (written by Vyacheslav Frolov) is a little 'virtual' modem
application, which provides an interface between anything than can use a
standard modem, and a voip gateway.
In other words, t38modem answers AT commands, and as far as HylaFAX is
concerned - is just another type of modem. However, as HylaFAX talks to
the t38modem, all gets converted to t38 and h323 and passed on to a voip
gateway (cisco, in our case).
I found t38modem on http://www.openh323.org/, but must warn you that the
latest version available is NOT available there - the website seems to
not have been updated for a while. Get the latest straight from CVS on
sourceforge by:
cvs -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxx:/cvsroot/openh323 login
press 'Enter' when asked for password
cvs -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxx:/cvsroot/openh323 co
t38modem
More info can be found on the t38modem mailing list, which is hosted at
http://www.openh323.org/ and IS current.
t38modem requires pwlib and openh323, available at
http://www.voxgratia.org/.
jordan
ps> Below is a cut-and-paste of the README file from the t38modem source.
[SYD root@hfax01 t38modem-0.8.1]# cat README
/*
* $Id: README,v 1.11 2005/03/04 16:41:01 vfrolov Exp $
*
* T38FAX Pseudo Modem
*
* Original author: Vyacheslav Frolov
*
*/
1. Introduction
---------------
What is t38modem?
From your fax application view point it's a fax modem pool.
From IP network view point it's a H.323 endpoint with T.38 fax support.
From your view point it's a gateway between a fax application and IP
network.
2. Building
-----------
2.1. Compiling for Unix
-----------------------
$ make opt
2.2. Compiling for Windows
--------------------------
Start MSVC (v5 or v6) with t38modem.dsp file.
Set Active Configuration to "t38modem - Win32 Release".
Build t38modem.exe.
3. Examples
-----------
3.1. Starting
-------------
$ ./obj_linux_x86_r/t38modem -n -o trace.log -p ttyx0,ttyx1 --route
0@xxxxxxxxx
--route
all@xxxxxxxxxxxx
Creates two modems /dev/ttyx0 and /dev/ttyx1
FreeBSD Users: You need to use -p ttypa,ttypb instead of -p ttyx0,ttyx1.
Remember to replace ttyx0 with ttypa and ttyx1 with ttypb
when following the rest of these instructions.
This will create two modems /dev/ttypa and /dev/ttypb.
Windows Users: You need two COM ports connected via Null-modem cable to
create o
ne modem.
If your COM1 connected to COM2 and COM3 connected to
COM4 you nee
d to use
-p \\.\COM2,\\.\COM4 instead of -p ttyx0,ttyx1.
This will create two modems COM1 and COM3.
Q. How to use t38modem without additional COM port
hardware on Wi
ndows?
A. Replace a pair of physical COM ports with a pair of
virtual CO
M ports.
See http://com0com.sourceforge.net/ project for details.
Q. What model of modem to select in Add Hardware Wizard?
A. Select "Standard 1440 bps Modem".
Cisco Users: You additionaly need to use --old-asn and
--h245tunneldisable opt
ions.
If dialed number begins with '0' then it will be routed to local host
('0' will
be discarded).
If not then it will be routed to 172.16.33.21.
3.2. Testing (you need two consoles)
------------------------------------
(FreeBSD users - remeber to use /dev/ttypa and /dev/ttypb with 'cu -l')
(Windows users - use COM1 and COM3 with HyperTerminal)
$ cu -l /dev/ttyx0 $ cu -l /dev/ttyx1
Connected. Connected.
<-- at <-- at
--> OK --> OK
(wait at least 10 secs)
<-- atdt012345
-->
--> RING
-->
--> RING
<-- ati9
--> NDID = 12345
--> OK
-->
--> RING
-->
--> RING
<-- ata
--> CONNECT --> CONNECT
<-- x
--> OK
<-- ath
--> OK
-->
--> ERROR
<-- at
--> OK
<-- at
--> OK
... ...
3.3. Example of Cisco config (loopback)
---------------------------------------
10.0.2.12 --> Cisco port 2:D --E1-cable--> Cisco port 3:D --> 10.0.2.12
dial-peer voice 3340 voip
incoming called-number 3334....
codec g711alaw
fax rate 14400
fax protocol t38 ls-redundancy 0 hs-redundancy 0
dial-peer voice 3341 pots
destination-pattern 3334....
port 2:D
forward-digits 7
dial-peer voice 3342 pots
incoming called-number 334....
direct-inward-dial
port 3:D
exit
dial-peer voice 3343 voip
destination-pattern 334....
session target ipv4:10.0.2.12
codec g711alaw
fax rate 14400
fax protocol t38 ls-redundancy 0 hs-redundancy 0
exit
3.4. Example of HylaFAX modem config files
------------------------------------------
Copy HylaFAX/etc/config.ttyx to HylaFAX's etc directory
Create simbolic links:
config.ttyx0 -> config.ttyx
config.ttyx1 -> config.ttyx
Start HylaFAX with new modems:
$ .../faxgetty -D ttyx0
$ .../faxgetty -D ttyx1
(FreeBSD users - don't forget we are using ttypa and ttypb)
4. AT commands specific to t38modem
-----------------------------------
4.1. AT#CID command
-------------------
4.1.1 calling/called number reporting
-------------------------------------
#CID=0 - disables calling/called number reporting (default).
#CID=10 - Enables calling/called number reporting after the first RING.
Example:
--> RING
--> NMBR = <calling number>
--> NDID = <called number>
--> RING
--> RING
4.2. ATI command
----------------
4.2.1 calling/called number reporting
-------------------------------------
I8 - reports calling number for last incoming call.
I9 - reports called number for last incoming call.
Example:
<-- ATI8I9
--> NMBR = <calling number>
--> NDID = <called number>
--> OK
4.3. ATD command
----------------
4.3.1 T.38 mode modifiers
-------------------------
F - enable T.38 mode request after dialing.
V - disable T.38 mode request after dialing (default).
Examples:
<-- ATDF<user's number>
enables T.38 mode request after dialing but user can override it by
inserting V into <user's number>.
<-- ATD<user's number>V
disables T.38 mode request after dialing and user can't override it
by inserting F into <user's number>.
4.3.2 calling/called number modifiers
-------------------------------------
L - reset and begin of calling number.
D - continue of called number.
If calling number is empty after processing ATD command then t38modem's
local party number used.
Examples:
<-- ATD<user's number>
calling number is t38modem's local party number but user can override
it by inserting L<user's calling number> into <user's number>
<-- ATD<user's number>L
calling number is t38modem's local party number and user can't override
it by inserting L<user's calling number> into <user's number>
<-- ATDL<calling number>D<user's number>
calling number is <calling number> but user can override
it by inserting L<user's calling number> into <user's number>
<-- ATD<user's number>L<calling number>
calling number is <calling number> and user can't override
it by inserting L<user's calling number> into <user's number>
4.4. AT#DFRMC command
---------------------
4.4.1 Set delay for CONNECT result code for AT+FRM command
----------------------------------------------------------
#DFRMC=0 - disable delay (default).
#DFRMC=25 - set delay to 250 ms.
-----------------------------
/*
* $Log: README,v $
* Revision 1.11 2005/03/04 16:41:01 vfrolov
* Implemented AT#DFRMC command
*
* Revision 1.10 2005/02/10 15:07:15 vfrolov
* Added more comments for Windows users
*
* Revision 1.9 2005/02/07 10:07:38 vfrolov
* Fixed com0com link
* Moved Log to the bottom
*
* Revision 1.8 2005/02/03 13:20:01 vfrolov
* Added comments for Windows users
*
* Revision 1.7 2002/12/19 10:41:03 vfrolov
* Added "Introduction" and "AT commands" sections and made some fixes
*
* Revision 1.6 2002/11/18 22:57:53 craigs
* Added patches from Vyacheslav Frolov for CORRIGENDUM
*
* Revision 1.5 2002/03/22 09:40:57 vfrolov
* Removed obsoleted option -f
*
* Revision 1.4 2002/01/09 16:14:58 rogerh
* FreeBSD uses /dev/ttypa and /dev/ttypb
*
* Revision 1.3 2002/01/09 16:01:03 rogerh
* Executable is called t38modem
*
* Revision 1.2 2002/01/01 23:11:49 craigs
* New version from Vyacheslav Frolov
* Removed references to unneeded OpenH323 patches
* Removed reference to -k and -m options in usage
* Change to use -route option
*
*/
Kite Lau wrote:
2005-10-29 12:21 +1000,Jordan Kojouharov:
to a single server with
HylaFAX and 32 virtual t38modems interfacing directly to a Cisco VOIP
gateway.
Interesting story. Can you explain a little bit. for example, how to
connect to a cisco VOIP gateway. Any document or example will be
helpful.
Regards,
Kite
____________________ HylaFAX(tm) Users Mailing List _______________________
To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
*To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*