PJSIP type=transport allow_reload=yes

En el archivo de configuración del canal PJSIP, pjsip.conf, en un bloque de tipo trasporte hay un parámetro que define si cada vez que se recarga la configuración del chan_pjsip con el comando:

CLI> pjsip reload

se recargará también la configuración del bloque de tipo trasporte; este parámetro es allow_reload cuyo valor puede ser:

  • no – al recargar la configuración de canal PJSIP los valores contenidos en el bloque de tipo transporte no se actualizarán

  • si – al recargar la configuración de canal PJSIP los valores contenidos en el bloque de tipo transporte se actualizarán; esto quiere decir que si se ha modificado algún parámetro, después del pjsip reload, el nuevo valor se aplicará a la configuración de PJSIP

Hasta aquí nada raro. El problema es que la librería PJSIP no soporta realmente la posibilidad de recargar la configuración de un bloque de tipo trasporte; en Asterisk PBX es posible gracias a un parche que aplicaron los desarrolladores de Asterisk. El problema es que este parche funciona a mitad; permite recargar la configuración del bloque de tipo transporte pero lleva consigo un error bastante grave que consiste en el deregistro de todos los endpoints en ese momento registrados. El error que en mi caso aparecía en la consola de Asterisk (por cada endpoint) era:

[2020-02-17 10:12:05] ERROR[11251]: res_pjsip.c:4262 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 103

== Endpoint 103 is now Unreachable

-- Contact 103/sip:103@192.168.5.247:8003 is now Unreachable. RTT: 0.000 msec

La solución es ejecutar el siguiente comando:

CLI> pjsip send register *all

que deregistra todos los endpoints y los vuelve a registrar. En unos pocos segundos todos los endpoints estarán registrados nuevamente. Claramente en un sistema en producción con muchos movimiento no es una solución viable, pues lo mejor es dejar el parámetro:

allow_reload=no

que es el valor predefinido. De esta forma pero, cuando se modifique algún parámetro en la configuración de un bloque de tipo trasporte, habrá que reiniciar Asterisk. En mi caso lo quería utilizar para recargar la configuración de PJSIP cada vez que cambiara la IP publica detrás de la cual se encontraba Asterisk PBX.

Para que sepan.

Foro de Asterisk

 

Subscribe to Comments for "PJSIP type=transport allow_reload=yes" Subscribe to VozToVoice - All comments