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(a)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.
--
Iñaki Baz Castillo