SmartNode and Hylafax/Asterisk Fax handling
Posted by Olivier Gaudet, Last modified by Daniel Lizaola on 14 December 2017 05:00 PM

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})

 

 

 

(8748 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).