Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Dans cet article, nous parlerons des bases de la capture et de l'analyse du trafic SIP généré par le PBX 3CX. L'article s'adresse aux administrateurs système novices ou aux utilisateurs ordinaires dont les responsabilités incluent la maintenance de la téléphonie. Pour une étude approfondie du sujet, nous vous recommandons de parcourir Cours de formation avancé 3CX.

3CX V16 vous permet de capturer le trafic SIP directement via l'interface Web du serveur et de l'enregistrer au format standard Wireshark PCAP. Vous pouvez joindre le fichier de capture lorsque vous contactez le support technique ou le télécharger pour une analyse indépendante.

Si 3CX fonctionne sous Windows, vous devrez installer Wireshark sur le serveur 3CX vous-même. Sinon, le message suivant apparaîtra lorsque vous tenterez de capturer.
Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Sur les systèmes Linux, l'utilitaire tcpdump est installé automatiquement lors de l'installation ou de la mise à jour de 3CX.

Capture du trafic

Pour lancer la capture, rendez-vous dans la section interface Accueil > Événements SIP et sélectionnez l'interface sur laquelle capturer. Vous pouvez également capturer le trafic sur toutes les interfaces simultanément, à l'exception des interfaces de tunneling IPv6.

Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Dans 3CX pour Linux, vous pouvez capturer le trafic pour l'hôte local (lo). Cette capture est utilisée pour analyser les connexions des clients SIP à l'aide de la technologie Contrôleur de tunnel et de bordure de session 3CX.

Le bouton Traffic Capture lance Wireshark sous Windows ou tcpdump sous Linux. À ce stade, vous devez reproduire rapidement le problème, car... la capture est gourmande en CPU et occupe une bonne quantité d’espace disque.  
Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Faites attention aux paramètres d'appel suivants :

  • Le numéro à partir duquel l'appel a été passé, vers lequel d'autres numéros/participants à l'appel ont également appelé.
  • L'heure exacte à laquelle le problème est survenu selon l'horloge du serveur 3CX.
  • Itinéraire d'appel.

Essayez de ne cliquer nulle part dans l'interface, sauf sur le bouton « Stop ». Ne cliquez pas non plus sur d’autres liens dans cette fenêtre de navigateur. Sinon, la capture du trafic se poursuivra en arrière-plan et entraînera une charge supplémentaire sur le serveur.

Réception d'un fichier de capture

Le bouton Arrêter arrête la capture et enregistre le fichier de capture. Vous pouvez télécharger le fichier sur votre ordinateur pour analyse dans l'utilitaire Wireshark ou générer un fichier spécial support technique, qui inclura cette capture et d’autres informations de débogage. Une fois téléchargé ou inclus dans un package de support, le fichier de capture est automatiquement supprimé du serveur 3CX pour des raisons de sécurité.

Sur le serveur 3CX le fichier se trouve à l'emplacement suivant :

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

Pour éviter une charge accrue du serveur ou une perte de paquets pendant la capture, la période de capture est limitée à 2 millions de paquets. Après cela, la capture s'arrête automatiquement. Si vous avez besoin d'une capture plus longue, utilisez l'utilitaire Wireshark distinct comme décrit ci-dessous.

Capturez le trafic avec l'utilitaire Wireshark

Si vous souhaitez une analyse plus approfondie du trafic réseau, capturez-le manuellement. Téléchargez l'utilitaire Wireshark pour votre système d'exploitation par conséquent,. Après avoir installé l'utilitaire sur le serveur 3CX, allez dans Capture > Interfaces. Toutes les interfaces réseau du système d'exploitation seront affichées ici. Les adresses IP de l'interface peuvent être affichées selon la norme IPv6. Pour voir l'adresse IPv4, cliquez sur l'adresse IPv6.

Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Sélectionnez l'interface à capturer et cliquez sur le bouton Options. Décochez Capturer le trafic en mode promiscuité et laissez le reste des paramètres inchangés.

Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

Vous devez maintenant reproduire le problème. Lorsque le problème se reproduit, arrêtez la capture (Menu Capture > Stop). Vous pouvez sélectionner les messages SIP dans le menu Téléphonie > Flux SIP.

Bases de l'analyse du trafic - Message SIP INVITE

Regardons les principaux champs du message SIP INVITE, qui est envoyé pour établir un appel VoIP, c'est-à-dire : est le point de départ de l’analyse. En règle générale, SIP INVITE comprend de 4 à 6 champs contenant des informations utilisées par les appareils finaux SIP (téléphones, passerelles) et les opérateurs de télécommunications. Comprendre le contenu de l'INVITE et les messages qui la suivent peut souvent aider à déterminer la source du problème. De plus, la connaissance des champs INVITE est utile lors de la connexion des opérateurs SIP à 3CX ou de la combinaison de 3CX avec d'autres PBX SIP.

Dans le message INVITE, les utilisateurs (ou appareils SIP) sont identifiés par URI. Généralement, l'URI SIP est le numéro de téléphone de l'utilisateur + l'adresse du serveur SIP. L'URI SIP est très similaire à une adresse e-mail et s'écrit sip:x@y:Port.

Le support technique de 3CX répond : capture du trafic SIP sur le serveur PBX

URI de ligne de requête :

Request-Line-URI - Le champ contient le destinataire de l'appel. Il contient les mêmes informations que le champ À, mais sans le nom d'affichage de l'utilisateur.

Via:

Via - chaque serveur SIP (proxy) par lequel transite la requête INVITE ajoute son adresse IP et le port sur lequel le message a été reçu en haut de la liste Via. Le message est ensuite transmis plus loin sur le parcours. Lorsque le destinataire final répond à une demande INVITE, tous les nœuds de transit « recherchent » l'en-tête Via et renvoient le message à l'expéditeur le long du même itinéraire. Dans ce cas, le proxy SIP de transit supprime ses données de l'en-tête.

À partir de

From - l'en-tête indique l'initiateur de la requête du point de vue du serveur SIP. L'en-tête est formé de la même manière qu'une adresse e-mail (utilisateur@domaine, où utilisateur est le numéro de poste de l'utilisateur 3CX, et domaine est l'adresse IP locale ou le domaine SIP du serveur 3CX). Comme l'en-tête To, l'en-tête From contient un URI et éventuellement le nom d'affichage de l'utilisateur. En regardant l’en-tête From, vous pouvez comprendre exactement comment cette demande SIP doit être traitée.

La norme SIP RFC 3261 stipule que si le Display Name n'est pas transmis, le téléphone IP ou la passerelle VoIP (UAC) doit utiliser le Display Name « Anonyme », par exemple From : « Anonymous »[email protected]>.

À:

À - Cet en-tête indique le destinataire de la demande. Celui-ci peut être soit le destinataire final de l'appel, soit un lien intermédiaire. Généralement l'en-tête contient l'URI SIP, mais d'autres schémas sont possibles (voir RFC 2806 [9]). Cependant, les URI SIP doivent être pris en charge dans toutes les implémentations du protocole SIP, quel que soit le fabricant du matériel. L'en-tête À peut également contenir un nom d'affichage, par exemple À : "Prénom Nom de famille"[email protected]>).

Généralement, le champ À contient un URI SIP pointant vers le premier (suivant) proxy SIP qui traitera la demande. Il n'est pas nécessaire qu'il s'agisse du destinataire final de la demande.

Contact :

Contact - l'en-tête contient l'URI SIP par lequel vous pouvez contacter l'expéditeur de la demande INVITE. Il s’agit d’un en-tête obligatoire et ne doit contenir qu’un seul URI SIP. Il fait partie de la communication bidirectionnelle correspondant à la requête SIP INVITE originale. Il est très important que l'en-tête Contact contienne les informations correctes (y compris l'adresse IP) auxquelles l'expéditeur de la demande attend une réponse. L'URI Contact est également utilisé dans d'autres communications, une fois la session de communication établie.

Autoriser:

Autoriser - le champ contient une liste de paramètres (méthodes SIP), séparés par des virgules. Ils décrivent les capacités du protocole SIP prises en charge par un expéditeur (appareil) donné. Liste complète des méthodes : ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, SUBSCRIBE, UPDATE. Les méthodes SIP sont décrites plus en détail ici.

Source: habr.com

Ajouter un commentaire