Hola, por desgracia el tema de añadir cabeceras es muy limitado y no funciona como se espera (no es un bug, es que es así sin más).
Mi problema es que tras un forwarding (crear otro branch en paralelo a otro número) quería añadir una cabecera pero sólo al branch del forwarding, para evitar que cuando vuelva a pasar por el script no se le examine a él de nuevo posibles forwarding. Entonces se me ocurre:
route[11] {
- Si tiene cabecera "Forwarding" no miramos recursivamente y salimos. return(-1); - Buscamos forwarding en la tabla. if ($rc == 1) { $var(ru_original)=$ru; $ru = $avp(s:forwarding_uri); } append_branch(); # Generamos un nuevo INVITE a la URI del forwarding. $ru=$var(ru_original); # Recuperamos la URI original y seguimos con ella.
# Tratamiento de branches: t_on_branch("11");
}
branch_route[11] {
# Añadir aquí cabecera "Forwarding" sólo al nuevo branch creado, # pero... ¿cómo las distingo? xlog("branch_route: URI = $ru \n"); ¿?¿?¿? }
Bueno, que estamos en las mismas: Y ahora ¿cómo puedo diferenciar en ese "branch_route[11]" qué branch es el original y el que he creado por el forwarding para añadir la cabecera sólo a éste último?
Gracias por cualquier pista.
Saludos.