Hi!
I’m having some issues with dispatcher and cannot get why it’s not working
Idea is to use ds_next_dst right after ds_select_dst
I’m having it like this
modparam("dispatcher", "list_file", "/tmp/dispatcher.list") modparam("dispatcher", "flags", 2) # Enable dispather failover modparam("dispatcher", "xavp_dst", "_dispacher_dst_list_") …
ds_select_dst(«1», «0»); … # Some extra check on $du here … ds_next_dst();
But get in logs WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
But contents of /tmp/dispatcher.list is 1 sip:172.28.0.12:5060 1 sip:172.28.0.19:5060
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
kamailio 5.2.0-dev6
Regards, Igor
On Friday 31 August 2018 at 12:11:53, Igor Olhovskiy wrote:
Hi!
I’m having some issues with dispatcher and cannot get why it’s not working
Idea is to use ds_next_dst right after ds_select_dst
I’m having it like this
modparam("dispatcher", "list_file", "/tmp/dispatcher.list") modparam("dispatcher", "flags", 2) # Enable dispather failover modparam("dispatcher", "xavp_dst", "_dispacher_dst_list_") …
ds_select_dst(«1», «0»);
Maybe a problem with the style of quotation marks you used there?
... # Some extra check on $du here … ds_next_dst();
But get in logs WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
But contents of /tmp/dispatcher.list is 1 sip:172.28.0.12:5060 1 sip:172.28.0.19:5060
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
kamailio 5.2.0-dev6
Regards,
Antony.
No, it’s ok. Just been replaced with my email client.
Regards, Igor On Aug 31, 2018, 12:19 PM +0200, Antony Stone Antony.Stone@kamailio.open.source.it, wrote:
On Friday 31 August 2018 at 12:11:53, Igor Olhovskiy wrote:
Hi!
I’m having some issues with dispatcher and cannot get why it’s not working
Idea is to use ds_next_dst right after ds_select_dst
I’m having it like this
modparam("dispatcher", "list_file", "/tmp/dispatcher.list") modparam("dispatcher", "flags", 2) # Enable dispather failover modparam("dispatcher", "xavp_dst", "_dispacher_dst_list_") …
ds_select_dst(«1», «0»);
Maybe a problem with the style of quotation marks you used there?
... # Some extra check on $du here … ds_next_dst();
But get in logs WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
But contents of /tmp/dispatcher.list is 1 sip:172.28.0.12:5060 1 sip:172.28.0.19:5060
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
kamailio 5.2.0-dev6
Regards,
Antony.
-- This email was created using 100% recycled electrons.
Please reply to the list; please *don't* CC me.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri...
If there is a better way I'd like to know myself.
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html# pv.f.pv_xavp_print
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html# pv.f.pv_xavp_print
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print():
https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri...
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html# pv.f.pv_xavp_print
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com: > Made a pv_xavp_print() afrer ds_select_dst > > Seems both destinations are there. > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) > … > call ds_next_dst() here > … > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record > > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > > > On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > > > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? > > > > > > You could use pv_xavp_print(): > > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > > > > > If there is a better way I'd like to know myself. > > > > > > _______________________________________________ > > > Kamailio (SER) - Users Mailing List > > > sr-users@lists.kamailio.org > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > -- > Best regards, > Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote:
Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print():
https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri...
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok.
But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work.
Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote:
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
> On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > Tried other way round > > All of this is happening in FAILURE ROUTE. > > > > ds_mark_dst("d"); > > ds_select_dst("1", "0") > > > > But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set? > > > > Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version. > > > > > 2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com: > > > > Made a pv_xavp_print() afrer ds_select_dst > > > > > > > > Seems both destinations are there. > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) > > > > … > > > > call ds_next_dst() here > > > > … > > > > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record > > > > > > > > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > > > > > > On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > > > > > > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? > > > > > > > > > > > > You could use pv_xavp_print(): > > > > > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > > > > > > > > > > > If there is a better way I'd like to know myself. > > > > > > > > > > > > _______________________________________________ > > > > > > Kamailio (SER) - Users Mailing List > > > > > > sr-users@lists.kamailio.org > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best regards, > > > > Igor > > > > > > > > -- > > Best regards, > > Igor > > _______________________________________________ > > Kamailio (SER) - Users Mailing List > > sr-users@lists.kamailio.org > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node.
The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc.
To summarize:
- In request route call ds_select_dst() - if it fails, in failed_route call ds_mark_dst() and then ds_next_dst()
Example:
...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C...
- INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A - INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A - A dies. - INVITE 1 in failure route, A is maked as disabled, ds_next_dst() (updated list contains B and C). $du=B - INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B - INVITE 2 in failure route, A is already marked as disabled, ds_next_dst() (updated list contains B and C). $du=B - ...people talk via server B because A failed...
So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server.
Can you give some more details on what kind of failover you are trying to achieve?
Joel.
On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok.
But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work.
Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote:
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/ dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > Can I somehow dump xavp_dst var to check if ds_select_dst is correct?
You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html# pv.f.pv_xavp_print
If there is a better way I'd like to know myself.
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
An example could be like this
3 nodes (A, B, C)
INVITE 1 -> ds_select_dst() -> Node A INVITE 2 -> ds_select_dst() -> Node A A dies B replaced C replaced - external calls dispatcher.reload with new node list A (yes, died state), E, F INVITE 1 -> failure_route, ds_mark_dst() as Disabled but with ds_next_dst() does not know anything about E or F, and B and C already out of order. So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field
Regards, Igor On Sep 1, 2018, 9:06 PM +0200, Joel Serrano joel@textplus.com, wrote:
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node.
The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc.
To summarize:
- In request route call ds_select_dst()
- if it fails, in failed_route call ds_mark_dst() and then ds_next_dst()
Example:
...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C...
- INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A
- INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A
- A dies.
- INVITE 1 in failure route, A is maked as disabled, ds_next_dst() (updated list contains B and C). $du=B
- INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B
- INVITE 2 in failure route, A is already marked as disabled, ds_next_dst() (updated list contains B and C). $du=B
- ...people talk via server B because A failed...
So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server.
Can you give some more details on what kind of failover you are trying to achieve?
Joel.
On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok.
But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work.
Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote:
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote: > Sorry, hit sent too soon. > > I meant ds_next_dst() or ds_next_domain(): > > https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212 > > > On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote: > > > Try with ds_select_next() in failure_route[] > > > > > > > On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > > Tried other way round > > > > > All of this is happening in FAILURE ROUTE. > > > > > > > > > > ds_mark_dst("d"); > > > > > ds_select_dst("1", "0") > > > > > > > > > > But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set? > > > > > > > > > > Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version. > > > > > > > > > > > 2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com: > > > > > > > Made a pv_xavp_print() afrer ds_select_dst > > > > > > > > > > > > > > Seems both destinations are there. > > > > > > > > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > … > > > > > > > call ds_next_dst() here > > > > > > > … > > > > > > > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record > > > > > > > > > > > > > > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > > > > > > > > > On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > > > > > > > > > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? > > > > > > > > > > > > > > > > > > You could use pv_xavp_print(): > > > > > > > > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > > > > > > > > > > > > > > > > > If there is a better way I'd like to know myself. > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best regards, > > > > > > > Igor > > > > > > > > > > > > > > > > > > > > -- > > > > > Best regards, > > > > > Igor > > > > > _______________________________________________ > > > > > Kamailio (SER) - Users Mailing List > > > > > sr-users@lists.kamailio.org > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi
I think dispatcher changed from avps vars to xavps vars in master (5.2).
Can you try on latest stable (5.1) using avps instead just in case...?
Also, can you print in the logs the xavp_avp var you set in the modparam?
On Sun, Sep 2, 2018 at 00:28 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
An example could be like this
3 nodes (A, B, C)
INVITE 1 -> ds_select_dst() -> Node A INVITE 2 -> ds_select_dst() -> Node A A dies B replaced C replaced
- external calls dispatcher.reload with new node list A (yes, died
state), E, F INVITE 1 -> failure_route, ds_mark_dst() as Disabled but with ds_next_dst() does not know anything about E or F, and B and C already out of order. So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field
Regards, Igor On Sep 1, 2018, 9:06 PM +0200, Joel Serrano joel@textplus.com, wrote:
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node.
The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc.
To summarize:
- In request route call ds_select_dst()
- if it fails, in failed_route call ds_mark_dst() and then ds_next_dst()
Example:
...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C...
- INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A
- INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A
- A dies.
- INVITE 1 in failure route, A is maked as disabled, ds_next_dst()
(updated list contains B and C). $du=B
- INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B
- INVITE 2 in failure route, A is already marked as disabled, ds_next_dst()
(updated list contains B and C). $du=B
- ...people talk via server B because A failed...
So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server.
Can you give some more details on what kind of failover you are trying to achieve?
Joel.
On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok.
But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work.
Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote:
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
Made a pv_xavp_print() afrer ds_select_dst
Seems both destinations are there.
13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record
2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl:
> On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > Can I somehow dump xavp_dst var to check if ds_select_dst is > correct? > > You could use pv_xavp_print(): > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > If there is a better way I'd like to know myself. > > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > >
-- Best regards, Igor
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
I just checked line 2285 in the code and it references the exact commit were avps changed to xavps.
I would definitely try 5.1 and open an issue in github.
Can you post your relevant config related to this in case something is just wrong there? (Both the request and failed route parts)
On Sun, Sep 2, 2018 at 08:07 Joel Serrano joel@textplus.com wrote:
Hi
I think dispatcher changed from avps vars to xavps vars in master (5.2).
Can you try on latest stable (5.1) using avps instead just in case...?
Also, can you print in the logs the xavp_avp var you set in the modparam?
On Sun, Sep 2, 2018 at 00:28 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
An example could be like this
3 nodes (A, B, C)
INVITE 1 -> ds_select_dst() -> Node A INVITE 2 -> ds_select_dst() -> Node A A dies B replaced C replaced
- external calls dispatcher.reload with new node list A (yes, died
state), E, F INVITE 1 -> failure_route, ds_mark_dst() as Disabled but with ds_next_dst() does not know anything about E or F, and B and C already out of order. So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field
Regards, Igor On Sep 1, 2018, 9:06 PM +0200, Joel Serrano joel@textplus.com, wrote:
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node.
The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc.
To summarize:
- In request route call ds_select_dst()
- if it fails, in failed_route call ds_mark_dst() and then ds_next_dst()
Example:
...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C...
- INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A
- INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A
- A dies.
- INVITE 1 in failure route, A is maked as disabled, ds_next_dst()
(updated list contains B and C). $du=B
- INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B
- INVITE 2 in failure route, A is already marked as disabled, ds_next_dst()
(updated list contains B and C). $du=B
- ...people talk via server B because A failed...
So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server.
Can you give some more details on what kind of failover you are trying to achieve?
Joel.
On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok.
But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work.
Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote:
I think you are confused between:
ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route.
ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route.
Give it a try and let us know.
On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this...
Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote:
Sorry, hit sent too soon.
I meant ds_next_dst() or ds_next_domain():
https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212
On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote:
Try with ds_select_next() in failure_route[]
On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
Tried other way round All of this is happening in FAILURE ROUTE.
ds_mark_dst("d"); ds_select_dst("1", "0")
But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set?
Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version.
2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com:
> Made a pv_xavp_print() afrer ds_select_dst > > Seems both destinations are there. > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc835288 (level=0) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc834ed8 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc834d78 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): > XAVP value: sip:172.28.0.12:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc834d78 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc834f80 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): > XAVP value: sip:172.28.0.19:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc834f80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc833db0 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc833db0 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc833b80 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): > XAVP value: sip:172.28.0.19:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc833b80 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc833960 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc833960 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): > XAVP value: sip:172.28.0.12:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc833960 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dsctx_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 1427193258 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc835670 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc835670 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: cnt > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7279890 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 1 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc835670 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: _dispacher_dst_list_ > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 508490514 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 6 > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): > XAVP value: xavp:0x7f8bfc833580 > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): > +++++ start XAVP list: 0x7f8bfc833580 (level=1) > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: grp > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 7056653 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 1 > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): > XAVP value: 2 > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): > *** XAVP name: uri > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): > XAVP id: 8122237 > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): > XAVP value type: 2 > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): > XAVP value: sip:172.28.0.46:5060 > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc833580 (level=1) > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): > ----- end XAVP list: 0x7f8bfc835288 (level=0) > … > call ds_next_dst() here > … > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no > xavp uri field in next destination record > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > >> On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: >> > Can I somehow dump xavp_dst var to check if ds_select_dst is >> correct? >> >> You could use pv_xavp_print(): >> >> https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... >> >> If there is a better way I'd like to know myself. >> >> _______________________________________________ >> Kamailio (SER) - Users Mailing List >> sr-users@lists.kamailio.org >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> >> > > > -- > Best regards, > Igor >
-- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Can’t use 5.1 in my case, cause some of the features I’m ties to is only in 5.2 branch. Anyway, I will check some other options, maybe move from dispatcher at all to some own-crafted solution.
Regards, Igor On Sep 2, 2018, 6:09 PM +0200, Joel Serrano joel@textplus.com, wrote:
I just checked line 2285 in the code and it references the exact commit were avps changed to xavps.
I would definitely try 5.1 and open an issue in github.
Can you post your relevant config related to this in case something is just wrong there? (Both the request and failed route parts)
On Sun, Sep 2, 2018 at 08:07 Joel Serrano joel@textplus.com wrote:
Hi
I think dispatcher changed from avps vars to xavps vars in master (5.2).
Can you try on latest stable (5.1) using avps instead just in case...?
Also, can you print in the logs the xavp_avp var you set in the modparam?
On Sun, Sep 2, 2018 at 00:28 Igor Olhovskiy igorolhovskiy@gmail.com wrote:
An example could be like this
3 nodes (A, B, C)
INVITE 1 -> ds_select_dst() -> Node A INVITE 2 -> ds_select_dst() -> Node A A dies B replaced C replaced - external calls dispatcher.reload with new node list A (yes, died state), E, F INVITE 1 -> failure_route, ds_mark_dst() as Disabled but with ds_next_dst() does not know anything about E or F, and B and C already out of order. So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field
Regards, Igor On Sep 1, 2018, 9:06 PM +0200, Joel Serrano joel@textplus.com, wrote:
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node.
The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc.
To summarize:
- In request route call ds_select_dst()
- if it fails, in failed_route call ds_mark_dst() and then ds_next_dst()
Example:
...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C...
- INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A
- INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A
- A dies.
- INVITE 1 in failure route, A is maked as disabled, ds_next_dst() (updated list contains B and C). $du=B
- INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B
- INVITE 2 in failure route, A is already marked as disabled, ds_next_dst() (updated list contains B and C). $du=B
- ...people talk via server B because A failed...
So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server.
Can you give some more details on what kind of failover you are trying to achieve?
Joel.
> On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > Hi! > > I’ve used > > ds_select_dst() and ds_next_dst() one after another in failure route. > > If use in request/failure it’s working ok. > > > > But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. > > So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work. > > > > Regards, Igor > > On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote: > > > I think you are confused between: > > > > > > ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route. > > > > > > ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route. > > > > > > Give it a try and let us know. > > > > > > > On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > > Is there any way to select not first destination from ds_select_dst()? > > > > > Could not find any way to do this... > > > > > > > > > > Regards, Igor > > > > > On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote: > > > > > > Sorry, hit sent too soon. > > > > > > > > > > > > I meant ds_next_dst() or ds_next_domain(): > > > > > > > > > > > > https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212 > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote: > > > > > > > > Try with ds_select_next() in failure_route[] > > > > > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > > > > > > > Tried other way round > > > > > > > > > > All of this is happening in FAILURE ROUTE. > > > > > > > > > > > > > > > > > > > > ds_mark_dst("d"); > > > > > > > > > > ds_select_dst("1", "0") > > > > > > > > > > > > > > > > > > > > But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set? > > > > > > > > > > > > > > > > > > > > Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version. > > > > > > > > > > > > > > > > > > > > > 2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com: > > > > > > > > > > > > Made a pv_xavp_print() afrer ds_select_dst > > > > > > > > > > > > > > > > > > > > > > > > Seems both destinations are there. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > > > > > > … > > > > > > > > > > > > call ds_next_dst() here > > > > > > > > > > > > … > > > > > > > > > > > > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record > > > > > > > > > > > > > > > > > > > > > > > > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > > > > > > > > > > > > > > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? > > > > > > > > > > > > > > > > > > > > > > > > > > > > You could use pv_xavp_print(): > > > > > > > > > > > > > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > > > > > > > > > > > > > > > > > > > > > > > > > > > If there is a better way I'd like to know myself. > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best regards, > > > > > > > > > > > > Igor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best regards, > > > > > > > > > > Igor > > > > > > > > > > _______________________________________________ > > > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > _______________________________________________ > > > > > > Kamailio (SER) - Users Mailing List > > > > > > sr-users@lists.kamailio.org > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > _______________________________________________ > > > > > Kamailio (SER) - Users Mailing List > > > > > sr-users@lists.kamailio.org > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > _______________________________________________ > > > Kamailio (SER) - Users Mailing List > > > sr-users@lists.kamailio.org > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > _______________________________________________ > > Kamailio (SER) - Users Mailing List > > sr-users@lists.kamailio.org > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello,
trying to summarize what you tried, because you say you do both:
ds_select_dst(...);
ds_next_dst();
in failure_route.
But if you do ds_select_dst(), then you already get the address of the gateway in the sip message structure, no need to call ds_next_dst(). Actually, if you do ds_next_dst() immediately after ds_select_dst(...), then practically you want to enforce second address selected for routing. Is this what you want to achieve?
To troubleshoot the warning message that uri xavp is not found, can you send logs with debug=3 and after each ds_select_dst(...) or ds_next_dst() add pv_xavp_print() to get the list of xavps? Use the latest master, I just pushed some commits that added more debug messages that should help troubleshooting better.
Cheers, Daniel
On 03.09.18 08:44, Igor Olhovskiy wrote:
Can’t use 5.1 in my case, cause some of the features I’m ties to is only in 5.2 branch. Anyway, I will check some other options, maybe move from dispatcher at all to some own-crafted solution.
Regards, Igor On Sep 2, 2018, 6:09 PM +0200, Joel Serrano joel@textplus.com, wrote:
I just checked line 2285 in the code and it references the exact commit were avps changed to xavps.
I would definitely try 5.1 and open an issue in github.
Can you post your relevant config related to this in case something is just wrong there? (Both the request and failed route parts)
On Sun, Sep 2, 2018 at 08:07 Joel Serrano <joel@textplus.com mailto:joel@textplus.com> wrote:
Hi I think dispatcher changed from avps vars to xavps vars in master (5.2). Can you try on latest stable (5.1) using avps instead just in case...? Also, can you print in the logs the xavp_avp var you set in the modparam? On Sun, Sep 2, 2018 at 00:28 Igor Olhovskiy <igorolhovskiy@gmail.com <mailto:igorolhovskiy@gmail.com>> wrote: An example could be like this 3 nodes (A, B, C) INVITE 1 -> ds_select_dst() -> Node A INVITE 2 -> ds_select_dst() -> Node A A dies B replaced C replaced - external calls dispatcher.reload with new node list A (yes, died state), E, F INVITE 1 -> failure_route, ds_mark_dst() as Disabled but with ds_next_dst() does not know anything about E or F, and B and C already out of order. So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field Regards, Igor On Sep 1, 2018, 9:06 PM +0200, Joel Serrano <joel@textplus.com <mailto:joel@textplus.com>>, wrote:
If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node. The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc. To summarize: - In request route call ds_select_dst() - if it fails, in failed_route call ds_mark_dst() and then ds_next_dst() Example: ...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C... - INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A - INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A - A dies. - INVITE 1 in failure route, A is maked as disabled, ds_next_dst() (updated list contains B and C). $du=B - INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B - INVITE 2 in failure route, A is already marked as disabled, ds_next_dst() (updated list contains B and C). $du=B - ...people talk via server B because A failed... So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server. Can you give some more details on what kind of failover you are trying to achieve? Joel. On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy <igorolhovskiy@gmail.com <mailto:igorolhovskiy@gmail.com>> wrote: Hi! I’ve used ds_select_dst() and ds_next_dst() one after another in failure route. If use in request/failure it’s working ok. But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work. Regards, Igor On Sep 1, 2018, 4:33 PM +0200, Joel Serrano <joel@textplus.com <mailto:joel@textplus.com>>, wrote:
I think you are confused between: ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route. ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route. Give it a try and let us know. On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy <igorolhovskiy@gmail.com <mailto:igorolhovskiy@gmail.com>> wrote: Is there any way to select not first destination from ds_select_dst()? Could not find any way to do this... Regards, Igor On Sep 1, 2018, 12:13 AM +0200, Joel Serrano <joel@textplus.com <mailto:joel@textplus.com>>, wrote:
Sorry, hit sent too soon. I meant ds_next_dst() or ds_next_domain(): https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212 On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano <joel@textplus.com <mailto:joel@textplus.com>> wrote: Try with ds_select_next() in failure_route[] On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy <igorolhovskiy@gmail.com <mailto:igorolhovskiy@gmail.com>> wrote: Tried other way round All of this is happening in FAILURE ROUTE. ds_mark_dst("d"); ds_select_dst("1", "0") But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set? Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version. 2018-08-31 13:05 GMT+02:00 Igor Olhovskiy <igorolhovskiy@gmail.com <mailto:igorolhovskiy@gmail.com>>: Made a pv_xavp_print() afrer ds_select_dst Seems both destinations are there. 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc834ed8> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc834d78> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 <http://172.28.0.12:5060> 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc834f80> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 <http://172.28.0.19:5060> 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc833db0> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc833b80> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 <http://172.28.0.19:5060> 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc833960> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 <http://172.28.0.12:5060> 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc835670> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: <xavp:0x7f8bfc833580> 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 <http://172.28.0.46:5060> 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) … call ds_next_dst() here … 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record 2018-08-31 12:33 GMT+02:00 Daniel Tryba <d.tryba@pocos.nl <mailto:d.tryba@pocos.nl>>: On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? You could use pv_xavp_print(): https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_print If there is a better way I'd like to know myself. _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- Best regards, Igor -- Best regards, Igor _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi!
Yes, will try to build latest master ASAP
But yes, in summary it’s like this
In failure_route if you call ds_select_dst() with round_robin algo sequential it will bring you same $du no matter on number of ds_select_dst() calls
If you call ds_next_dst() right after ds_select_dst() it will give a warning WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field no matter of what
Right now I’m dealing with this situation like in failure_route calling ds_mark_dst() and relaying again to same non-working dst, BUT when com to same failure_route and calling ds_select_dst(), non-working destination already marked. A small loop, but working for now.
Regards, Igor On Sep 3, 2018, 9:25 AM +0200, Daniel-Constantin Mierla miconda@gmail.com, wrote:
Hello, trying to summarize what you tried, because you say you do both: ds_select_dst(...); ds_next_dst(); in failure_route. But if you do ds_select_dst(), then you already get the address of the gateway in the sip message structure, no need to call ds_next_dst(). Actually, if you do ds_next_dst() immediately after ds_select_dst(...), then practically you want to enforce second address selected for routing. Is this what you want to achieve? To troubleshoot the warning message that uri xavp is not found, can you send logs with debug=3 and after each ds_select_dst(...) or ds_next_dst() add pv_xavp_print() to get the list of xavps? Use the latest master, I just pushed some commits that added more debug messages that should help troubleshooting better. Cheers, Daniel
On 03.09.18 08:44, Igor Olhovskiy wrote:
Can’t use 5.1 in my case, cause some of the features I’m ties to is only in 5.2 branch. Anyway, I will check some other options, maybe move from dispatcher at all to some own-crafted solution.
Regards, Igor On Sep 2, 2018, 6:09 PM +0200, Joel Serrano joel@textplus.com, wrote:
I just checked line 2285 in the code and it references the exact commit were avps changed to xavps.
I would definitely try 5.1 and open an issue in github.
Can you post your relevant config related to this in case something is just wrong there? (Both the request and failed route parts)
On Sun, Sep 2, 2018 at 08:07 Joel Serrano joel@textplus.com wrote:
Hi
I think dispatcher changed from avps vars to xavps vars in master (5.2).
Can you try on latest stable (5.1) using avps instead just in case...?
Also, can you print in the logs the xavp_avp var you set in the modparam?
On Sun, Sep 2, 2018 at 00:28 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > An example could be like this > > 3 nodes (A, B, C) > > INVITE 1 -> ds_select_dst() -> Node A > INVITE 2 -> ds_select_dst() -> Node A > A dies > B replaced > C replaced > - external calls dispatcher.reload with new node list A (yes, died state), E, F > INVITE 1 -> failure_route, ds_mark_dst() as Disabled > but with ds_next_dst() does not know anything about E or F, and B and C already out of order. > So, my solution is again call ds_select_dst() in failure_route, but it can return Node A (which is dead and I know it already). So, I’m trying to select next node, with ds_next_dst() to select Node E, but calling this command gives me > WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field > > > Regards, Igor > On Sep 1, 2018, 9:06 PM +0200, Joel Serrano joel@textplus.com, wrote: > > If it brings the failed it’s because when it was marked as disabled that node was already in the list, so it will fail and hit the failure route again and move to next node. > > > > The next call of ds_select_dst (in request route) will populate a list without disabled nodes, etc. > > > > To summarize: > > > > - In request route call ds_select_dst() > > - if it fails, in failed_route call ds_mark_dst() and then ds_next_dst() > > > > Example: > > > > ...to keep it easy to understand, let's pretend that dispatcher doesn't load balance and just failsover, let's say you have a ds group of nodes A, B and C... > > > > - INVITE 1 received. ds_select_dst() (the list contains A, B, C). $du=A > > - INVITE 2 received. ds_select_dst() (the list contains A, B, C). $du=A > > - A dies. > > - INVITE 1 in failure route, A is maked as disabled, ds_next_dst() (updated list contains B and C). $du=B > > - INVITE 3 received, ds_select_dst() (the list contains B, C). $du=B > > - INVITE 2 in failure route, A is already marked as disabled, ds_next_dst() (updated list contains B and C). $du=B > > - ...people talk via server B because A failed... > > > > So really you would only send calls that populated the dispather list before dying, after that the next calls wouldn't even try to hit that server. > > > > Can you give some more details on what kind of failover you are trying to achieve? > > > > Joel. > > > > > On Sat, Sep 1, 2018 at 11:06 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > Hi! > > > > I’ve used > > > > ds_select_dst() and ds_next_dst() one after another in failure route. > > > > If use in request/failure it’s working ok. > > > > > > > > But again, during the failover in my environment dispatcher list can change. And I don’t want to rely on ds_next_dst() cause it can bring me absent node. > > > > So, I’ve been thinking of use xavp variable to get data from it, but still can’t get it to work. > > > > > > > > Regards, Igor > > > > On Sep 1, 2018, 4:33 PM +0200, Joel Serrano joel@textplus.com, wrote: > > > > > I think you are confused between: > > > > > > > > > > ds_select_dst() = get a node from the dispatcher group based on weight and priority. Use in request_route. > > > > > > > > > > ds_next_dst() = get the next node from the list previously created with ds_select_dst(). Use this in failure_route. > > > > > > > > > > Give it a try and let us know. > > > > > > > > > > > On Sat, Sep 1, 2018 at 00:27 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > > > > Is there any way to select not first destination from ds_select_dst()? > > > > > > > Could not find any way to do this... > > > > > > > > > > > > > > Regards, Igor > > > > > > > On Sep 1, 2018, 12:13 AM +0200, Joel Serrano joel@textplus.com, wrote: > > > > > > > > Sorry, hit sent too soon. > > > > > > > > > > > > > > > > I meant ds_next_dst() or ds_next_domain(): > > > > > > > > > > > > > > > > https://kamailio.org/docs/modules/5.1.x/modules/dispatcher.html#idp44172212 > > > > > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 3:06 PM, Joel Serrano joel@textplus.com wrote: > > > > > > > > > > Try with ds_select_next() in failure_route[] > > > > > > > > > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 06:17 Igor Olhovskiy igorolhovskiy@gmail.com wrote: > > > > > > > > > > > > Tried other way round > > > > > > > > > > > > All of this is happening in FAILURE ROUTE. > > > > > > > > > > > > > > > > > > > > > > > > ds_mark_dst("d"); > > > > > > > > > > > > ds_select_dst("1", "0") > > > > > > > > > > > > > > > > > > > > > > > > But ds_select_dst still selecting for me gateway already marked with "d" on previous step. Seems, it applying states after packet sent. And any other way I can select new dst from set? > > > > > > > > > > > > > > > > > > > > > > > > Idea why I'm using ds_select_dst in FAILURE_ROUTE and not ds_next_dst() that during failover timer dispatcher list could change (yes, it could be extensive process) and I want to use most fresh version. > > > > > > > > > > > > > > > > > > > > > > > > > 2018-08-31 13:05 GMT+02:00 Igor Olhovskiy igorolhovskiy@gmail.com: > > > > > > > > > > > > > > Made a pv_xavp_print() afrer ds_select_dst > > > > > > > > > > > > > > > > > > > > > > > > > > > > Seems both destinations are there. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834ed8 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834ed8 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834d78 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834d78 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc834f80 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc834f80 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833db0 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833db0 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833b80 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.19:5060 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833b80 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833960 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.12:5060 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833960 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dsctx_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 1427193258 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc835670 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: cnt > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7279890 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835670 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: _dispacher_dst_list_ > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 508490514 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 6 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:571]: xavp_print_list_content(): XAVP value: xavp:0x7f8bfc833580 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:543]: xavp_print_list_content(): +++++ start XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: grp > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 7056653 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 1 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:555]: xavp_print_list_content(): XAVP value: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:547]: xavp_print_list_content(): *** XAVP name: uri > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:548]: xavp_print_list_content(): XAVP id: 8122237 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:549]: xavp_print_list_content(): XAVP value type: 2 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:558]: xavp_print_list_content(): XAVP value: sip:172.28.0.46:5060 > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc833580 (level=1) > > > > > > > > > > > > > > 13(23) INFO: <core> [core/xavp.c:583]: xavp_print_list_content(): ----- end XAVP list: 0x7f8bfc835288 (level=0) > > > > > > > > > > > > > > … > > > > > > > > > > > > > > call ds_next_dst() here > > > > > > > > > > > > > > … > > > > > > > > > > > > > > 13(23) WARNING: dispatcher [dispatch.c:2285]: ds_update_dst(): no xavp uri field in next destination record > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2018-08-31 12:33 GMT+02:00 Daniel Tryba d.tryba@pocos.nl: > > > > > > > > > > > > > > > > On Fri, Aug 31, 2018 at 12:11:53PM +0200, Igor Olhovskiy wrote: > > > > > > > > > > > > > > > > > Can I somehow dump xavp_dst var to check if ds_select_dst is correct? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You could use pv_xavp_print(): > > > > > > > > > > > > > > > > https://www.kamailio.org/docs/modules/5.1.x/modules/pv.html#pv.f.pv_xavp_pri... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If there is a better way I'd like to know myself. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > Igor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best regards, > > > > > > > > > > > > Igor > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > > sr-users@lists.kamailio.org > > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > > > _______________________________________________ > > > > > > > Kamailio (SER) - Users Mailing List > > > > > > > sr-users@lists.kamailio.org > > > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > > _______________________________________________ > > > > > Kamailio (SER) - Users Mailing List > > > > > sr-users@lists.kamailio.org > > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > > > _______________________________________________ > > > > Kamailio (SER) - Users Mailing List > > > > sr-users@lists.kamailio.org > > > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > _______________________________________________ > > Kamailio (SER) - Users Mailing List > > sr-users@lists.kamailio.org > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio World Conference -- www.kamailioworld.com Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com