En muchas ocasione les habrá tocado tener que analizar la señalización SIP para encontrar el problema que les estaba causando un mal funcionamiento de su PBX (¿Asterisk?).
Muchos de ustedes lo habrán hecho con Ngrep, algunos con TCPdump, otros con Tshark (la versión textual de Wireshark).
Se habrán dado cuenta que quizás esta no es la forma más cómoda de leer los paquetes SIP.
Una solución es utilizar TCPdump para la captura de la señalización SIP guardando los paquetes en un archivo y luego importar el archivo en la versión desktop de Wireshark (para Windows, MacOS y Linux).
Primero se capturan los paquetes SIP con TCPdump:
tcpdump -i eth0 -n -s 0 port 5060 -vvv -w /tmp/captura
Se efectúa, por ejemplo, una llamada desde una extensión a otra y luego se termina la captura de los paquetes (CRTL-C)
Se descarga el archivo captura en el computador donde está instalado Wireshark (en Windows se puede usar WinSCP).
Se abre Wireshark y se carga el archivo captura desde el menú File –> Open
Aparecerá:
Es decir la señalización SIP de la llamada.
Seleccionando una de las líneas, se obtendrá información más detallada:
Fuente: Blog John
Comentarios
Aporte
Buen día,
Les comparto un filtro interesante para cuando se requiere
hacer trazas con el tcpdump y es necesario limitarnos a solo 2 IP. Por
ejemplo para cuando se hace con proveedores de telefonía externos, o un
teléfono específicamente.
tcpdump -pi eth0 -s0 -w sip.cap \(dst 192.168.1.1 or 205.16.17.18\)
and \(src 192.168.1.1 or 204.16.17.18\) -vvv
En este ejemplo, la IP 192.168.1.1 es del servidor Asterisk y la IP
205.16.17.18 es el proveedor de telefonía externo.
Re: Aporte
Muchas gracias por tu aporte.
Saludos
En este filtro como colocaste
En este filtro como colocaste tu los parámetros que usaste en el cliente y en el servidor?y ese filtro que usaste es para dos direcciones 204.16.17.18 y 205.16.17.18 que son distintas? también esos filtros se pueden hacer para cualquier captura es decir cuando captura uno video?