OpenSIPs y FreeSWITCH Integración

En este momento OpenSIPs es el proxy SIP que tiene la mejor integración con FreeSWITCH; esto a partir de la versión 2.4; gracias a dos módulos:

  • freeswitch
  • freeswitch_scripting

El primero es un controlador en C para el Sistemas de Eventos de FS (Event Socket Layer - ESL) y una dependencia del segundo ; se puede pensar en él como a un ESL centralizado a través del cual los modulos de OpenSIPs pueden utilizar sus API para establecer y reutilizar conexiones al ESL.

El segundo es un un modulo que facilita un control total sobre la interfaz ESL al script de OpenSIPs; es posible desde el script de OpenSIPs subscribirse a los eventos generados por el Sistema de Eventos de FS cono también enviar comandos y interpretar las respuestas recibidas. Este modulo utiliza el modulo freeswitch para gestionar las conexiones a ESL y la subscripción de los eventos.

Graficamente:

El modulo freeswitch.so gestiona las conexiónes con los distintos servidores FreeSWITCH y al mismo tiempo interactúa con los modulos de OpenSIPs; el modulo freeswitch_scripting.so facilita el acceso al Sistema de Eventos de FS al script de OpenSIPs.

Una lista detalladas de lo que podemos hacer con estos dos móduloss:

  • Subscribir Eventos de FreeSWITCH vía DB, MI o a través del parámetro fs_subscribe del modulo freeswitch_scripting
  • Capturar y manipular en una ruta de tipo event_route los eventos recibidos de FreeSWITCH
  • Enviar un comando, de los disponibles, a ESL de cualquiera de los servidores FreeSWITCH con que se tiene una conexión disponible
  • Provisionar los Endpoint de ESL a través de una tabla SQL
  • Recargar el grupo de conexiones a los distintos servidores FreeSWITCH con OpenSIPs corriendo

Una tema que necesitamos profundizar en los próximos cursos de OpenSIPs.