Connect directly two Patton Smartnode 4112 using T38

Problem: I did a consultancy for a client with two sites, one (the principal) with a old PBX connected to ISDN public network, and another remote-connected via VPN. In this remote site there is only a fax-machine, and this must be connected to the PBX to send and receive faxes: formerly here there was a Analog Line connected to PSTN, but the client has decided to cease it to save moneys.

Obviusly: for the customer it is not possible to use a fax server like Hylafax, where it is possible send & receive fax via network, because he wants to continue to use paper to send fax, and the his old fax-machine.

The initial idea was to connect two ATA throught VPN: 1 FXO connected to PBX in analog exten of PBX in the main site, and 1 FXS connected to fax-machine in the remote site.

The idea is good, but the problem is the kind and the configuration of the ATA: in this situation is mandatory to use T38 to connect one ATA with the other (T38 is the protocol studied to send fax in Voip enviroment). Other solution, with the use of codec like ALAW/ULAW, it is not optimal: we have tested too, but the optimail solution is to use T38.

Solution: We have used 2 SmartNode Patton: 4112/JO (FXO ATA) and a 4112/JS (FXS ATA), with the configuration in the next.

After several weeks of testing it is possible to confirm that all works fine.

SN4112/JO/EUI
Att.: Rel SW: 5.2

cli version 3.20
webserver port 80 language en
sntp-client

system

ic voice 0
low-bitrate-codec g729

profile ppp default

profile call-progress-tone defaultCongestiontone
play 1 200 425 -12
pause 2 200
play 3 200 425 -12

profile call-progress-tone IT_Dialtone
play 1 200 425 -12
pause 2 200
play 3 600 425 -12
pause 4 1000
play 5 200 425 -12
pause 6 200
play 7 600 425 -12
pause 8 1000
play 9 200 425 -12
pause 10 200

profile call-progress-tone IT_Alertingtone
play 1 1000 425 -12
pause 2 4000
play 3 1000 425 -12
pause 4 4000
play 5 1000 425 -12
pause 6 4000

profile call-progress-tone IT_Busytone
play 1 500 425 -12
pause 2 500
play 3 500 425 -12
pause 4 500
play 5 500 425 -12
pause 6 500

profile tone-set default
map call-progress-tone dial-tone IT_Dialtone
map call-progress-tone ringback-tone IT_Alertingtone
map call-progress-tone busy-tone defaultCongestiontone
map call-progress-tone release-tone IT_Busytone
map call-progress-tone congestion-tone IT_Busytone

profile voip default
codec 1 g711alaw64k rx-length 20 tx-length 20
codec 2 g711ulaw64k rx-length 20 tx-length 20
fax transmission 1 relay t38-udp
fax transmission 2 bypass g711alaw64k
modem transmission 1 bypass g711alaw64k
modem bypass-method nse

profile pstn default

profile sip default

profile aaa default
method 1 local
method 2 none

context ip router

interface ETH0
ipaddress <ip address of this device> <subnet mask of this device>
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu

context cs switch

routing-table calling-e164 OUT
route 100 dest-interface IF_FXO_00
route 101 dest-interface IF_FXO_01

routing-table called-e164 IN0
route default dest-interface SIP MAP_00

routing-table called-e164 IN1
route default dest-interface SIP MAP_01

mapping-table called-e164 to called-e164 MAP_00
map default to 100

mapping-table called-e164 to called-e164 MAP_01
map default to 101

interface sip SIP
bind context sip-gateway GW_SIP
route call dest-table OUT
remote <ip address of the other device, the SN 4112/JS> 5060
early-connect
early-disconnect

interface fxo IF_FXO_00
route call dest-table IN0
disconnect-signal battery-reversal
disconnect-signal loop-break
disconnect-signal busy-tone
connect-signal battery-reversal
ring-number on-caller-id
dial-after timeout 1

interface fxo IF_FXO_01
route call dest-table IN1
disconnect-signal battery-reversal
disconnect-signal loop-break
disconnect-signal busy-tone
connect-signal battery-reversal
ring-number on-caller-id
dial-after timeout 1

context cs switch
no shutdown

context sip-gateway GW_SIP

interface WAN1
bind interface ETH0 context router port 5060

context sip-gateway GW_SIP
no shutdown

port ethernet 0 0
medium auto
encapsulation ip
bind interface ETH0 router
no shutdown

port fxo 0 0
flash-hook-duration 120
encapsulation cc-fxo
bind interface IF_FXO_00 switch
no shutdown

port fxo 0 1
flash-hook-duration 120
encapsulation cc-fxo
bind interface IF_FXO_01 switch
no shutdown

SN4112/JS/EUI
Att.: Rel SW: 5.2

cli version 3.20
clock local offset +01:00
webserver port 80 language en
sntp-client

system

ic voice 0
low-bitrate-codec g729

profile ppp default

profile call-progress-tone ITA_Dialtone
play 1 200 425 -12
pause 2 200
play 3 600 425 -12
pause 4 1000

profile call-progress-tone ITA_Alertingtone
play 1 1000 425 -12
pause 2 4000

profile call-progress-tone ITA_Busytone
play 1 500 425 -12
pause 2 500

profile call-progress-tone ITA_ReleaseTone
play 1 100 425 -14
pause 2 100

profile tone-set default
dtmf-duration 160
dtmf-interspace 160
dtmf-signal-level -7
map call-progress-tone dial-tone ITA_Alertingtone
no map call-progress-tone ringback-tone
map call-progress-tone busy-tone defaultCongestiontone
no map call-progress-tone special-information-tone
no map call-progress-tone waiting-tone
no map call-progress-tone release-tone
no map call-progress-tone congestion-tone
no map call-progress-tone hold-tone
no map call-progress-tone confirmation-tone
no map call-progress-tone special-dial-tone

profile voip default
codec 1 g711alaw64k rx-length 20 tx-length 20
codec 2 g711ulaw64k rx-length 20 tx-length 20
fax transmission 1 relay t38-udp
fax transmission 2 bypass g711alaw64k
modem transmission 1 bypass g711alaw64k
modem bypass-method nse

profile pstn default

profile sip default

profile aaa default
method 1 local
method 2 none

context ip router

interface eth0
ipaddress <ip address of this device> <subnet mask of this device>
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu

context ip router

context cs switch
national-prefix 0
international-prefix 00

routing-table called-e164 FROM_SIP
route 100 dest-interface IF_FXS_0
route 101 dest-interface IF_FXS_1

routing-table called-e164 FROM_FXS
route .T dest-interface IF_SIP

interface sip IF_SIP
bind context sip-gateway PBX
route call dest-table FROM_SIP
remote <ip address of the other device, the SN 4112/JO> 5060
early-connect
early-disconnect

interface fxs IF_FXS_0
route call dest-table FROM_FXS
no call-waiting
subscriber-number 100
call-transfer
caller-id-presentation mid-ring

interface fxs IF_FXS_1
route call dest-table FROM_FXS
subscriber-number 101
no call-waiting
call-transfer
caller-id-presentation mid-ring

context cs switch
no shutdown

context sip-gateway PBX

interface LAN
bind interface eth0 context router port 5060

context sip-gateway PBX
no shutdown

port ethernet 0 0
medium auto
encapsulation ip
bind interface eth0 router
no shutdown

port fxs 0 0
encapsulation cc-fxs
bind interface IF_FXS_0 switch
no shutdown

port fxs 0 1
encapsulation cc-fxs
bind interface IF_FXS_1 switch
no shutdown