четверг, 25 июля 2024 г.

Asterisk 20.8 Unable to load module res_pjsip.so - pjsip_tls_transport_restart

 


 

 

Удивительная проблема в личный опыт

 

 Во-первых зачем оно все нам

Последняя версия научилась делать такое:

;================================TEL URIs=================================
;
; Asterisk has TEL URI support, but with limited scope. Support is only for
; TEL URIs present in traffic from a remote party. Asterisk does not generate
; any TEL URIs of its own.
;
; Currently, the allowed request types are INVITE, ACK, BYE, and CANCEL. Any
; other request type that contains a TEL URI will behave as it did before.
; TEL URIs are allowed in the request, From, and To headers.
;
; You can match a TEL URI From header by IP, header, or auth_username.

 

 Что это вы спросите?

Вот такое Астериск отродясь не мог понять:

INVITE tel:123456789 SIP/2.0


Тип транспорта принципиален и ранее был без выбора фактически(Н.323 уже можно не брать в расчет)

Отбой шел хоть и четырехсотой ошибкой, но интересной:

416 Unsupported URI scheme

Сообщение как бы и намекает что что-то не так в самой схеме URI


Узнал что с 20 версии как раз работает такое! Астериск, ты можешь уже почти все!!!!

С радостью пошел собирать + на последнем Дебиане 12, но в финале было вот такое еще, чего не ожидал


Проблема при сборке астера 20ой версии:

 [asterisk-bugs] [JIRA] (ASTERISK-30296) Undefined symbol on naive RockyLinux 8 system

> Optimizations remove the symbol pjsip_tls_transport_restart with a naive install of Asterisk 20.0.0 on RockyLinux 8.  Turning on DONT_OPTIMIZE resolves the problem.
> ERROR[166734]: loader.c:2513 load_modules: Error loading module 'res_pjsip.so': /usr/lib64/asterisk/modules/res_pjsip.so: undefined symbol: pjsip_tls_transport_restart
> # strings main/libasteriskpj.so.2 |grep transport_restart
> pjsip_tcp_transport_restart

Как оказалось проблема не нова, хотя сам не мог долго понять почему такой отказ идет.

Пробовал потом сам грузить руками уже из собранного, что ранее было помогало:


CLI> module load res_pjsip.so
Unable to load module res_pjsip.so
Command 'module load res_pjsip.so ' failed.
[2024-06-21 14:24:14] ERROR[1358]: loader.c:283 module_load_error: Error loading module 'res_pjsip.so': /usr/lib/asterisk/modules/res_pjsip.so: undefined symbol: pjsip_tls_transport_restart


В итоге, изучая матчасть и опыт предыдущих коллег из интернета, пришел к выправлению вот таким параметром при установке:


Вывод лога не форматированный, обращаем внимание

жалоба на сам драйвер, не работает не какой-либо один из суб модулей, а все, что говорит об неисправности самого pjsip-драйвера:

ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'chan_pjsip.so': /usr/lib/asterisk/modules/chan_pjsip.so: undefined symbol:>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'func_pjsip_endpoint.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_acl.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_authenticator_digest.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_caller_id.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_dialog_info_body_generator.so', missing dependencies: res_pjsip,>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_diversion.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_dtmf_info.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_endpoint_identifier_anonymous.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_endpoint_identifier_ip.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_endpoint_identifier_user.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_exten_state.so', missing dependencies: res_pjsip, res_pjsip_pubs>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_header_funcs.so', missing dependencies: res_pjsip, res_pjsip_ses>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_logger.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_messaging.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_mwi_body_generator.so', missing dependencies: res_pjsip, res_pjs>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_mwi.so', missing dependencies: res_pjsip, res_pjsip_pubsub
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_nat.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_notify.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_one_touch_record_info.so', missing dependencies: res_pjsip, res_>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_outbound_authenticator_digest.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_outbound_publish.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_outbound_registration.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_path.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_pidf_body_generator.so', missing dependencies: res_pjsip, res_pj>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_pidf_digium_body_supplement.so', missing dependencies: res_pjsip>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_pidf_eyebeam_body_supplement.so', missing dependencies: res_pjsi>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_publish_asterisk.so', missing dependencies: res_pjsip, res_pjsip>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_pubsub.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_refer.so', missing dependencies: res_pjsip, res_pjsip_session, r>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_registrar.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_rfc3326.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_sdp_rtp.so': /usr/lib/asterisk/modules/res_pjsip_sdp_rtp.so: und>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_send_to_voicemail.so', missing dependencies: res_pjsip, res_pjsi>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_session.so': /usr/lib/asterisk/modules/res_pjsip_session.so: und>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip.so': /usr/lib/asterisk/modules/res_pjsip.so: undefined symbol: p>
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_t38.so', missing dependencies: res_pjsip, res_pjsip_session
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_transport_websocket.so', missing dependency: res_pjsip
 ERROR[1934850]: loader.c:2678 load_modules: Error loading module 'res_pjsip_xpidf_body_generator.so', missing dependencies: res_pjsip, res_p>
 Asterisk Ready.


Первый опыт изменения таких настроек

Обычно собирал не самые последние версии тк вопрос был не принципиален, а сейчас все приходится быть на острие не только прогресса, но и версионности ПО

Шикарный кейс

На памятку поисковый запрос удобнее по 

undefined symbol: pjsip_tls_transport_restart site:lists.digium.com




Debian 12 sources.list редактирование и уход от cdrom

     Если после установки постоянно просит диск и ничего с этим не сделать, то идем в сорс-листы и комментим вот такую строчку  cat /etc/apt...