Using the Patton SN4554 for ISDN with Elastix
For any business migrating to SIP, the Patton SN4554 is a brilliant way to bring two ISDN lines (4-channels) in to their new PBX system, especially considering you don’t have to break open your PBX Server to install a PCI card.
This basic How-To shows you how to set it up to work with your Elastix system:
First off, you’ll want the following config which is a bit of a mash-up from some other documentation on making it work with an Aastra 800 (Include the header):
#----------------------------------------------------------------#
# #
# Template for SN4554/2BIS/UI to use with Elastix #
# Use with firmware R5.1 or higher #
# #
# This template uses dhcp to retrieve an IP address. Comments in #
# the file indicate what to change (Start with '#') #
# #
# See the SmartWare Software Configuration guide for command #
# details (http://www.patton.com/manuals/SCG-r52.pdf) #
# Modified by Josiah Spackman #
# http://chillingsilence.wordpress.com #
#----------------------------------------------------------------#
cli version 3.20
webserver port 80 language en
system
ic voice 0
low-bitrate-codec g711alaw64k
system
clock-source 1 bri 0 0
clock-source 2 bri 0 1
profile ppp default
profile tone-set default
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
profile pstn default
profile sip default
profile aaa default
method 1 local
method 2 none
context ip router
interface IF_IP_WAN
# replace 'dhcp' with your fix IP if needed, e.g. "ipaddress 172.16.1.20 255.255.0.0"
ipaddress dhcp
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu
context ip router
# uncomment the following line if you need to add routing table entries
# route 0.0.0.0 0.0.0.0 172.16.1.1
context cs switch
national-prefix 0
international-prefix 00
routing-table called-e164 RT_ISDN_TO_SIP
# 'T' in the following lines specifies "digit collection". The time for collection can be adjusted replacing 'T' wih 'T2' for 2 seconds.
route T dest-interface IF_SIP
routing-table calling-e164 RT_SIP_TO_ISDN
route default dest-service SV_HUNT_PSTN MP_Unknown-Subscriber
# This mapping table sets the ISDN type of number for calls towards ISDN to 'subscriber'
mapping-table calling-e164 to calling-type-of-number MP_Unknown-Subscriber
map default to subscriber
interface isdn IF_ISDN_0
route call dest-table RT_ISDN_TO_SIP
interface isdn IF_ISDN_1
route call dest-table RT_ISDN_TO_SIP
interface sip IF_SIP
bind context sip-gateway GW_SIP
route call dest-table RT_SIP_TO_ISDN
# This is the IP of your Asterisk. Replace with domain name if DNS server is available
remote 192.168.0.250
service hunt-group SV_HUNT_PSTN
drop-cause normal-unspecified
drop-cause no-circuit-channel-available
drop-cause network-out-of-order
drop-cause temporary-failure
drop-cause switching-equipment-congestion
drop-cause access-info-discarded
drop-cause circuit-channel-not-available
drop-cause resources-unavailable
route call 1 dest-interface IF_ISDN_0
route call 2 dest-interface IF_ISDN_1
context cs switch
no shutdown
# The parameters realm, username and password have to match your Asterisk configuration
authentication-service AUTH_AASTRA800
realm 1 smartnode-gw
username patton password 6953789
# The parameters domain, username, identity (=username) below have to match your Aastra800 configuration
location-service LS_AASTRA800
domain 1 smartnode-gw
identity-group default
authentication inbound
authenticate 1 authentication-service AUTH_AASTRA800 patton 6953789
identity 6953789
authentication inbound
authenticate 1 authentication-service AUTH_AASTRA800 patton 6953789
registration inbound
context sip-gateway GW_SIP
interface WAN
bind interface IF_IP_WAN context router port 5060
context sip-gateway GW_SIP
bind location-service LS_AASTRA800
no shutdown
port ethernet 0 0
medium auto
encapsulation ip
bind interface IF_IP_WAN router
no shutdown
port bri 0 0
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
encapsulation q931
q931
protocol dss1
uni-side user
bchan-number-order ascending
encapsulation cc-isdn
bind interface IF_ISDN_0 switch
port bri 0 0
no shutdown
port bri 0 1
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
encapsulation q931
q931
protocol dss1
uni-side user
bchan-number-order ascending
encapsulation cc-isdn
bind interface IF_ISDN_1 switch
port bri 0 1
no shutdown
Copy this all into a notepad window and save it as “SN4554.cfg”
What you’re going to want to modify is the references to “192.168.0.250” and point it to your Elastix / Asterisk system.
All the ISDN ports are set to “Point-to-Point”. You can adjust the “pp” settings to “pmp” if you require “Point-to-Multipoint”, though to be honest ISDN isn’t my strong point so I’m not entirely sure how relevant that is.
This will leave the WAN port using DHCP, hopefully you’ve got a semi-intelligent DHCP server that will give out the same IP each time.
Open the WebGUI of your SN4554 up, login with the default Username “administrator” and a blank password.
Click on “Import / Export” on the left-hand side, then hit the Import Configuration tab.
Select the file, import it, then reload the device.
Now, in asterisk you want to add a new SIP trunk. Name it “ISDN” and put the following in the SIP PEER Details:
username=patton type=friend secret=6953789 qualify=1200 insecure=very host=192.168.0.141 dtmfmode=RFC2833 disallow=all context=from-pstn canreinvite=no allow=alaw&g729
There’s no register string or USER details, though it may be worth specifying the max channels as “4”.
You’ll need to adjust the “host” setting to the WAN IP Address of your Patton box, as we’re semi-insecure with such a basic password.
You *could* adjust the password and username in the config etc as applicable, but specifying the host should be enough, especially considering (in my instance) the whole system is LAN-accessible only.
When you’re finished, you should be able to login to your Elastix system via SSH and run:
asterisk -rx ‘sip show peers’
And see:
ISDN/patton         192.168.0.141     N    5060   OK (19 ms)
If you do, congratulations, you’re ready to go!
Now you just need to setup inbound and outbound routes as applicable.
If this was useful to you, please leave a comment and say hi.
I’d also like to thank Byron from SnapperNet in New Zealand, he’s been such a great help, and also provided me with the initial configuration samples.
This How-To has also been re-posted here: http://blogs.elastix.org/en/2010/05/using-the-patton-sn4554-for-isdn-with-elastix/
Chilling_Silence's blog
Leave a Reply