Browse Source

Merge remote-tracking branch 'origin/master' into 4.1

4.1 4.1.20
karl anderson 9 years ago
parent
commit
5e65a53406
7 changed files with 48 additions and 22 deletions
  1. +2
    -0
      kamailio/db_queries_kazoo.cfg
  2. +2
    -0
      kamailio/db_queries_mysql.cfg
  3. +4
    -0
      kamailio/default.cfg
  4. +12
    -0
      kamailio/defs.cfg
  5. +23
    -20
      kamailio/dispatcher-role.cfg
  6. +3
    -0
      kamailio/kamailio.cfg
  7. +2
    -2
      kamailio/nodes-role.cfg

+ 2
- 0
kamailio/db_queries_kazoo.cfg View File

@ -0,0 +1,2 @@
####### Database queries ########
#!substdef "!DISPATCHER_CHECK_MEDIA_SERVER_INSERT_QUERY!insert into dispatcher (setid, destination) select \$var(SetId), \"\$var(MediaUrl)\" where not exists(select * from dispatcher where destination = \"\$var(MediaUrl)\")!g"

+ 2
- 0
kamailio/db_queries_mysql.cfg View File

@ -0,0 +1,2 @@
####### Database queries ########
#!substdef "!DISPATCHER_CHECK_MEDIA_SERVER_INSERT_QUERY!insert into dispatcher (setid, destination) select \$var(SetId), \"\$var(MediaUrl)\" from DUAL where not exists(select * from dispatcher where destination = \"\$var(MediaUrl)\")!g"

+ 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")


+ 12
- 0
kamailio/defs.cfg View File

@ -7,6 +7,10 @@
#!define KAZOO_LOG_LEVEL L_INFO
#!endif
#!ifndef KAMAILIO_DBMS
#!substdef "!KAMAILIO_DBMS!kazoo!g"
#!endif
#!ifndef KAZOO_DATA_DIR
#!substdef "!KAZOO_DATA_DIR!/etc/kazoo/kamailio/db!g"
#!endif
@ -63,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

+ 23
- 20
kamailio/dispatcher-role.cfg View File

@ -221,7 +221,7 @@ route[DISPATCHER_CHECK_MEDIA_SERVER]
if($var(Zone) != "MY_AMQP_ZONE") {
$var(SetId) = 2;
}
sql_query("exec", "insert into dispatcher (setid, destination) select $var(SetId), \"$var(MediaUrl)\" where not exists(select * from dispatcher where destination = \"$var(MediaUrl)\")");
sql_query("exec", "DISPATCHER_CHECK_MEDIA_SERVER_INSERT_QUERY");
if($sqlrows(exec) > 0) {
xlog("L_WARNING", "reloading dispatcher table\n");
ds_reload();
@ -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;
}
}


+ 3
- 0
kamailio/kamailio.cfg View File

@ -29,6 +29,9 @@ include_file "local.cfg"
####### defaults not configured in local ########
include_file "defs.cfg"
####### DBMS query selection ########
include_file "db_queries_KAMAILIO_DBMS.cfg"
####### Default Configuration ######
include_file "default.cfg"


+ 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