mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	app_readexten: new option 'p' to stop reading on '#' key
This patch adds the 'p' option. The extension entered will be considered complete when a # is entered. Change-Id: If77c40c9c8b525885730821e768f5dea71cf04c1
This commit is contained in:
		@@ -63,6 +63,10 @@
 | 
			
		||||
					<option name="n">
 | 
			
		||||
						<para>Read digits even if the channel is not answered.</para>
 | 
			
		||||
					</option>
 | 
			
		||||
					<option name="p">
 | 
			
		||||
						<para>The extension entered will be considered complete when a <literal>#</literal>
 | 
			
		||||
						is entered.</para>
 | 
			
		||||
					</option>
 | 
			
		||||
				</optionlist>
 | 
			
		||||
			</parameter>
 | 
			
		||||
			<parameter name="timeout">
 | 
			
		||||
@@ -100,12 +104,14 @@ enum readexten_option_flags {
 | 
			
		||||
	OPT_SKIP = (1 << 0),
 | 
			
		||||
	OPT_INDICATION = (1 << 1),
 | 
			
		||||
	OPT_NOANSWER = (1 << 2),
 | 
			
		||||
	OPT_POUND_TO_END = (1 << 3),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
AST_APP_OPTIONS(readexten_app_options, {
 | 
			
		||||
	AST_APP_OPTION('s', OPT_SKIP),
 | 
			
		||||
	AST_APP_OPTION('i', OPT_INDICATION),
 | 
			
		||||
	AST_APP_OPTION('n', OPT_NOANSWER),
 | 
			
		||||
	AST_APP_OPTION('p', OPT_POUND_TO_END),
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
static char *app = "ReadExten";
 | 
			
		||||
@@ -226,6 +232,11 @@ static int readexten_exec(struct ast_channel *chan, const char *data)
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (ast_test_flag(&flags, OPT_POUND_TO_END) && res == '#') {
 | 
			
		||||
				exten[x] = 0;
 | 
			
		||||
				break;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			exten[x] = res;
 | 
			
		||||
			if (!ast_matchmore_extension(chan, arglist.context, exten, 1 /* priority */,
 | 
			
		||||
				S_COR(ast_channel_caller(chan)->id.number.valid, ast_channel_caller(chan)->id.number.str, NULL))) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user