Dans cet article, nous parlerons des bases de la capture et de l'analyse du trafic SIP généré par les PBX 3CX. L'article s'adresse aux administrateurs systÚme débutants 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 suivre le
cours de formation avancée 3CX .
3CX V16 vous permet de capturer le trafic SIP directement via l'interface Web du serveur et de l'enregistrer au format PCAP Wireshark standard. Vous pouvez joindre le fichier de capture lorsque vous contactez le support technique ou téléchargez pour une auto-analyse.
Si 3CX fonctionne sous Windows, vous devez installer Wireshark sur le serveur 3CX vous-mĂȘme. Sinon, lorsque vous essayez de capturer, le message suivant apparaĂźt.

Sur les systÚmes Linux, tcpdump est installé automatiquement lorsque vous installez ou mettez à niveau 3CX.
Capture du trafic
Pour commencer la capture, accĂ©dez Ă la section interface Accueil> ĂvĂ©nements SIP et sĂ©lectionnez l'interface sur laquelle vous souhaitez capturer. Vous pouvez Ă©galement capturer le trafic sur toutes les interfaces simultanĂ©ment, Ă l'exception des interfaces de tunneling IPv6.

Dans 3CX pour Linux, vous pouvez capturer le trafic pour l'hÎte local (lo). Cette capture est utilisée pour analyser les connexions client SIP à l'aide de la technologie
3CX Tunnel et du Session Border Controller .
Le bouton Traffic Capture lance Wireshark sous Windows ou tcpdump sous Linux. Ă ce stade, vous devez reproduire rapidement le problĂšme, car Capture charge le processeur et occupe suffisamment d'espace disque.

Faites attention aux paramĂštres d'appel suivants:
- Le numéro qui a été appelé, qui a été appelé par d'autres numéros / participants de l'appel.
- Heure exacte Ă laquelle le problĂšme s'est produit sur l'horloge du serveur 3CX.
- L'itinéraire de l'appel.
Essayez de ne pas cliquer Ă d'autres endroits de l'interface, Ă l'exception du bouton «ArrĂȘter». 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.
Obtenir 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 de
support technique spécial qui inclura cette capture et d'autres informations de débogage. AprÚs téléchargement ou inclusion dans le package de support technique, 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: \ ProgramData \ 3CX \ Instance1 \ Data \ Logs \ dump.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 sĂ©parĂ©, comme dĂ©crit ci-dessous.
Capture du trafic Wireshark
Si vous ĂȘtes intĂ©ressĂ© par une analyse plus approfondie du trafic rĂ©seau, capturez-la manuellement. TĂ©lĂ©chargez ici l'utilitaire Wireshark pour votre systĂšme
d' exploitation. AprĂšs avoir installĂ© l'utilitaire sur le serveur 3CX, accĂ©dez Ă Capture> Interfaces. Toutes les interfaces rĂ©seau de l'OS seront affichĂ©es ici. Les adresses IP de l'interface peuvent ĂȘtre affichĂ©es dans IPv6. Pour voir l'adresse IPv4, cliquez sur l'adresse IPv6.

Sélectionnez l'interface à capturer et cliquez sur le bouton Options. Décochez Capture Traffic en mode promiscuous et laissez le reste des paramÚtres inchangé.

Vous devez maintenant reproduire le problĂšme. Lorsque le problĂšme est reproduit, arrĂȘtez la capture (menu Capture> ArrĂȘter). Vous pouvez sĂ©lectionner des messages SIP dans le menu TĂ©lĂ©phonie> Flux SIP.
Notions de base sur l'analyse du trafic - Message SIP INVITE
Considérez les principaux champs du message INVITE SIP 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 terminaux SIP (téléphones, passerelles) et les opérateurs de télécommunications. La compréhension du contenu d'INVITE et des messages qui le suivent permet souvent de déterminer la source du problÚme. De plus, la connaissance des champs INVITE aide à connecter des opérateurs SIP à 3CX ou à combiner 3CX avec d'autres échanges SIP.
Dans un message INVITE, les utilisateurs (ou appareils SIP) sont identifiés par l'URI. En rÚgle générale, un 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 est écrit comme sip: x @ y: Port.

URI de ligne de demande:
Request-Line-URI - le champ contient le destinataire de l'appel. Il contient les mĂȘmes informations que dans le champ Ă, mais sans nom d'affichage.
Via:
Via - chaque serveur SIP (proxy) via lequel la demande INVITE passe, ajoute en haut de la liste Via son adresse IP et le port auquel le message a Ă©tĂ© reçu. Ensuite, le message est transmis plus loin le long de l'itinĂ©raire. Lorsque le destinataire final rĂ©pond Ă la demande INVITE, tous les nĆuds de transit «parcourent» l'en-tĂȘte Via et renvoient un message Ă l'expĂ©diteur le long du mĂȘme itinĂ©raire. Dans ce cas, le proxy de transit SIP supprime ses donnĂ©es de l'en-tĂȘte.
De:
De - l'en-tĂȘte indique l'initiateur de la demande du point de vue du serveur SIP. L'en-tĂȘte est formĂ© de la mĂȘme maniĂšre qu'une adresse de messagerie (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, un nom d'utilisateur Nom d'affichage. Ă partir de l'en-tĂȘte De, vous pouvez comprendre exactement comment cette demande SIP doit ĂȘtre traitĂ©e.
La norme SIP RFC 3261 prévoit que si le nom d'affichage n'est pas transmis, le téléphone IP ou la passerelle VoIP (UAC) doit utiliser le nom d'affichage «Anonymous», par exemple, de: «Anonymous» <sip: 10000@10.172.0.2>.
Ă:
Ă - cet en-tĂȘte indique le destinataire de la demande. Il peut s'agir soit du destinataire final de l'appel, soit d'un lien intermĂ©diaire. En gĂ©nĂ©ral, l'en-tĂȘte contient un 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 SIP, quel que soit le fabricant de l'Ă©quipement. L'en-tĂȘte To peut Ă©galement contenir un nom d'affichage Nom d'affichage, par exemple, To: «First Name Last Name» <sip: 101@10.172.0.2>).
En rÚgle générale, le champ à contient un URI SIP indiquant le premier (suivant) proxy SIP qui traitera la demande. Il n'est pas nécessaire que ce soit le 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 d'une communication bidirectionnelle correspondant Ă la demande SIP INVITE initiale. 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. URI Contact est Ă©galement utilisĂ© dans d'autres communications, aprĂšs l'Ă©tablissement d'une session de communication.
Autoriser:
Autoriser - le champ contient une liste de paramÚtres (méthodes SIP), séparés par une virgule. Ils décrivent les fonctionnalités du protocole SIP prises en charge par cet expéditeur (périphérique). Liste complÚte des méthodes: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REFER, REGISTER, SUBSCRIBE, UPDATE. D'autres méthodes SIP sont décrites
ici .