From 58a4390cd5c25ba5da59d532897af5d55ea03f39 Mon Sep 17 00:00:00 2001 From: lazedo Date: Thu, 29 Nov 2018 02:46:38 +0000 Subject: [PATCH] !trydefs for dispatcher groups and runtime selection --- kamailio/dispatcher-role.cfg | 45 ++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/kamailio/dispatcher-role.cfg b/kamailio/dispatcher-role.cfg index db979ce..5610ec9 100644 --- a/kamailio/dispatcher-role.cfg +++ b/kamailio/dispatcher-role.cfg @@ -5,9 +5,22 @@ modparam("htable", "htable", "failover=>size=16;autoexpire=120") #!trydef DISPATCHER_ADD_SERVERS 1 #!trydef DISPATCHER_ALG 0 #!trydef KZ_DISPATCHER_ADD_FLAGS 10 +#!trydef KZ_DISPATCHER_PRIMARY_GROUP 1 +#!trydef KZ_DISPATCHER_SECONDARY_GROUP 2 +#!trydef KZ_DISPATCHER_CLASSIFY_GROUP 3 +#!trydef KZ_DISPATCHER_ALTNET1_PRIMARY_GROUP 51 +#!trydef KZ_DISPATCHER_ALTNET1_SECONDARY_GROUP 52 +#!trydef KZ_DISPATCHER_ALTNET2_PRIMARY_GROUP 53 +#!trydef KZ_DISPATCHER_ALTNET2_SECONDARY_GROUP 54 +#!trydef KZ_DISPATCHER_PRESENCE_PRIMARY_GROUP 10 +#!trydef KZ_DISPATCHER_PRESENCE_SECONDARY_GROUP 11 +#!trydef KZ_DISPATCHER_REGISTRAR_PRIMARY_GROUP 20 +#!trydef KZ_DISPATCHER_REGISTRAR_SECONDARY_GROUP 21 kazoo.dispatcher_auto_add = DISPATCHER_ADD_SERVERS descr "adds media servers reported by ecallmgr" kazoo.dispatcher_algorithm = DISPATCHER_ALG descr "dispatcher algorithm to use" +kazoo.dispatcher_primary_group = KZ_DISPATCHER_PRIMARY_GROUP descr "dispatcher primary group" +kazoo.dispatcher_secondary_group = KZ_DISPATCHER_SECONDARY_GROUP descr "dispatcher secondary group" ####### Dispatcher module ######## loadmodule "dispatcher.so" @@ -49,17 +62,19 @@ route[DISPATCHER_CLASSIFY_SOURCE] if (is_myself("$ou")) { xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources\n"); } else if ( - ds_is_from_list(1, 3) || - ds_is_from_list(2, 3) || - ds_is_from_list(3, 3) || - ds_is_from_list(51, 3) || - ds_is_from_list(52, 3) || - ds_is_from_list(53, 3) || - ds_is_from_list(10, 3) || - ds_is_from_list(20, 3) + ds_is_from_list(KZ_DISPATCHER_PRIMARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_SECONDARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_CLASSIFY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_ALTNET1_PRIMARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_ALTNET1_SECONDARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_ALTNET2_PRIMARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_ALTNET2_SECONDARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_PRESENCE_PRIMARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_PRESENCE_SECONDARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_REGISTRAR_PRIMARY_GROUP, 3) || + ds_is_from_list(KZ_DISPATCHER_REGISTRAR_SECONDARY_GROUP, 3) ) { xlog("L_INFO", "$ci|log|originated from internal sources\n"); - setflag(FLAG_INTERNALLY_SOURCED); } else { xlog("L_INFO", "$ci|log|originated from external sources\n"); @@ -75,20 +90,20 @@ route[DISPATCHER_FIND_ROUTES] return; } - $var(ds_primary_group) = 1; - $var(ds_backup_group) = 2; + $var(ds_primary_group) = $sel(cfg_get.kazoo.dispatcher_primary_group); + $var(ds_backup_group) = $sel(cfg_get.kazoo.dispatcher_secondary_group); #!ifndef PRESENCE_ROLE if (is_method("SUBSCRIBE")) { - $var(ds_primary_group) = 10; - $var(ds_backup_group) = 11; + $var(ds_primary_group) = KZ_DISPATCHER_PRESENCE_PRIMARY_GROUP; + $var(ds_backup_group) = KZ_DISPATCHER_PRESENCE_SECONDARY_GROUP; } #!endif #!ifndef REGISTRAR_ROLE if (is_method("REGISTER")) { - $var(ds_primary_group) = 20; - $var(ds_backup_group) = 21; + $var(ds_primary_group) = KZ_DISPATCHER_REGISTRAR_PRIMARY_GROUP; + $var(ds_backup_group) = KZ_DISPATCHER_REGISTRAR_SECONDARY_GROUP; } #!endif