[SR-Users] Issue with Dispatcher Failover algorithm

Daniel-Constantin Mierla miconda at gmail.com
Wed May 31 14:46:15 CEST 2017


I looked at the code and all seems ok there -- the first destination is
selected to be used first.

Can you print $(avp(AVP_DST)[*]) after ds_select_dst(...)? Like:

xlog("selected destinations: $(avp(AVP_DST)[*])\n");

Send the log message after doing three test calls.

Cheers,
Daniel


On 30.05.17 13:18, Cristi Constantin wrote:
> That's great. Thanks a lot.
>
> Best regards,
> Cristian
>
> On 5/30/17, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
>> Hello,
>>
>> I was traveling during the past two weeks and didn't have the time to
>> look properly at it. Hopefully today or tomorrow I will get to it.
>>
>> Cheers,
>> Daniel
>>
>>
>> On 29.05.17 23:14, Cristi Constantin wrote:
>>> Hi Daniel,
>>>
>>> Did you got the chance to look at the trace attached?
>>> I still not managed to figure out why failover is not working in my
>>> Kamailio configuration..
>>>
>>> Thank you,
>>> Cristian
>>>
>>> On Thu, May 25, 2017 at 5:17 PM, Cristi Constantin
>>> <cristi.constantin at gmail.com <mailto:cristi.constantin at gmail.com>> wrote:
>>>
>>>     Hi Daniel,
>>>
>>>     I attached a pcap trace. It contains several SIP messages, but
>>>     please check the INVITEs from 10.224.74.36 (Kamailio) to
>>>     10.126.54.51/10.126.55.51 <http://10.126.54.51/10.126.55.51>.
>>>
>>>     Thanks for you support,
>>>     Cristian
>>>
>>>     On Thu, May 25, 2017 at 5:04 PM, Daniel-Constantin Mierla
>>>     <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>>
>>>         Hello,
>>>
>>>         can you sent pcap or ngrep output with all sip messages of
>>>         such case exposing the issue you have?
>>>
>>>         Cheers,
>>>         Daniel
>>>
>>>         On Thu, May 25, 2017 at 2:18 PM, Cristi Constantin
>>>         <cristi.constantin at gmail.com
>>>         <mailto:cristi.constantin at gmail.com>> wrote:
>>>
>>>             Hello,
>>>
>>>             I have an issue with the behavior of ds_select_dst()
>>>             method in case of using algorithm 8 (dispatch based on
>>>             priority). In case both destinations are available, they
>>>             are used alternatively, instead of always using the one
>>>             with the highest priority.
>>>
>>>             By searching through the mailing list I found that the
>>>             lower the priority number, the higher the priority (1 is
>>>             first, 2 is second, etc.).
>>>             Based on this, I set the following in dispatcher.list:
>>>             7 sip:10.126.54.51:5060
>>>             <http://10.126.54.51:5060>;transport=sctp 9 1
>>>             7 sip:10.126.55.51:5060
>>>             <http://10.126.55.51:5060>;transport=sctp 9 2
>>>
>>>             After running "kamcmd dispatcher.reload" and "kamcmd
>>>             dispatcher.list", I have the confirmation that the
>>>             priorities are correctly set:
>>>                             SET: {
>>>                                     ID: 7
>>>                                     TARGETS: {
>>>                                             DEST: {
>>>                                                     URI:
>>>             sip:10.126.55.51:5060
>>>             <http://10.126.55.51:5060>;transport=sctp
>>>                                                     FLAGS: AP
>>>                                                     PRIORITY: 2
>>>                                             }
>>>                                             DEST: {
>>>                                                     URI:
>>>             sip:10.126.54.51:5060
>>>             <http://10.126.54.51:5060>;transport=sctp
>>>                                                     FLAGS: AP
>>>                                                     PRIORITY: 1
>>>                                             }
>>>                                     }
>>>                             }
>>>
>>>             The dispatcher settings from kamailio.cfg is the following:
>>>             modparam("dispatcher", "list_file",
>>>             "/etc/kamailio/dispatcher.list")
>>>             modparam("dispatcher", "flags", 2)
>>>             modparam("dispatcher", "ds_ping_interval", 10)
>>>             modparam("dispatcher", "ds_ping_method", "OPTIONS")
>>>             modparam("dispatcher", "ds_ping_from",
>>>             "sip:kamailio at sdp-t-lb2")
>>>             modparam("dispatcher", "ds_probing_mode", 3)
>>>             modparam("dispatcher", "dst_avp", "$avp(AVP_DST)")
>>>             modparam("dispatcher", "grp_avp", "$avp(AVP_GRP)")
>>>             modparam("dispatcher", "cnt_avp", "$avp(AVP_CNT)")
>>>             modparam("dispatcher", "sock_avp", "$avp(AVP_SOCK)")
>>>
>>>             And the code which should do the displatch is the following:
>>>
>>>                   if (ds_is_from_list(7, 3, "$ru")) {
>>>                       remove_hf("Route");
>>>                       if(!ds_select_dst("7", "8")) {
>>>                         send_reply("404", "No destination");
>>>                         exit;
>>>                       }
>>>                   }
>>>
>>>             With the settings above, I was expecting to always have
>>>             the messages delivered to 10.126.54.51. Instead, they are
>>>             dispathed to 10.126.54.51 and 10.126.55.51 alternatively.
>>>
>>>             Thanks a lot,
>>>             Cristian
>>>
>>>
>>>             _______________________________________________
>>>             Kamailio (SER) - Users Mailing List
>>>             sr-users at lists.kamailio.org
>>>             <mailto:sr-users at lists.kamailio.org>
>>>             https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>
>>>
>>>
>>>
>>>         --
>>>         Daniel-Constantin Mierla - http://www.asipto.com
>>>         http://twitter.com/#!/miconda
>>>         <http://twitter.com/#%21/miconda> -
>>>         http://www.linkedin.com/in/miconda
>>>         <http://www.linkedin.com/in/miconda>
>>>
>>>         _______________________________________________
>>>         Kamailio (SER) - Users Mailing List
>>>         sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>>         https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>         <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users at lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>
>>

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - www.kamailioworld.com




More information about the sr-users mailing list