This article contains a SmartNode voip profile configuration example to be used together with a Hylafax software based on Asterisk. As well a Hylafax /Asterisk configuration recommendation is included. Both the SmartNode and Hylafax settings were successfully tested in a customer setup and provide a reliable fax transmission.
1°) Patton SmartNode VoIP Profile to use :
profile voip default codec 1 g711alaw64k rx-length 20 tx-length 20 codec 2 g711ulaw64k rx-length 20 tx-length 20 ced net-side-detection fax transmission 1 bypass g711alaw64k fax transmission 2 relay t38-udp fax redundancy low-speed 2 high-speed 1 fax bypass-method v150-vbd modem transmission 1 bypass g711alaw64k modem bypass-method v150-vbd
Below you will find what concerns the Asterisk Server. As Patton will not support this specific part, please refer to the various tutorials and explanantion you can find on the Asterisk Community websites (such as voipinfo.org or so) around this topic.
2°) IAXmodem configuration
/etc/iaxmodem/ttyIAX1 :
device /dev/ttyIAX1 owner uucp:uucp mode 660 port 4570 server 127.0.0.1 peername iaxmodem1 codec slinear
3°) IAX.conf configuration
/etc/asterisk/iax.conf [iaxmodem1] type=friend host=127.0.0.1 port=4570 context=faxmodems1 requirecalltoken=no jitterbuffer=no qualify=yes deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 disallow=all allow=slin
4°) Hylafax configuration
/etc/hylafax/hfaxd.conf : LogFacility: daemon ServerTracing: 0x001 JobProtection: 0600 PublicJobQ: false PublicRecvQ: false
4°) How Hylafax and ttyIAX1 are connected :
/etc/hylafax/config.ttyIAX1 : CountryCode: 41 <-- Exemple for switzerland AreaCode: 1 FAXNumber: 0319852526 <-- FAX calling party number LongDistancePrefix: 0 InternationalPrefix: 00 DialStringRules: etc/dialrules.europe ServerTracing: 1 SessionTracing: 11 LogFileMode: 0600 DeviceMode: 0600 RingsBeforeAnswer: 1 SpeakerVolume: off GettyArgs: "-h %l dx_%s" LocalIdentifier: "Patton-Inalp" <-Calling party Name or Company name TagLineFont: etc/lutRS18.pcf TagLineFormat: "From %%l|%c|Page %%P sur %%T" MaxRecvPages: 25 ModemType: Class1 Class1Cmd: AT+FCLASS=1.0 Class1PPMWaitCmd: AT+FTS=7 Class1TCFWaitCmd: AT+FTS=7 Class1EOPWaitCmd: AT+FTS=9 Class1SwitchingCmd: AT+FRS=7 Class1RecvAbortOK: 200 Class1FrameOverhead: 4 Class1RecvIdentTimer: 40000 Class1TCFMaxNonZero: 10 Class1TCFMinRun: 1000 ModemResetCmds: AT+VCID=1 PagerTTYParity: none CallIDPattern: "NMBR=" CallIDPattern: "NAME=" CallIDPattern: "ANID=" CallIDPattern: "NDID=" PublicSendQ: false JobProtection: 600 PublicRecvQ: false RecvFileMode: 600
And, last but not least, here is an asterisk DialPlan example for a fax call :
[faxmodems1-in] exten => s,1,Dial(IAX2/iaxmodem1/${EXTEN})
|