Hola,
El Lunes, 27 de Agosto de 2007, Iñaki Baz Castillo escribió:
Pero ahora me da por poner un simple alias: 888 -> 500.
- En Asterisk hago una llamada a 888@openser.dominio.org.
- OpenSer encuentra un alias de 888 a 500 y reescribe el URI.
- Entonces de nuevo OpenSer reescribe el URI y encamina al Asterisk.
- Pero ahora Asterisk se vuelve loco del todo, avisando decenas de
veces de "LoopBack".
Buenas, primeramente pido disculpas porque al final he mandado un correo sobre este tema también a la lista de Asterisk (y hacer cross-posting es malo malo).
Bueno, finalmente he entendido que Asterisk **no** soporta LoopBack. La única ÑAPA que soporta es que Asterisk haga una llamada (p.ej. a sip:500@dominio.org), que esta llamada llegue a un proxy SIP el cual **sin modificar la extensión y dominio** la mande de vuelta a Asterisk de nuevo. En ese caso Asterisk avisa de "Loop back detected" pero hace la chapuza de "unir" los dos canales (el saliente y el entrante), pero ojo, no es un bridge ya que se carga los "Record-Route" que hayan podido incluir el proxy SIP y demás.
Lo de arriba no es más que una ñapa barata y se demuestra que no sirve de nada ya que en el caso de que un proxy SIP que recibe una llamada de Asterisk modifique el username/extensión y lo envíe de vuelta a Asterisk entonces éste último "falla", detecta el "Loop back", avisa de ello y trata de juntar los dos canales, pero **ojo**, sólo tiene en cuenta la URI ORIGINAL que él generó y no la modificada por el proxy SIP.
Desde siempre asterisk sólo ha podido hacer matching de transacciones, no de diálogos/branches.
Ahora mi pregunta sería:
Yo pretendía tener un Asterisk para llamadas entrantes vía PSTN y salientes vía PSTN/Voip/GSM... También quería mi sistema de forwarding que ya tengo implementado en OpenSer, es decir, que si Asterisk llama a sip:200@openser.domain.org y OpenSer tiene un forwarding a un número de móvil y hace un "append_branch ()" (modificando el URI) que entonces esa llamada fuese de vuelta a Asterisk el cuál la sacase al exterior. Ahora veo que no puedo hacer eso debido a la limitación que explico arriba de Asterisk.
¿Alguna sugerencia sobre cómo abordar esta fatalidad que me ha tocado? Las opciones que veo son:
- Usar 2 Asterisk, uno para entrantes y otro para salientes y
comunicarlos por IAX o SIP (bendita chapuza).
mmmm... quizás esta es una opción... no es nada bonita pero funcionaría.
- Olvidarme de mi bonito forwarding e implementar un ReDirect en
OpenSer que Asterisk sí soporta (no no y no, no me gusta).
Me quedo con la primera.
Saludos JesusR.
------------------------------------ Jesus Rodriguez VozTelecom Sistemas, S.L. jesusr@voztele.com http://www.voztele.com Tel. 902360305 -------------------------------------