prefixkit Вопрос инженеруСпросить EN

Телефония

Анализ звонков в pcap

Перетащите pcap с телефонией и получите диаграмму SIP, графики джиттера и потерь, MOS и объяснение простыми словами: кто кому звонил, почему звонок прервался и что исправить. Файл не покидает ваш компьютер.

Что покажет анализ

Для каждого звонка: кто кому звонил, через сколько пошли гудки и ответили, сколько длился разговор, кто положил трубку и с какой причиной (код SIP и Q.850). Диаграмма обмена SIP показывает каждый запрос и ответ, повторы отмечены отдельно. Для звука: потери, джиттер, паузы между пакетами, DTMF и оценка MOS с графиком по времени. Если что-то не так, например нет ACK, звук только в одну сторону, внутренний IP в SDP или большие потери, анализатор объяснит причину и подскажет, что поправить.

Как записать звонок

Linux или АТС на Linux (Asterisk, FreeSWITCH, Kamailio): запишите SIP и RTP, сделайте тестовый звонок и остановите запись Ctrl+C.

tcpdump -i any -s 0 -w call.pcap port 5060 or portrange 10000-20000

MikroTik: сниффер сохраняет pcap прямо на роутер, потом файл можно скачать из Files.

/tool sniffer set file-name=call.pcap filter-ip-protocol=udp file-limit=50000KiB
/tool sniffer start
# make the call
/tool sniffer stop

Windows и macOS: Wireshark → Capture, затем File → Save As в формате pcapng. Удобно и sngrep: запись в файл через параметр -O.

sngrep -O call.pcap

Ограничения

SIP по TLS (порт 5061) зашифрован, и прочитать его нельзя. В SRTP звук зашифрован, но потери и джиттер всё равно видны по заголовкам. MOS — это оценка по E-модели, а не прослушивание. Если запись сделана на одной стороне NAT, адреса в SDP и реальные адреса пакетов могут отличаться: это нормально, анализатор их сопоставит.

Нужен пинг или трассировка до вашей АТС из разных стран? Есть пинг и трассировка.

Справочники: коды ответов SIP, причины завершения Q.850.