[Serusers] New feature for the tm module [sticky proxy]

Maxim Sobolev sobomax at FreeBSD.org
Tue Feb 4 02:06:10 CET 2003


On Tue, Feb 04, 2003 at 01:06:25AM +0100, Jiri Kuthan wrote:
> At 12:35 AM 2/4/2003, Maxim Sobolev wrote:
> [...]
> >t_on_negative() looks like a pretty suitable feature for the job modulo
> >that we need to add some scheme for distinguishing real failures, such as
> >"number is busy", from transient ones.
> 
> Agreed. Actually, it was created with such scenarios in mind.
> 
> [...]
> 
> >it is where the problem lies -
> >after appending a new branch ser forwards the request to the host:port
> >specified in the uri directly, but not through the b2bua.
> 
> Understood.
> 
> >Attached patch adds a new variable sticky_relay_to, which if set to non-zero
> >value instructs ser to record proxy address to which transaction was
> >originally forwarded with t_relay_to(). On failure ser forwards request to
> >that address if another branch was appended in reply_route[].
> >
> >I think that it is generally useful feature and it would be nice to see
> >it integrated into the next release.
> 
> I'm too coffeinized right now to review the patch thoroughly -- but would not
> it be just simpler to _always_ keep forwarding to original destination if 
> t_relay_to was used and to uri if t_relay was used? (i.e. sticky==always_true)

I am not sure that it will cover all cases - in some of them it might be
necessary to select another destination for the request. Actually the most
generic way to handle things is to extend append_branch() to take second
optional argument, to be used as a proxy for that particular branch - it
will cover all possible scenarios, so that you might do t_relay(), but then
in reply_route[] simulate t_relay_to() behaviour and vice versa.

-Maxim

> 
> Whichever way we go, it deserves to be fixed.
> 
> -Jiri 
> 



More information about the sr-users mailing list