Skip to content

Commit

Permalink
Merge pull request #667 from kamailio/luismartingil/dialplan_reload
Browse files Browse the repository at this point in the history
Providing dp_reload function to the cfg
  • Loading branch information
oej committed Jun 10, 2016
2 parents 5a45ba1 + 609110d commit 3f40538
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
24 changes: 24 additions & 0 deletions modules/dialplan/dialplan.c
Expand Up @@ -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;
Expand Down Expand Up @@ -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}
};

Expand Down Expand Up @@ -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)
{
Expand Down
7 changes: 7 additions & 0 deletions modules/dialplan/doc/dialplan.xml
Expand Up @@ -36,6 +36,13 @@
<firstname>Olle E.</firstname>
<surname>Johansson</surname>
</editor>
<editor>
<firstname>Luis</firstname>
<surname>Martin</surname>
<address>
<email>martingil.luis@gmail.com</email>
</address>
</editor>
</authorgroup>
<copyright>
<year>2007-2008</year>
Expand Down
16 changes: 16 additions & 0 deletions modules/dialplan/doc/dialplan_admin.xml
Expand Up @@ -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>


Expand Down

0 comments on commit 3f40538

Please sign in to comment.