Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

In diesem Artikel sprechen wir über die Grundlagen der Erfassung und Analyse des von der 3CX PBX generierten SIP-Verkehrs. Der Artikel richtet sich an unerfahrene Systemadministratoren oder normale Benutzer, deren Aufgaben die Wartung der Telefonie umfassen. Für eine vertiefte Auseinandersetzung mit dem Thema empfehlen wir den Durchlauf Fortgeschrittener 3CX-Schulungskurs.

Mit 3CX V16 können Sie SIP-Verkehr direkt über die Server-Weboberfläche erfassen und im Standard-Wireshark-PCAP-Format speichern. Sie können die Erfassungsdatei bei der Kontaktaufnahme mit dem technischen Support anhängen oder sie zur unabhängigen Analyse herunterladen.

Wenn 3CX unter Windows läuft, müssen Sie Wireshark selbst auf dem 3CX-Server installieren. Andernfalls wird beim Aufnahmeversuch die folgende Meldung angezeigt.
Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

Auf Linux-Systemen wird das Dienstprogramm tcpdump automatisch installiert, wenn 3CX installiert oder aktualisiert wird.

Verkehrserfassung

Um mit der Erfassung zu beginnen, gehen Sie zum Schnittstellenabschnitt „Startseite“ > „SIP-Ereignisse“ und wählen Sie die Schnittstelle aus, auf der erfasst werden soll. Sie können den Datenverkehr auch auf allen Schnittstellen gleichzeitig erfassen, mit Ausnahme von IPv6-Tunneling-Schnittstellen.

Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

In 3CX für Linux können Sie Datenverkehr für den lokalen Host (lo) erfassen. Diese Erfassung wird verwendet, um SIP-Client-Verbindungen mithilfe der Technologie zu analysieren 3CX Tunnel- und Session Border Controller.

Die Schaltfläche „Traffic Capture“ startet Wireshark unter Windows oder tcpdump unter Linux. An diesem Punkt müssen Sie das Problem schnell reproduzieren, denn... Die Erfassung ist CPU-intensiv und nimmt ziemlich viel Speicherplatz ein.  
Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

Beachten Sie folgende Aufrufparameter:

  • Die Nummer, von der aus der Anruf getätigt wurde, zu der auch andere Nummern/Teilnehmer des Anrufs angerufen haben.
  • Der genaue Zeitpunkt, zu dem das Problem gemäß der Uhr des 3CX-Servers auftrat.
  • Anrufroute.

Versuchen Sie, auf keine andere Stelle der Benutzeroberfläche als auf die Schaltfläche „Stopp“ zu klicken. Klicken Sie auch nicht auf andere Links in diesem Browserfenster. Andernfalls läuft die Datenverkehrserfassung im Hintergrund weiter und führt zu einer zusätzlichen Belastung des Servers.

Empfangen einer Capture-Datei

Die Schaltfläche „Stopp“ stoppt die Aufnahme und speichert die Aufnahmedatei. Sie können die Datei zur Analyse im Wireshark-Dienstprogramm auf Ihren Computer herunterladen oder eine spezielle Datei erstellen Technischer Support, die diese Erfassung und andere Debugging-Informationen enthält. Sobald die Capture-Datei heruntergeladen oder in einem Support-Paket enthalten ist, wird sie aus Sicherheitsgründen automatisch vom 3CX-Server gelöscht.

Auf dem 3CX-Server befindet sich die Datei an folgendem Ort:

  • Windows: C:ProgramData3CXInstance1DataLogsdump.pcap
  • Linux: /var/lib/3cxpbx/Instance/Data/Logs/dump.pcap

Um eine erhöhte Serverlast oder Paketverluste während der Erfassung zu vermeiden, ist der Erfassungszeitraum auf 2 Millionen Pakete begrenzt. Danach stoppt die Aufnahme automatisch. Wenn Sie eine längere Aufnahme benötigen, verwenden Sie das separate Wireshark-Dienstprogramm wie unten beschrieben.

Erfassen Sie den Datenverkehr mit dem Dienstprogramm Wireshark

Wenn Sie an einer tiefergehenden Analyse des Netzwerkverkehrs interessiert sind, erfassen Sie ihn manuell. Laden Sie das Wireshark-Dienstprogramm für Ihr Betriebssystem herunter daher. Gehen Sie nach der Installation des Dienstprogramms auf dem 3CX-Server zu Capture > Schnittstellen. Hier werden alle Netzwerkschnittstellen des Betriebssystems angezeigt. Schnittstellen-IP-Adressen können im IPv6-Standard angezeigt werden. Um die IPv4-Adresse anzuzeigen, klicken Sie auf die IPv6-Adresse.

Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

Wählen Sie die zu erfassende Schnittstelle aus und klicken Sie auf die Schaltfläche „Optionen“. Deaktivieren Sie „Datenverkehr im Promiscuous-Modus erfassen“ und lassen Sie die restlichen Einstellungen unverändert.

Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

Jetzt sollten Sie das Problem reproduzieren. Wenn das Problem erneut auftritt, stoppen Sie die Aufnahme (Menü Aufnahme > Stopp). Sie können SIP-Nachrichten im Menü Telefonie > SIP-Flows auswählen.

Grundlagen der Verkehrsanalyse – SIP-INVITE-Nachricht

Schauen wir uns die Hauptfelder der SIP-INVITE-Nachricht an, die zum Aufbau eines VoIP-Anrufs gesendet wird, d. h. ist der Ausgangspunkt der Analyse. Typischerweise umfasst SIP INVITE 4 bis 6 Felder mit Informationen, die von SIP-Endgeräten (Telefonen, Gateways) und Telekommunikationsbetreibern verwendet werden. Das Verständnis des Inhalts der EINLADUNG und der darauf folgenden Nachrichten kann oft dabei helfen, die Ursache des Problems zu ermitteln. Darüber hinaus hilft die Kenntnis der INVITE-Felder bei der Anbindung von SIP-Betreibern an 3CX oder der Kombination von 3CX mit anderen SIP-PBXs.

In der INVITE-Nachricht werden Benutzer (oder SIP-Geräte) durch URI identifiziert. Normalerweise ist der SIP-URI die Telefonnummer des Benutzers + die SIP-Serveradresse. Der SIP-URI ist einer E-Mail-Adresse sehr ähnlich und wird als sip:x@y:Port geschrieben.

Der technische Support von 3CX antwortet: Erfassen des SIP-Verkehrs auf dem PBX-Server

Request-Line-URI:

Request-Line-URI – Das Feld enthält den Empfänger des Anrufs. Es enthält dieselben Informationen wie das Feld „An“, jedoch ohne den Anzeigenamen des Benutzers.

Via:

Via – Jeder SIP-Server (Proxy), über den die INVITE-Anfrage läuft, fügt seine IP-Adresse und den Port, auf dem die Nachricht empfangen wurde, oben in der Via-Liste hinzu. Die Nachricht wird dann auf der weiteren Route weitergegeben. Wenn der Endempfänger auf die INVITE-Anfrage antwortet, „schlagen“ alle Transitknoten den Via-Header nach und senden die Nachricht auf demselben Weg an den Absender zurück. In diesem Fall entfernt der Transit-SIP-Proxy seine Daten aus dem Header.

Ab:

From – Der Header gibt den Initiator der Anfrage aus Sicht des SIP-Servers an. Der Header wird auf die gleiche Weise wie eine E-Mail-Adresse gebildet (Benutzer@Domäne, wobei Benutzer die Nebenstellennummer des 3CX-Benutzers und Domäne die lokale IP-Adresse oder SIP-Domäne des 3CX-Servers ist). Wie der To-Header enthält der From-Header einen URI und optional den Anzeigenamen des Benutzers. Anhand des From-Headers können Sie genau verstehen, wie diese SIP-Anfrage verarbeitet werden soll.

Der SIP-Standard RFC 3261 schreibt vor, dass das IP-Telefon oder VoIP-Gateway (UAC) bei Nichtübertragung des Display-Namens den Display-Namen „Anonymous“ verwenden muss, zum Beispiel Von: „Anonymous“[E-Mail geschützt] >.

Bis:

An – Dieser Header gibt den Empfänger der Anfrage an. Dies kann entweder der Endempfänger des Anrufs oder ein Zwischenlink sein. Normalerweise enthält der Header den SIP-URI, aber auch andere Schemata sind möglich (siehe RFC 2806 [9]). Allerdings müssen SIP-URIs in allen Implementierungen des SIP-Protokolls unterstützt werden, unabhängig vom Hardwarehersteller. Der An-Header kann auch einen Anzeigenamen enthalten, zum Beispiel An: „Vorname Nachname“[E-Mail geschützt] >).

Normalerweise enthält das Feld „An“ einen SIP-URI, der auf den ersten (nächsten) SIP-Proxy verweist, der die Anfrage verarbeiten wird. Dies muss nicht der endgültige Empfänger der Anfrage sein.

Kontakt:

Kontakt – Der Header enthält den SIP-URI, über den Sie den Absender der INVITE-Anfrage kontaktieren können. Dies ist ein erforderlicher Header und darf nur einen SIP-URI enthalten. Es ist Teil der bidirektionalen Kommunikation, die der ursprünglichen SIP-INVITE-Anfrage entspricht. Es ist sehr wichtig, dass der Contact-Header die korrekten Informationen (einschließlich der IP-Adresse) enthält, unter denen der Absender der Anfrage eine Antwort erwartet. URI Contact wird auch in weiteren Kommunikationen verwendet, nachdem die Kommunikationssitzung eingerichtet wurde.

Ermöglichen:

Zulassen – das Feld enthält eine durch Kommas getrennte Liste von Parametern (SIP-Methoden). Sie beschreiben, welche SIP-Protokollfunktionen ein bestimmter Absender (Gerät) unterstützt. Vollständige Liste der Methoden: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, ABONNIEREN, UPDATE. SIP-Methoden werden ausführlicher beschrieben hier.

Source: habr.com

Kommentar hinzufügen