Cisco 7961G SIP is buggy
This week I updated the FreeSWITCH test box and decided to hook up a Cisco 7961G phone. To my surprise the 7961G would not register to the FreeSWITCH box. Further investigation showed that the 7961G with firmware 8.3.5 sends the following register to the FreeSWITCH box:
REGISTER sip:10.9.123.36 SIP/2.0
Via: SIP/2.0/UDP 10.4.11.25:5060;branch=z9hG4bK8b5670ec
From: <sip:1000@10.9.123.36>;tag=0016467650c80002ed42b648-ff2b3abc
To: <sip:1000@10.9.123.36>
Call-ID: 00164676-50c80002-86027558-17f7cc0c@10.4.11.25
Max-Forwards: 70
Date: Tue, 15 Apr 2008 21:21:55 GMT
CSeq: 101 REGISTER
User-Agent: Cisco-CP7961G/8.3.0
Contact: <sip:1000@10.4.11.25:5060;transport=udp>;+sip.instance<urn:uuid:00000000-0000-0000-0000-0016467650c8>”;+u.sip!model.ccm.cisco.com=”30018″
Supported: (null),X-cisco-xsi-6.0.2
Content-Length: 0
Expires: 3600
What’s totally wrong with this register is the following line:
Supported: (null),X-cisco-xsi-6.0.2
The “(” and “)” are not allowed there and break the register method. So Cisco’s 8.3.5 SIP firmware is non-RFC compliant.
A correct Supported line looks something like this:
Supported: 100rel, timer, precondition, path
The 7961G register is not even close. I could not believe that Cisco would release firmware with such a bad bug in it so I started to search for anything wrong in the 7961G config files. I couldn’t find anything. Then I decided to downgrade the 7961G to firmware release 8.3.3. Same problem. Finally I decided to downgrade the 7961G even further to firmware releaseĀ 8.2.1. And guess what. The 7961G sends a correct register request and subsequently registers fine with the FreeSWITCH box.
So what’s going on here? How could Cisco’s quality control miss this one? Or couldn’t they care less about SIP because they use SCCP with their Callmanager product? I don’t know but it sure seems like a good idea to steer clear from Cisco phones when using them with a non-Cisco VoIP PBX. Seems the general opinion in the Open Source VoIP community that you better buy Polycom, Aastra or Snom holds in this case.
Hello.
That Cisco IP phone is not meant to be used without CallManager. For a Cisco SIP phone you can use without CallManager, you can use 7960.
By the way, CallManager uses either SCCP or SIP for talking to Cisco phones.
Every one of Cisco’s SIP releases comes with release notes containing open caveats which, to my mind, are serious show-stoppers, yet while the release notes acknowledge the open issues they provide no workarounds. I think it’s been clear for a long, long time that Cisco offers SIP firmware only grudgingly and has no interest in supporting it.
I have, in three years in this industry, never seen a Cisco 79xx phone operate in a fully RFC compliant manner. I don’t know how well they work with Callmanager, but in a SIP environment, the best I can describe them is “a sad joke”, and anyone considering a SIP service should steer well clear of Cisco phones — of any model.
Have you got anymore information about this because i’ve been looking everywhere for it.
@road legal buggies: sorry no. I will probably in the next couple of weeks as I will be setting up a new FreeSWITCH test box with a Sangoma BRI card and a couple of phones including a Cisco 7961G. All I can recommend is to try out different firmware versions. But don’t get your hopes up too high. You can also setup Asterisk with chan_sccp (search Google for the latest version. Might be called chan-skinny-b) or try FreeSWITCH with mod_skinny and then put SCCP firmware on the 7961G.
@kitten: could not agree more. With phones like Polycom SoundTouch IP670, Aastra 57i & 6739i and Snom 870 who needs Cisco. Throw in FreeSWITCH or even Asterisk and who needs CCM.