Reti NATTATE e problemi VOIP – Guida all’uso di WINSTUN
A quanti di voi è successo durante i vari esperimenti Voip di avere problemi di audio e di porte che non sapevate come risolvere?
Oppure avete cercato di utilizzare degli interni remoti su un vostro centralino asterisk e siete impazzi con problemi di assenza di audio o audio monodirezionale?
Tali problemi, derivano solitamente da come il vostro router gestisce il NAT.
Cerchiamo in questa breve guida di capire da cosa possano dipendere tali problemi con l’uso di un semplice programma WINSTUN.
Come tutti voi saprete, dietro NAT (Network Address Translators) ci sono spesso problemi, dovuti principalmente al fatto che il vostro apparecchio Voip non conosce l’indirizzo IP pubblico sul router, e non sa quali porte poter usare.
In tali casi può venire in aiuto lo STUN Server.
STUN è l’acronimo di Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs): è un protocollo che permette a particolari applicazioni di scoprire la presenza ed i tipi di NAT e firewall presenti tra loro e la rete pubblica. STUN permette a questi programmi di conoscere gli indirizzi con cui il dispositivo NAT li sta rendendo visibili alla rete pubblica.
Quello che fa lo STUN server è proprio questo, rivelare all’applicazione tutti questi dati, permettendo di fatto il passaggio dei pacchetti RTP (audio) in ambo i sensi.
Una premessa importante alle informazioni seguenti è che consideriamo:
- una configurazione di rete classica (un router e una LAN interna NATTATA su un unico IP pubblico)
- tutti gli ATA stanno nella stessa LAN interna.
Nel caso di architetture di rete a più livelli (presenza di più router) vanno considerate singolarmente, caso per caso.
Vediamo ora come sia possibile cercare di identificare tali problemi mediante l’uso di un semplice programma Winstun, che vi darà delle importanti informazioni a riguardo.
Basterà infatti scaricare il programma WINSTUN , installarlo ed eseguirlo su di un PC della vostra rete. Tale programma gira solo sotto sistemi Windows.
Vedrete a questo punto :
Sostituite a larry.gloo.net come Stun Server stun.voip.eutelia.it (o qualsiasi altro indirizzo di stun server che vogliate testare) e cliccate su Run Test.
Il programma vi restituirà qualcosa del tipo:
Qui troveremo 4 informazioni principali, circa i possibili problemi per il funzionamento di vostri sistemi VOIP :
1 Vi indica il tipo di NAT gestito dal vostro router e se questo permette o meno il Voip :
Alcuni esempi di tale informazione sono :
- Nat with Independend Mapping and Dependent Filter – VoIP will work with STUN
- Nat with Independend Mapping and Port Dependent Filter – VoIP will work with STUN
- Nat with Independend Mapping and Independent Filter – VoIP will work with STUN
- Symetric firewall – VOIP will NOT work
- NAT Mapping is not endpoint independent – VOIP will NOT work
La prima parte ci informa circa il tipo di NAT e come vengono usate le porte (Port Dependent o Port Indipendent).
Tanto per completezza d’informazione cerchiamo di capire cosa sono i vari tipi di NAT (secondo RFC):
- Full Cone: Un NAT full cone è quello in cui vengono mappate tutte le richieste provenienti dallo stesso indirizzo IP e porta interne allo stesso indirizzo IP e porta esterni. Inoltre, qualsiasi host esterno può inviare un pacchetto all’host interno, inviando un pacchetto all’indirizzo esterno mappato.
- Restricted Cone: un NAT restricted cone è quello in cui vengono mappate tutte le richieste provenienti dallo stesso indirizzo IP e porta interne allo stesso indirizzo IP e porta esterni. A differenza di un NAT full cone, un host esterno (con indirizzo IP X) può inviare un pacchetto all’host interno, solo se l’host interno aveva precedentemente inviato un pacchetto all’indirizzo IP X.
- Port Restricted Cone: un NAT port restricted è come un NAT restricted cone, ma la restrizione include anche i numeri di porta. In particolare, un host esterno può inviare un pacchetto, con l’indirizzo IP di origine X e porta di origine P all’host interno, solo se l’host interno aveva precedentemente inviato un pacchetto all’indirizzo IP X e sulla porta P.
- Symetric: Un NAT simmetrico è quello in cui tutte le richieste provenienti dallo stesso indirizzo IP e porta interni verso uno specifico indirizzo IP e porta di destinazione, vengono mappate allo stesso indirizzo IP e porta esterni. Se lo stesso host invia un pacchetto con lo stesso indirizzo e porta ma a differenti destinazioni, viene utilizzata una diversa mappatura. Inoltre, solo l’host esterno che ha ricevuto un pacchetto può inviare un pacchetto UDP all’host interno.
La parte però che ci interessa ai fini pratici è la parte finale, dove viene indicato se il Voip è permesso o meno.
xxxx – VoIP will work with STUN |
Il router ha il NAT abilitato e il protocollo SIP può passare con l’uso dell stun server. Non hai bisogno di nessun forward delle porte, ma basta solamente abilitare il KEEP ALIVE al fine di mantenere le porte aperte. |
xxxx – VOIP will NOT work |
In questo caso il Voip non funzionerà. |
2 Vi indica se il NAT preserva o meno le porte:
Preserves port number |
Se c’è più di un ATA sulla stessa rete LAN vanno impostati con PORTE LOCALI diverse 5061, 5062, 5063, ecc. |
Don’t Preserves port number |
E’ possibile usare ATA diversi senza preoccuparti delle PORTE (puoi usare più ATA tutti con la porta locale 5060 |
3 Vi indica il supporto della funzione hairpin of media:
In VoIP, hairpin (o hairpining) è il mezzo per inviare indietro una chiamata nella direzione da cui proviene.
Una delle situazioni in cui questo accade è quando una chiamata non riesce ad essere indirizzata con successo verso l’indirizzo IP di destinazione (problemi di NAT).
Insomma, hairpin è una sorta di correzione degli indirizzi IP (pubblici e privati) nei pacchetti voip al fine di far comunicare due punti correttamente.
Supports hairpin of media |
Solitamente se il vostro router supporta questa funzione non dovreste avere problemi con le chiamate in entrata o con interni remoti di un vostro centralino voip. |
Does not supports hairpin of media |
In tal caso la soluzione a problemi di audio mancante nelle vostre chiamate o nelle mancata ricezione di chiamate in ingresso è da ricercare con l’uso di stun server e di port forwarding |
QUI trovate una interessante guida sul NAT e la funzione Hairpin (in inglese)
4 Vi indica il vostro IP pubblico
____________________________________________________________________________________
Per chi volesse approfondire ulteriormente i problemi che il NAT può causare al Voice Over IP vi suggerisco questi interessanti documenti :
Voice Over IP NAT Traversal – Giorgio Zoppi in italiano
Peer-to-Peer Communication Across Network Address Translators in inglese e molto tecnico
Spero che queste poche righe vi possano essere d’aiuto per risolvere i vostri problemi.
Buon Voip a tutti
Commenti recenti