[sr-dev] Status of outbound support

Daniel-Constantin Mierla miconda at gmail.com
Thu Dec 6 13:53:29 CET 2012


On 12/6/12 1:35 PM, Juha Heinanen wrote:
> Daniel-Constantin Mierla writes:
>
>> This one can be also easily added, we have t_load_contacts() which
>> serializes the contact records based on Q value. It has to be extended
>> to work on reg-id:
> since i have implemented t_load_contacts()/t_next_contacts(), perhaps i
> can help here.  tell me what kind of extension is needed and i'll try to
> implement it.
that would be great!

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.

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.


If Q has to be taken in consideration, I would guess that the list of 
contacts will be grouped by sip-instance value, those groups will be 
ordered by Q (like taking the highest q in the group and comparing with 
the other groups). Inside the group, the order will be set by reg-id.

Selection of next destinations to try will be done by taking the first 
within a group with same instance (perhaps doing parallel forking if 
there are groups with same Q). If it is a failure, then will go and take 
the next contacts in the groups (based on reg-id value).

Again, the part related to Q has to be clarified. Otherwise should be 
about grouping on sip-instance and ordering by reg-id (lower reg-id is 
first to use).

Thinking of these attributes, might be easier to work with xavps instead 
of classic avps.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda




More information about the sr-dev mailing list