Module: kamailio
Branch: master
Commit: 3f405388980b725394693c7b4c294a3ea33195e5
URL:
https://github.com/kamailio/kamailio/commit/3f405388980b725394693c7b4c294a3…
Author: Olle E. Johansson <oej(a)edvina.net>
Committer: GitHub <noreply(a)github.com>
Date: 2016-06-10T13:14:49+02:00
Merge pull request #667 from kamailio/luismartingil/dialplan_reload
Providing dp_reload function to the cfg
---
Modified: modules/dialplan/dialplan.c
Modified: modules/dialplan/doc/dialplan.xml
Modified: modules/dialplan/doc/dialplan_admin.xml
---
Diff:
https://github.com/kamailio/kamailio/commit/3f405388980b725394693c7b4c294a3…
Patch:
https://github.com/kamailio/kamailio/commit/3f405388980b725394693c7b4c294a3…
---
diff --git a/modules/dialplan/dialplan.c b/modules/dialplan/dialplan.c
index 9a7fe33..a0c679a 100644
--- a/modules/dialplan/dialplan.c
+++ b/modules/dialplan/dialplan.c
@@ -73,6 +73,7 @@ static struct mi_root * mi_reload_rules(struct mi_root *cmd_tree,void
*param);
static struct mi_root * mi_translate(struct mi_root *cmd_tree, void *param);
static int dp_translate_f(struct sip_msg* msg, char* str1, char* str2);
static int dp_trans_fixup(void ** param, int param_no);
+static int dp_reload_f(struct sip_msg* msg);
str attr_pvar_s = STR_NULL;
pv_spec_t * attr_pvar = NULL;
@@ -111,6 +112,8 @@ static cmd_export_t cmds[]={
ANY_ROUTE},
{"dp_translate",(cmd_function)dp_translate_f, 1, dp_trans_fixup, 0,
ANY_ROUTE},
+ {"dp_reload",(cmd_function)dp_reload_f, 0, 0, 0,
+ ANY_ROUTE},
{0,0,0,0,0,0}
};
@@ -452,6 +455,27 @@ static int dp_trans_fixup(void ** param, int param_no){
return E_INVALID_PARAMS;
}
+static int dp_reload_f(struct sip_msg* msg)
+{
+ struct mi_root* rpl_tree= NULL;
+
+ if (dp_connect_db() < 0) {
+ LM_ERR("failed to reload rules fron database (db connect)\n");
+ return -1;
+ }
+
+ if(dp_load_db() != 0){
+ LM_ERR("failed to reload rules fron database (db load)\n");
+ dp_disconnect_db();
+ return -1;
+ }
+
+ dp_disconnect_db();
+
+ LM_DBG("reloaded dialplan\n");
+ return 1;
+}
+
static struct mi_root * mi_reload_rules(struct mi_root *cmd_tree, void *param)
{
diff --git a/modules/dialplan/doc/dialplan.xml b/modules/dialplan/doc/dialplan.xml
index 386e7eb..8118cbf 100644
--- a/modules/dialplan/doc/dialplan.xml
+++ b/modules/dialplan/doc/dialplan.xml
@@ -36,6 +36,13 @@
<firstname>Olle E.</firstname>
<surname>Johansson</surname>
</editor>
+ <editor>
+ <firstname>Luis</firstname>
+ <surname>Martin</surname>
+ <address>
+ <email>martingil.luis(a)gmail.com</email>
+ </address>
+ </editor>
</authorgroup>
<copyright>
<year>2007-2008</year>
diff --git a/modules/dialplan/doc/dialplan_admin.xml
b/modules/dialplan/doc/dialplan_admin.xml
index 5bfa870..63fc4ce 100644
--- a/modules/dialplan/doc/dialplan_admin.xml
+++ b/modules/dialplan/doc/dialplan_admin.xml
@@ -496,6 +496,22 @@ xlog("translated to var $var(y) \n");
</section>
+ <section id="dispatcher.f.dp_reload">
+ <title>
+ <function moreinfo="none">dp_reload()</function>
+ </title>
+ <para>
+ Forces an update of the translation rules from the database.
+ </para>
+ <para>
+ Name: <emphasis>dp_reload</emphasis>
+ </para>
+ <para>Parameters: <emphasis>none</emphasis></para>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ </section>
+
</section>