kunakorn - stock.adobe.com

SIP und RTP: Werkzeuge für die VoIP-Fehlerbehebung

Eine systematische Fehlersuche in VoIP-Netzwerken gelingt nur mit den richtigen Werkzeugen zur Protokollanalyse. Von Wireshark bis zur Hardware Appliance gibt es diverse Tools.

Fehleranalyse in VoIP-Umgebungen stellt Administratoren regelmäßig vor Herausforderungen, da Signalisierung und Medienstrom parallel ablaufen und eng miteinander verzahnt sind. Bereits kleine Abweichungen im Protokollverhalten können zu Verbindungsproblemen, schlechter Sprachqualität oder vollständigen Gesprächsabbrüchen führen. Eine strukturierte Herangehensweise und geeignete Werkzeuge sind daher entscheidend, um Ursachen effizient zu identifizieren.

In ersten Teil dieser Artikelserie haben wir die technischen Grundlagen von SIP und RTP erläutert, darunter den Aufbau der Protokolle sowie die Abläufe von Transaktionen und Dialogen. Ohne dieses theoretische Fundament sind selbst die leistungsfähigsten Analysewerkzeuge nur bedingt hilfreich, da die Interpretation der erfassten Daten ein tiefes Verständnis der zugrunde liegenden Mechanismen voraussetzt.

Ziel dieses zweiten Teils ist es, einen umfassenden Werkzeugkoffer für das Troubleshooting bereitzustellen. Dieser soll Administratoren und Technikern ermöglichen, Paketmitschnitte zu erstellen, das Systemverhalten zu analysieren und Fehler systematisch zu beheben. Dabei stellen wir sowohl Open-Source-Lösungen als auch kommerzielle Tools und Hardware-Appliances vor, die je nach Anforderungen und Umgebungsbedingungen zum Einsatz kommen können. Zudem betrachten wir integrierte Betriebssystemwerkzeuge, die ohne zusätzliche Installation genutzt werden können. Abschließend gehen wir auf herstellerspezifische Diagnosefunktionen ein, die oft maßgeschneidert für bestimmte ITK-Systeme entwickelt wurden.

Open Source Tools

Wireshark

Eines der bekanntesten und am weitesten verbreiteten Werkzeuge für die Aufzeichnung und Analyse von Netzwerkverkehr für das SIP- und RTP-Troubleshooting ist Wireshark. Als Open-Source-Software steht es für eine Vielzahl von Betriebssystemen wie Windows, Linux und macOS bereit. Wireshark bietet eine grafische Oberfläche und basiert für die Aufzeichnung auf der libpcap-Bibliothek (beziehungsweise Npcap unter Windows), die den Zugriff auf die Netzwerkschnittstelle ermöglicht.

Aufzeichnung von Live-Daten

Um die Menge der erfassten Daten zu begrenzen und die Analyse zu vereinfachen, können sogenannte Capture/Aufzeichnungs-Filter eingesetzt werden. Diese Filter ermöglichen es, den Datenverkehr nach Kriterien wie IP-Adressen, Ports oder Protokollen einzugrenzen. Ein typischer Filter für SIP- und RTP-Traffic könnte etwa auf den SIP-Proxy-Port 5060 sowie den RTP-Portbereich 16384 bis 2767 abzielen. Wichtig ist dabei, nicht zu restriktiv zu filtern, da sonst relevante Daten verloren gehen könnten. Zudem sollte der Capture-Buffer bei hohen Datenraten vergrößert werden, um Paketverluste während der Aufzeichnung zu vermeiden. Für längere Mitschnitte empfiehlt sich die Verwendung eines Ringspeichers, der die Daten in mehreren Dateien mit festgelegter Größe speichert und bei Erreichen des Limits die ältesten Daten überschreibt. Der Abschnitt Kommerzielle Tools und Hardware-Appliances weiter unten liefert einige Informationen zum Zugang zu den relevanten Daten im Netzwerk.

Wireshark als Tool zur Analyse von SIP und RTP.
Abbildung 1: Wireshark als Tool zur Analyse von SIP und RTP. Im Beispiel wurde ein Filter auf die Anfragemethode INVITE angewendet.

Analyse und Auswertung mit Wireshark

Nach der Aufzeichnung ermöglicht Wireshark eine detaillierte Analyse der Daten durch die Anwendung von Dissektoren, die die Protokollstrukturen erkennen und hierarchisch darstellen. Über die Display-/Anzeige-Filter kann der Anwender die Anzeige gezielt auf relevante Pakete beschränken, etwa nur SIP-INVITE-Nachrichten oder RTP-Streams mit bestimmten Codecs. Die Filterung erfolgt dabei über eine intuitive Syntax, die logische Verknüpfungen (AND, OR, NOT) und Vergleichsoperatoren unterstützt.

Ein besonders nützliches Feature ist die VoIP-Call-Analyse, die eine Übersicht aller erkannten Anrufe bietet, inklusive Quell- und Zielrufnummern, verwendeter Protokolle und zugehöriger RTP-Streams. Über die Funktion Flow Sequence lässt sich der Signalisierungs- und Medienfluss grafisch darstellen, was die Identifikation von Problemen wie fehlenden Antworten oder falsch gerouteten Medienströmen erleichtert. Zudem lassen sich RTP-Streams direkt abhören, sofern der verwendete Codec unterstützt wird und die Daten nicht verschlüsselt sind.

RTP-Player in Wireshark.
Abbildung 2: RTP-Player in Wireshark ermöglicht das Anhören und sogar Exportieren aufgezeichneter Gespräche.

Für verschlüsselte Medienströme (SRTP) bietet Wireshark die Möglichkeit, die Header-Daten auch ohne Entschlüsselung der Nutzdaten auszuwerten, da diese Informationen nur authentifiziert, aber unverschlüsselt übertragen werden. Durch die manuelle Zuweisung eines UDP-Ports zum RTP-Protokoll können Analysten so zumindest Paketverluste, Jitter und Codec-Informationen ermitteln.

TShark: Die Kommandozeilen-Alternative zu Wireshark

Für automatisierte Analysen oder den Einsatz auf Servern ohne grafische Oberfläche steht mit TShark das Kommandozeilen-Pendant zu Wireshark zur Verfügung. TShark nutzt dieselben Dissektoren und Filtermechanismen wie Wireshark und eignet sich besonders für Skripte und Batch-Analysen. Typische Anwendungsfälle sind die kontinuierliche Überwachung von SIP- und RTP-Traffic oder die Extraktion spezifischer Pakete für die weitere Verarbeitung, da es durch die fehlende GUI auch performanter arbeitet.

Kommerzielle Tools und Hardware-Appliances

Um überhaupt an die für die Analyse benötigten Daten zu gelangen, müssen diese zunächst erfasst werden. In modernen Netzwerken, die auf Switches basieren, wird Unicast-Datenverkehr nicht mehr an alle Ports weitergeleitet. Um dennoch an die relevanten Pakete zu kommen, da SIP und RTP per Unicast arbeiten, gibt es zwei gängige Methoden: SPAN-Ports und Test Access Points (TAP).

Switched Port Analyzer (SPAN)

Ein SPAN-Port (auch Mirror-/Spiegel-Port genannt) ist eine in vielen gemanagten Switches integrierte Funktion, die den Datenverkehr eines oder mehrerer Quellports an einen Zielport spiegelt. Dies ermöglicht es, den Verkehr an einem zentralen Punkt zu erfassen, ohne die Produktivumgebung zu beeinflussen. SPAN kann sowohl auf einzelne Ports als auch auf gesamte VLANs angewendet werden. Bei Remote SPAN (RSPAN) wird der gespiegelte Verkehr über ein dediziertes VLAN an einen entfernten Switch zur Analyse weitergeleitet, während Encapsulated Remote SPAN (ERSPAN) die aufzuzeichnenden Pakete in einem GRE-Tunnel kapselt und so auch über geroutete Netzwerke transportiert.

Ein Nachteil von SPAN ist die mögliche Überlastung des Zielports, was zu Paketverlusten führen kann, wenn beispielsweise Hin- und Rückrichtung auf einem 1G-Quellport (Gigabit) auf einen 1G-Zielport geleitet werden, da Hin- und Rückrichtung bei Vollauslastung 2G benötigen würden. In vielen Fällen haben VoIP-Techniker zudem keinen Zugriff auf die Switches des Kunden, was den Einsatz von SPAN einschränkt. Zudem wird SPAN häufig in Software abgebildet, wodurch Lastprobleme und auch Verfälschungen des aufzuzeichnenden Datenverkehrs entstehen können. Des Weiteren werden bestimmte vom Switch selbst generierte Pakete mit Protokollen wie EAPoL oder LLDP nicht immer korrekt gespiegelt.

Test Access Point (TAP)

Ein TAP ist eine Hardware-Komponente, die Inline zwischen zwei Netzwerkgeräte geschaltet wird und den gesamten Datenverkehr an einen Monitoring-Port weiterleitet. Dies beinhaltet auch fehlerhafte Frames und VLAN-Tags, die bei einem SPAN-Port meist nicht weitergeleitet werden. Im Gegensatz zu SPAN führt ein TAP keine Filterung durch und liefert somit akkurate und vollständige Mitschnitte. TAPs sind in verschiedenen Ausführungen erhältlich, etwa für Kupfer- oder Glasfaseranschlüsse mit unterschiedlichen Datenraten.

Der Vorteil eines TAP liegt in der lückenlosen Erfassung aller Daten, was besonders für die Fehlersuche in komplexen Umgebungen entscheidend ist. Nachteilig ist der höhere Aufwand für die Installation, da das Gerät physisch in den Datenpfad eingebunden werden muss, sowie die höheren Kosten.

Allegro Network Multimeter

Das Allegro Network Multimeter ist eine spezialisierte Appliance für die passive Aufzeichnung und Analyse von Netzwerkverkehr, die sich besonders für SIP- und RTP-Troubleshooting eignet. Sie stammt vom Leipziger Hersteller Allegro Packets. Das Gerät ist in verschiedenen Ausbaustufen erhältlich und bietet eine webbasierte HTML5-Oberfläche für die Konfiguration und Auswertung.

Das Allegro Network Multimeter unterstützt drei Betriebsmodi: Sink-Modus, Bridge-Modus und Endpoint-Modus. Beim Sink-Modus empfängt das Gerät die Nutzdaten über einen SPAN-Port an einem Switch. Beim Inline-Modus fungiert das Gerät als TAP und beim Endpoint-Modus empfängt es die Nutzdaten per ERSPAN von Switch oder Router.

SIP-Statistik-Dashboard im Allegro Network Multimeter.
Abbildung 3: SIP-Statistik-Dashboard im Allegro Network Multimeter.

Im Standardbetrieb werden Metadaten und Statistiken in einer In-Memory-Datenbank im Arbeitsspeicher gehalten, was eine schnelle Analyse ermöglicht, die Daten sind jedoch nur bis zum nächsten Neustart verfügbar. Für eine dauerhafte Speicherung kann ein Paketringspeicher auf SSD/HDD konfiguriert werden, der die Daten auch nach einem Neustart erhält.

Das integrierte SIP-Dashboard bietet eine umfassende Übersicht über Anrufe, Antwortcodes, Paketverluste und Jitter. Über die Anrufliste lassen sich einzelne Gespräche filtern und detailliert analysieren, inklusive der Möglichkeit, die zugehörigen RTP-Streams als MP3-Datei herunterzuladen. Dies erleichtert die subjektive Qualitätsbewertung und die Eingrenzung von Problemen.

Ein besonderes Feature ist die automatische Erkennung von Qualitätsproblemen wie Paketverlust, Jitter oder falsch konfigurierten DSCP-Werten. Zudem können pcap-Dateien einzelner Anrufe exportiert werden, was die Weiterverarbeitung in anderen Tools wie Wireshark ermöglicht.

Cisco ThousandEyes

Mit der zunehmenden Verlagerung von VoIP- und UC-Diensten in die Cloud entstehen neue Herausforderungen für das Monitoring und Troubleshooting. Cisco ThousandEyes ist ein SaaS-basiertes Tool, das eine globale Sicht auf die Performance von SIP- und RTP-Diensten bietet. Es arbeitet im Gegensatz zum Allegro Network Multimeter mit aktiven Messungen auf Basis von synthetisch generierten Datenströmen.

ThousandEyes nutzt ein Netzwerk aus Cloud Agents, Enterprise Agents (als VM oder Container) und Endpoint Agents (auf Client-Geräten), die als verteilte Sensoren fungieren. Diese Agenten führen aktive Tests durch, die zentral über eine Weboberfläche angelegt und verteilt wurden. Die Agenten senden die Ergebnisse an die zentrale Cloud-Plattform. Dort werden sie in Dashboards visualisiert.

Die Pfadvisualisierung erkennt Paketverluste, Latenzen und MTU-Probleme entlang des Netzwerkpfads und meldet diese entsprechend. Über Agent-zu-Agent-Tests können neben vorbereiteten Messungen von Public-Cloud-Diensten wie Teams oder Webex auch Messungen von RTP-Qualitätsparametern wie Jitter und Paketverlust zwischen zwei Standorten erfolgen. Für Cloud-basierte SIP- und RTP-Dienste können Erreichbarkeiten und die Performance gemessen werden. Da vor einem Verbindungsaufbau zu diesen Diensten eine Namensauflösung notwendig ist, bietet ThousandEyes auch vorbereitete DNS-Checks. Im Dashboard lassen sich gemeinsame Analysen zudem teilen, um kollaboratives Troubleshooting zu ermöglichen.

ThousandEyes eignet sich also besonders für hybride und Cloud-Umgebungen, in denen traditionelle Monitoring-Tools an ihre Grenzen stoßen.

Betriebssystem-integrierte Tools

tcpdump für Unix-ähnliche Systeme

tcpdump ist ein etabliertes Kommandozeilen-Tool für Unix-ähnliche Systeme, mit dem sich Pakete aufzeichnen, filtern und in Echtzeit anzeigen lassen.. Es eignet sich besonders für die Schnellanalyse von IP-PBX-Systemen oder Session Border Controllern (SBC), die häufig auf Unix-ähnlichen Systemen wie Linux basieren.

Mit tcpdump lassen sich SIP- und RTP-Pakete durch Filterung nach Ports oder IP-Adressen gezielt erfassen. Ein typischer Befehl zur Aufzeichnung von SIP-Traffic auf Port 5060 wäre

tcpdump -nqt -A port 5060

Für RTP kann auch ein Portbereich, wie beispielsweise über

tcpdump -nqt udp portrange 16384-32767

angegeben werden. Die Berkeley-Packet-Filter-Syntax bietet zudem auch Vergleichsoperatoren, um beispielsweise mehrere Filterausdrücke mit und/oder Verknüpfungen zu kombinieren.

Die Ausgabe kann direkt im Terminal erfolgen oder in eine pcap-Datei geschrieben werden, um sie später mit Wireshark zu analysieren. Das pcapng-Format für erweiterte Informationen beherrscht das Tool leider nicht.

pktmon für Windows-Systeme

Seit Windows Server 2019 und Windows 10/11 steht mit pktmon ein integriertes Tool zur Paketerfassung zur Verfügung. pktmon nutzt einen Filtertreiber, der sich für die Aufzeichnung zwischen Netzwerkadapter sowie TCP/IP-Stack schaltet. Zudem unterstützt pktmon auch den Export in das pcapng-Format. Somit braucht es keine nachinstallierte Software für die Aufzeichnung.

Ein typischer Workflow umfasst das Anlegen von Filtern für IP-Adressen oder Ports, das Starten der Aufzeichnung und den Export der Daten. Ein Beispiel für SIP wäre beispielsweise ein Filter mit

pktmon filter add -t TCP -p 5060

für SIP über TCP.

pktmon start --etw -f cw.etl -c --comp <id der Netzwerkkarte> --pkt-size 0 -s 100 --log-mode multi-file

könnte dann den Mittschnitt auf der hinter -c --comp anzugebenden Schnittstelle starten. Besonders wichtig ist das Argument --pkt-size 0, da ansonsten die Pakete nicht in voller Länge aufgezeichnet würden. -s 100 --log-mode multi-file sorgen dafür, dass alle 100 MByte neue Dateien angelegt werden, sodass diese in Wireshark noch gut auswertbar bleiben.

pktmon pcapng cw.etl -o cw.pcapng

wandelt den Mitschnitt in das pcapng-Format um, um die Daten mit Wireshark oder tshark zu analysieren. Pktmon eignet sich besonders für schnelle Mitschnitte auf Windows-Systemen, ohne dass zusätzliche Software installiert werden muss.

Sowohl für tcpdump als auch für pktmon ist zu beachten, dass Lastprobleme auf dem aufzeichnenden Host, sowie Offloading-Funktionen zur Netzwerkkarte die Aufzeichnungen verfälschen können. Dadurch sieht man beispielsweise bei der Analyse häufig Pakete in Größe eines Jumbo-Frames (größer 1500 Byte) oder darüber hinaus, da erst die Netzwerkkarte die Segmentierung vornimmt.

Herstellerspezifische Diagnosefunktionen

Viele Hersteller von ITK-Systemen bieten eigene Diagnosewerkzeuge an, die speziell auf ihre Produkte zugeschnitten sind. Mit diesen Tools ist oft eine tiefgehende Analyse der System-Logs, Signalisierungsprotokolle und Medienströme möglich. Typische Funktionen umfassen beispielsweise Anrufverlaufsprotokolle mit Details zu SIP-Nachrichten und RTP-Qualität, Echtzeit-Monitorings von Registrierungen, Anrufen und dem Systemstatus sowie automatisierte Berichte zu Performance und Fehlern. Diese Tools sind besonders nützlich, wenn herstellerspezifische Eigenheiten oder proprietäre Protokolle im Spiel sind. So bietet beispielsweise Audiocodes als Marktführer von Session Border Controllern ein eigenes Syslog-Tool an, das die Signalisierung grafisch aufbereiten, den Dialogen zuordnen und filtern kann.

Fazit

Die Wahl des passenden Troubleshooting-Tools hängt von der Umgebung, den Anforderungen und dem Kenntnisstand des Analysten ab. Open-Source-Tools wie Wireshark und tcpdump bieten maximale Flexibilität und sind für die meisten Standardaufgaben ausreichend. Kommerzielle Appliances wie das Allegro Network Multimeter eignen sich für professionelle Umgebungen mit hohen Anforderungen an Performance und Benutzerfreundlichkeit. Cloud-basierte Lösungen wie Cisco ThousandEyes sind ideal für verteilte und hybride Netzwerke, während Betriebssystemtools wie pktmon oder tcpdump eine schnelle und unkomplizierte Analyse ohne Nachinstallation von Software ermöglichen.

Unabhängig vom gewählten Werkzeug bleibt das Verständnis der Protokolle und Netzwerkzusammenhänge entscheidend, um Fehler effizient zu identifizieren und zu beheben.

Erfahren Sie mehr über Unified Communications