[Asterisk-code-review] app_readexten: new option 'p' to stop reading on '#' key (...asterisk[16])

Alexei Gradinari asteriskteam at digium.com
Fri May 17 17:49:36 CDT 2019


Alexei Gradinari has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/11387


Change subject: app_readexten: new option 'p' to stop reading on '#' key
......................................................................

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
---
M apps/app_readexten.c
A doc/CHANGES-staging/app_readexten_pound.txt
2 files changed, 14 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/87/11387/1

diff --git a/apps/app_readexten.c b/apps/app_readexten.c
index c8c9f48..1c9d982 100644
--- a/apps/app_readexten.c
+++ b/apps/app_readexten.c
@@ -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 @@
 	OPT_SKIP = (1 << 0),
 	OPT_INDICATION = (1 << 1),
 	OPT_NOANSWER = (1 << 2),
+	POUND_TO_END_FLAG = (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', POUND_TO_END_FLAG),
 });
 
 static char *app = "ReadExten";
@@ -226,6 +232,11 @@
 				break;
 			}
 
+			if (ast_test_flag(&flags, POUND_TO_END_FLAG) && 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))) {
diff --git a/doc/CHANGES-staging/app_readexten_pound.txt b/doc/CHANGES-staging/app_readexten_pound.txt
new file mode 100644
index 0000000..551f751
--- /dev/null
+++ b/doc/CHANGES-staging/app_readexten_pound.txt
@@ -0,0 +1,3 @@
+Subject: ReadExten
+
+Add 'p' option to stop reading extension if user presses '#' key.

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/11387
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: If77c40c9c8b525885730821e768f5dea71cf04c1
Gerrit-Change-Number: 11387
Gerrit-PatchSet: 1
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20190517/04dae5b2/attachment.html>


More information about the asterisk-code-review mailing list