I have a customer that wants to migrate from expensive analog FXS lines to a SIP Provider/ITSP. After getting multiple quotes, it seemed like Nextiva was the best fit for this small office environment. Once we signed up for Nextiva, I was less than impressed with the amount of support they offer to get customer's SIP trunks operational. Their Tier 4 support can basically only tell you if your connected to them or not. They'll tell you to install a free soft phone and if your soft phone registers, they say they've proven their side is good and it's up to you to figure out your PBX configurations. They have no example configs or recommendations for Cisco CME/CUBE/VGRs connecting to Nextiva. I was given my Username, Password, and the domain bt.voipdnsservers.com
So, after hours of analyzing packet captures, debugs, and working with TAC, I was able to get a working configuration between Cisco CME/CUBE and Nextiva. I'm posting the relevant configurations to hopefully save everyone a huge headache and a ton of time, if you choose Nextiva as a SIP trunk provider ITSP.
My environment includes a CME/CUBE, with all SIP traffic bound to loopback 0. I'm using private IP space on the LAN and NAT'ing all networks at my firewall that connects to the ISP.
First things first, ensure that the IP of the CME/CUBE Loopback 0 is included in your NAT at the firewall and that your firewall has the proper routes to the CME/CUBE Loopback 0 address on the inside. I did not perform any PAT inbound to the CME and I did not add ACLs permiting SIP or anything inbound.
Nextiva needs the SIP messages to come in a certain way. We will be creating a SIP Profile to modify the SIP header as it is sent out. I will include a generic dial-peer showing the SIP Profile applied. By default, any existing pots dial-peer will try to register with the SIP Registrar, so i will include a pots dial-peer command that stops that. Since the Nextiva IP's are not specifically configured as a SIP destination, inbound calls will be denied by default when coming from an unknown IP. We will add ip address trusted list commands to the CUBE configuration to allow the IP's in. You can modify this to the exact IP's of the ITSP.
voice service voip
ip address trusted list
ipv4 0.0.0.0 0.0.0.0
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
supplementary-service h450.12
no supplementary-service sip refer
fax protocol pass-through g711ulaw
h323
sip
bind control source-interface Loopback0
bind media source-interface Loopback0
no call service stop
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g729r8
!
!
!***Note that the ALL_CAPS portions require your information*******
!
!
voice class sip-profiles 200
request ANY sip-header From modify "YOUR_LOOPBACK_IP_ADDRESS" "bt.voipdnsservers.com"
request ANY sip-header From modify "sip:(.*)@" "sip:NEXTIVA_USERNAME/PHONE_NUMBER@"
request INVITE sip-header SIP-Req-URI modify "bt.voipdnsservers.com:5060" "bt.voipdnsservers.com"
!
!
!
!
!
dial-peer voice 100 pots
no sip-register
!
dial-peer voice 200 voip
description Incoming_Calls_From_ITSP
session protocol sipv2
incoming called-number YOUR PHONE NUMBER FROM ITSP
voice-class codec 1
dtmf-relay rtp-nte sip-notify
no vad
supplementary-service h450.12
!
dial-peer voice 201 voip
description Outbound_Calls_To_ITSP
destination-pattern ..........
session protocol sipv2
session target dns:bt.voipdnsservers.com
voice-class sip profiles 200
dtmf-relay rtp-nte sip-notify
voice-class codec 1
no vad
!
!
!
sip-ua
credentials username YOUR_USER_NAME password YOUR_PASSWORD realm bt.voipdnsservers.com
credentials username YOUR_USER_NAME password YOUR_PASSWORD realm nextiva.com
authentication username YOUR_USER_NAME password YOUR_PASSWORD realm bt.voipdnsservers.com
authentication username YOUR_USER_NAME password YOUR_PASSWORD realm nextiva.com
no remote-party-id
retry invite 10
retry register 10
retry subscribe 3
registrar dns:bt.voipdnsservers.com expires 3600
sip-server dns:bt.voipdnsservers.com
host-registrar
!
To verify your registration, run the following command:
show sip-ua register status
You should see the phone number/username showing "yes" for registerd. It may take a few test calls before calls for the ITSP to begin routing calls.
I hope this helps!