Thanks for the clarification!

 

-dan

 

From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla
Sent: Tuesday, November 3, 2015 2:23 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] Serial Forking and Lookup Function

 

Hello,

On 03/11/15 05:31, Daniel W. Graham wrote:

Looking for some clarification / direction on setting up forking.

 

I have configured clients to use q-value and is stored in location table. I see several examples as described in TM module documentation but does not mention use of lookup() function.

 

Per registrar documentation-

 

lookup()

The functions extracts username from Request-URI and tries to find all contacts for the username in usrloc. If there are no such contacts, -1 will be returned. If there are such contacts, Request-URI will be overwritten with the contact that has the highest q value and optionally the rest will be appended to the message (depending on append_branches parameter value).

 

Append_branch parameter

The parameter controls how lookup function processes multiple contacts. If there are multiple contacts for the given username in usrloc and this parameter is set to 1, Request-URI will be overwritten with the highest-q rated contact and the rest will be appended to sip_msg structure and can be later used by tm for forking.

 

Does lookup() build the destination set and then I can proceed by doing  t_load_contacts(),  t_next_contacts() and setup failure route? Any direction is appreciated!

Yes, lookup location builds the destination set with all available contacts in location table. A t_relay() at that moment will do parallel forking, ingnoring the q values. To do serial forking, use t_load_contacts(),  t_next_contacts() and failure_route.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat