Javier Valencia Javier Valencia
Kamailio en 2026: por qué sigue siendo relevante

Kamailio en 2026: por qué sigue siendo relevante

Javier Valencia · · 4 min de lectura · 2 visitas · DevOps
devops arquitectura voip kamailio sip

Kamailio es un servidor SIP de alto rendimiento que nació en 2001 como SER (SIP Express Router) en el instituto de investigación alemán FhG Fokus. Veinticinco años después, sigue siendo la pieza central de la mayoría de plataformas VoIP serias del mundo. Operadores de telecomunicaciones, proveedores de VoIP, plataformas de comunicaciones unificadas: por debajo, casi siempre hay un Kamailio.

No es la herramienta más fácil de aprender. No tiene una interfaz web bonita. Su fichero de configuración se parece más a un lenguaje de programación que a un fichero de configuración. Pero hace algo que ninguna otra herramienta hace igual de bien: procesar miles de transacciones SIP por segundo con una fiabilidad que roza lo absurdo.

Qué hace Kamailio (y qué no hace)

Kamailio en 2026: por qué sigue siendo relevante

Kamailio es un proxy SIP. Recibe mensajes SIP (INVITE, REGISTER, BYE...), decide qué hacer con ellos según las reglas que le configures, y los reenvía al destino correcto. Es el director de tráfico de una red VoIP.

Lo que Kamailio no hace es procesar media (audio, vídeo). No mezcla llamadas, no hace conferencias, no reproduce música en espera. Para eso necesitas un media server como Asterisk o FreeSWITCH. Kamailio se encarga del plano de señalización y deja el plano de media a otros.

Esta separación es clave para entender por qué Kamailio escala tan bien. El procesamiento de señalización SIP es barato computacionalmente: son mensajes de texto que pesan unos pocos kilobytes. El media es caro: son flujos de audio en tiempo real que consumen CPU y ancho de banda. Al separar las dos funciones, puedes tener un Kamailio manejando 10.000 llamadas simultáneas en un servidor modesto, mientras los media servers se escalan horizontalmente según la demanda.

El fichero de configuración

La configuración de Kamailio es su punto fuerte y su punto débil. Es un lenguaje propio, una mezcla entre C y un scripting language, con bloques de routing, variables, funciones de módulo y control de flujo:

request_route {
    # Registros
    if (is_method("REGISTER")) {
        if (!www_authorize("voiper.es", "subscriber")) {
            www_challenge("voiper.es", "1");
            exit;
        }
        save("location");
        exit;
    }

    # Llamadas
    if (is_method("INVITE")) {
        # Autenticar
        if (!proxy_authorize("voiper.es", "subscriber")) {
            proxy_challenge("voiper.es", "1");
            exit;
        }
        consume_credentials();

        # Enrutar
        if (!lookup("location")) {
            sl_send_reply("404", "Not Found");
            exit;
        }
        t_relay();
    }
}

Esto es un ejemplo mínimo que autentica registros y llamadas, busca el destino en la tabla de localización y reenvía. En producción, un fichero de Kamailio puede tener miles de líneas con lógica de enrutamiento compleja: least cost routing, balanceo de carga entre gateways, detección de fraude, rate limiting, NAT traversal, geolocalización...

La curva de aprendizaje es pronunciada. No hay asistentes de configuración ni interfaces gráficas que generen la configuración por ti. Tienes que entender SIP, entender los módulos de Kamailio y escribir la lógica tú mismo. Pero esa complejidad es también lo que te da control total sobre cada aspecto del enrutamiento.

Por qué nadie lo ha reemplazado

Kamailio en 2026: por qué sigue siendo relevante

Han pasado veinticinco años y no hay un reemplazo real para Kamailio. Las razones son varias:

Rendimiento probado: Kamailio procesa miles de transacciones por segundo en hardware modesto. Está escrito en C, es single-threaded por diseño (con workers para tareas pesadas) y tiene un footprint de memoria mínimo. No hay ningún proxy SIP que se le acerque en rendimiento bruto.

Flexibilidad absoluta: cualquier lógica de enrutamiento imaginable se puede implementar en Kamailio. ¿Quieres enrutar llamadas según la hora del día, el país de origen, el saldo del cliente y la carga de los gateways? Se puede. ¿Quieres implementar un algoritmo de detección de fraude en tiempo real? Se puede. No hay límites prácticos.

Ecosistema maduro: más de 200 módulos disponibles. Bases de datos (MySQL, PostgreSQL, Redis, MongoDB), protocolos (WebSocket, TLS, SCTP), funcionalidades (presencia, mensajería, estadísticas). Lo que necesites, probablemente hay un módulo que lo hace.

Comunidad activa: el proyecto sigue en desarrollo activo. Hay releases regulares, una mailing list activa y una comunidad de operadores que comparten conocimiento. El Kamailio World Conference se celebra cada año.

Kamailio en mi stack

En VoIPer Telecom, Kamailio es la pieza central de toda la infraestructura de voz. Hace de punto de entrada para todos los clientes SIP, gestiona la autenticación contra la base de datos, enruta las llamadas entrantes y salientes, balancea el tráfico entre los media servers y monitoriza el estado de los gateways.

La arquitectura típica que uso es:

Clientes SIP → Kamailio (proxy/registrar) → Asterisk (media/PBX)
                    ↓
              PostgreSQL (usuarios, CDR)
                    ↓
              ClickHouse (analytics)

Kamailio se encarga de todo lo que es señalización: registros, autenticación, enrutamiento, balanceo, NAT traversal. Asterisk se encarga del media: IVR, buzones de voz, conferencias, grabación. PostgreSQL almacena los usuarios y los CDR (Call Detail Records). ClickHouse recibe los CDR para análisis y facturación.

Esta separación me permite escalar cada componente de forma independiente. Si necesito más capacidad de media, añado otro Asterisk. Si necesito más capacidad de señalización, optimizo Kamailio o añado otro nodo con dispatching.

Cuándo tiene sentido usarlo

Kamailio en 2026: por qué sigue siendo relevante

Kamailio tiene sentido cuando:

  • Manejas más de cien llamadas simultáneas: por debajo de eso, Asterisk solo es suficiente.
  • Necesitas lógica de enrutamiento compleja: least cost routing, failover, balanceo, manipulación de headers.
  • Operas con múltiples media servers: Kamailio actúa como balanceador.
  • Necesitas alta disponibilidad: Kamailio soporta clustering activo-activo.
  • Procesas tráfico de múltiples clientes: el modelo multi-tenant se implementa naturalmente en el routing script.

No tiene sentido cuando solo necesitas una centralita para una oficina de veinte personas. Para eso, Asterisk o FreePBX son más que suficientes.

Conclusión

Kamailio no es sexy. No tiene un logo moderno ni un marketing team. No sale en Hacker News. Pero es la herramienta que sostiene la infraestructura VoIP de medio mundo, y la razón por la que puedes hacer una llamada VoIP y que funcione de forma fiable es, en gran parte, porque alguien configuró un Kamailio correctamente.

Si trabajas en telecomunicaciones o VoIP, aprender Kamailio es una de las mejores inversiones que puedes hacer en tu carrera. Hay pocos profesionales que lo dominen y mucha demanda. La curva de aprendizaje es dura, pero una vez que la superas, tienes una herramienta que puede con cualquier cosa que le eches.