[OpenSER-Users-ES] Re: ¿Forwarding correcto?
Iñaki Baz Castillo
ibc at aliax.net
Tue Aug 28 12:24:52 CEST 2007
El Lunes, 27 de Agosto de 2007, Iñaki Baz Castillo escribió:
> # -----------------------------------------------------------------
> # Forwarding
> # -----------------------------------------------------------------
> route[11] {
>
> if ($hdr(Forwarding)) {
> xlog("L_INFO", "Encontrada cabecera 'Forwarding' -> No
> miramos tabla 'forwarding' para $ru\n");
> return(-1);
> }
>
> avp_db_query("SELECT uri FROM forwarding WHERE
> username='$rU'", "$avp(s:forwarding_uri)");
> if ($rc == 1) {
>
> # Cabecera para que el nuevo branch y el actual (via
> outbound) # no pasen por "trusted":
> append_hf("No-Trusted: Forwarding\r\n");
>
> # Cabecera para que el nuevo branch no vuelva a pasar por
> "forwarding": append_hf("Forwarding: Yes\r\n");
>
> # Cabecera para que el nuevo branch y el actual (via
> outbound) # no se tengan que volver a autenticar en "auth".
> append_hf("Authenticated: Yes\r\n");
>
> append_branch();
> $ru = $avp(s:forwarding_uri);
>
> remove_hf("Forwarding"); # En el INVITE original
> modificado a la URI del forwarding quitamos esta cabecera pues la URI del
> forwarding podría contener a su vez otro forwarding.
>
> # Enviamos el INVITE modificado con la URI del forwarding a
> outbound. # Si tiene que volver ya volverá.
> route(9); # Outbound.
> exit;
Bueno, corrijo esto último, ya que el outbound sólo tiene sentido si el
forwarding es a un dominio externo. Realmente lo dejo así:
if (is_uri_host_local()) {
route(1); # t_route y tal.
}
else {
route(9); # Outbound.
}
exit;
> }
>
> }
--
Iñaki Baz Castillo
More information about the Users-es
mailing list