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