Browse Source

!trydefs for dispatcher groups and runtime selection

4.3
lazedo 7 years ago
committed by Luis Azedo
parent
commit
58a4390cd5
1 changed files with 30 additions and 15 deletions
  1. +30
    -15
      kamailio/dispatcher-role.cfg

+ 30
- 15
kamailio/dispatcher-role.cfg View File

@ -5,9 +5,22 @@ modparam("htable", "htable", "failover=>size=16;autoexpire=120")
#!trydef DISPATCHER_ADD_SERVERS 1 #!trydef DISPATCHER_ADD_SERVERS 1
#!trydef DISPATCHER_ALG 0 #!trydef DISPATCHER_ALG 0
#!trydef KZ_DISPATCHER_ADD_FLAGS 10 #!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_auto_add = DISPATCHER_ADD_SERVERS descr "adds media servers reported by ecallmgr"
kazoo.dispatcher_algorithm = DISPATCHER_ALG descr "dispatcher algorithm to use" 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 ######## ####### Dispatcher module ########
loadmodule "dispatcher.so" loadmodule "dispatcher.so"
@ -49,17 +62,19 @@ route[DISPATCHER_CLASSIFY_SOURCE]
if (is_myself("$ou")) { if (is_myself("$ou")) {
xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources\n"); xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources\n");
} else if ( } 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"); xlog("L_INFO", "$ci|log|originated from internal sources\n");
setflag(FLAG_INTERNALLY_SOURCED); setflag(FLAG_INTERNALLY_SOURCED);
} else { } else {
xlog("L_INFO", "$ci|log|originated from external sources\n"); xlog("L_INFO", "$ci|log|originated from external sources\n");
@ -75,20 +90,20 @@ route[DISPATCHER_FIND_ROUTES]
return; 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 #!ifndef PRESENCE_ROLE
if (is_method("SUBSCRIBE")) { 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 #!endif
#!ifndef REGISTRAR_ROLE #!ifndef REGISTRAR_ROLE
if (is_method("REGISTER")) { 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 #!endif


Loading…
Cancel
Save