Charla en las “Jornades de Programari Lliure”

El próximo 1 de Julio a las 11:00 y dentro del programa de las VIII Jornades de Programari Lliure daré una charla sobre proxies SIP, servidores de aplicaciones y Asterisk.

Las jornadas se harán en la Universitat de Barcelona (Gran Vía/Universidad) entre los días 1 y 4 de Julio.

Haz un comentario

¿Se ha convertido SIP en algo inmanejable?

Dean Willis, uno de los pesos pesados dentro de los grupos de desarrollo de SIP en la IETF, ha enviado un mail a la lista SIPPING en la que hace una reflexión interesante sobre el estado actual y futuro de SIP.

Todos los que estamos inmersos en el mundo SIP sabemos que es un protocolo muy complicado, con muchos problemas de interoperabilidad, con nuevas extensiones, drafts y RFCs publicados continuamente y que no deja de crecer.

En su mail, Dean Willis pone como ejemplo un draft para definir la transferencia de llamadas en SIP. La primera versión de este draft es del año 2000 y lleva ya 18 revisiones. Dean se pregunta qué clase de monstruo se ha creado dentro de la IETF para que sean necesarios 9 años y 18 revisiones para definir algo como las transferencias de llamadas… y aún no se ha terminado de definir.

Lo que propone es dar un paso atrás, coger un poco de aire y pensar seriamente sobre simplificar el framework completo de SIP en lugar de complicarlo todavía más. Una de las propuestas es congelar la versión 2.0 de SIP y no hacer nuevos desarrollos ni especificaciones excepto bug fixes. A partir de ahí, empezar a definir SIP 3.0 intentando aprender de la experiencia y errores cometidos en la definición de SIP 2.0.

Personalmente, conociendo un poco como se mueven esas cosas, no creo que tenga mucha aceptación (y de verdad que me gustaría equivocarme estrepitosamente), pero me parece una de las propuestas más coherentes, lógicas, centradas y atrevidas (mucha gente piensa lo mismo pero no se atrevía a decirlo abiertamente en los foros IETF) que se han hecho en muchísimo tiempo.

A ver si hay suerte y en el próximo IETF meeting esta idea es compartida por más gente.

2 Comentarios

Publicado Kamailio/OpenSER 1.5.0

Volvemos a la carga aprovechando una excelente noticia… porque no está de más tener alguna buena noticia en días como hoy, que han dado el número de parados de febrero :-/ … en fin, a lo que vamos.

Se ha publico Kamailio/OpenSER 1.5.0, la nueva “major release” y la versión que incorpora más nuevas funcionalidades desde la versión inicial allá por 2005.

Las novedades de esta versión incluyen cambios y nuevas características relacionadas con la estabilidad, rendimiento, seguridad y flexibilidad. Algunas de las novedades a destacar:

  • Nuevo sistema de caché del archivo de configuración, que permite guardar en un cache en memoria los resultados de operaciones y consultas SQL y compartirlos entre diferentes procesos
  • Ejecutar consultas SQL contra múltiples bases de datos
  • Envío de peticiones SIP desde el archivo de configuración
  • Ejecutar “route blocks” desde un timer
  • Ejecución de peticiones HTTP desde el script de configuración
  • Soporte de logging no bloqueante
  • Múltiples cambios y mejoras en los módulos lcr, dispatcher y carrierroute
  • Soporte de expresiones regulares basadas en PERL (PCRE)… Iñaki!!!!! :)
  • Doce nuevos módulos
  • Interfaz web de gestión Siremis
Y estos son sólo algunos de los cambios. Toda la información está disponible en las release notes.
4 Comentarios

Server caído

Durante unos días la máquina en la que tengo el blog ha estado caída y como estaba por ahí de vacaciones no podía ponerla en marcha de nuevo… gracias Víctor por el aviso!.

A ver si estos días me voy poniendo al día con los posts…

Feliz años a todos!.

Haz un comentario

Publicada versión 1.4.3 de Kamailio

Ayer por la tarde se publicó la versión 1.4.3 de Kamailio (ex OpenSER). Esta versión basicamente incluye bugfixes sobre todo en la parte de presencia (módulo PUA) y gestión de diálogos (módulo dialog).

Tanto el script de configuración como el esquema de la base de datos de esta nueva versión son totalmente compatibles con los de la rama 1.4.x.

Haz un comentario

Presentaciones SER/IPtel/OpenSER

Revisando emails antiguos he encontrado uno en el que se apuntaba a unas presentaciones que se hicieron hace un tiempo entre la gente de IPTel y el entonces OpenSER.

La presentación de IPTel es esta y la de OpenSER esta… hay algún detalle curioso, especialmente en una diapositiva en la que se mencionan temas de posibilidades de participación de ambos proyectos… es curioso como el tiempo cambia las cosas :)

Haz un comentario

OpenSIPS Console Tool

En Octubre se publicó la primera versión del OpenSIPS Console Tool, una herramienta escrita en Perl con el objetivo de ser una herramienta genérica para la provisión de servicios y substituir más adelante los diferentes scripts actuales como opensipsctl, opensipsdbctl, etc.

Esta herramienta llamada osipsconsole no es un script, sino una aplicación que al ejecutarse ofrece una consola que devuelve un prompt, se pueden ejecutar los comandos disponibles, existe un help interno, historial de comandos, etc.

Con osipsconsole se podrán usar diferentes backends de bases de datos para los que Perl tenga drivers, se podrá provisionar de forma remota mediante XMLRPC y algunas cosas más… aunque por el momento sólo ofrece exactamente la misma funcionalidad que el script opensipsctl.

Haz un comentario

OpenSIPS: Dynamic routing module

OpenSIPS ha publicado un nuevo módulo llamado drouting, para la versión de desarrollo para gestionar el routing de llamadas. Este módulo, el cual conozco muy bien porque lleva con nosotros casi 3 años y nació de las especificaciones que creamos internamente, funciona realmente bien, es muy flexible, rápido y permite gestionar de forma eficiente decenas de miles de rutas de terminación a través de diferentes gateways.

Este módulo tiene funcionalidades muy interesantes como:

  • Los datos internos están organizados para búsquedas en árbol lo que permite buscar en forma de O(log(n)) en lugar de O(n).
  • Reglas de routings y gateways ilimitados. Los datos están en una base de datos y el proxy los carga en memoria con lo que la búsqueda es realmente rápida.
  • Definición de reglas en función de hora del día, día de la semana, semana, mes, etc, además del prefijo de destino.
  • Agrupación de gateways de destino con selección mediante balanceo de carga, secuencial y por “peso”.
Además, este módulo se puede gestionar mediante un interfaz web integrado en el OpenSIPS Control Panel.
Haz un comentario

SER ai1 y oob

Hace bastante tiempo que tenía esto pendiente de publicar… La gente de IPTel publicó hace un tiempo (en Julio concretamente) un mail muy interesante en el que explicaban varias cosas.

Por un lado comentaban la publicación de un paquete para Debian llamado ai1 que significa all-in-one y que instala de una sóla vez las aplicaciones SER, SEMS, SERWEB y SER_CTL… es decir, todo lo que necesitas para divertirte e invertir muchas horas en el maravilloso mundo de SIP :) .

Además, en ese momento publicaron un script de configuración realmente completo e interesante, llamado oob o lo que es lo mismo out-of-the-box (aunque también lo bautizan como all-you-can-eat) que puede servir como guía inicial de ejemplo para configuraciones más personalizadas. Una de las mejores cosas de este archivo es que tiene todas las opciones comentadas y explicadas e incluye ejemplos de configuración para NAT traversal, servicios básicos de llamadas incluyendo call forwarding, speed-dials, etc, gestión multidominio y routing y protección para gateways PSTN.

En el mail hay otros comentarios muy interesantes acerca de nuevas funcionalidades, opciones, etc. Muy interesante para leer…

Haz un comentario

Reunión sip-router en Karlsruhe

Ya de vuelta, quería comentar cómo fue la reunión entre los proyectos OpenSER/Kamailio y SER que se hizo a principios de Noviembre… sí, sólo he tardado como un mes… pero más vale tarde que nunca :)

La reunión tuvo lugar en Karlsruhe (Alemania) y fue hospedada por 1und1, proveedor de Internet que tiene una de las mayores plataformas de VoIP del mundo ya que gestiona 2 millones de usuarios VoIP. 

El objetivo de la reunión era proponer y discutir de forma pública algo que se había estado proponiendo y discutiendo anteriormente de forma más privada entre varios desarrolladores de los diferentes proyectos y era la posibilidad de colaborar en el desarrollo conjunto de un nuevo proxy SIP en el que se integrasen las mejores partes ya existentes de cada proyecto. Esta propuesta de integración se hizo a SER, Kamailio y OpenSIPS. De los tres, SER y Kamailio aceptaron, mientras OpenSIPS decidió seguir su propio camino y no participar.

Durante la reunión se discutieron bastantes temas tanto técnicos como de gestión del proyecto, licencias, participación, etc. Las principales decisiones fueron:

  • Basar el desarrollo de sip-router en el core y módulo TM de SER ya que incorpora ciertas mejoras y funcionalidades más avanzadas que las de Kamailio/OpenSER.
  • Mantener al máximo, de momento, la compatibilidad de la sintaxis de los scripts de configuración de SER y Kamailio.
  • Crear un repositorio con GIT para gestionar el codigo fuente.
  • Por el momento se mantienen los “boards” de cada proyecto, dejando para cuando haya una versión funcional de sip-router la integración de ambos boards. Se deja para más adelante ver como se hace esa integración, miembros, etc.
  • Se creará la figura del “release manager” que será el encargado de gestionar la creación, validación y publicación de las nuevas releases.
  • Hacer incapié en disponer de una documentación actualizada y suficiente, tanto en el código fuente como para los usuarios.
  • Se debería promover el desarrollo de aplicaciones relacionadas como interfaces web, herramientas de gestión, servidores de aplicaciones, etc, que den valor añadido al proyecto y puedan favorecer la creación de un ecosistema importante alrededor del proyecto.
  • Se hará una nueva reunión durante el mes de Febrero para valorar los avances en el desarrollo del proyecto.
Y creo que estos son los puntos más importantes… por el momento se ha avanzado bastante. El repositorio GIT está activo, ya es posible cargar módulos de Kamailio/OpenSER en sip-router y las sintaxis de los scripts de configuración son cargadas por el parser, lo que no está nada mal para el tiempo transcurrido.
Según las fechas previstas, en febrero debería estar disponible una primera versión de sip-router más o menos funcional con la que poder empezar a probar cosas… aunque desde luego yo no la usaría para un sistema en producción :)
La impresión con la que me quedé es que hay muy buena predisposición por parte de todos para llevar adelante este proyecto, que la integración se ve como algo positivo y que puede aportar cosas positivas a todos, tanto desarrolladores como usuarios y que la cosa va a salir adelante!.
2 Comentarios