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.