[asterisk-dev] chan_sip deprecation

asterisk at phreaknet.org asterisk at phreaknet.org
Tue Nov 22 06:28:38 CST 2022


On 11/22/2022 4:10 AM, Dennis Buteyn wrote:
> On 11/22/22 10:00, Henning Westerholt wrote:
>> Hello,
>>
>> I am really wondering why people are trying to keep chan_sip alive. 
>> No offence to the past developers, but pjsip is a much better SIP 
>> stack regarding standard compliance and stability compared to the old 
>> one. Also, regarding performance chan_pjsip is better. From an 
>> outside view, the asterisk project gave plenty of time to migrate.
> To provide an answer, investing time replacing existing chan_sip 
> front-ends is not always an option. In an ideal world developers are 
> given sufficient time to maintain and migrate existing code. In 
> reality, this is often not the case. Delaying the inevitable is 
> sometimes the only option. Many airports around the world still run on 
> DOS and there are plenty companies looking for Cobol and Fortran 
> developers...

I think at the end of the day, it really comes down to this:
chan_pjsip is the future, and thanks to a lot of changes in the past 
year, it seems very close at this point to actually getting to feature 
parity with chan_sip.
Fundamentally, I've always believed in choice, so if somebody has a need 
or want (even unjustified) for using chan_sip, then I'm not going to get 
in the way of that. I don't recommend it to people, but if people want 
to go that route, that's their decision. There are surprisingly a lot of 
companies that still want to pay for new chan_sip features (in 2022!). 
You can tell them that PJSIP is better and they need to migrate, but at 
the end of the day it's their system, their money, and they will do what 
they want.

I use PJSIP now on my primary systems, but still have some chan_sip 
usage on some older or smaller use systems. A few months ago, I was 
doing something one-off on some other system and couldn't get certain 
outgoing calls to work with PJSIP. I was definitely doing something 
wrong, but quite frankly didn't care and found that using chan_sip for 
those outgoing calls worked just fine as a band-aid solution. It would 
have taken more time to get it working with PJSIP and, while that may 
have been better, was not worth the time or money to me. Sometimes it's 
not always technology factors but business factors.

Then again, you also have people that are concerned about the stability 
of PJSIP, when you see issues like this in the issue tracker: 
https://issues.asterisk.org/jira/browse/ASTERISK-28689
This issue has been reported 10 times now and Sangoma has not done 
anything about it (and seems has no plans to in the near future). I 
myself have experienced this crash a couple times - not often, but it 
has happened. There are some people that might not find this level of 
failure acceptable and don't want to use PJSIP yet for that reason.

I know a fair number of people that are still running long obsolete 
systems and are exactly the kinds of people that would not use a newer 
version of Asterisk specifically because chan_sip was removed. This is 
exactly what happened when they removed DAHDI drivers in 2018; everyone 
stopped upgrading DAHDI. This is what's always happened: something that 
people use gets removed, and then people just stop upgrading because of 
that one thing and the entire system suffers as a result. This way 
people can use the latest version of Asterisk and still use chan_sip, if 
they feel they need/want to for whatever reason.

The reality is that chan_sip has something of a cult following among 
some of its users, who, whether through being misinformed or just 
resistant to change, or constrained by other factors, do not want to 
move to PJSIP now, and many people may not migrate for a long time, so 
this provides a good solution in the interim. People should migrate to 
chan_pjsip if they can, but not everyone will (this is simply a fact), 
and some people are going to still try to use chan_sip, and so this 
provides a way for people to have their cake and eat it, too. It's kind 
of like how the removed DAHDI drivers can be patched back in to allow 
people to use new DAHDI with those old cards. Facilitating this has no 
negative impact on anything, only benefits from those who would be 
affected by it, as laggards using chan_sip doesn't prevent PJSIP from 
moving forward or Asterisk as a project from leaving chan_sip behind in 
any way.

NA



More information about the asterisk-dev mailing list