[OpenSIPS-Users] Absorbing retransmissions
Iñaki Baz Castillo
ibc at aliax.net
Sat Oct 11 15:38:49 CEST 2008
El Sábado, 11 de Octubre de 2008, Alex Massover escribió:
> Hi!
>
> Thanks! It really looks better. You wrote: " if retransmission, the
> function will send the last reply sent automatically and break the script."
>
> If I understand correctly in order for this to work I need to move all my
> other sl_send_reply("4xx") to t_reply("4xx") also? So it will be able to
> send not only 100, but all negative replies also?
That's true, if you have already created the transaction you must send replies
statefully, this is, using "t_reply".
But note here that this is a matter of efficience:
If you create a transaction and finally you reply 4XX you are wasting system
resources, this is the reason RFC 3261 suggest to never create a transaction
after authentication has been checked.
But in your case, if the authentication process is slow it could be a need to
create the transaction before performing the authentication, but maybe you
could do it more efficience by doing:
route[0] {
# If there is no Proxy-Authorization header terminate the request statessly:
if ! $hdr(Proxy-Authorization)
{ sl_reply(“407, "Proxy Authentication Required”); }
...
t_newtran();
t_reply("100","Trying");
....
if(!perl_exec(“very_heavy_auth”))
{ t_reply(“403”); }
…
....
t_relay("0x01");
}
--
Iñaki Baz Castillo
More information about the Users
mailing list