[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