Estimados:
Tengo un esquema de 1 sip-router con 2 asterisk. Todos los registros los maneja Kamailio y las llamadas son cursadas a los asterisk a través del modulo dispatcher.so con el método RoundRobin.
El problema lo puedo reproducir de la siguiente manera.
1 - Entra una llamada desde la PSTN (gateways registrados al kamailio), el kamailio envía la llamada al asterisk-01
2 - Entra la IVR del asterisk-01 y el usuario digita el interno 205, el Asterisk-01 envía la llamada al Kamailio quien localiza al usuario 205 y "conecta" la llamada.
3 - El usuario 205 deja en espera la llamada, y para hacer la transferencia, genera una nueva llamada al interno 220.
4 - cuando el 205 genera la llamada al 220, le envía al kamailio el INVITE y el kamailio le envía la llamada al Asterisk-02 (porque el modulo dispatcher.so esta en RoundRobin).
5 - Cuando el usuario 205 quiere terminar la transferencia, como las llamadas están en diferentes asterisk, esta da error.
Una idea que se me ocurrió para solucionar esto, es que si un usuario esta con una llamada establecida, la próxima llamada de ese usuario debería caer en el mismo asterisk.
Hay algún modulo como CallControl u otro que pueda hacer el trabajo sucio? o tengo que manejarme con flags, registros en base de datos y magia?
Espero sus comentarios. Saludos EDU
El día 2 de mayo de 2011 01:14, Jorge Eduardo Silva Jackson syscon3@gmail.com escribió:
1 - Entra una llamada desde la PSTN (gateways registrados al kamailio), el kamailio envía la llamada al asterisk-01
2 - Entra la IVR del asterisk-01 y el usuario digita el interno 205, el Asterisk-01 envía la llamada al Kamailio quien localiza al usuario 205 y "conecta" la llamada.
3 - El usuario 205 deja en espera la llamada, y para hacer la transferencia, genera una nueva llamada al interno 220.
4 - cuando el 205 genera la llamada al 220, le envía al kamailio el INVITE y el kamailio le envía la llamada al Asterisk-02 (porque el modulo dispatcher.so esta en RoundRobin).
5 - Cuando el usuario 205 quiere terminar la transferencia, como las llamadas están en diferentes asterisk, esta da error.
No entiendo una cosa: Si en el paso 2 kamailio ruta la llamada directamente al usuario 205, ¿por qué la llamada de 205 a 220 acaba en un Asterisk tras pasar por Kamailio? ¿no es 220 un usuario como 205? ¿o es una extensión de Asterisk en plan IVR o similar?
El día 2 de mayo de 2011 05:23, Iñaki Baz Castillo ibc@aliax.net escribió:
El día 2 de mayo de 2011 01:14, Jorge Eduardo Silva Jackson syscon3@gmail.com escribió:
1 - Entra una llamada desde la PSTN (gateways registrados al kamailio), el kamailio envía la llamada al asterisk-01
2 - Entra la IVR del asterisk-01 y el usuario digita el interno 205, el Asterisk-01 envía la llamada al Kamailio quien localiza al usuario 205 y "conecta" la llamada.
3 - El usuario 205 deja en espera la llamada, y para hacer la transferencia, genera una nueva llamada al interno 220.
4 - cuando el 205 genera la llamada al 220, le envía al kamailio el INVITE y el kamailio le envía la llamada al Asterisk-02 (porque el modulo dispatcher.so esta en RoundRobin).
5 - Cuando el usuario 205 quiere terminar la transferencia, como las llamadas están en diferentes asterisk, esta da error.
No entiendo una cosa: Si en el paso 2 kamailio ruta la llamada directamente al usuario 205, ¿por qué la llamada de 205 a 220 acaba en un Asterisk tras pasar por Kamailio? ¿no es 220 un usuario como 205? ¿o es una extensión de Asterisk en plan IVR o similar?
En realidad todas las llamadas aunque sean entre usuarios pasan por algún Asterisk en plan de control de llamadas, monitoreo, IVR etc etc etc...
Saludos EDU
-- Iñaki Baz Castillo ibc@aliax.net
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es@lists.kamailio.org