Daniel-Constantin Mierla writes:
I haven't studied exactly the algorithm, but from what I understood, the contacts have to be sorted also by reg-id. What is not clear yet for me is if Q values still plays a role.
i was wondering that too. what is the relationship between q and reg-id?
First, it will require to propagate sip-instance and reg-id fields to destination set (via branch_t structure) from usrloc/registrar -- just adding some fields and copy the values as we do for example for path and q.
what if sip-instance is missing, but reg-id is present like in this register request from barasip?
REGISTER sip:test.fi SIP/2.0. Via: SIP/2.0/TCP 192.98.102.10:5050;branch=z9hG4bKe8fc3b4174d10554;rport. Contact: sip:0x8bac4f0@192.98.102.10:5050;transport=tcp;expires=600;q=0.8;reg-id=1. Max-Forwards: 70. Route: sip:192.98.102.10;transport=tcp;lr. To: sip:test@test.fi. From: sip:test@test.fi;tag=a41662ae8ebfb044. Call-ID: 72e7f927a4be41a2. CSeq: 33968 REGISTER. User-Agent: baresip v0.4.2 (i586/linux). Supported: outbound, path. Content-Length: 0.
or is it a bug in baresip?
-- juha