Re: [OpenSER-Users-ES] Uso de "branch_route" para añadir una cabecera sólo a un mensaje

Iñaki Baz Castillo ibc at in.ilimit.es
Wed Sep 12 16:23:39 CEST 2007


El Tuesday 04 September 2007 18:28:49 Iñaki Baz Castillo escribió:
> 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?

Bueno, maś o menos lo tengo:


# -----------------------------------------------------------------
# Forwarding
# -----------------------------------------------------------------
route[11] {
  ...
  ...
  $var(ru_original)=$ru;
  $ru = $avp(s:forwarding_ru);
  append_branch();  # Generamos un nuevo INVITE a la URI del forwarding.
  $ru=$var(ru_original);  # Recuperamos la URI original y seguimos con ella.
  t_on_branch("11");
  ...
}

# -----------------------------------------------------------------
# branch_route de Forwarding
# -----------------------------------------------------------------
branch_route[11] {
  if ($ru == $avp(s:forwarding_ru)) {
    añadir cabeceras
  }
}


Y ya está XD

-- 
Iñaki Baz Castillo
ibc at in.ilimit.es




More information about the Users-es mailing list