En entradas anteriores de este blog se ha visto los fundamentos de la señalización SIP y los problemas con los que se encuentra SIP cuando la voz IP tiene que atravesar un NAT. Como complemento práctico a todo lo anterior, en esta nueva entrada se muestran diferentes capturas de señalización SIP entre la centralita NCP 500 del aula de telefonía del Instituto Tartanga y el operador de voz IP Sarenet. Todas las capturas de señalización han sido realizadas mediante el programa Wireshark. En primer lugar se muestra la señalización correspondiente al registro de una extensión SIP en la centralita:
En la captura anterior se observa como la extensión SIP situada en la dirección IP 10.22.81.4 envía un mensaje de tipo REGISTER al SIP Register, situado en la tarjeta IPCMPR de la centralita NCP500, en la dirección IP 192.168.1.52. Posteriormente el SIP Register confirma el éxito del registro mediante un mensaje de tipo STATUS con el contenido 200 OK. Una vez registrada con éxito la extensión SIP, la centralita NCP500 envía dos mensajes de tipo NOTIFY para indicarle a dicha extensión que no tiene mensajes en espera. La extensión SIP responde con sendos mensajes de OK.
La centralita NCP500 admite extensiones IP de tipo SIP y extensiones IP específicas de Panasonic. Estas últimas funcionan con un protocolo de señalización totalmente diferente a SIP, el protocolo MGCP. En la siguiente captura de señalización se muestra el registro de una extensión IP específica de Panasonic mediante dicho protocolo MGCP
De la misma forma que las extensiones IP se registran en el SIP Register de la centralita, antes de poder realizar llamadas al exterior mediante líneas IP es necesario que la tarjeta virtual de 16 canales IP de tipo SIP se registre en el SIP register del operador de VoIP, en este caso Sarenet. En la siguiente captura de señalización se muestra la petición de registro en el SIP Register de Sarenet, cuya URL es sarevoz.com
En la dirección ip 194.30.0.111 está el SIP Server de Sarenet, el cual incluye al SIP Register y al SIP Proxy. Haciendo un ping a dicha dirección ip podemos comprobar que responde sarevoz.com.
El SIP register de Sarenet responde a la petición de registro realizada por la tarjeta Gateway de 16 canales SIP de la centralita NCP500 con el siguiente mensaje:
Observar que el server que utiliza Sarenet para ofrecer este servicio de Voz sobre IP es Kamailio, una solución de software libre extremadamente potente y escalable.
Una vez vistas las fases de registro de extensiones SIP y extensiones específicas de Panasonic, es el momento de realizar llamadas internas y externas a través del operador Sarenet. En primer lugar se muestra la señalización correspondiente a una llamada desde una extensión SIP a un teléfono móvil.
En la parte inferior de la captura se observan los paquetes de voz RTP entre la extensión SIP y el teléfono móvil. Analizando uno cualquiera de estos paquetes de voz RTP encontramos lo siguiente:
Se observa que todos los paquetes de voz correspondientes a llamadas externas pasan obligatoriamente por la tarjeta DSP de la centralita NCP500. Esto se cumple igualmente cuando la llamada saliente se realiza desde un teléfono específico digital o incluso cuando es una llamada interna entre una extensión no IP (específico digital o analógico) y una extensión IP (IP específica de Panasonic o IP de tipo SIP). El siguiente diagrama muestra de forma detallada la misión de la tarjeta DSP dentro de la centralita NCP500 de Panasonic:
Si recibimos una llamada entrante desde un teléfono fijo hacia la centralita NCP500, deberemos de utilizar el “número geográfico” facilitado por Sarenet. Puesto que esta llamada entrante es recibida en una extensión digital, comprobaremos que los paquetes de voz RTP van desde la tarjeta DSP hacia el servidor BSC de Sarenet y desde éste hacia la tarjeta DSP, pero ningún paquete RTP irá hacia la extensión digital, ya que estas reciben y envían la voz de forma digital pero no mediante IP:
Por último, podemos comprobar que en llamadas internas entre extensiones IP los paquetes de voz RTP van directamente de extensión a extensión, sin pasar por la tarjeta DSP.
De la misma manera se puede observar que en el caso de una llamada interna desde una extensión SIP a una extensión específica digital si que interviene la tarjeta DSP enviando y recibiendo los paquetes de voz RTP de la extensión SIP.
Las capturas de señalización SIP sobre la centralita NCP500 anteriores explican de forma práctica el funcionamiento de SIP y ciertos detalles que, si solo se examinan de forma puramente teórica, son relativamente difíciles de entender. Es preciso señalar que para realizar capturas como estas mediante el programa Wireshark es necesario utilizar “un viejo” HUB que permita a Wireshark acceder a todos los paquetes IP enviados o dirigidos desde la centralita NCP500.
Conexión con un “viejo HUB” para capturar los paquetes IP mediante WireShark
Un momento de la captura de paquetes IP con WireShark