Need your opinion - res_pjsip or chan_sip?

Inclined readers,

First of all, I have searched the forums but not come up with a satisfactory post, so I’d like to know your opinion.
We currently have an 1.8 infrastructure for a customer (ISP) that has grown far more than expected. We have developed and are currently providing Hosted PBX systems (approx 1000 Extensions for approx 80 end customers) and SIP-Trunks for customer-owned PBXes of all brands.

Our architecture is divided in Frontend-Asterisk Servers (handling the E1 lines and 3rd party PBXes. Currently we have 16 E1s connected to two TE420s on one server and one TE820 on the other Frontend server) and Backend Servers that handle all the SIP phones (currently three servers).
Frontends and Backends are linked using IAX. Outgoing calls from the Backends are laodbalanced using self-developed logic and incoming calls are loadbalanced by the Telco provider.

Of course stability is a major issue there.
So far eveything is completely running to our expectations. There is currently no need for new features.

We have now been tasked to evaluate an upgrade to the next LTS, so we went for Certified Asterisk 13.

My questions now are:
What do you guys think, should we - in our evaluation - go for PJSIP or stay with chan_sip?
I do not have a big amout of experience when it comes to PJSIP, what would you guys think would be the biggest advantages and disadvantages of migrating to PJSIP?
Do you think we are in for some major suprises (especially with the SIP-Trunks to 3rd party PBXes)?

Guys, I know that my outlines are probably insufficient and I don’t expect anyone of you guys to write novels as an answer :wink: I am just looking for some real-life experience of people who have been facing the same decision…

BTW, yes I have found and read … ck-future/

Thanks you for your time,

I’d go with PJSIP, we we’re on chansip for a while (from version 11 up to 13) and we had some problems that went away once we moved to PJSIP. I also find PJSIP to be a better choice for realtime (no cache = no pruning).
I’m not gonna tell you that migrating to PJSIP was easy but well worth it. I guess that the hardest part is in pjsip.conf which replaces sip.conf. Migrating the dialplan is not too bad. Get rid of macros and use subroutines.
We are currently running version 13.5.

We have about 600 users using Cisco phones and about 200 analog phones with ATA. We have 2 T1 as well as some sip trunks. We processed an average of 2000 calls a day on one server.

You are right, real-life experience is hard to find with asterisk and PJSIP. People are scared of change I guess.

We found some bugs in the PJSIP driver that we reported and the support from the Asterisk team was great.
We went through a lot of testing before going into production and even so, we had bugs in production that we’re not present on our test machine.

Glad to hear that PJSIP is working well for you! Just a note on your comment about caching. We’ve built a pretty robust and configurable caching module[1] which can be used with PJSIP. You can control many aspects of the cache and it can even do background refreshes.

[1] … ry+Caching

Well, guys thanks for your answers - your provided very useful information. Our plan has been set - we will migrate to Asterisk13 with chan_sip and start imeediately afterwards with a Migration Evaluation to PJSIP!