Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Este documento visa mostrar como realizar captura de uma chamada contendo a sinalização(SIP) e áudio(RTP). Evidências em um chamado técnico de VoIP são essenciais para uma análise completa e precisa, garantindo uma resolução eficaz de problemas e a manutenção da qualidade do serviço de comunicação.

Isso inclui análise de pacotes SIP para identificar problemas de sinalização, bem como a captura de pacotes RTP para examinar a qualidade e integridade do áudio transmitido.

Exemplos:

Para ambientes com mais de 1.000 chamadas simultâneas o comando SNGREP não é indicado, recomendamos realizar a captura pelo tcpdump ou ngrep salvando diretamente em um arquivo sem exibição em tela.

 ATENÇÃO

Rodar o sngrep por muito tempo pode consumir recursos do servidor, causando impacto em outros serviços.

Para observar esse comportamento, você pode abrir outro terminal e utilizar o comando htop para monitorar o ambiente durante a captura:

htop

Caso você feche o acesso ssh sem sair do sngrep ele ficará rodando em segundo plano e consumindo recursos de forma indevida:

image-20240328-132349.png

Para encerrar o sngrep em segundo plano identifique os processos com:

ps -ef | grep sngrep  -------------> listar os processos
kill -9 123456 123456 123456  -----> encerrar os processos listados
image-20240328-132945.png

Em cenários com fluxo baixo de chamadas podemos utilizar o SNGREP, ele tem alguns parâmetros que podem ser utilizados em conjunto para aplicar filtros ou capturar o RTP junto da sinalização:

Exemplos:

sngrep  ------------->  Captura toda sinalização sip (ex. options, register...) sem RTP
sngrep -c  ---------->  Captura somente chamadas 
sngrep -r  ---------->  Captura os pacotes RTP (audio da chamada)
sngrep 8540  -------->  Captura toda sinalização que contem o número como origem ou destino

É possível fazer uma combinação de parâmetros:

sngrep -rc 8540  ---->  Captura o audio(RTP), somente chamadas, filtrando pelo número 8549

No exemplo abaixo a captura foi feita com os seguintes parâmetros:

sngrep -rc 3510

Note que ao filtrar por 3510 capturou toda sinalização onde tem esse número no início, meio ou fim da origem ou do destino.

image-20240328-135525.png

Com a sinalização aberta no sngrep aperte F2 para mostrar o SDP e F3 para mostrar o RTP.

image-20240328-141144.png

Após selecionar a sinalização desejada aperte F2 para salvar a captura:

image-20240328-140000.png

Atenção ao salvar o arquivo: Para chamadas onde o objetivo é capturar o áudio é necessário utilizar o parâmetro “-r” e salvar SIP+RTP.

Também é possível realizar filtros com a captura em execução apertando F3:

image-20240328-140259.png

Abrindo uma captura com o sngrep:

É possível abrir um arquivo pcap pelo sngrep após salva-lo.

sngrep -I /caminho/do/arquivo.pcap 

Cenários com mais de um servidor RTP:

Para cenários onde há mais de um servidor RTP no mesmo grupo, recomendamos que seja criado um grupo isolado contendo somente o servidor RTP que roda no proxy onde será feita a captura (é necessário ter o serviço de rtp rodando no mesmo servidor).

Isso irá garantir que o áudio passe pelo mesmo servidor onde a sinalização está passando e seja capturado pelo sngrep:

image-20240328-141833.png

Após criar o novo grupo ajuste no profile do assinante:

image-20240328-142154.png

Isso garantirá que consiga capturar o áudio com a sinalização.

Dica:

Analise as opções disponíveis em cada tela e navegue entre as configurações disponíveis dentro do sngrep para aprender mais.

Aperte F1 em cada tela para ver o “help”:

image-20240328-154024.pngimage-20240328-154340.png

Ao abrir uma captura marcando ela com espaço e apertando enter as opções mudam:

image-20240328-154432.png

  • No labels