Working with voip.ms for the first time was pretty straightforward. I liked the $.99/mo DID with a pay per minute session that allowed simultaneous connections across my lab SIP trunk. After adding some funds, it appeared that their wiki page’s configuration was not working properly. I imagine it would be a common problem, so below is the debug message that took me down the path for a successful 200 OK SIP connection as well as the correct sip-ua configuration.
First off, at the time of this writing, I am running a Cisco 2911 on 15.3(3)M. The router runs ZBF, terminates several VPN’s, and CUBE. I have CUBE unbound at the global level, and will be binding the internal facing dial-peers to the loopback IP address.
The debug ccsip messages output below is from an authentication attempt against the New York voip.ms registrar. As you can see, the 401 unauthorized is listed here.
Border-RTR# 006893: May 12 23:40:04.845 EDT: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: REGISTER sip:newyork.voip.ms:5060 SIP/2.0 Via: SIP/2.0/UDP 22.214.171.124:5060;branch=z9hG4bK59931C From: <sip:<omitted>@newyork.voip.ms>;tag=608A20C-240E To: <sip:<omitted>@newyork.voip.ms> Date: Tue, 13 May 2014 03:40:04 GMT Call-ID: DAD43CEC-D89B11E3-8003A98B-15C715A6 User-Agent: Cisco-SIPGateway/IOS-15.3.3.M Max-Forwards: 70 Timestamp: 1399952404 CSeq: 477 REGISTER Contact: <sip:firstname.lastname@example.org:5060> Expires: 3600 Supported: path Authorization: Digest username="<omitted>",realm="voip.ms",uri="sip:newyork.voip.ms:5060",response="",nonce="" Content-Length: 0 Border-RTR# 006894: May 12 23:40:04.885 EDT: //1506/000000000000/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 126.96.36.199:5060;branch=z9hG4bK59931C;received=188.8.131.52;rport=63357 From: <sip:<omitted>@newyork.voip.ms>;tag=608A20C-240E To: <sip:<omitted>@newyork.voip.ms>;tag=as7ef91797 Call-ID: DAD43CEC-D89B11E3-8003A98B-15C715A6 CSeq: 477 REGISTER Server: voip.ms Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer WWW-Authenticate: Digest algorithm=MD5, realm="newyork.voip.ms", nonce="00ed87a8" Content-Length: 0 Border-RTR#
From the voip.ms wiki, it states that I can add multiple registrars to my configuration for redundancy. I added the closest three to Ohio: Chicago, New York, and Atlanta. From the debug above, I was unsuccessful in a registration.
I updated my configuration to for the sip-ua as listed below. I did attempt to match the requested realms (i.e. auth-realm chicago.voip.ms) without success. Ultimately, the key was to drop the auth-realm parameter from the registrar.
sip-ua credentials username <My 6-digit voip.ms ID> password <voip.ms Password> realm voip.ms authentication username <My 6-digit voip.ms ID> password <voip.ms Password> registrar 1 dns:chicago.voip.ms expires 3600 registrar 2 dns:newyork.voip.ms expires 3600 registrar 3 dns:atlanta.voip.ms expires 3600
And the registration successful 200 OK within the debugs:
Border-RTR#SIP/2.0 200 OK Via: SIP/2.0/UDP 184.108.40.206:5060;branch=z9hG4bK5B387C;received=220.127.116.11 From: <sip:<omitted>@atlanta.voip.ms>;tag=611F988-2EB To: <sip:<omitted>@atlanta.voip.ms>;tag=as5246fff6 Call-ID: 38A04169-D98811E3-8122A98B-15C715A6 CSeq: 3 REGISTER User-Agent: voip.ms Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces Expires: 3600 Contact: <sip:<omitted>@18.104.22.168:5060>;expires=3600 Date: Tue, 13 May 2014 03:50:17 GMT Content-Length: 0 Border-RTR#
Now off to create the dial-peers to my various lab clusters. Thanks for reading!