Install Problem - Asterisk 16.1.1 on Ubuntu 18.04 'registrar_expire.so'

I have installed 16.1.1 on Ubuntu 18.04 using instructions at


This went very well, completed with no problems reported.
I then tried the ‘hello world’ project at
https://wiki.asterisk.org/wiki/display/AST/Hello+World, using the chan_pjsip option.
On starting asterisk using asterisk -rx “core restart now” followed by asterisk -rvvvvv
I observed WARNING and ERRORs:

WARNING: loader.c:2234 load_modules: Some non-required modules failed to load.
ERROR: loader.c:2249 load_modules: Error loading module ‘res_pjsip_registrar_expire.so’: /usr/lib/asterisk/modules/res_pjsip_registrar_expire.so: cannot open shared object file: No such file or directory
ERROR: loader.c:2249 load_modules: Failed to resolve dependencies for res_pjsip_transport_websocket
ERROR: loader.c:2249 load_modules: res_pjsip_transport_websocket declined to load.

Indeed res_pjsip_registrar_expire.so does not exist. From the CHANGES file:

  • The res_pjsip_registrar_expire module has been removed. The functionality has
    been moved into res_pjsip_registrar.

Questions:

  1. Why does the start up process attempt to load a file that has been removed?
  2. Is res_pjsip_registrar_expire a dependency of res_pjsip_transport_websocket, or is that ERROR another issue?
  3. Is res_pjsip_transport_websocket critical to the operation of SIP systems?

Observation: The Hello World project fails - a SIP phone fails to REGISTER, ‘No matching endpoint found’. So question:
4. Is this failure because of the res_pjsip_transport_websocket problem, or is it some other issue?

I think some modules are not loading correctly. Have you done following command

sudo contrib/scripts/install_prereq install

If yes then which samples your created, if you created basic-pbx using the following command.

sudo make basic-pbx

Then I suggest to do following the change in /etc/asterisk/modules.conf for testing purpose.

set autoload=no

to

set autoload=yes

If it works then also add one more line at the end of this script, check which module is not correctly being loaded than load it by adding additional lines. Than change autoload=no

noload = chan_sip.so

This was done before building Asterisk. I ran it again, nothing more was installed.

sudo make basic-pbx

This I did.

set autoload=no > change to yes

This results in the original error and many more modules failing to load.

noload = chan_sip.so

This results in the original error only.

Thank you for your prompt response, but it does not deal with the reported problems.

copile asterisk in this mode

./configure --with-pjproject-bundled --with-jansson-bundled

The reason I said as I also installed two days ago Asterisk 16 on Centos 7 with following commands

./configure --with-pjproject-bundled --with-jansson-bundled

And it was giving me the same error above you mention, but then I played with configuration and all started working. But this error of res_pjsip_registrat_expire still coming on logs, but it is working fine.

./configure --with-pjproject-bundled --with-jansson-bundled

This resulted in a build that appeard to stall/lock when run. It could not be connected to. CLI produced nothing.
Seems this is NOT a good option for Ubuntu 18.04.

Project abandoned.

Topic considered closed.

I have Asterisk running perfectly on Ubuntu 18 with PJSIP and real time DB

We actually test on Ubuntu 18 as well. If you want to try again, let me know.
The basic-pbx make target does need some updating and I’ve created an issue to do that. Most notably, it should set “autoload=yes” in modules.conf otherwise startup will fail because of modules that are no longer present.

https://issues.asterisk.org/jira/browse/ASTERISK-28272