mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	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: https://origsvn.digium.com/svn/asterisk/trunk@312678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										2
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								CHANGES
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
--------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user