dect
/
asterisk
Archived
13
0
Fork 0

Makes 'dialplan add extension' create the specified context if it does not already exist.

If the user invokes 'dialplan add extension' into a non-existing context, the context will be created
and a message informing the user of the context being created will be issued in cli.

(closes issue #17431)
Reported by: leearcher
Patches:
      context_auto_create.diff uploaded by kobaz (license 834)
Tested by: leearcher, kobaz, jrose


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@312678 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
jrose 2011-04-04 17:32:05 +00:00
parent f099ce3599
commit ca2968aadb
2 changed files with 12 additions and 0 deletions

View File

@ -39,6 +39,8 @@ CLI Changes
gtalk.conf.
* The 'logger reload' command now supports an optional argument, specifying an
alternate configuration file to use.
* 'dialplan add extension' command will now automatically create a context if
the specified context does not exist with a message indicated it did so.
CDR
--------------------------

View File

@ -969,6 +969,16 @@ static char *handle_cli_dialplan_add_extension(struct ast_cli_entry *e, int cmd,
if (!exten || !prior || !app || (!app_data && iprior != PRIORITY_HINT))
return CLI_SHOWUSAGE;
if (!ast_context_find(a->argv[5])) {
ast_cli(a->fd, "Context '%s' did not exist prior to add extension - the context will be created.\n", a->argv[5]);
}
if (!ast_context_find_or_create(NULL, NULL, a->argv[5], registrar)) {
ast_cli(a->fd, "ast_context_find_or_create() failed\n");
ast_cli(a->fd, "Failed to add '%s,%s,%s,%s' extension into '%s' context\n", exten, prior, app, app_data, a->argv[5]);
return CLI_FAILURE;
}
if (!app_data)
app_data="";
if (ast_add_extension(a->argv[5], a->argc == 7 ? 1 : 0, exten, iprior, NULL, cidmatch, app,