Browse Source

Merge pull request #15 from 2600hz/KAZOO-5597

KAZOO-5597 use runtime data in nodes info for dispatcher
KAZOO-5650
bitbashing 9 years ago
committed by GitHub
parent
commit
27f6ecb7be
4 changed files with 36 additions and 21 deletions
  1. +4
    -0
      kamailio/default.cfg
  2. +8
    -0
      kamailio/defs.cfg
  3. +22
    -19
      kamailio/dispatcher-role.cfg
  4. +2
    -2
      kamailio/nodes-role.cfg

+ 4
- 0
kamailio/default.cfg View File

@ -172,6 +172,9 @@ loadmodule "avpops.so"
######## UAC Redirection module ########
loadmodule "uac_redirect.so"
#### json rpc ####
loadmodule "jsonrpcs.so"
####### SQL OPS module ##########
loadmodule "sqlops.so"
modparam("sqlops","sqlcon", "cb=>KAZOO_DB_URL")
@ -182,6 +185,7 @@ loadmodule "db_kazoo.so"
####### Kazoo Integration module ##########
loadmodule "kazoo.so"
modparam("kazoo", "pua_mode", MY_AMQP_PUA_MODE)
modparam("kazoo", "amqp_primary_zone", "MY_AMQP_ZONE")
modparam("kazoo", "amqp_query_timeout_avp", "$avp(kz_timeout)")
modparam("kazoo", "node_hostname", "MY_HOSTNAME")


+ 8
- 0
kamailio/defs.cfg View File

@ -67,4 +67,12 @@
#!define PRESENCE_RESET_BLF_DEFER_UPDATE 0
#!endif
#!ifndef MY_AMQP_PUA_MODE
#!ifdef PRESENCE_ROLE
#!define MY_AMQP_PUA_MODE 1
#!else
#!define MY_AMQP_PUA_MODE 0
#!endif
#!endif
# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab

+ 22
- 19
kamailio/dispatcher-role.cfg View File

@ -229,26 +229,29 @@ route[DISPATCHER_CHECK_MEDIA_SERVER]
}
}
route[DISPATCHER_SUMMARY]
route[DISPATCHER_STATUS]
{
$var(ds_groups_json) = "";
if (sql_xquery("cb", "select * from dispatcher order by setid, id", "ra") == 1)
{
$var(Sep1) = "";
while($xavp(ra) != $null) {
$var(ds_group) = $xavp(ra=>setid);
$var(Sep2)="";
$var(ds_group_json)="";
while($xavp(ra) != $null && $var(ds_group) == $xavp(ra=>setid) )
{
$var(record) = $_s("$xavp(ra=>id)" : {"destination" : "$xavp(ra=>destination)", "flags" : "$xavp(ra=>flags)", "priority" : $xavp(ra=>priority), "attrs" : "$xavp(ra=>attrs)" , "description" : "$xavp(ra=>description)"});
$var(ds_group_json) = $var(ds_group_json) + $var(Sep2) + $var(record);
$var(Sep2) = ",";
pv_unset("$xavp(ra)");
}
$var(ds_groups_json) = $var(ds_groups_json) + $var(Sep1) + $_s("$var(ds_group)" : { $var(ds_group_json) });
$var(Sep1)=", ";
}
jsonrpc_exec('{"jsonrpc": "2.0", "method": "dispatcher.list", "id": 1}');
$var(Sets) = $(jsonrpl(body){kz.json, result.NRSETS});
$var(i) = 0;
$var(ds_groups_json)="";
$var(Sep1) = "";
while($var(i) < $var(Sets)) {
$var(Set) = $(jsonrpl(body){kz.json, result.RECORDS[$var(i)].SET});
$var(SetCount) = $(var(Set){kz.json.count,TARGETS});
$var(Sep2)="";
$var(ds_group_json)="";
$var(c) = 0;
while($var(c) < $var(SetCount)) {
$var(Dest) = $(var(Set){kz.json,TARGETS[$var(c)].DEST});
$var(record) = $_s("$(var(Dest){kz.json,URI})" : {"destination" : "$(var(Dest){kz.json,URI})", "flags" : "$(var(Dest){kz.json,FLAGS})", "priority" : $(var(Dest){kz.json,PRIORITY}), "attrs" : "$(var(Dest){kz.json,ATTRS.BODY})"});
$var(ds_group_json) = $var(ds_group_json) + $var(Sep2) + $var(record);
$var(Sep2) = ",";
$var(c) = $var(c) + 1;
}
$var(ds_groups_json) = $var(ds_groups_json) + $var(Sep1) + $_s("$(var(Set){kz.json,ID})" : { $var(ds_group_json) });
$var(Sep1)=", ";
$var(i) = $var(i) + 1;
}
}


+ 2
- 2
kamailio/nodes-role.cfg View File

@ -35,8 +35,8 @@ route[NODES_ADVERTISE_ROUTE]
$var(Registrar) = "";
#!endif
#!ifdef DISPATCHER_ROLE
route(DISPATCHER_SUMMARY);
#!ifdef DISPATCHER_ROLE
route(DISPATCHER_STATUS);
$var(Dispatcher) = $_s("Dispatcher" : {"Groups" : { $var(ds_groups_json) }});
#!else
$var(Dispatcher) = "";


Loading…
Cancel
Save