Hola, estoy tratando de jugar un poco con el parámetro "q" y el "append_branches" (módulo "registrar") para conseguir desvío "único" y desvío paralelo.
Sé que con "append_branches" a 0 la función "lookup(location") sólo devuelve el contacto de "q" más alta, pero en caso de que haya varios con "q" igual de alta sólo devuelve 1 :( ¿No es posible que devuelva todos los de "q" más alta a la vez?
Por otra parte, según el RFC de SIP el parámetro "q" se puede usar para tratar de localizar primero a un contacto (el de "q" más alta) y si responde negativamente tratar de localizar al siguiente.
Esto OpenSer lo "insinúa": append_branches: "...is set to 1, Request-URI will be overwritten with the highest-q rated contact and the rest will be appended to sip_msg structure and can be later used by tm for forking."
No entiendo, yo he probado a registrar un usuario desde dos contactos y asignar a uno q=5.00 y a otro con q=1.00 (tb he probado sólo con valores 0.XX por si acaso) con "append_branches" a 1 y la llamada se hace a todos a la vez, ¿por qué? ¿no sería posible que sólo llame al de q más alta y si no responde entonces al siguiente?
El Domingo, 21 de Octubre de 2007, Iñaki Baz Castillo escribió:
Esto OpenSer lo "insinúa": append_branches: "...is set to 1, Request-URI will be overwritten with the highest-q rated contact and the rest will be appended to sip_msg structure and can be later used by tm for forking."
No entiendo, yo he probado a registrar un usuario desde dos contactos y asignar a uno q=5.00 y a otro con q=1.00 (tb he probado sólo con valores 0.XX por si acaso) con "append_branches" a 1 y la llamada se hace a todos a la vez, ¿por qué? ¿no sería posible que sólo llame al de q más alta y si no responde entonces al siguiente?
Ops, creo que he encontrado la solución, esto depende del módulo LCR (Less Cost Route): http://www.openser.org/docs/modules/1.2.x/lcr.html
sr-users-es@lists.kamailio.org