diff --git a/modules/dialplan/dialplan.c b/modules/dialplan/dialplan.c
index 9a7fe33714e..a0c679af314 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 386e7eb4688..8118cbfc7bd 100644
--- a/modules/dialplan/doc/dialplan.xml
+++ b/modules/dialplan/doc/dialplan.xml
@@ -36,6 +36,13 @@
Olle E.
Johansson
+
+ Luis
+ Martin
+
+ martingil.luis@gmail.com
+
+
2007-2008
diff --git a/modules/dialplan/doc/dialplan_admin.xml b/modules/dialplan/doc/dialplan_admin.xml
index 5bfa8700337..63fc4ced3a7 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");
+
+
+ dp_reload()
+
+
+ Forces an update of the translation rules from the database.
+
+
+ Name: dp_reload
+
+ Parameters: none
+
+ This function can be used from ANY_ROUTE.
+
+
+