[Kamailio-Users] load/next_contacts question
Klaus Darilion
klaus.mailinglists at pernau.at
Mon Oct 20 11:53:57 CEST 2008
Juha Heinanen schrieb:
> Klaus Darilion writes:
>
> > But I wonder what if all the branches after enum_query() have the same q
> > value. According to the README:
> > load_contact: If all contacts in the destination set have the same
> > qvalue, load_contacts() does not do anything thus minimizing performance
> > impact of sequential forking capability when it is not needed. Returns 1
> > if loading of contacts succeeded or there was nothing to do.
> >
> > Thus, next_contacts() will be called although there are no AVPs to
> > fetch. Do I miss something here?
>
> klaus.
>
> i don't think you miss anything. if all contacts have same q value,
> load_contacts() does not do anything and does not add anything to the
> avp. when next_contacts() is then called, it, in turn. does not do
> anything because there is no avp values.
Ok. I missed that next_contact have different return value on no AVPs
depending on request_route or failure_route. This is fine, as long as
the first usage is in a request route. If the load_contacts happens in a
failure route, this can cause problems.
> if t_relay fails, for example, due to tcp connect failure to the first
> contact. your failure route will never get called and no other contacts
> even if they exist, will never be tried.
>
> i personally think this is a major problem with current t_relay
> implementation. i my opinion, failure route should be called also in
> case of internally generated negative replies.
Yes. I read your other emails. I always thought this was solved with the
t_relay("2") flag, but obviously not.
regards
klaus
More information about the Users
mailing list