[sr-dev] appending a new branch in route block

Juha Heinanen jh at tutpro.com
Fri May 21 15:39:45 CEST 2010


Andrei Pelinescu-Onciul writes:

> > that sounds too complicated and risky.  would the change that i suggest
> > in above be more difficult to implement?
> 
> It would be slightly more difficult (definitely not only 1 changed
> line). Basically we would need to remember if ruri is can be used for
> branches or not. On new message set ruri_is_new=1 (ruri_is_new being a
> new static var inside dset.c) and on clear_branches() set it to 0. Then
> change t_forward_non_ack() and use ruri_is_new instead of
> first_branch==0 for the first add_uac().
> For failure route ruri_is_new should be set to 0.
> Each time a new uri is set, ruri_is_new should also be set to 1.
> Probably the same should be done if dst_uri is changed.

sounds ok except the last point.  i would think that every time
ruri_is_new is set to 1, dst_uri should be cleared.  once new
request-uri is set, dst uri must be set too if it is going to be
needed.

some solution to this problem is needed since it is currently impossible
to make next_gw() and next_branches() work correctly and if the above is
the simplest one, then it would make sense to implement it.

-- juha



More information about the sr-dev mailing list