We have been using the 904 2nd gen to provide SIP to PRI for customer hand-off, We are now looking at providing analog lines through the 4 FXS ports. The SIP trunks are provide by a Netsapiens switch
through ethernet, I have modified the script to route an analog line to the 904, inbound works great but when I off hook I access the PRI T1 towards the PBX. Any advice would be helpfull.
See this document on SABR.
https://supportforums.adtran.com/servlet/JiveServlet/previewBody/1862-102-2-1978/Source%20and%20ANI%20Based%20Routing%20in%20AOS%20Voice%20Products.pdf
This should assist in setting up the routing.
.
Just to clarify, We are the ISP and we provide voip service through the Netsapiens switch. Intermax is a local ISP
and we have been doing voice about 2 years, but ramping up rapidly. Thanks you both for your replies, I looked at
the info and see that i have an issue in binding the traffic to the correct trunk. I am new to scripting the Adtrans and
know I am asking basic questions. This is the base config for the PRI that I need to add the analogs too.
hostname "XXXXXXXXXX"
enable password XXXXXXXX
!
clock timezone -8
!
ip subnet-zero
ip classless
ip routing
!
!
domain-proxy
name-server xxx.xx.xx.xxx x.x.x.x
!
!
no auto-config
!
event-history on
no logging forwarding
no logging email
!
no service password-encryption
!
username "XXXXXX" password "XXXXXXX"
!
banner motd #
Important
Web username/password is configured to admin/password.
Enable and Telnet passwords are configured to "password".
Please change them immediately.
The ethernet 0/1 interface is enabled with an address of 10.10.10.1
Telnet/SSH access is also enabled.
#
!
!
no ip firewall alg msn
no ip firewall alg mszone
no ip firewall alg h323
!
!
!
!
!
no dot11ap access-point-control
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface loop 1
no ip address
no shutdown
!
interface eth 0/1
ip address xxx.xxx.xxx.xxx 255.255.255.xxx
media-gateway ip primary
no awcp
no shutdown
!
!
!
!
interface t1 0/1
shutdown
!
interface t1 0/2
description Intermax
tdm-group 1 timeslots 1-24 speed 64
no shutdown
!
!
interface pri 1
description pri 1
isdn name-delivery setup
connect t1 0/2 tdm-group 1
no shutdown
!
!
interface fxs 0/1
shutdown
!
interface fxs 0/2
shutdown
!
interface fxs 0/3
shutdown
!
interface fxs 0/4
shutdown
!
!
isdn-group 1
min-channels 1
max-channels 23
connect pri 1
!
isdn-number-template 0 prefix "" plan 0 type 4 NXX-XXXX
!
!
!
timing-source internal
!
timing-source internal secondary
!
!
!
!
!
!
ip route 0.0.0.0 0.0.0.0 xxx.xxx.xxx.xxx
!
no tftp server
no tftp server overwrite
http server
http secure-server
no snmp agent
no ip ftp server
no ip scp server
no ip sntp server
!
!
!
!
!
!
!
!
ip sip
ip sip udp 5060
no ip sip tcp
!
!
!
voice feature-mode network
voice forward-mode network
!
!
!
!
!
!
!
!
voice dial-plan 1 local NXX-XXXX
voice dial-plan 2 long-distance MXXX
!
!
!
!
voice codec-list "SIP to PRI"
default
codec g711ulaw
codec g711alaw
codec g722
codec g729
!
!
!
voice trunk T01 type sip
description "SIP to Intermax"
sip-server primary xxxx.xxxxxxxxxx.com
registrar primary xxx.xxx.xxx.xxx
no registrar require-expires
outbound-proxy primary xxxx.xxxxxxxxxx.com
domain ""
dial-string source to
max-number-calls 23
codec-list "SIP to PRI" both
authentication username "XXXXXXXXX" password "XXXXXXXXX"
no diversion-supported
transfer-mode local
!
voice trunk T02 type isdn
description "PRI to PBX"
resource-selection linear ascending
connect isdn-group 1
early-cut-through
rtp delay-mode adaptive
codec-list "SIP to PRI"
!
!
voice grouped-trunk "INTERMAX SIP TO PRI"
trunk T01
accept NXX-XXXX cost 0
accept 1-NXX-NXX-XXXX cost 0
accept 1-800-NXX-XXXX cost 0
accept 1-888-NXX-XXXX cost 0
accept 1-877-NXX-XXXX cost 0
accept 1-866-NXX-XXXX cost 0
accept 1-855-NXX-XXXX cost 0
accept 011-$ cost 0
accept 411 cost 0
accept 611 cost 0
accept 911 cost 0
accept 10-10-XXX-$ cost 0
reject 976-XXXX
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
!
!
voice grouped-trunk "PRI TO PBX"
trunk T02
accept NXX-XXXX cost 0
accept 1-NXX-NXX-XXXX cost 0
accept 1-800-NXX-XXXX cost 0
accept 1-888-NXX-XXXX cost 0
accept 1-877-NXX-XXXX cost 0
accept 1-866-NXX-XXXX cost 0
accept 1-855-NXX-XXXX cost 0
accept 011-$ cost 0
accept 411 cost 0
accept 611 cost 0
accept 911 cost 0
accept $ cost 0
accept 10-10-XXX-$ cost 0
reject 976-XXXX
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
ip sip qos dscp 46
!
!
!
ip rtp symmetric-filter
!
!
!
line con 0
no login
!
line telnet 0 4
login
password xxxxxxxxx
no shutdown
line ssh 0 4
login local-userlist
no shutdown
!
!
!
!
!
end
I have reset the Adtran and reloaded a clean config as my changes had started to create a clutter with no results.
Hi normrr:
1. Enable an FXS interface:
interface fxs 0/1
no shutdown
2. Setup a voice user and connect it to an FXS interface:
voice user 10001
connect fxs 0/1
first-name "FXS"
last-name "1"
password encrypted "****************"
! Optionally set codec and features
modem-passthrough
codec-list G711-only
! Assign a telephone number/DID
alias 2605551212
3. Modify your trunk group accept statements. In your config, the trunk groups overlap digit strings and have the same cost. Consider the following cost changes so that calls from FXS (at least to non-matched numbers) are forced out to your SIP service. Last, it's a good idea to explicitly reject numbers that go to voice user (FXS) from the PRI trunk group.
voice grouped-trunk "INTERMAX SIP TO PRI"
trunk T01
accept NXX-XXXX cost 0
accept 1-NXX-NXX-XXXX cost 0
accept 1-800-NXX-XXXX cost 0
accept 1-888-NXX-XXXX cost 0
accept 1-877-NXX-XXXX cost 0
accept 1-866-NXX-XXXX cost 0
accept 1-855-NXX-XXXX cost 0
accept 011-$ cost 0
accept 411 cost 0
accept 611 cost 0
accept 911 cost 0
accept 10-10-XXX-$ cost 0
reject 976-XXXX
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
!
!
voice grouped-trunk "PRI TO PBX"
trunk T02
accept $ cost 10
reject 976-XXXX
reject 2605551212
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
You're normally safe to omit the 411, 611, etc. entries from the PBX-facing trunk group, as the provider isn't going to send calls to those numbers toward the PBX. Often, accept $ cost 10 is sufficient on that trunk group. Accept statements determine what can be sent from the AOS gateway out a given trunk group. I left your reject statements in place as a block, just in case the PBX has another PSTN service and a 900/976 number is dialed from the FXS.
Let us know if you have questions (and how it goes)!
Chris
First I want to say Thanks to all you guys who have taken time to respond, secondly this is driving me nuts.
I have incorporated all the suggestions that fit my issue, still I can get inbound calls to a phone on the FXS1 port
but when I dial out I activate the D ch signaling on the Meter attached to the PRI. Fast busy when the meter is off.
It seem that I don't have a path from the FXS1 to the SIP for the out bound traffic.
!
clock timezone -8
!
ip subnet-zero
ip classless
ip routing
!
!
ip name-server xxx.xxx.xxx.xxx x.x.x.x
!
!
no auto-config
!
event-history on
no logging forwarding
no logging email
!
no service password-encryption
!
username "xxxx" password "xxxxx"
!
banner motd #
Important
Web username/password is configured to admin/password.
Enable and Telnet passwords are configured to "password".
Please change them immediately.
The ethernet 0/1 interface is enabled with an address of 10.10.10.1
Telnet/SSH access is also enabled.
#
!
!
no ip firewall alg msn
no ip firewall alg mszone
no ip firewall alg h323
!
!
!
!
!
no dot11ap access-point-control
!
!
!
!
!
!
!
!
!
!
!
!
!
interface loop 1
no ip address
no shutdown
!
interface eth 0/1
ip address xxx.xxx.xxx.xxx. 255.255.255.xxx
media-gateway ip primary
no awcp
no shutdown
!
!
!
!
interface t1 0/1
shutdown
!
interface t1 0/2
description Intermax
tdm-group 1 timeslots 1-24 speed 64
no shutdown
!
!
interface pri 1
description pri 1
isdn name-delivery setup
connect t1 0/2 tdm-group 1
role network b-channel-restarts disable
no shutdown
!
!
interface fxs 0/1
no shutdown
!
interface fxs 0/2
shutdown
!
interface fxs 0/3
shutdown
!
interface fxs 0/4
shutdown
!
!
isdn-group 1
min-channels 1
max-channels 23
connect pri 1
!
isdn-number-template 0 prefix "" plan 0 type 4 NXX-XXXX
!
!
!
timing-source internal
!
timing-source internal secondary
!
!
!
!
!
!
!
ip route 0.0.0.0 0.0.0.0 xxx.xxx.xxx.xxx
!
no ip tftp server
no ip tftp server overwrite
ip http server
no ip http secure-server
no ip snmp agent
no ip ftp server
no ip scp server
no ip sntp server
!
!
!
!
!
!
ip sip
ip sip udp 5060
no ip sip tcp
!
!
!
voice feature-mode network
voice forward-mode network
!
!
!
!
!
!
!
voice dial-plan 1 local NXX-XXXX
voice dial-plan 2 long-distance MXXX
!
!
!
!
voice codec-list "SIP to PRI"
default
codec g711ulaw
codec g711alaw
codec g722
codec g729
!
!
!
voice trunk T01 type sip
description "SIP to Intermax"
sip-server primary voip.xxxxxxxxxxxx.com
registrar primary xxx.xxx.xxx.xxx
no registrar require-expires
outbound-proxy primary voip.xxxxxxxxxx.com
authentication username "xxxxxxxx" password "xxxxxxxx"
dial-string source to
max-number-calls 23
no diversion-supported
transfer-mode local
!
voice trunk T02 type isdn
description "PRI to PBX"
resource-selection linear ascending
connect isdn-group 1
rtp delay-mode adaptive
!
!
voice grouped-trunk "INTERMAX SIP TO PRI"
trunk T01
accept NXX-XXXX cost 0
accept 1-NXX-NXX-XXXX cost 0
accept 1-800-NXX-XXXX cost 0
accept 1-888-NXX-XXXX cost 0
accept 1-877-NXX-XXXX cost 0
accept 1-866-NXX-XXXX cost 0
accept 1-855-NXX-XXXX cost 0
accept 011-$ cost 0
accept 411 cost 0
accept 611 cost 0
accept 911 cost 0
accept 10-10-XXX-$ cost 0
reject 976-XXXX
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
!
!
voice grouped-trunk "PRI TO PBX"
trunk T02
accept $ cost 10
reject 976-XXXX
reject 1-900-NXX-XXXX
reject 1-976-NXX-XXXX
reject xxxxxxxxx (same as the alias)
!
!
voice grouped-trunk T01
!
!
voice user 400
connect fxs 0/1
first-name "FSX"
last-name "1"
password "1234"
codec-group "SIP to PRI"
alias xxxxxxxxx
!
!
!
!
!
!
!
!
!
!
!
!
!
!
ip sip proxy domain "voip.xxxxxxxxxxx.com"
ip sip proxy grammar request-uri host domain
ip sip proxy grammar to host domain
ip sip proxy grammar from host domain
!
!
!
!
!
!
!
ip sip qos dscp 46
!
!
ip rtp symmetric-filter
!
!
!
line con 0
no login
!
line telnet 0 4
login
password !NMnet09
no shutdown
line ssh 0 4
login local-userlist
no shutdown
!
!
!
!
!
end
Thanks again all!
normrr,
One recommendation I would add to that is changing your voice grouped-trunk "PRI TO PBX" to only accept numbers that actually belong on the PRI instead of doing accept $ (ALL) cost 10. I would list every number with a cost of 0 no generic entries. This list is used by the switchboard of the system to help determine call routing so whena call comes in on the SIP trunk the switchboard compares the dialed number to all other trunks on the system looking for the best match with the lowest cost and then assigns a score to each possible route it finds and the route with the best score gets the call. An exact match always gets a better value then a generic match. This gets very important when you start getting into systems with multiple PRIs that have preferred routes for example you could have two PRIs where PRI 1 would be mainly for incoming calls and PRI 2 is designated with outgoing calls yet they have mutual failover incase one or the other is down or full. In this scenario you would assign each did on both list but give PRI 1 a cost of 0 and the second PRI a cost 100 so inbound calls will always go to PRI 1 first. When you are making outbound calls from the PRI the switchboard would look at the accept lists for the trunks other then the PRI list so you would want the generic accepts there so the dialed number will match that trunk. Either method will work but I think the extra security of ensuring only valid calls are sent to the PBX is worth the extra effort.
John Wable
Thanks John, and everyone who helped out. I will only use the analog FXS for FAX, would adding a reject to the "PRI TO PBX" for the FAX numbers work as well as listing the numbers on the PRI. Just asking as we have PRI's with 200 - 300 DID's. And I have the Analog ports working now with good in and outbound audio.
Thanks again all. I will be back with other issues I am sure.
Using 'reject' on the PRI TO PBX group for FXS user DIDs is a great way to go.
Thanks CJ!. It just seems a little easier, as long as the results are the same.