Neste artigo falaremos dos conceptos básicos para capturar e analizar o tráfico SIP xerado por 3CX PBX. O artigo está dirixido a administradores de sistemas novatos ou usuarios comúns cuxas responsabilidades inclúen o mantemento da telefonía. Para un estudo en profundidade do tema, recomendámosche o repaso .
3CX V16 permítelle capturar o tráfico SIP directamente a través da interface web do servidor e gardalo no formato estándar Wireshark PCAP. Pode anexar o ficheiro de captura cando se poña en contacto co servizo de asistencia técnica ou descargalo para unha análise independente.
Se 3CX está a executarse Windows, debes instalar manualmente Wireshark no servidor 3CX. Se non, aparecerá a seguinte mensaxe ao tentar capturar.

В LinuxNos sistemas, a utilidade tcpdump instálase automaticamente ao instalar ou actualizar 3CX.
Captación de tráfico
Para comezar a capturar, vai á sección da interface Inicio > Eventos SIP e selecciona a interface na que desexa capturar. Tamén pode capturar o tráfico en todas as interfaces simultaneamente, excepto as interfaces de túnel IPv6.

En 3CX para Linux Podes capturar o tráfico para o host local (lo). Esta captura úsase para analizar as conexións de clientes SIP usando a tecnoloxía .
O botón "Capturar tráfico" inicia Wireshark Windows ou tcpdump activado LinuxNeste punto, cómpre reproducir o problema rapidamente, xa que a captura carga o procesador e ocupa unha cantidade considerable de espazo no disco.

Preste atención aos seguintes parámetros de chamada:
- O número desde o que se fixo a chamada, ao que tamén chamaron outros números/participantes na convocatoria.
- A hora exacta en que ocorreu o problema segundo o reloxo do servidor 3CX.
- Ruta de chamada.
Probe a non facer clic en ningún lugar da interface, excepto no botón "Parar". Ademais, non faga clic noutras ligazóns desta xanela do navegador. En caso contrario, a captura de tráfico continuará en segundo plano e provocará unha carga adicional no servidor.
Recibindo un ficheiro de captura
O botón Deter detén a captura e garda o ficheiro de captura. Podes descargar o ficheiro no teu ordenador para analizalo na utilidade Wireshark ou xerar un ficheiro especial , que incluirá esta captura e outra información de depuración. Unha vez descargado ou incluído nun paquete de soporte, o ficheiro de captura elimínase automaticamente do servidor 3CX por motivos de seguridade.
No servidor 3CX o ficheiro está situado na seguinte localización:
- WindowsC:ProgramData3CXInstance1DataLogsdump.pcap
- Linux: /var/lib/3cxpbx/Instancia/Datos/Rexistros/dump.pcap
Para evitar o aumento da carga do servidor ou a perda de paquetes durante a captura, o período de captura está limitado a 2 millóns de paquetes. Despois diso, a captura detense automaticamente. Se precisa unha captura máis longa, use a utilidade Wireshark separada como se describe a continuación.
Captura o tráfico coa utilidade Wireshark
Se estás interesado nunha análise máis profunda do tráfico da rede, captao manualmente. Descarga a utilidade Wireshark para o teu sistema operativo . Despois de instalar a utilidade no servidor 3CX, vai a Captura > Interfaces. Todas as interfaces de rede do SO mostraranse aquí. Os enderezos IP da interface pódense mostrar no estándar IPv6. Para ver o enderezo IPv4, fai clic no enderezo IPv6.

Seleccione a interface para capturar e prema no botón Opcións. Desmarque Capturar tráfico en modo promiscuo e deixe o resto da configuración sen cambios.

Agora debes reproducir o problema. Cando se reproduza o problema, deixe de capturar (Menú Captura > Deter). Pode seleccionar mensaxes SIP no menú Telefonía > Fluxos SIP.
Conceptos básicos da análise de tráfico - Mensaxe SIP INVITE
Vexamos os campos principais da mensaxe SIP INVITE, que se envía para establecer unha chamada VoIP, é dicir. é o punto de partida para a análise. Normalmente, SIP INVITE inclúe de 4 a 6 campos con información que utilizan os dispositivos finais SIP (teléfonos, pasarelas) e os operadores de telecomunicacións. Comprender o contido do INVITE e as mensaxes que o seguen a miúdo pode axudar a determinar a orixe do problema. Ademais, o coñecemento dos campos INVITE axuda á hora de conectar operadores SIP a 3CX ou combinar 3CX con outros PBX SIP.
Na mensaxe INVITE, os usuarios (ou dispositivos SIP) identifícanse mediante un URI. Normalmente, o URI SIP é o número de teléfono do usuario + o enderezo do servidor SIP. O URI SIP é moi semellante a un enderezo de correo electrónico e está escrito como sip:x@y:Port.

URI de liña de solicitude:
Request-Line-URI: o campo contén o destinatario da chamada. Contén a mesma información que o campo Para, pero sen o nome para mostrar do usuario.
Vía:
Vía: cada servidor SIP (proxy) polo que pasa a solicitude INVITE engade o seu enderezo IP e o porto no que se recibiu a mensaxe na parte superior da lista Vía. Despois, a mensaxe transmítese máis ao longo da ruta. Cando o destinatario final responde a unha solicitude INVITE, todos os nodos de tránsito "buscan" a cabeceira Via e devolven a mensaxe ao remitente pola mesma ruta. Neste caso, o proxy SIP de tránsito elimina os seus datos da cabeceira.
De:
From - a cabeceira indica o iniciador da solicitude desde o punto de vista do servidor SIP. A cabeceira fórmase do mesmo xeito que un enderezo de correo electrónico (usuario@dominio, onde usuario é o número de extensión do usuario 3CX, e dominio é o enderezo IP local ou dominio SIP do servidor 3CX). Do mesmo xeito que a cabeceira Para, a cabeceira De contén un URI e, opcionalmente, o nome de visualización do usuario. Ao mirar a cabeceira De, pode entender exactamente como se debe procesar esta solicitude SIP.
O estándar SIP RFC 3261 establece que se non se transmite o nome para mostrar, o teléfono IP ou a pasarela VoIP (UAC) debe usar o nome para mostrar "Anónimo", por exemplo. De: "Anónimo" .
A:
Para - Esta cabeceira especifica o destinatario da solicitude. Pode ser o destinatario final da chamada ou unha ligazón intermedia. Normalmente, a cabeceira contén un URI SIP, pero son posibles outros esquemas (véxase RFC 2806 [9]). Non obstante, o URI SIP debe ser compatible en todas as implementacións do protocolo SIP, independentemente do fabricante do equipo. A cabeceira Para tamén pode conter un Nome para mostrar, por exemplo, Para: "Nome Apelidos" ).
Normalmente, o campo Para contén un URI SIP que apunta ao primeiro (seguinte) proxy SIP que procesará a solicitude. Este non ten que ser o destinatario final da solicitude.
Contacto:
Contacto: a cabeceira contén o URI SIP polo que podes contactar co remitente da solicitude INVITE. Esta é unha cabeceira obrigatoria e só debe conter un URI SIP. Forma parte da comunicación bidireccional correspondente á solicitude SIP INVITE orixinal. É moi importante que a cabeceira Contacto conteña a información correcta (incluíndo o enderezo IP) na que o remitente da solicitude espera unha resposta. O contacto URI tamén se usa en comunicacións posteriores, despois de que se estableza a sesión de comunicación.
Permitir:
Permitir: o campo contén unha lista de parámetros (métodos SIP), separados por comas. Describen as capacidades do protocolo SIP que admite un determinado remitente (dispositivo). Lista completa de métodos: ACK, BYE, CANCELAR, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REXIST, SUBSCRIBE, ACTUALIZACIÓN. Os métodos SIP descríbense con máis detalle .
Fonte: www.habr.com
