Estimados amigos,
Estoy de acuerdo que soluciono el problema de las llamadas desde Asterisk a los usuarios que estan registrados en OpenSer con la función lookup("location"). Pero si quiero llamar con un usuario registrado en OpenSer a Asterisk tengo que verificar si la uri no viene con la ip de asterisk hago un rewritehostport("xxx.xxx.
xxx.xxx:5060")? esto en INVITE es correcto?
Saludos y gracias en lo que me puedan ayudar.
El Jueves, 24 de Enero de 2008, andresdb@adinet.com.uy escribió:
El efectuar una llamada desde cliente sip que esta en internet
con
una ip publica hacia un cliente sip que esta en la lan, esto funciona perfecto, en este caso el cliente esta registrado en OpenSer; ahora
cuando un cliente de la lan que esta registrado en Asterisk quiere llamar a un cliente que esta registrado en open
ser
tengo problemas de loop, porque el INVITE de open ser hay un rewritehostport("xxx.
xxx.
xxx.xxx:5060"); al Asterisk.
Piensa que Asterisk es un B2BUA, así que NO es el cliente LAN registrado en Asterisk el que llama al cliente registrado en OpenSer, es ASTERISK el que llama a ese cliente de OpenSer (y OpenSer sólo ruta la llamada).
Ahora, si cuando OpenSer recibe ese INVITE desde **ASTERISK** hace un: rewritehostport("IP_ASTERISK:5060")
entonces ocurrirá un loop que Asterisk no sabe detectar. Pero sobre todo, ¿por qué **** haces ese "rewritehostport"? es un error tuyo. Si quieres que ese INVITE desde Asterisk llegue al usuario registrado en OpenSer ¿por qué no haces un lookup("location")?
-- Iñaki Baz Castillo _______________________________________________ Users-es mailing list Users-es@lists.openser.org http://lists.openser. org/cgi-bin/mailman/listinfo/users-es
El Viernes, 25 de Enero de 2008, andresdb@adinet.com.uy escribió:
Pero si quiero llamar con un usuario registrado en OpenSer a Asterisk tengo que verificar si la uri no viene con la ip de asterisk hago un rewritehostport("xxx.xxx.xxx.xxx:5060")? esto en INVITE es correcto?
No entiendo, literalmente hablando, a lo que te refieres. Falta alguna coma por ahí o algo, pero no entiendo la frase.
Iñaki Baz Castillo escribió:
El Viernes, 25 de Enero de 2008, andresdb@adinet.com.uy escribió:
Pero si quiero llamar con un usuario registrado en OpenSer a Asterisk tengo que verificar si la uri no viene con la ip de asterisk hago un rewritehostport("xxx.xxx.xxx.xxx:5060")? esto en INVITE es correcto?
No entiendo, literalmente hablando, a lo que te refieres. Falta alguna coma por ahí o algo, pero no entiendo la frase.
Estimados amigos,
Estoy de acuerdo que soluciono el problema de las llamadas desde Asterisk a los usuarios que están registrados en OpenSer con la función lookup("location"). Pero si quiero llamar con un usuario registrado en OpenSer a Asterisk, como evito el loop?.
Saludos
Si tienes problemas de loop, lee esto:
http://blog.aliax.net/2007/08/asterisk-parche-chansip-para-permitir.html http://bugs.digium.com/view.php?id=7403
El Sábado, 26 de Enero de 2008, Andrés de Barros escribió:
Estoy de acuerdo que soluciono el problema de las llamadas desde Asterisk a los usuarios que están registrados en OpenSer con la función lookup("location"). Pero si quiero llamar con un usuario registrado en OpenSer a Asterisk, como evito el loop?.
Llamemos UAC1 al usuario de OpenSer y UAC2 al de Asterisk. UAC2 tiene asignada la extensión 201 en Asterisk.
- UAC1 llama a la extensión 201. - El INVITE llega a OpenSer. - Como la extensión es 2XX OpenSer ruta el INVITE a Asterisk: $rd = "IP_ASTERISK"; - Asterisk recibe ese INVITE desde la IP de OpenSer,que es un peer de sip.conf definido con insecure=yes (sin password, vamos). - Asterisk en el contexto "desde-openser" tiene: exten => _2XX,1,Dial(SIP/{EXTEN})
Y ya está, ni loop ni nada.
sr-users-es@lists.kamailio.org