[OpenSER-Users-ES] NAT+PRESENCIA SIMPLE

Iñaki Baz Castillo ibc at aliax.net
Mon Sep 24 22:11:02 CEST 2007


El Lunes, 24 de Septiembre de 2007, Arturo Miranda Vera escribió:
> tengo mi servidor OpenSER con una IP publica, para poder hacer llamadas
> independiente donde me encuentre en la red, mi configuracion es la
> sencilla, soporta presencia simple, ahora lei que para soportar NAT debo
> instalar el RPTPRoxy  en la misma PC o en otra, para que maneje el trafico
> multimedia. si alguien tuviera el archivo de configuracion de como hacer
> todo ello, he intentado con los que hay en la red y no  lo consigo. espero
> contar con vosotros
>
> lo que necesito es openser-presencia+nat.

Arturo, personalmente creo que es mejor enseñar a pescar que dar un pez. El 
tema del NAT es de lo más complejo que hay en OpenSer (al menos de lo que yo 
conozco) debido a que SIP no contempló NAT en su diseño. Por eso creo que es 
muy negativo para ti el pedir que te lo den hecho, ya que cuando tengas algún 
problema no sabrás identificarlo.

Yo te recomiendo encarecidamente de que te documentes sobre el problema de SIP 
y NAT,que sepas totalmente identificarlo y entenderlo. Escribí hace poco un 
post sobre ello, tal vez te sea útil:
    http://blog.aliax.net/2007/08/aclarando-sip-y-nat.html

Te aconsejo:

- Entiende perfectamente el problema en la cabecera "Contact" y en el "SDP", 
tanto en un REGISTER como en un INVITE.

- Entiende cómo se envía un mensaje in-dialog (por ejemplo un BYE), fíjate en 
el URI, y cómo si el destino está tras NAT es necesario (salvo STUN) que 
dicho paquete tenga cabecera "Route: sip:servidor_openser" para que se rute 
por OpenSer que es el único que puede contactar con el destino ya que le 
envía periódicamente pings (ICMP o SIP OPTIONS) para mantener la comunicación 
abierta.

- Monta unos cuanto teléfonos, alguno tras NAT, otro con NAT pero STUN activo, 
otro con IP pública. Haz llamadas entre ellos y captura con "ngrep" el 
tráfico. Observa y entiende cuándo y porqué se produce un problema con el NAT 
y qué es lo que hace falta para solucionarlo, y luego buscas en OpenSer las 
funciones que hagan esas cosas. Pero no al revés.

Saludos.


-- 
Iñaki Baz Castillo




More information about the Users-es mailing list