diff --git a/kamailio/db_queries_kazoo.cfg b/kamailio/db_queries_kazoo.cfg new file mode 100644 index 0000000..aad4b0b --- /dev/null +++ b/kamailio/db_queries_kazoo.cfg @@ -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" diff --git a/kamailio/db_queries_mysql.cfg b/kamailio/db_queries_mysql.cfg new file mode 100644 index 0000000..853c53f --- /dev/null +++ b/kamailio/db_queries_mysql.cfg @@ -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" diff --git a/kamailio/defs.cfg b/kamailio/defs.cfg index f483953..198bc41 100644 --- a/kamailio/defs.cfg +++ b/kamailio/defs.cfg @@ -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 diff --git a/kamailio/dispatcher-role.cfg b/kamailio/dispatcher-role.cfg index 1a34794..d16359d 100644 --- a/kamailio/dispatcher-role.cfg +++ b/kamailio/dispatcher-role.cfg @@ -221,12 +221,7 @@ route[DISPATCHER_CHECK_MEDIA_SERVER] if($var(Zone) != "MY_AMQP_ZONE") { $var(SetId) = 2; } - if ("KAZOO_DB_URL" =~ "^mysql") { - sql_query("exec", "insert into dispatcher (setid, destination) select $var(SetId), \"$var(MediaUrl)\" from DUAL where not exists(select * from dispatcher where destination = \"$var(MediaUrl)\")"); - } - else { - 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(); diff --git a/kamailio/kamailio.cfg b/kamailio/kamailio.cfg index 2749fbf..2528128 100644 --- a/kamailio/kamailio.cfg +++ b/kamailio/kamailio.cfg @@ -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"