after sleeping on it, i propose the following simple implementation of
instance-id/reg-id aware load_contacts()/next_contacts():

- load_contacts() does the same as it currently does, i.e., load
  contacts to an avp and orders them based on q value.

- next_contacts() creates destination set that includes highest q value
  contacts, but if there is two contacts with same instance-id, only one
  of them is included.  next_contacts() also stores the current q value
  in an avp.

- in failure route, if response code is 408 or 430, a new function
  next_contacts_skip() is called that works as described above, but
  skips next contacts with the stored q value (if any).  otherwise,
  next_contacts() is called.

is this acceptable to everyone?  feel welcome to propose a better name
for next_contacts_skip().

-- juha

_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to