Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

In questo articolo parleremo delle basi della cattura e analisi del traffico SIP generato dal PBX 3CX. L'articolo è rivolto a neofiti amministratori di sistema o utenti comuni che si occupano della gestione della telefonia. Per un approfondimento dell'argomento, ti consigliamo di seguire Corso avanzato di 3CX.

3CX V16 consente di catturare il traffico SIP direttamente attraverso l'interfaccia web del server e di salvarlo nel formato standard PCAP di Wireshark. Puoi allegare il file di cattura quando contatti il supporto tecnico o scaricarlo per un'analisi autonoma.

Se 3CX è in esecuzione su Windows, devi installare Wireshark manualmente sul server 3CX. Altrimenti, durante il tentativo di cattura apparirà il seguente messaggio.
Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

Nelle sistemazioni Linux, l'utilità tcpdump viene installata automaticamente durante l'installazione o l'aggiornamento di 3CX.

Cattura del traffico

Per iniziare la cattura, vai alla sezione dell'interfaccia Home > Eventi SIP e seleziona l'interfaccia da cui eseguire la cattura. È possibile anche catturare il traffico su tutte le interfacce contemporaneamente, tranne che per le interfacce di tunneling IPv6.

Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

In 3CX per Linux è possibile catturare il traffico per l'host locale (lo). Questa cattura viene utilizzata per analizzare le connessioni dei client SIP tramite la tecnologia 3CX Tunnel e Session Border Controller.

Il pulsante «Cattura traffico» avvia Wireshark su Windows o tcpdump su Linux. A questo punto, è necessario riprodurre rapidamente il problema, poiché la cattura carica il processore e occupa abbastanza spazio su disco.  
Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

Fai attenzione ai seguenti parametri della chiamata:

  • Il numero dal quale si è chiamato, il numero a cui si è chiamato e altri numeri / partecipanti alla chiamata.
  • L'ora esatta in cui si è verificato il problema secondo l'orologio del server 3CX.
  • Il percorso della chiamata.

Cerca di non cliccare in altre parti dell'interfaccia, tranne che sul pulsante «Ferma». Inoltre, non visitare altri link in questa finestra del browser. Altrimenti, la cattura del traffico continuerà in background e porterà a un ulteriore carico sul server.

Download del file di cattura

Il pulsante «Ferma» interrompe la cattura e salva il file di cattura. Puoi scaricare il file sul tuo computer per analizzarlo con l'utility Wireshark o generare un file speciale di supporto tecnico, che includerà questa cattura e altre informazioni di debug. Dopo il download o l'inclusione nel pacchetto di supporto, il file di cattura viene automaticamente eliminato dal server 3CX per motivi di sicurezza.

Sul server 3CX, il file si trova nel seguente percorso:

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

Per evitare un carico eccessivo sul server o la perdita di pacchetti durante la cattura, il periodo di cattura è limitato a 2 milioni di pacchetti. Dopo questo, la cattura si interrompe automaticamente. Se hai bisogno di una cattura più lunga, utilizza l'utility separata Wireshark, come descritto di seguito.

Cattura del traffico con l'utility Wireshark

Se sei interessato a un'analisi più approfondita del traffico di rete, catturalo manualmente. Scarica l'utility Wireshark per il tuo sistema operativo da qui. Dopo aver installato l'utility sul server 3CX, vai a Capture > Interfaces. Qui verranno mostrati tutti gli interfacce di rete del sistema operativo. Gli indirizzi IP delle interfacce possono essere mostrati nel formato IPv6. Per vedere l'indirizzo IPv4, fai clic sull'indirizzo IPv6.

Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

Seleziona l'interfaccia per la cattura e premi il pulsante Options. Deseleziona Capture Traffic in promiscuous mode e lascia le altre impostazioni invarianti.

Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

Ora è il momento di riprodurre il problema. Quando il problema è stato riprodotto, fermare la registrazione (menù Capture > Stop). È possibile raccogliere i messaggi SIP nel menù Telephony > SIP Flows.

Fondamenti dell'analisi del traffico — messaggio SIP INVITE

Esaminiamo i principali campi del messaggio SIP INVITE, inviato per stabilire una chiamata VoIP, ossia il punto di partenza per l'analisi. Di solito, un SIP INVITE include da 4 a 6 campi con informazioni utilizzate dai dispositivi SIP finali (telefoni, gateway) e dai provider di telecomunicazioni. Comprendere il contenuto dell'INVITE e dei messaggi successivi aiuta spesso a individuare l'origine del problema. Inoltre, conoscere i campi dell'INVITE è utile quando si collegano operatori SIP a 3CX o si integrano 3CX con altri centralini SIP.

Nel messaggio INVITE, gli utenti (o i dispositivi SIP) sono identificati tramite URI. Di solito, un URI SIP consiste nel numero di telefono dell'utente + indirizzo del server SIP. L'URI SIP è molto simile a un indirizzo email e si scrive come sip:x@y:Port.

Il supporto tecnico di 3CX risponde: acquisizione del traffico SIP sul server PBX

Request-Line-URI:

Request-Line-URI — il campo contiene il destinatario della chiamata. In esso è presente la stessa informazione del campo To, ma senza il nome visualizzato dell'utente (Display Name).

Via:

Via — ogni server SIP (proxy) attraverso il quale passa la richiesta INVITE inserisce nella parte superiore dell'intestazione Via il proprio indirizzo IP e la porta su cui è stato ricevuto il messaggio. Successivamente, il messaggio viene inoltrato lungo il percorso. Quando il destinatario finale risponde alla richiesta INVITE, tutti i nodi di transito "guardano" l'intestazione Via e restituiscono il messaggio al mittente lungo lo stesso percorso. Durante questo processo, il proxy SIP di transito rimuove i propri dati dall'intestazione.

From:

From — l'intestazione indica l'iniziatore della richiesta dal punto di vista del server SIP. L'intestazione viene formata nello stesso modo di un indirizzo e-mail (user@domain, dove user è il numero interno dell'utente 3CX, e domain è l'indirizzo IP locale o il dominio SIP del server 3CX). Come l'intestazione To, l'intestazione From contiene un URI e, facoltativamente, il nome visualizzato dell'utente Display Name. Dall'intestazione From è possibile comprendere come trattare correttamente questa richiesta SIP.

Lo standard SIP RFC 3261 prevede che se il nome visualizzato Display Name non viene fornito, il telefono IP o il gateway VoIP (UAC) devono utilizzare il nome visualizzato "Anonymous", ad esempio, From: "Anonymous" .

To:

To — questo intestazione indica il destinatario della richiesta. Può essere sia il destinatario finale della chiamata, sia un’entità intermedia. Di solito, l'intestazione contiene un URI SIP, sebbene siano possibili anche altri schemi (vedere RFC 2806 [9]). Tuttavia, l'URI SIP deve essere supportato in tutte le implementazioni del protocollo SIP, indipendentemente dal fornitore dell'apparecchiatura. L'intestazione To può anche contenere un nome visualizzato Display Name, ad esempio, To: «Nome Cognome» .

Di solito, il campo To contiene un URI SIP che indica il primo (prossimo) SIP-proxy che elaborerà la richiesta. Non è necessariamente il destinatario finale della richiesta.

Contact:

Contact — l'intestazione contiene un URI SIP attraverso il quale è possibile contattare il mittente della richiesta INVITE. Questa è un'intestazione obbligatoria, che deve contenere solo un URI SIP. Fa parte della comunicazione bidirezionale, corrispondente alla richiesta iniziale SIP INVITE. È molto importante che l'intestazione Contact contenga informazioni corrette (incluso l'indirizzo IP) tramite le quali il mittente della richiesta si aspetta una risposta. L'URI Contact è utilizzato anche nelle comunicazioni successive, già dopo l'instaurazione della sessione di comunicazione.

Allow:

Consentire — il campo contiene un elenco di parametri (metodi SIP) separati da virgole. Descrivono quali funzionalità del protocollo SIP sono supportate da questo mittente (dispositivo). Elenco completo dei metodi: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, SUBSCRIBE, UPDATE. Maggiori dettagli sui metodi SIP sono descritti qui.

Fonte: habr.com

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster