I have a number of Cisco CP-8941 videophones on FreePBX 17 with Asterisk 22 in use and the USECALLMANAGER patch loaded.
As you may or may not know the current callmanager patch now includes a very slightly modified version of chan_sip. And, because it is a patch, it means you have to compile Asterisk from source if you are going to use it.
So now, if you want to reverse the decision to remove chan_sip from FreePBX 17, you now have 3 ways to do it, you can either use the usecallmanager patch or the chan_sip patch from interlink1 and compile from source, or you can use the precompiled Asterisk binary for the older version of chan_sip that Sangoma still distributes.
(I just wanted to get that established for the peanut gallery who likes to make the claim that chan_sip is dead, etc.)
Anyway, there’s the problem.
Using the CP-8941 phones (and every other Cisco phones I have tested with) with chan_sip, I can put an incoming call to the phone on hold, and everything is fine.
However, I recently discovered with the CP-8941 phones, using chan_pjsip, if I put a call on hold after 60 seconds the phone drops the call. The PBX still has the call on hold and the caller still hears the hold music but from the phone’s point of view, the call doesn’t exist.
Thinking that this might have been a bug that the usecallmanager patch fixed in chan_sip, I tried this test with older versions of FreePBX that have chan_sip but don’t have usecallmanager patch, and discovered the same issue - chan_pjsip the hold is broken, chan_sip it is not.
This does not happen with other Cisco phone models that run newer Enterprise firmware such as the 7841, nor does it happen with Cisco phones that run 3PCC firmware.
Obviously, this is some kind of firmware bug in the CP-8941 phone. Maybe chan_sip has a workaround specifically for this phone or maybe it’s just something in the architecture of the 2 channel drivers that is different that happens to tickle the bug under chan_pjsip.
There is newer firmware for the CP-8941 than the 9.3 firmware I am using, but the 9.4.x firmware for this phone causes video calls to and from the phone to crash on Asterisk. (I’ll have to test that firmware though, for this hold bug)
Unfortunately, there is a dearth of video deskphones on the market - only 2 or 3 companies are left that make them. Cisco’s current videophone is the CP-8875 that runs Phone OS but MSRP on this is over a thousand dollars a phone.
I have not started the process of gathering traces or any of that yet, I was just wondering if anyone has any ideas or suggestions on why pjsip is broken?
(I also felt this is important to get documented)