Problem Migration asterisk 18 to 20

Hello,
I’m trying to install asterisk 20.7 on centos 9. I have this problem:

[Apr 27 15:51:54] > res_manager_presencestate.so => (Manager Presence State Topic Forwarder)
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘app_voicemail_odbc.so’, missing dependencies: res_adsi, res_smdi
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘app_mixmonitor.so’, missing dependency: func_periodic_hook
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘app_queue.so’, missing dependency: res_monitor
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘bridge_builtin_features.so’, missing dependency: res_monitor
*CLI> [Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘cdr_adaptive_odbc.so’: /usr/lib64/asterisk/modules/cdr_adaptive_odbc.so: cannot open shared object file: No such file or directory
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘cdr_odbc.so’: /usr/lib64/asterisk/modules/cdr_odbc.so: cannot open shared object file: No such file or directory
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘chan_pjsip.so’: /usr/lib64/asterisk/modules/chan_pjsip.so: undefined symbol: ast_sip_cli_traverse_objects
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘func_pjsip_aor.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘func_pjsip_contact.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘func_pjsip_endpoint.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_config_wizard.so’: /usr/lib64/asterisk/modules/res_pjsip_config_wizard.so: undefined symbol: ast_sip_get_sorcery
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip.so’, missing dependencies: res_geolocation, res_statsd
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_authenticator_digest.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_endpoint_identifier_user.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_endpoint_identifier_ip.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_registrar.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_outbound_publish.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_outbound_authenticator_digest.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_pubsub.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_mwi_body_generator.so’, missing dependencies: res_pjsip, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_xpidf_body_generator.so’, missing dependencies: res_pjsip, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_pidf_body_generator.so’, missing dependencies: res_pjsip, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_dialog_info_body_generator.so’, missing dependencies: res_pjsip, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_publish_asterisk.so’, missing dependencies: res_pjsip, res_pjsip_outbound_publish, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_exten_state.so’, missing dependencies: res_pjsip, res_pjsip_pubsub, res_pjsip_outbound_publish
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_session.so’: /usr/lib64/asterisk/modules/res_pjsip_session.so: undefined symbol: pjsip_media_type_application_sdp
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_t38.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_sdp_rtp.so’: /usr/lib64/asterisk/modules/res_pjsip_sdp_rtp.so: undefined symbol: pjsip_media_type_application_media_control_xml
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_transport_websocket.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_caller_id.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_outbound_registration.so’, missing dependencies: res_pjsip, res_statsd
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_dlg_options.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_sips_contact.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_nat.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_notify.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_empty_info.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_acl.so’, missing dependency: res_pjsip
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_header_funcs.so’: /usr/lib64/asterisk/modules/res_pjsip_header_funcs.so: cannot open shared object file: No such file or directory
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_path.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_rfc3326.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_messaging.so’: /usr/lib64/asterisk/modules/res_pjsip_messaging.so: cannot open shared object file: No such file or directory
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_diversion.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_dtmf_info.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_one_touch_record_info.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_refer.so’, missing dependencies: res_pjsip, res_pjsip_session, res_pjsip_pubsub
[Apr 27 15:51:54] ERROR[7776]: loader.c:2524 load_modules: Error loading module ‘res_pjsip_send_to_voicemail.so’, missing dependencies: res_pjsip, res_pjsip_session
[Apr 27 15:51:54] Asterisk Ready.
[Apr 27 15:51:54] WARNING[7776]: res_odbc.c:1083 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found and no default driver specified
[Apr 27 15:51:54] WARNING[7776]: res_odbc.c:255 ast_odbc_find_table: Unable to retrieve database handle for table description ‘Queue_log@asterisk’
[Apr 27 15:51:54] WARNING[7776]: res_odbc.c:1083 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found and no default driver specified

After installing Asterisk 20.7 on centos stream 9 (make , make install), and after i just making a copy paste of the folder of asterisk 18.3 (etc/asterisk/*) to asterisk 20(/etc/asterisk/)
the result of “systemctl status asterisk.service”:
systemctl status asterisk.service
● asterisk.service - Asterisk
Loaded: loaded (/usr/lib/systemd/system/asterisk.service; enabled; preset: disabled)
Active: active (running) since Sat 2024-04-27 15:57:07 EDT; 12s ago
Main PID: 7911 (asterisk)
Tasks: 32 (limit: 48908)
Memory: 34.0M
CPU: 578ms
CGroup: /system.slice/asterisk.service
└─7911 /usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf

Apr 27 15:57:07 asterisk-20 asterisk[7911]: [Apr 27 15:57:07] ERROR[7911]: loader.>
Apr 27 15:57:07 [7911]: ERROR[7911]: loader.c:2524 in load_mod>
Apr 27 15:57:07 asterisk-20 asterisk[7911]: [Apr 27 15:57:07] ERROR[7911]: loader.>
Apr 27 15:57:07 asterisk-20 asterisk[7911]: [Apr 27 15:57:07] Asterisk Ready.
Apr 27 15:57:07 asterisk[7911]: WARNING[7911]: res_odbc.c:1083 in odbc>
Apr 27 15:57:07 asterisk[7911]: [Apr 27 15:57:07] WARNING[7911]: res_o>
Apr 27 15:57:07 asterisk[7911]: WARNING[7911]: res_odbc.c:255 in ast_o>
Apr 27 15:57:07 asterisk[7911]: [Apr 27 15:57:07] WARNING[7911]: res_o>
Apr 27 15:57:07 asterisk[7911]: WARNING[7911]: res_odbc.c:1083 in odbc>
Apr 27 15:57:07

c:2524 load_modules: Error loading module ‘res_pjsip_refer.so’, missing dependencies: res_pjsip, res_p>
ules: Error loading module ‘res_pjsip_send_to_voicemail.so’, missing dependencies: res_pjsip, res_pjsi>
c:2524 load_modules: Error loading module ‘res_pjsip_send_to_voicemail.so’, missing dependencies: res_>

_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not fou>
dbc.c:1083 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data sour>
dbc_find_table: Unable to retrieve database handle for table description ‘Queue_log@asterisk’
dbc.c:255 ast_odbc_find_table: Unable to retrieve database handle for table description 'Queue_log@ast>
_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not fou>
dbc.c:1083 odbc_obj_connect: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data sour

So thank you for showing me the way to solve this problem.
Thank you so much

Correct me if I’m wrong, but my understanding about distros like CentOS is that you don’t want to experiment with installing different stuff on them, you want to stick with a conservative, well-supported configuration.

My guess is you have a version mismatch between the main Asterisk program and the modules it is trying to load.

Isn’t it usual for “make install” to default to putting things in /usr/local somewhere? Did you update the systemd service file to launch your custom Asterisk version, instead of the installed one?

Safest to remove the standard Asterisk package and all its modules, just to minimize any chance of confusion.

Most of your errors point to modules that cannot be loaded due to missing dependencies. I’m not sure if it works with CentOS 9, but there is a script for installing the dependencies needed by Asterisk. You can use contrib/scripts/install_prereq install. Starting from Asterisk version 13.8.0, there is an easy installation method for pjsip by passing an option to the configure script:

./configure --with-pjproject-bundled

Which honestly, I don’t think it’s already needed, as chan_sip has been deprecated. pjsip should be installed automatically.

Thank you so much for your answer,
Yes, before going to do “make” and “make install”, i did this:
contrib/scripts/install_prereq install
yum install sox
ldconfig
./configure --libdir=/usr/lib64 --with-jansson-bundled

it’s a problem of missing dependencies between some modules. I don’t know if it’s a problem of centos 9 or other problems.

Thank you so much for your answer,
Yes, i updated the systemd service file to lunch my custom Asterisk verson.

Thank you so much for your answer,
Yes, before going to do “make” and “make install”, i did this:
contrib/scripts/install_prereq install
yum install sox
ldconfig
./configure --libdir=/usr/lib64 --with-jansson-bundled

it’s a problem of missing dependencies between some modules. I don’t know if it’s a problem of centos 9 or other problems.

The last time I installed Asterisk on CentOS was under CentOS 7. However, since the CentOS project has shifted its focus from CentOS Linux to CentOS Stream, I stopped using CentOS. Therefore, I’m not really sure what changes have occurred in CentOS Stream and what adjustments I need to make to install Asterisk, aside from the standard process I’ve been following for many years. On the other hand, I have used Rocky Linux for some Asterisk projects with a DB realtime configuration, and except for the MariaDB ODBC drivers, the installation process is pretty straightforward.

Can I ask why you are doing this on an upstream development OS that isn’t meant for production use?

Really, i’m so hesitate for the choice of the version of Linux between Rocky, Centos 9 or Debian bcs i have a Server Asterisk 18.3 en PROD on centos 7 with packages of spandsp, unixODBC. Also, some scripts pythons and agi that works in backend. So, which version you suggest me to go for : Rocky or Debian??
I want to make migration from centos 7 to Rocky, debian or centos stream
And i want to make migration from asterisk 18.3 to 20.7.
So, can you advise me how to do this.
Thank you so much

A few months ago I was upgrading one of my Asterisk Servers. It was on an old Fedora. So I tried to new Fedora. Didn’t like that at all. Then tried Debian and really really didn’t like that. So then I tried Ubuntu and it’s great. Everything installs without problems. I’m now on Ubunto 24.04, ut was on 23.10.

Thank you so much. I will try and see. But END OF STANDARD SUPPORT of ubuntu 20 is Apr 2025.
So, i think it’s not a good idea to go in this way. I will stack at the same Prob.

Ubuntu 24.04 has 5 years of support.

In terms of support and package management, Ubuntu is my first choice. I remember reading a post on this forum a long time ago stating that most of the testing by the Asterisk team is done using CentOS, so Ubuntu is always a great choice.

On Monday 29 April 2024 at 22:08:26, ambiorixg12 via Asterisk Community wrote:

testing by the Asterisk team is done using CentOS, so Ubuntu is always a
great choice.

Er, please explain that logic; I can’t follow it.

Antony.


Python is executable pseudocode.
Perl is executable line noise.

                                               Please reply to the list;
                                                     please *don't* CC me.

Which part of my logic in the statement is unclear to you?

I interpret this as 'Hondas are excellent cars so you should buy a Toyota. :slight_smile:

I’ve always considered CentOS as distinct and different than Debian flavors of Linux – at least from a system administration standpoint.

I don’t think that CentOS is the primary development platform anymore, but somebody with actual knowledge should confirm.

But, I agree. Debian flavors are great choices :slight_smile: My preference is Debian with as little ‘fluff’ as possible.

As I mentioned earlier, I came across an old post from 2016 written by an Asterisk developer on this forum. In the post, the developer mentioned that most of the testing was done on Ubuntu and CentOS. I’m speaking from the perspective of that Asterisk developer at that particular time, as well as from my personal experience with Ubuntu. However, in the end, Linux is based on the same kernel, so everyone is free to choose the distribution they prefer

1 Like

CentOS is dead. That’s why other distros like Rocky are taking its place. But that’s still within the Red Hat universe.

I think the Debian family is the most versatile. That’s why it has so many offshoots, including Ubuntu. For servers, Debian Stable is easily the most rock-solid, with minimal cruft in a default install.