Hi Juha and others!
I wonder if I understand load/next_contacts(). If I understand it right
it can be used for example to make parallel/serial forking after an ENUM
lookup (multiple NAPTRs).
I think this is the correct usage:
if (enum_query()) {
if (load_contacts()) {
if (next_contacts()) {
t_on_failure("1");
t_relay();
} else {
sl_reply("500","error adding contacts");
}
} else {
sl_reply("500","error fetching destination set");
}
exit;
}
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?
regards
klaus