General13 views

Kuidas salvestada SIP-kõne dump’i tööriistadega tcpdump, Wireshark ja sngrep

Täpsete ja kiirete paketipüügivõimaluste tundmine on hädavajalik VoIP-inseneridele, kes töötavad platvormidega nagu Kamailio, Asterisk, FreeSWITCH, 3CX, SBC-lahendused ja meediavoo marsruutimissüsteemid. See on eriti oluline RTP-probleemide, ühepoolselt kostuva heli, kõnekatkestuste, NAT-vigade, vigase SDP või SIP-registreerimisprobleemide diagnoosimisel.

SkyTel OU kasutab neid meetodeid regulaarselt VoIP-liikluse kvaliteedi analüüsimiseks ja auditeerimiseks nii sisemistes süsteemides kui ka koostöös teenusepakkujatega ja klientide VoIP-platvormidega.


Õige tööriista valimine kõne salvestamiseks

Tööriist Mida teeb Millal kasutada

tcpdump madaltasemel pakettide püük, maksimaalne täpsus toor-PCAP-failide salvestamiseks edasiseks analüüsiks

Wireshark graafiline dekodeerimine, VoIP-analüüs, RTP taasesitus  keerukate SIP/RTP-probleemide diagnoosimiseks

sngrep SIP-kõnede reaalajas visualiseerimine Kiired kontrollid Kamailio, Asterisk, FreeSWITCH ja SBC puhul


SIP-kõne salvestamine tcpdump-iga

Kõigi SIP-pakettide põhiline püük

tcpdump -i any -s 0 -w sip-dump.pcap port 5060

SIP + RTP püüdmine konkreetse IP-aadressi järgi

tcpdump -i any -s 0 -w call.pcap host 192.168.1.50

SIP-registreerimiste salvestamine

tcpdump -i any -s 0 -w reg.pcap udp port 5060 and (sip or portrange 10000-20000)

Kamailio / SBC serverite puhul

Kamailio vahendab sageli ainult SIP-signalisatsiooni ega töötle RTP-disesid pakette. Seetõttu on RTP-dump mõistlik teha meediaserveris (Asterisk / FreeSWITCH / rtpengine / SEMS).

Call-ID leidmine:

tcpdump -i any -s 0 -A | grep "Call-ID"

Täieliku kõne dump:

tcpdump -i any -s 0 -w call.pcap -v 'sip[0] != 0 and port 5060'


Kõnede analüüsimine tööriistaga Wireshark

VoIP-kõnede loend

Menüü:
Telephony → VoIP Calls

Funktsioonid:

  • SIP-dialoogide täielik dekodeerimine
  • ladder diagramm
  • RTP dekodeerimine ja taasesitus
  • kadude, jitter’i ja järjestusest väljas olevate pakettide tuvastus

Filtreerimine Call-ID järgi

sip.Call-ID == "123456@server"

RTP-voogude analüüs

Vali kõne → RTP → Stream Analysis

Kontrollitavad näitajad:

  • paketikadu
  • duplikaadid
  • jitter
  • viivitus
  • MOS-skoor

Ühepoolse heli diagnoosimine

Levinumad põhjused:

  1. NAT-probleemid (vale välisaadress SDP-s)
  2. RTP blokeerimine tulemüüri või SBC poolt

Olulised SDP väljad:

  • c=IN IP4 ... — meedia IP
  • m=audio ... — RTP port
  • a=rtcp: — RTCP parameetrid
  • a=sendrecv / sendonly / recvonly — meedia suund

SIP-liikluse jälgimine tööriistaga sngrep

sngrep on väga mugav tööriist Kamailio, SBC, Asterisk ja FreeSWITCH süsteemides.

Kõigi kõnede kuvamine

sngrep

Filtreerimine Call-ID järgi

Vajuta / ja sisesta osa Call-ID-st.

Filtreerimine IP-aadressi järgi

sngrep -d any host 192.168.1.50

Kõne eksportimine PCAP-failiks

Vajuta E → vali pcap → salvesta.

See on sageli kiireim viis edastada SkyTel OU inseneridele piisav kõneanalüüsi dump.


Praktilised soovitused Kamailio, Asterisk, FreeSWITCH, SBC ja 3CX jaoks

Kamailio

  • lülita sisse debug=3 ja log_stderror=yes
  • püüa liiklust nii sisse- kui väljaliidesel
  • kontrolli dialoogide loomist ja kustutamist käsuga dlg_list

Asterisk

  • rtp set debug on aitab RTP puudumisel
  • kontrolli RTP portide vastavust SDP-s
  • levinud probleemid: NAT + directmedia=yes

FreeSWITCH

  • lülita sisse sofia global siptrace on
  • RTP võib liikuda ka proxy-modulite kaudu

3CX

  • parim on liiklus püüda serveri/hüperviisori tasemel
  • PCAP tuvastab kiiresti vale RTP marsruudi

SBC (rtpengine, SEMS, FreeSBC, Kamailio-SBC)

  • kontrolli, kellele RTP tegelikult edasi suunatakse
  • jälgi SDP ümberkirjutamist
  • analüüsi võrguadapteri taseme viivitusi

Levinud probleemid, mida saab PCAP-dumpiga tuvastada

  • ühepoolne heli
  • kõne katkeb 32 sekundi järel (ACK / re-INVITE probleemid)
  • DTMF signaalid ei jõua kohale
  • NAT-vead
  • SIP-päiste muutmise probleemid SBC taga
  • teenusepakkuja vead, mida saab tõendada vaid PCAP-iga

 

Was this article helpful?