Hola, estoy probando este escenario:
Asterisk genera una llamada SIP a alguna extensión de OpenSer. Todo correcto aún en el caso de que se cree un LoopBack en Asterisk:
- Asterisk llama a sip:500@openser.dominio.org - OpenSer recibe la llamada y la vuelve a encaminar a Asterisk con rewriteuri. - Asterisk la recibe, avisa de "482: Loop Detected" pero la recibe y se establece la comunicación. - Por supuesto, puesto que Asterisk tiene un SIP cutre, el siguiente BYE no respeta el "Record-Route" y no pasa por OpenSer, en fin...
Este es el log de Asterisk:
----------------------------------------------------------------------------------------- -- Executing [KK_500@default:1] Dial("OSS/dsp", "SIP/openser/500") in new stack -- Called openser/500 -- Got SIP response 482 "Loop Detected" back from 82.94.0.210 -- Now forwarding OSS/dsp to 'Local/500@entrantes-openser' (thanks to SIP/openser-08351810) -- Executing [500@entrantes-openser:1] Playback("Local/500@entrantes-openser-e11e,2", "demo-congrats") in new stack -- Local/500@entrantes-openser-e11e,1 answered OSS/dsp -----------------------------------------------------------------------------------------
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".
Ahora en Asterisk leo:
----------------------------------------------------------------------------------------- -- Executing [888@entrantes-openser:1] Dial("Local/888@entrantes-openser-870f,2", "SIP/openser/888||") in new stack -- Called openser/888 -- Got SIP response 482 "Loop Detected" back from 82.94.0.210 -- Now forwarding Local/888@entrantes-openser-870f,2 to 'Local/888@entrantes-openser' (thanks to SIP/openser-081fdf50) -- Executing [888@entrantes-openser:1] Dial("Local/888@entrantes-openser-8f00,2", "SIP/openser/888||") in new stack -- Called openser/888 -- Got SIP response 482 "Loop Detected" back from 82.94.0.210 -- Now forwarding Local/888@entrantes-openser-8f00,2 to 'Local/888@entrantes-openser' (thanks to SIP/openser-0823aed8) -- Executing [888@entrantes-openser:1] Dial("Local/888@entrantes-openser-71d9,2", "SIP/openser/888||") in new stack -- Called openser/888 -- Got SIP response 482 "Loop Detected" back from 82.94.0.210 -- Now forwarding Local/888@entrantes-openser-71d9,2 to 'Local/888@entrantes-openser' (thanks to SIP/openser-081fdf50) -----------------------------------------------------------------------------------------
En fin, me gustaría preguntaros por vuestras experiencias exprimiendo el stack SIP de Asterisk. ¿Por qué demonios me permite loopback directo pero no lo permite si es un alias? ¿acaso se fija en el "To:" por alguna razón?
Saludos y gracias por cualquier aclaración.