L'audio monodirezionale nelle chiamate VoIP è quasi sempre un problema del percorso media: NAT, un indirizzo IP sbagliato nell'SDP, un firewall che blocca le porte RTP o codec non compatibili. Le chiamate che cadono a un tempo fisso, per esempio intorno ai 32 secondi o dopo 15 o 30 minuti, di solito sono problemi di segnalazione: un ACK mancante o un rinnovo di sessione fallito.
Come una chiamata trasporta l'audio
Il SIP imposta la chiamata; l'audio viaggia separatamente come pacchetti RTP. Ogni lato annuncia nel corpo SDP del suo INVITE o 200 OK l'indirizzo IP, la porta e i codec su cui vuole ricevere l'audio. Se uno dei due annuncia un indirizzo che l'altro non può raggiungere, o un firewall scarta i pacchetti, la segnalazione funziona ma l'audio no. Le basi di una connessione SIP con un carrier sono spiegate in come funziona un'interconnessione SIP.
Audio monodirezionale o assente: cause e controlli
| Causa | Cosa vedi | Soluzione |
|---|---|---|
| IP privato nell'SDP | L'SDP mostra un indirizzo 10.x, 172.16-31.x o 192.168.x | Configura l'IP esterno sul tuo switch o SBC, oppure attiva la gestione del NAT |
| Il firewall blocca l'RTP | I pacchetti partono ma non arrivano mai, o viceversa | Apri l'intervallo di porte RTP agli IP media del carrier, non solo agli IP di segnalazione |
| SIP ALG su un router | SDP riscritto in modo imprevedibile | Disattiva il SIP ALG su router e firewall lungo il percorso |
| IP media non in whitelist | Il carrier invia l'audio da un IP che non ti aspettavi | Chiedi al carrier l'elenco completo dei suoi IP media |
| Codec non compatibili | La chiamata si connette, silenzio o rumore in entrambe le direzioni | Allinea gli elenchi dei codec; vedi G.711 o G.729 |
| Gestione dei re-INVITE | L'audio si interrompe dopo attesa, trasferimento o una modifica a chiamata in corso | Verifica come entrambi i lati gestiscono re-INVITE e cambi dei media |
| Errori di DTMF o transcodifica | L'audio si interrompe dopo la pressione di un tasto o su certe chiamate | Controlla la modalità DTMF (RFC 2833/4733 o SIP INFO) e le impostazioni di transcodifica |
Il test più rapido: cattura una chiamata con uno strumento di cattura pacchetti e verifica se l'RTP scorre in entrambe le direzioni e verso l'IP e la porta annunciati nell'SDP. Se l'RTP arriva al tuo bordo ma non al telefono, il problema è dentro la tua rete; se non arriva mai, è dal lato del carrier o in un firewall tra voi.
Chiamate che cadono a un tempo fisso
- Intorno ai 30 o 32 secondi: il lato che ha inviato il 200 OK non ha ricevuto l'ACK e rinuncia dopo il suo timer di ritrasmissione (nel SIP standard, 64 volte il timer base di 500 ms, cioè 32 secondi). Di solito è un problema di NAT o di instradamento dell'ACK, o un header Contact sbagliato.
- A 15, 30 o 60 minuti, o a un altro numero tondo: session timer. Un lato si aspetta un rinnovo di sessione (re-INVITE o UPDATE) che non arriva o viene rifiutato. Allinea le impostazioni dei session timer, o verifica se il carrier ha fissato una durata massima delle chiamate.
- Dopo un silenzio di durata fissa: timeout RTP. Un dispositivo chiude la chiamata quando non riceve audio per un certo tempo, cosa che succede spesso quando c'è già audio monodirezionale.
Chiamate che cadono a caso
Le cadute casuali di solito nascono da instabilità di rete (perdita di pacchetti sul collegamento, un SBC che si guasta), dalla rete di destinazione o da una catena di carrier in cui un passaggio ha problemi di capacità. Controlla se le cadute si concentrano su una rotta o destinazione e chi ha inviato il BYE nei tuoi CDR. Una quota crescente di chiamate brevi è spesso il primo segnale statistico, vedi chiamate di breve durata e MOS, jitter e perdita di pacchetti.
Cosa inviare al carrier
Un ticket si risolve prima con le prove: ora della chiamata in UTC, numero chiamato e chiamante, Call-ID, una traccia SIP (pcap) che mostra il problema, e in quale direzione si è perso l'audio. Se il problema compare su una sola rotta con la stessa configurazione, probabilmente è su quella rotta; aggiungilo alle note del test della rotta.
VoIPMatcher gestisce con il fornitore ogni rotta che procura, quindi i problemi tecnici si risolvono in un unico punto. Per ottenere terminazione VoIP verso una destinazione, richiedi una rotta VoIP.
Domande frequenti
Devo disattivare il SIP ALG?
Nella maggior parte dei casi sì. Il SIP ALG su router e firewall prova a riscrivere SIP e SDP per il NAT, ma spesso lo fa male, causando audio monodirezionale, registrazioni fallite e chiamate che cadono. Disattivalo su ogni dispositivo lungo il percorso, gestisci il NAT sul tuo switch o session border controller, poi riprova con una cattura di pacchetti.
Perché l'audio VoIP va in una sola direzione solo a volte?
L'audio monodirezionale intermittente di solito nasce da binding NAT che scadono, da un carrier che invia i media da più IP non tutti consentiti nel tuo firewall, o da re-INVITE dopo attesa o trasferimento che cambiano l'indirizzo dei media. Confronta le catture di pacchetti di una chiamata buona e di una cattiva per vedere quale indirizzo o porta è cambiato.
Quali porte RTP vanno aperte per il VoIP?
Dipende dagli apparati. Molte piattaforme usano un intervallo UDP tra 10000 e 20000, ma controlla la configurazione del tuo switch o SBC e la documentazione del carrier. Apri quell'intervallo solo agli IP media del carrier, non a tutta internet, e ricorda che gli IP media spesso sono diversi da quelli di segnalazione.
Un firewall può causare audio monodirezionale nelle chiamate VoIP?
Sì, qualsiasi firewall può farlo, quando è attiva l'ispezione SIP o il SIP ALG o quando l'intervallo di porte RTP è chiuso agli IP media del carrier. Consulta la documentazione del produttore per disattivare il SIP ALG o il SIP helper, poi consenti l'intervallo RTP dagli indirizzi media del carrier e riprova con una cattura di pacchetti su entrambi i lati.
L'audio monodirezionale è colpa del carrier?
Di solito no. La maggior parte dei casi nasce da impostazioni di NAT, firewall o SDP a un capo della chiamata. Una cattura di pacchetti ti dice dove guardare: se l'RTP non arriva mai al tuo bordo, la causa è dal lato del carrier o in un firewall intermedio; se arriva ma non raggiunge il telefono, è dentro la tua rete.
Ti serve una rotta?
Mandaci destinazione, tipo di rotta e tariffa target. Ti rispondiamo con quello che possiamo offrirti.