[OpenSER-Users-ES] Problemas con el Paralel Forking

Raúl Alexis Betancor Santana rabs at dimension-virtual.com
Fri Feb 15 03:03:08 CET 2008


Buenas a todos, os planteo una duda ...

Ante un INVITE que llega a un OpenSer, para un usuario que tiene n contacs (se 
ha registrado desde varios sitios), el comportamiento de TM y REGISTRANT es 
hacer branching y paralel forking, hasta ahi todo ok.

Ahora resulta que uno o varios de los n contacs tiene Path y esto 
hace "saltar" las branches a otro proxy.

Todos los contact reciben su INVITE, al que contestan con sus respectivos 100 
Trying, 180 Ringing, etc ...

Si un  contact contesta (genera un 200 Ok), el OpenSer "autogenera" (desde el 
proxy que ha recibido el 200 OK) un 487 para el resto de los branches, 
incluidos los que van con PATH, hasta aqui todo ok
Problema: algunos de los contacs estaban detrás de NAT, lo que hico que el 
INVITE generase peticiones de sesion a un MediaProxy, pero cuando los 
branches que no contestaron reciben su 487, cortan, pero es que el OpenSer 
tambien me llama a end_media_session, jodiendome el invento, porque el 
usuario se queda con una llamada con el canal de señalización abierto, pero 
sin RTP.

Pregunta: ¿Como se puede hacer que el end_media_session se ejecute SOLO ante 
el final reply del branch que contestó y no ante los 487 que van para los 
branches que no contestaron?, está claro que será con setbflag, pero la duda 
es como puedo saber, ante una llamada a lookup que este INVITE va a generar 
branching.

-- 
Saludos.

Raúl Alexis Betancor Santana
Dimensión Virtual S.L.




More information about the Users-es mailing list