Hello,
On 3/4/13 11:55 AM, Peter Dunkley wrote:
Hi,
I've been looking at caching the ruid and while reading the code I have not been able to understand how the contacts get correctly ordered for outbound.
The contacts should be ordered so that those with the lowest reg-id are the first tried for each ;+sip.instance. However, I can't see any comparisons of reg-id anywhere (I've looked in usrloc, registrar, and the tm:t_..._contacts() functions).
Have I missed something or is this (like the parallel forking issue Olle reported from SIPit) another outbound registrar issue that we need to fix?
location module keeps the records ordered by registration time, iirc. By default, parallel forking does not care of Q value, will do branching at once to all contacts.
If you need to take in consideration Q, then you have to use t_load/next_contacts(). I assume it is the same for outbound and reg-id, Juha implemented both of them.
In case the issues is something else, please refresh me with a link in archive (or add to tracker) about the details after SIPit, I guess I missed some discussions due to heavy traveling and may take me a while to spot it in the history.
Cheers, Daniel