|
|
@ -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 |
|
|
|
|
|
|
|
|
|