Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

In questo articolo parleremo delle nozioni di base per acquisire e analizzare il traffico SIP generato dal PBX 3CX. L'articolo è rivolto agli amministratori di sistema alle prime armi o agli utenti ordinari le cui responsabilità includono la manutenzione della telefonia. Per uno studio approfondito dell'argomento si consiglia di passare in rassegna Corso di Formazione Avanzato 3CX.

3CX V16 consente di acquisire il traffico SIP direttamente attraverso l'interfaccia web del server e salvarlo nel formato standard Wireshark PCAP. È possibile allegare il file di acquisizione quando si contatta il supporto tecnico o scaricarlo per un'analisi indipendente.

Se 3CX funziona su Windows, dovrai installare Wireshark sul server 3CX tu stesso. Altrimenti, quando si tenta di acquisire verrà visualizzato il seguente messaggio.
Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

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

Cattura del traffico

Per iniziare l'acquisizione, vai alla sezione dell'interfaccia Home > Eventi SIP e seleziona l'interfaccia su cui acquisire. Puoi anche acquisire il traffico su tutte le interfacce contemporaneamente, ad eccezione delle interfacce di tunneling IPv6.

Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

In 3CX per Linux, puoi acquisire il traffico per l'host locale (lo). Questa acquisizione viene utilizzata per analizzare le connessioni client SIP utilizzando la tecnologia Controller del tunnel e del confine della sessione 3CX.

Il pulsante Acquisizione traffico avvia Wireshark su Windows o tcpdump su Linux. A questo punto è necessario riprodurre velocemente il problema, perché... l'acquisizione richiede un utilizzo intensivo della CPU e occupa una discreta quantità di spazio su disco.  
Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

Prestare attenzione ai seguenti parametri di chiamata:

  • Il numero da cui è stata effettuata la chiamata, verso il quale hanno chiamato anche altri numeri/partecipanti alla chiamata.
  • L'ora esatta in cui si è verificato il problema secondo l'orologio del server 3CX.
  • Percorso di chiamata.

Cerca di non fare clic in nessun punto dell'interfaccia tranne il pulsante "Stop". Inoltre, non fare clic su altri collegamenti in questa finestra del browser. In caso contrario, l'acquisizione del traffico continuerà in background e comporterà un carico aggiuntivo sul server.

Ricezione di un file di acquisizione

Il pulsante Interrompi interrompe l'acquisizione e salva il file di acquisizione. Puoi scaricare il file sul tuo computer per l'analisi nell'utilità Wireshark o generare un file speciale supporto tecnico, che includerà questa acquisizione e altre informazioni di debug. Una volta scaricato o incluso in un pacchetto di supporto, il file di acquisizione viene automaticamente eliminato dal server 3CX per motivi di sicurezza.

Sul server 3CX il file si trova nella seguente posizione:

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

Per evitare un aumento del carico del server o la perdita di pacchetti durante l'acquisizione, il periodo di acquisizione è limitato a 2 milioni di pacchetti. Successivamente, la cattura si interrompe automaticamente. Se hai bisogno di un'acquisizione più lunga, utilizza l'utilità Wireshark separata come descritto di seguito.

Cattura il traffico con l'utilità Wireshark

Se sei interessato ad un'analisi più approfondita del traffico di rete, acquisiscilo manualmente. Scarica l'utilità Wireshark per il tuo sistema operativo quindi. Dopo aver installato l'utilità sul server 3CX, vai su Acquisisci > Interfacce. Tutte le interfacce di rete del sistema operativo verranno visualizzate qui. Gli indirizzi IP dell'interfaccia possono essere visualizzati nello standard IPv6. Per visualizzare l'indirizzo IPv4, fare clic sull'indirizzo IPv6.

Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

Seleziona l'interfaccia da acquisire e fai clic sul pulsante Opzioni. Deseleziona Cattura traffico in modalità promiscua e lascia invariato il resto delle impostazioni.

Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

Ora dovresti riprodurre il problema. Quando il problema viene riprodotto, interrompere l'acquisizione (Menu Acquisisci > Interrompi). È possibile selezionare Messaggi SIP nel menu Telefonia > Flussi SIP.

Nozioni di base sull'analisi del traffico: messaggio SIP INVITE

Vediamo i campi principali del messaggio SIP INVITE, che viene inviato per stabilire una chiamata VoIP, ovvero è il punto di partenza per l’analisi. In genere, SIP INVITE include da 4 a 6 campi con informazioni utilizzate dai dispositivi finali SIP (telefoni, gateway) e dagli operatori di telecomunicazioni. Comprendere il contenuto dell'INVITE e i messaggi che lo seguono può spesso aiutare a determinare l'origine del problema. Inoltre, la conoscenza dei campi INVITE aiuta quando si collegano gli operatori SIP al 3CX o si combina il 3CX con altri PBX SIP.

Nel messaggio INVITE, gli utenti (o i dispositivi SIP) sono identificati tramite URI. In genere, l'URI SIP è il numero di telefono dell'utente + l'indirizzo del server SIP. L'URI SIP è molto simile a un indirizzo e-mail ed è scritto come sip:x@y:Port.

Il supporto tecnico 3CX risponde: catturando il traffico SIP sul server PBX

URI della riga di richiesta:

Request-Line-URI: il campo contiene il destinatario della chiamata. Contiene le stesse informazioni del campo A, ma senza il nome visualizzato dell'utente.

Via:

Via: ogni server SIP (proxy) attraverso il quale passa la richiesta INVITE aggiunge il proprio indirizzo IP e la porta su cui è stato ricevuto il messaggio in cima all'elenco Via. Il messaggio viene poi trasmesso ulteriormente lungo il percorso. Quando il destinatario finale risponde alla richiesta INVITE, tutti i nodi di transito "cercano" l'intestazione Via e restituiscono il messaggio al mittente lungo lo stesso percorso. In questo caso, il proxy SIP di transito rimuove i propri dati dall'intestazione.

A partire da:

Da: l'intestazione indica l'iniziatore della richiesta dal punto di vista del server SIP. L'intestazione è formata allo stesso modo di un indirizzo e-mail (utente@dominio, dove utente è il numero di interno dell'utente 3CX e dominio è 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. Osservando l'intestazione From, puoi capire esattamente come dovrebbe essere elaborata questa richiesta SIP.

Lo standard SIP RFC 3261 stabilisce che se il nome visualizzato non viene trasmesso, il telefono IP o il gateway VoIP (UAC) deve utilizzare il nome visualizzato "Anonimo", ad esempio Da: "Anonimo"[email protected]>.

A:

A: questa intestazione indica il destinatario della richiesta. Può trattarsi del destinatario finale della chiamata o di un collegamento intermedio. Tipicamente l'intestazione contiene l'URI SIP, ma sono possibili altri schemi (vedi RFC 2806 [9]). Tuttavia, gli URI SIP devono essere supportati in tutte le implementazioni del protocollo SIP, indipendentemente dal produttore dell'hardware. L'intestazione A può contenere anche un nome visualizzato, ad esempio A: "Nome Cognome"[email protected]>).

In genere il campo A contiene un URI SIP che punta al primo (successivo) proxy SIP che elaborerà la richiesta. Questo non deve essere il destinatario finale della richiesta.

Contatti:

Contatto - l'intestazione contiene l'URI SIP tramite il quale è possibile contattare il mittente della richiesta INVITE. Si tratta di un'intestazione obbligatoria e deve contenere un solo URI SIP. Fa parte della comunicazione bidirezionale corrispondente alla richiesta SIP INVITE originale. È molto importante che l'intestazione del contatto contenga le informazioni corrette (compreso l'indirizzo IP) alle quali il mittente della richiesta si aspetta una risposta. L'URI Contact viene utilizzato anche in ulteriori comunicazioni, dopo che è stata stabilita la sessione di comunicazione.

Permettere:

Consenti: il campo contiene un elenco di parametri (metodi SIP), separati da virgole. Descrivono quali funzionalità del protocollo SIP sono supportate da un determinato mittente (dispositivo). Elenco completo dei metodi: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, SUBSCRIBE, UPDATE. I metodi SIP sono descritti in maggior dettaglio qui.

Fonte: habr.com

Aggiungi un commento