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?
--
Iñaki Baz Castillo