Enviado por admin el
Una novedad realmente muy interesante de la próxima versión de OpenSIPs, la 3.6, es la posibilidad de definir trasporte, IP y puerto de escucha de manera dinámica utilizando la nueva tabla sockets de la base de datos de OpenSIPs que es posible crear a lo largo de la instalación del Proxy SIP. Hasta el momento si se cambiaba el parámetro global socket de OpenSIPs, había que reiniciar el programa. Lo mismo pasa con Kamailio pues en esto le ganaría OpenSIPs.
Con la nueva funcionalidad, proveída por el modulo sockets_mgm, será posible utilizar la nueva tabla para añadir, modificar, eliminar los datos de escucha y luego recargar la configuración con un comando parte del modulo. Desde ese momento OpenSIPs, sin que se reinicie, empezará a escuchar sobre los nuevos valores configurados. La tabla se compone de 6 columnas:
-
id: se auto incrementa de una unidad por cada nueva entrada
-
socket: el valor de trasporte, IP y puerto donde se pondrá a la escucha OpenSIPs. Ejemplo: "udp:1.2.3.4:5060"
-
advertised: IP y puerto publicos si OpenSIPs se encuentra detrás de un NAT, como es el caso de Amazon AWS.
-
tag: una etiqueta para identificar de manera univoca el socket de escucha. Útil cuando el Proxy SIP es parte de un Cluster de servidores OpenSIPs
-
flags: son banderas que complementan la configuración. Posibles valores:
-
anycast
-
reuse_port
-
frag
-
-
tos: type of services. Utilizado para marcar los paquetes para sean procesados con más o menos prioridad
Ahora que sabemos que valores acepta la tabla, miramos los parámetros más importantes del modulo:
-
db_url: para definir el enlace de conexión a la base de datos; ejemplo: "mysql://opensips:opensipsrw@localhost/opensips"
-
processes: números de procesos dedicados al trasporte UDP. Valore predefinido 8
-
max_sockets: numero máximo de sockes que se pueden definir dinámicamente utilizando la tabla de la base de datos
Una vez creadas y/o modificadas las entradas, para recargar la configuración al vuelo:
opensips-cli -x mi sockets_reload
para ver la lista de sockets definidos/activos:
opensips-cli -x mi sockets_list
Limitaciones del modulo:
-
los sockets con protocolo de trasporte UDP podrán utilizar SOLAMENTE los procesos definidos en el parámetro processes del modulo
-
no se pueden utilizar para definir socket de tipo BIN (utilizado en una configuración de cluster de servidores) o HEP (utilizado para enviar la captura de la señalización SIP a un servidor externo tipo Homer SIP Capture Server
-
no es posible utilizar el nombre de una interfaz de red o un alias para definir un socket; solamente IP y Puerto
-
el numero di socket dinámicos que se podrán utilizar serán aquellos definidos en el parámetro max_sockets del modulo y no se podrán modificar hasta que no se reinicie el Proxy SIP
A mi me parece una novedad muy interesante, ahora solamente hace falta probarla cuando sea liberada la primera versión de la rama 3.6 de OpenSIPs. Les recuerdo que esa versión será con soporte a largo plazo y suplantará la versión 3.4
Comentarios recientes