En el mundo de las comunicaciones VoIP, una de las tareas más comunes es analizar el tráfico SIP (Session Initiation Protocol) para diagnosticar problemas de señalización o depurar configuraciones de Asterisk, FreeSWITCH u otros servidores SIP.
Una de las herramientas más populares y potentes para este propósito es sngrep.
En este artículo te mostraré cómo instalar sngrep en diferentes versiones Linux, paso a paso, y cómo usarlo para capturar y visualizar trazas SIP directamente desde la terminal.
¿Qué es sngrep?
sngrep es una herramienta de código abierto desarrollada por Irontec, diseñada específicamente para capturar, mostrar y filtrar mensajes SIP en tiempo real.
Algunas de sus ventajas:
- Interfaz interactiva en consola, muy práctica para ingenieros VoIP, ademas de que te veraz cool!
- Permite visualizar de forma clara el flujo de llamadas SIP.
- Soporta capturas en tiempo real o desde archivos pcap.
- Es ideal para depurar problemas de registro, llamadas, RTP y señalización SIP.
- Obtener evidencias y revisarlas con carriers (aveces pelear con ellos) para solucionar problemas.
Primero, verificar que versión de linux tenemos.
Para verfiicar que linux tenemos instalado, corremos el siguiente comando. Una vez identificado, podemos instalar según sea el caso.
cat /etc/*release*

Instalación de sngrep en Rocky Linux
En Rocky Linux, la instalación de sngrep no viene incluida en los repositorios oficiales, por lo que necesitamos habilitar el repositorio Copr de Irontec y luego instalar el paquete.
dnf install dnf-plugins-core -y
dnf copr enable irontec/sngrep
dnf install sngrep -y
Una vez instalado, podemos ejcutarlo del siguiente modo:
sngrep

Instalación de sngrep en Debian / Ubuntu
A diferencia de Rocky Linux, en Debian y Ubuntu el paquete sngrep está disponible en los repositorios oficiales (a partir de Ubuntu 16.04 y Debian 9). Por lo tanto, la instalación es mucho más sencilla.
sudo apt update
sudo apt install sngrep -y
Una vez instalado, podemos ejcutarlo del siguiente modo:
sngrep