PDA

View Full Version : Protocollo SIP e NAT


leon84
28-12-2007, 21:11
Salve a tutti,

ho una connessione ADSL a 20 Mbit/s fornitami da Telecom Italia e utilizzo un router NETGEAR DG834G.

Da oggi sto provando ad utilizzare il mio telefonino nokia e51 come client SIP per telefonate VoIP con EuteliaVoIP.

Ovviamente il mio telefono è dietro NAT. Stamattina ho cominciato la configurazione del telefono e in pochi istanti sono riuscito sia a chimare fissi e mobili dal mio telefonino SIP che a ricevere. Più tardi però mi sono accorto di questa stranezza :

se il telefono rimaneva inutilizzato per qualche minuto non ero più contattabile al numero geografico assegnatomi da Eutelia. Non appena squillavo qualche numero dal mio telefonino SIP automaticamente ritronavo ad essere contattato dall'esterno. In tutto questo la sessione SIP restava cmq sempre attiva.

Ho analizzato in dettaglio il protocollo SIP e mi sono accorto che il mio client in realtà funge sia da client che da server. A questo punto non ho fatto altro che aprire il mio firewall alla porta 5060 in ingresso verso il cellulare. E così ho risolto tutti i problemi. Ma la domanda è : ho ripetuto l'operazione dalla mia ragazza che possiede ALICE tutto incluso e quindi router WiFi. Ebbene da lei nessun problema di firewall ma mi chiedo : come fa allora il suo router ad instradare corretamente verso il cellualare le richieste SIP ?

Ho anche letto di particolari server per aggirare il problema. Pare si tratti di stun server o una cosa del genere ma il software SIP del Nokia E51 non li menziona affatto...

BTS
29-12-2007, 07:42
è veramente strano quel che dici... intendo che il client faccia anche da server.

dovresti provare con un software phone a registrarti all'indrizzo ip del telefono per vedere se realmente l'E51 è anche un gestore SIP...

come fai a dire che si comporta da server?

leon84
29-12-2007, 10:53
è veramente strano quel che dici... intendo che il client faccia anche da server.

dovresti provare con un software phone a registrarti all'indrizzo ip del telefono per vedere se realmente l'E51 è anche un gestore SIP...

come fai a dire che si comporta da server?

Beh, non ho fatto un'analisi dettagliata delle porte utilizzate e del traffico originato ma ho letto su wikipedia che un terminale sip viene contattato direttamente dall'altro interlocutore. ti allego link immagine : http://it.wikipedia.org/wiki/Immagine:SIP_User_Agents.jpg

oltretutto sul mio router ho inserito una regola secondo la quale tutto il traffico verso la porta 5060 UDP debba essere rediretto al cellulare nella LAN interna. La cosa senza dubbio strana è : perché se provo io a squillare subito dopo rimango contattabile ??? Questo si è strano. Molto strano. Se avete informazioni aggiuntive potreste indicarmi un link che espleta le porte utilizzate da SIP. cmq ripeto abilitando la regola nel firewall rimango sempre contattabile.

leon84
29-12-2007, 10:55
Anzi ti allego anche questa :

http://voip.html.it/articolo06.aspx

Harry_Callahan
29-12-2007, 10:59
prova ad impostare lo stun server di eutelia:

stun.voip.eutelia.it

Harry_Callahan
29-12-2007, 11:01
edit: una cosa, ma hai già risolto il problema oppure persite?

leon84
29-12-2007, 11:05
edit: una cosa, ma hai già risolto il problema oppure persite?

Vorrei poter impostare lo stun server. E' quello il punto. Il Nokia non gestisce gli stun server. Cmq si il problema è risolto ma il punto è : ok è risolto per casa, il router è mio e sono io a mettere mano al firewall. Ma se mi sposto in altre coperture WiFi sono fregato. Quindi o Nokia introduce gli stun o il protocollo SIP mi pare poco utilizzabile oggi in cui le reti di calcolatori sono divenute più vulnerabili e quindi le politiche di sicurezza più restrittive...

Harry_Callahan
29-12-2007, 11:11
attenzione, non hai risolto per caso
hai risolto grazie all'apertura della porta 5060(SIP)

lo stun server serve per NAT un pò particolari
nel tuo caso, se funziona senza lo STUN va bene, lascia le cose così

logicamente se ti sposti su altro router lo devi configurare ad hoc quel router(apertura 5060 in entrata)

io ho riscontrato un problema simile al tuo, riuscivo a sbloccare la situazione chiamando(da altro numero) la numerazione Eutalia 2-3 volte

leon84
29-12-2007, 11:13
attenzione, non hai risolto per caso
hai risolto grazie all'apertura della porta 5060(SIP)

lo stun server serve per NAT un pò particolari
nel tuo caso, se funziona senza lo STUN va bene, lascia le cose così

logicamente se ti sposti su altro router lo devi configurare ad hoc quel router(apertura 5060 in entrata)

io ho riscontrato un problema simile al tuo, riuscivo a sbloccare la situazione chiamando(da altro numero) la numerazione Eutalia 2-3 volte

Si si certo sono consapevole di non aver risolto per caso ma sarebbe davvero molto utile seNOKIA introducesse un client stun. Però resta ancora il dubbio : perché subito dopo uno squillo funge ????

Harry_Callahan
29-12-2007, 11:16
Si si certo sono consapevole di non aver risolto per caso ma sarebbe davvero molto utile seNOKIA introducesse un client stun.


hai una schermata da postare?


Però resta ancora il dubbio : perché subito dopo uno squillo funge ????

questo accadeva PRIMA dell'apertura della porta? giusto? oppure hai ancora questo problema?

leon84
29-12-2007, 11:29
hai una schermata da postare?



questo accadeva PRIMA dell'apertura della porta? giusto? oppure hai ancora questo problema?

Ora che la porta è aperta sono sempre rintracciabile. senza alcun problema. A porta chiusa sono rintracciabile non appena mi registro a voip.eutelia.it. Poi dopo qualche secondo non lo sono più. Poi se squillo qualcuno nei secondi successivi sono nuovamente rintracciabile.

Scusa una schermata di cosa ?

Harry_Callahan
29-12-2007, 11:34
Ora che la porta è aperta sono sempre rintracciabile. senza alcun problema. A porta chiusa sono rintracciabile non appena mi registro a voip.eutelia.it. Poi dopo qualche secondo non lo sono più. Poi se squillo qualcuno nei secondi successivi sono nuovamente rintracciabile.

ok tutto chiaro
probabilmente il firewall subito dopo lo squillo non droppava il pacchetto e permetteva il passaggio

ho riscontrato anch'io delle anomalie con tale firewall


Scusa una schermata di cosa ?

della configurazione del Nokia

leon84
29-12-2007, 11:56
ok tutto chiaro
probabilmente il firewall subito dopo lo squillo non droppava il pacchetto e permetteva il passaggio

ho riscontrato anch'io delle anomalie con tale firewall



della configurazione del Nokia

Leggi questo articolo molto bello : spiega tutto

http://www.zarrelli.org/blog/index.php/2006/12/15/voip-e-nat-il-protocollo-stun-parte-prima/

Era come dicevo io : ho anche risposto al perché se squillo io dopo rimango rintracciabile. Praticamente il motivo è : Se è il client VOIP ad iniziare una sessione ovviamente il router compila le sue tabelle in modo da poter risolvere il NAT. Questo non accade per il contrario. Faccio un esempio

Il mio cell ha indirizzo 192.168.0.4 e viene mappato con l'indirizzo pubblico xxx.xxx.xxx.xxx .

Quando il mio cell inizializza una sessione al mio router risulta :
Pacchetto IP src 192.168.0.4 porta aaa dest voip.eutelia.it porta 5060.
Il nat farà in modo di avere
src xxx.xxx.xxx.xxx porta bbb dest voip.eutelia.it porta 5060.

Quando il server eutelia risponde il router verifica la tabella e riscontra che l'indirizzo voip.eutelia.it porta 5060 era stato contattato da 192.168.0.4 e quindi redirige il traffico. Dopo un pò ovviamente elimina la entry e quindi se instauro dall'esterno una connesione il router non saprà a chi redirigere quel traffico. A meno che non inserisca una politica nel firewall come ho fatto io.

Soluzione al tutto ??? Utilizzare uno stun server.

Harry_Callahan
29-12-2007, 12:11
Soluzione al tutto ??? Utilizzare uno stun server.

non è così semplice

se hai un router come il mio, Atlantis 440 e imposti il firewall su user defined, non c'è STUN server che faccia passare il pacchetto in entrata. Un firewall del genere lo blocca subito, se non c'è una regola ben precisa non c'è verso di farlo passare

il Netgear è meno aggressivo e alcun firmware sono anche bugati....
ho riscontrato un grave errore del firewall con l'ultimo firmware GT
instrada pacchetti P2P anche ai PC non nella regola del firewall

leon84
29-12-2007, 13:04
non è così semplice

se hai un router come il mio, Atlantis 440 e imposti il firewall su user defined, non c'è STUN server che faccia passare il pacchetto in entrata. Un firewall del genere lo blocca subito, se non c'è una regola ben precisa non c'è verso di farlo passare

il Netgear è meno aggressivo e alcun firmware sono anche bugati....
ho riscontrato un grave errore del firewall con l'ultimo firmware GT
instrada pacchetti P2P anche ai PC non nella regola del firewall

Ma uno stun server utilizza un paradigma client/server. Il tuo telefono voip farà sempre da client. non vedo perché un router debba interferire. Questo infatti non dovrà consentire alcun traffico in entrata. Solo in uscita.

Harry_Callahan
29-12-2007, 13:08
Ma uno stun server utilizza un paradigma client/server. Il tuo telefono voip farà sempre da client. non vedo perché un router debba interferire. Questo infatti non dovrà consentire alcun traffico in entrata. Solo in uscita.

e in entrata se i pacchetti sono droppati da un firewall tipo il mio, come fai a comunicare?

leon84
29-12-2007, 15:27
e in entrata se i pacchetti sono droppati da un firewall tipo il mio, come fai a comunicare?

Ma scusa non puoi configurarlo affinché non droppi ???

leon84
29-12-2007, 15:31
Comunque ho altre novità in merito.

La UI S60 del Nokia E51 non permette di modificare le impostazioni relative allo stun ma le gestisce. Questo perché si assume di default che se un server di registrazione o proxy ha ad esempio indirizzo voip.eutelia.it il suo stun è stun.voip.eutelia.it e la porta di default 3478.

Ho trovato infatti questa utility http://www.forum.nokia.com/info/sw.nokia.com/id/d2d27e6c-bd52-4534-9aa6-19e606b80709/SIP_VoIP_Settings_v1_0_en.zip.html

che permette di modificare le impostazioni dello stun server. Il punto è che affinché il protocollo stun funzioni occorre anche avere un tipo di NAT particolare. Ecco perché dalla mia ragazza funzionava. Perché il NAT viene fatto tenendo in considerazione che ci si può trovare dinanzi ad uno stun e quindi il mio telefono utillizzava quelli di default.

Ho chiamato anche NETGEAR mi hanno detto che occorre un router che gestisce il NAT tenendo conto del VOIP (probabilmente intendeva lo stun).
Alla fine ho detto loro. Apro il firewall ed il gioco è fatto altro che spendere altri soldi.

Harry_Callahan
29-12-2007, 16:39
Ma scusa non puoi configurarlo affinché non droppi ???

certo, era solo per farti capire che lo STUN server da solo non basta
ha la sua funzione, ma in entrata il router deve essere settato correttamente

probabilmente non ci siamo capito prima:D

leon84
29-12-2007, 18:01
certo, era solo per farti capire che lo STUN server da solo non basta
ha la sua funzione, ma in entrata il router deve essere settato correttamente

probabilmente non ci siamo capito prima:D

Scusa allora mi manca ancora qualcosa ... Il firewall deve si consentire connessioni in ingresso ma se è il client ad inizializzare tali connessioni sarà trasparente al firewall. Ecco il vantagio dello stun. Ed ecco anche perché a me a firewall chiuso entro pochi secondi riuscivo cmq a ricevere. Questo perché il router aveva ancora l'ip del mio cellulare nella tabella di nat. Quindi se in presenza di NAT (Ad eccezione di quello simmetrico) si utilizza uno STUN non occorre aprire nulla in ingresso...

Harry_Callahan
29-12-2007, 18:37
Il firewall deve si consentire connessioni in ingresso ma se è il client ad inizializzare tali connessioni sarà trasparente al firewall. Ecco il vantagio dello stun.


:nonsifa:

fai confusione perchè ragioni in base al Netgear, con il Netgear tu crei una regola, questa regola "pensa a tutto", firewall e NAT

come già detto più di una volta, esistono dei router con NAT e Firewall separati
se il Firewall di tali apparati non è configurato a dovere, non c'è STUN che faccia passare un pacchetto dall'esterno verso l'interno

ecco alcuni screenshot della mia configurazione:

http://img182.imageshack.us/img182/3782/stunex3.th.jpg (http://img182.imageshack.us/my.php?image=stunex3.jpg)

http://img120.imageshack.us/img120/7002/firewalloh0.th.jpg (http://img120.imageshack.us/my.php?image=firewalloh0.jpg)

http://img408.imageshack.us/img408/4103/natwo4.th.jpg (http://img408.imageshack.us/my.php?image=natwo4.jpg)

come puoi vedere utilizzo uno STUN server
NAT e Firewall sono separati sul mio router

se togliessi la regola firewall in entrata, lo STUN server non basterebbe per stabilire una conversazione

ora è più chiaro la situazione?

lo STUN non è stato inventato per by-passare i firewall dei router...sarebbe troppo bello una cosa del genere...lo STUN serve ad altro
poi per carità, non configurando il firewall in entrata e magari facendo uno squillo verso l'esterno sblocchi momentaneamente la situazione, però non puoi fare questo tutto il giorno...insomma se imposti lo STUN e non permetti traffico in entrata non può funzionare il VoIP

leon84
30-12-2007, 00:20
Chiarissimo ma onestamente non riesco più a comprendere l'importanza dello STUN.

Ho analizzato il mio router con uno STUN CLIENT e mi dice che possiedo un port restricted cone. Dalla RFC risulta che questo tipo di nat consente connessioni dall'esterno all'interno solo se l'indirizzo IP esterno e la porta esterna sono stati precedentemente contattati dalla macchina interna.

Esempio :

se src 192.168.0.5 porta 15 contatta www.google.it porta 80,

www.google.it potrà contattare 192.168.0.5 solo sulla porta 15.

Se però 192.168.0.5 non ha mai contattato google, questi non potrà mai contattarlo.


Questa è la risposta al perché dopo un mio squillo per qualche istante resto contattabile.

Allora mi chiedo : A questo punto dove interviene lo STUN ? A cosa serve ?

Nelle guide ho trovato : Lo stun serve a far conoscere al client voip il proprio indirizzo pubblico al fine di registrarlo correttamente sul server di registrazione. Ora mi chiedo. Ammesso che non uso lo stun ! Come diavolo facevo ad essere contattato anche per pochi secondi se il mio telefono non comunicava l'indirizzo pubblico ????

Evidentemente il firewall NETGEAR è bacato !!!!

Harry_Callahan
30-12-2007, 09:11
il fatto che funzioni dopo uno squillo(dall'interno verso l'esterno) l'hai già spiegato prima sul discorso tabella NAT\Firewall

quello che dico io è diverso:

lo STUN non ha la funzione di by-passare il firewall
proprio sulla mia configurazione ho tolto la regola in ingresso(bloccare tutto il traffico verso l'ATA) e non ricevevo più(hai visto, ho lo STUN server configurato)

l'importante è non fare confusione tra firewall e NAT
il firewall si trova più vicino ad internet rispetto al NAT, quindi quando arriva un pacchetto, il firewall è il primo elemento a fare il controllo

Harry_Callahan
30-12-2007, 09:43
vedi questo articolo: http://www.abptech.com/products/snom4s_stun_server.html

STUN was included in snom4S however with new more secure firewalls it does not work in an ever increasing number of cases and has been obsoleted by products like snom's NATFilter or ABP's NATPASS

quando feci le prima prove con il mio ATA. avevo il firewall disabilitato, non avevo lo STUN, e la comunicazione non avveniva, poi mettendo lo STUN tutto ha iniziato a funzionare

Harry_Callahan
30-12-2007, 10:01
ho rifatto un pò di prove:

1) firewall disabilitato, no regola virtual server(NAT), no STUN:
ho riavviato sia il router che ATA, dall'esterno verso l'ATA nessun problema, comunicazione perfetta

riavviato tutto, dall'ATA verso l'esterno squillava il destinatario, però NON si sentiva nessuna voce(da entrambi le parti)

2) inserito poi lo STUN server sull'ATA e ho risolto tutti i problemi sopra

ecco a cosa serve lo STUN dietro un NAT senza firewall

ora mi chiedo: quando hai fatto le prove senza l'apertura della porta 5060, ti sei limitato solo a fare uno squillo oppure hai testato anche la conversazione? la voce come andava?

leon84
30-12-2007, 10:31
ho rifatto un pò di prove:

1) firewall disabilitato, no regola virtual server(NAT), no STUN:
ho riavviato sia il router che ATA, dall'esterno verso l'ATA nessun problema, comunicazione perfetta

riavviato tutto, dall'ATA verso l'esterno squillava il destinatario, però NON si sentiva nessuna voce(da entrambi le parti)

2) inserito poi lo STUN server sull'ATA e ho risolto tutti i problemi sopra

ecco a cosa serve lo STUN dietro un NAT senza firewall

ora mi chiedo: quando hai fatto le prove senza l'apertura della porta 5060, ti sei limitato solo a fare uno squillo oppure hai testato anche la conversazione? la voce come andava?

Senza l'apertura del firewall dopo un pò di secondi il telefono non mi squilla proprio...

leon84
30-12-2007, 11:14
Io voglio capirci bene. Facciamo così. Ricominciano da zero.

Allora, considera il caso che non esista lo stun.

Il mio telefonino con IP 192.168.0.4 e porta 5060 si registra al server di registrazione di eutelia ma ovviamente la registrazione avviene non con 192.168.0.4 ma con l'indirizzo pubblico. Quando voglio effettuare una chiamata inoltro la richiesta al mio proxy e lui la smista ad altri. OK... tutto bene

Quando ricevo una chiamata, siccome sono registrato con il mio indirizzo pubblico, ogni qualvolta si tenterà di contattare il mio numero voip le richieste verranno smistate dal proxy al mio indirizzo pubblico porta 5060. Ora siccome sono dietro NAT quando il mio router riceve un pacchetto in ingresso con porta 5060 ovviamente non sa che farsene visto che non può consentire di default connessioni in ingresso. Allora io ovviamente ho configurato un port forwarding, e cioè ogni richiesta all'indirizzo pubblico porta 5060 devono essere redirette a 192.168.0.4 e così tutto funziona.
A questo punto ho un'altra perplessità ma non mi pare il caso di analizzarla ora l'accenno solo : e se volessi utilizzare più di un numero e dispositivo voip ???? Come fa il router a redirigere il traffico a quello giusto ??? Il nokia non mi fa impostare il numero di porta del client/serve voip.. mah.. vabbè poi ci ritorniamo...

tornando a noi...

nel caso che ho menzionato su a cosa serve lo stun ???? cioè che vantaggio porta alla mia situazione ed in generale ???? credimi non l'ho mica capito. Cioè so cosa fa ma non ho capito cosa c'entra col voip.

Harry_Callahan
30-12-2007, 11:23
con un altro numero metti un' altra porta sia lato client che sulle regole del firewall, metti ad esempio la 5061

lo STUN come già detto serve per risolvere problemi di comunicazione con certi tipi di NAT, attenzione alcuni tipi di NAT, non firewall

leon84
30-12-2007, 12:46
con un altro numero metti un' altra porta sia lato client che sulle regole del firewall, metti ad esempio la 5061

lo STUN come già detto serve per risolvere problemi di comunicazione con certi tipi di NAT, attenzione alcuni tipi di NAT, non firewall

Potreti chiarirmi che problemi potrebbero sorgere con alcuni tipi di NAT ?

Harry_Callahan
30-12-2007, 12:55
Potreti chiarirmi che problemi potrebbero sorgere con alcuni tipi di NAT ?

vedi il post di prima, la prova che ho fatto

leon84
30-12-2007, 12:58
vedi il post di prima, la prova che ho fatto

ma metti che sono per strada come è accaduto oggi. ho trovato una wifi libera. Mi ci sono connesso e ho chiamato casa col voip. Tutto bene. Ma chi mi chiamava riscontrava lo stesso problema e cioè se mi chiamavano subito dopo un mio squillo ok altrimenti nulla.

Cioè non esiste un modo per evitare di dover aprire in ingresso ??? Tipo Skype!
Con skype ti serve solo traffico in uscita e non in entrata. Vorrei fare lo stesso con SIP. Non capisco

Harry_Callahan
30-12-2007, 13:02
ma metti che sono per strada come è accaduto oggi. ho trovato una wifi libera. Mi ci sono connesso e ho chiamato casa col voip. Tutto bene. Ma chi mi chiamava riscontrava lo stesso problema e cioè se mi chiamavano subito dopo un mio squillo ok altrimenti nulla.

Cioè non esiste un modo per evitare di dover aprire in ingresso ??? Tipo Skype!
Con skype ti serve solo traffico in uscita e non in entrata. Vorrei fare lo stesso con SIP. Non capisco

senza mettere le mani sul firewall non è possibile avere la certezza al 100% di essere raggiungibile

leon84
30-12-2007, 13:04
Altra dimostrazione. Ho scaricato il software di eutelia. L'ho installato sul pc e senza configurare il famoso port forwarding mi funge tutto !!! Allora vedi che non occorre aprire in ingresso ? Non ci capisco più nulla

Harry_Callahan
30-12-2007, 13:06
Altra dimostrazione. Ho scaricato il software di eutelia. L'ho installato sul pc e senza configurare il famoso port forwarding mi funge tutto !!! Allora vedi che non occorre aprire in ingresso ? Non ci capisco più nulla

leon84,

pensala come vuoi...cosa vuoi che ti dica

Saluti

pegasolabs
30-12-2007, 13:30
leon84,

pensala come vuoi...cosa vuoi che ti dica

Saluti
Upnp?

leon84
30-12-2007, 13:49
leon84,

pensala come vuoi...cosa vuoi che ti dica

Saluti

Scusa non prendertela cerco solo di capirci qualcosa più sul tecnico.
Se lo stun è stato introdotto nel voip è proprio per ovviare ai firewall. Un pò come quando si è introdotta la modalità passiva degli ftp conosci ? Quindi presuppongo che se si usa lo stun non occorre aprire nulla in ingresso. E me lo conferma il fatto che installando il software sul mio pc e non aprendo nulla, ripeto nulla, il mio pc riceve ed effettua chiamate. A questo punto sto pensando che il problema è del client nokia. Ora se insieme possiamo capirci di più bene.