I have spend the last 2 days trying to get a new install of 20.2.0 working, firstly on Almalinux 8.7 and on Ubuntu 22.04.02. Although Asterisk built without too many problems, I could not get pjsip to load, with load errors on res.pjsip.so.
In Almalinux the error was chan_pjsip.co undefined symbol: ast_sip_cli_traverse_objects. I eventually gave up, wiped the system and installed Ubuntu 22.04.02 instead.
The first issue was that the install-prereq script hung because there were items that did not exist in the repo, and I ended up copying the lines out of the script to the commandline to find and remove the packages that did not exist - libsrtp0-dev and libcap.de.
Once done, I finally managed to get Asterisk built and running, only to find again that res_pjsip.so was not loading, this time because of a undefined symbol: pjsip_tls_transport_restart error. After doing some more troubleshooting, trying to build without SSL support, and not finding a solution, I gave up and wiped Asterisk from the system again and installed 18.17.0 instead. This installed perfectly and pjsip loaded correctly.
I assume that there are some conflicts between the pjproject requirements and the currently installed versions of applications in both Almalinux and Ubuntu Server.
The only time I’ve seen this is when PJSIP is already installed as a system package with different build properties than bundle. Asterisk can then end up being built partially against that, causing it to get out of sync and causing things not to load.
Was PJSIP installed as a package on either of those?
I can say that on Ubuntu 22.04 it is not installed by default, and Asterisk does build on it fine in my environment. (It’s what I use for development). I’ve also seen others using Alma and having Asterisk build fine.
Thanks. In the case of Almalinux, there could have been remenants of an older PJSIP from the 18.* version. On the Ubuntu installation, I wiped the system and installed Ubuntu Server from scratch, so there were no previous versions of pjproject. It looks like both Asterisk 18.17.0 and 20.2.0 were installing the same version of pjproject (2.13) so I don’t know why it would work on one and not the other. The menuselect options were the same on both and I had made no changes to modules.conf.
I need to get this system up and running and the original sip config converted to pjsip, so I can’t test further, but once I have the old server decommissioned, I might try wiping it and installing again and see if I can pin down the probem.
No, unfortunately I started straight from 22.04 - I was aiming for the lastest LTS versions of Ubuntu and Asterisk. Once I have spare machine to play with, I will try with Ubuntu 20.04 and Asterisk 20.x and see what happens. It will be some dependancy incompatibility somewhere that is causing the problem.
I was optimistically hoping that moving to a fully VOIP installation with no analogue lines would make things simpler because I would not have deal with Wanpipe and DAHDI issues.
For what it’s worth, current Debian Unstable includes a package for Asterisk 20.1, which I was able to install without having to build anything from source. The current Debian 11 Stable only has Asterisk 16.16.