[sr-dev] Outbound registrar.lookup() not ordering results by reg-id?

Juha Heinanen jh at tutpro.com
Tue Mar 5 02:59:06 CET 2013


Peter Dunkley writes:

> 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).

peter,

i implemented what is stated in chapter 7 of outbound rfc, specifically:

   o  The proxy MUST NOT populate the target set with more than one
      contact with the same AOR and instance-id at a time.

   o  If a request for a particular AOR and instance-id fails with a 430
      (Flow Failed) response, the proxy SHOULD replace the failed branch
      with another target (if one is available) with the same AOR and
      instance-id, but a different reg-id.

in above, the requirement is "different" reg-id".  it does not require
ordering based on reg-id.  may be ordering is specified in some other
rfc?

the major problem is that currently kamailio has no way to replace just
the failed branch.  it is thus possible to try other reg-id contacts
only after all contacts in the current destination set have failed and
failure route is executed.

-- juha





More information about the sr-dev mailing list