[sr-dev] reset dst_uri in t_load_contacts
Juha Heinanen
jh at tutpro.com
Sat Oct 17 14:34:55 CEST 2009
Jan Janak writes:
> At least for me
> personally, having the branches cleared in t_load_contacts is kinda
> unexpected side-effect. We should probably document it in the README
> (I can take care of that, I want to update the README anyway).
there has been no effort to somehow merge the existing branches with
load_contacts branches. when you call load_contacts(), you start from
scratch.
> Yes, that's how it works, I checked that. t_load_contacts clears
> branches only if it produces something that can actually by used by
> t_next_contacts. And because t_load_contacts clears branches, the
> script writer has to call t_next_contacts in this case, otherwise some
> of the contacts could be lost.
yes, no branches exist after load_contacts() is called and if you don't
call next_contacts(), you will not have anything. this is the intended
behavior.
> Things could break if the script writer calls t_load_contacts and does
> not call t_next_contacts.
this is how it is supposed to work.
> I suggest that we change this after the
> release and make t_next_contacts to clear the branches if needed. Then
> nothing bad would happen if the script writer only calls
> t_load_contacts, it will just create the AVP but if you do not call
> t_next_contacts then things would work as usual, the request will be
> forked to all branches in parallel.
i don't know if that kind of change is necessary, because
next_contacts() is supposed to be called after load_contacts(). if
script writer does not do that, it is his/her fault. in that case
better not to call load_contacts() either.
> This way it would be also possible to fill the AVP with contacs from
> other sources than t_load_contacts (i.e. the database). That is not
> possible right now, because t_next_contacts does not clear branches
> for itself--t_load_contacts has to be called first.
you get contacts from wherever, e.g. database, and append them as
branches before calling load_contacts().
while we are at this, i suggest that also sr simplifies r-uri/branch
handling as described in this message:
http://lists.opensips.org/pipermail/users/2009-January/002365.html
-- juha
More information about the sr-dev
mailing list