SIP TLS

Curso capacitación: Kamailio TLS and Asterisk PBX

En muchos escenarios nos encontramos con PBX, tipo Asterisk, instaladas dentro de la red local y con todas las extensiones que se conectan desde la misma red local. Con el aumento del trabajo desde remoto o teletrabajo, vamos a necesitar que haya también conexiones de extensiones remotas.

Kamailio como Gateway TLS-UDP

En muchos escenarios nos encontramos con PBX, tipo Asterisk, instaladas dentro de la red local y con todas las extensiones que se conectan desde la misma red local. Con el aumento del trabajo desde remoto o teletrabajo, vamos a necesitar que haya también conexiones de extensiones remotas.

OpenSSL, desde la versión 1.1.1, soporta mínimo TLS v1.2 – Asterisk PJSIP

Desde la versión 1.1.1, OpenSSL soporta mínimo la versión 1.2 de TLS. Esto quiere decir que si en un cliente se intenta utilizar una versión más antigua, tipo 1.0 o 1.1, muy probablemente veremos este error:

SSL routines-tls_early_post_process_client_hello-unsupported protocol

Esta versión está presente en Debian Buster (10) pero no en CentOS 7 pues lo que sigue les va a interesar solamente si compilaron Asterisk PBX en debian 10 o Raspian 10 (no se las demás distribuciones de Linux que versión de OpenSSL utilizan).

Kamailio 5.1.X y el cifrado de la señalización SIP en CentOS 7.X

Como cada marca/modelo de Softphone gestiona el cifrado de la señalización SIP de manera muy distinta (si lo soporta) los certificados se instalarán y utilizarán solamente desde el lado de Kamailio y para volver más real la configuración, se utilizarán certificados creados con Let’s Encrypt.

Lo pasos a seguir son:

  • creación de los certificados

  • configuración de Kamailio

TCP Keep Alive y Asterisk SIP TLS

Aunque en la mayoría de los casos para la señalización SIP se utiliza el protocolo de transporte UDP, no estaría mal y es muy aconsejado utilizar el protocolo TLS que permite el cifrado de la señalización SIP y se basa en el protocolo de transporte TCP, que es un protocolo orientado a la conexión, es decir que antes de enviar datos hay que establecer una conexión. En el caso que se opte por TLS, para que las comunicaciones funcionen correctamente, hay que solucionar dos tipos de problemas:

Pages