summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-04-06 04:14:19 +0000
committerMark Spencer <markster@digium.com>2004-04-06 04:14:19 +0000
commit852422f4abb99a2f7cae86a44d0d5876d0f9ae01 (patch)
tree19ed866fc330c81b249081c0a257e5b6cdd55c8c /pbx.c
parent528c5136022f217b38a0d13df55d5063f5f8d7bd (diff)
Add "WaitExten" application
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/pbx.c b/pbx.c
index 652973b9e..47f78536d 100755
--- a/pbx.c
+++ b/pbx.c
@@ -156,6 +156,7 @@ static int pbx_builtin_dtimeout(struct ast_channel *, void *);
static int pbx_builtin_rtimeout(struct ast_channel *, void *);
static int pbx_builtin_atimeout(struct ast_channel *, void *);
static int pbx_builtin_wait(struct ast_channel *, void *);
+static int pbx_builtin_waitexten(struct ast_channel *, void *);
static int pbx_builtin_setlanguage(struct ast_channel *, void *);
static int pbx_builtin_resetcdr(struct ast_channel *, void *);
static int pbx_builtin_setaccount(struct ast_channel *, void *);
@@ -340,6 +341,13 @@ static struct pbx_builtin {
"Waits for some time",
" Wait(seconds): Waits for a specified number of seconds, then returns 0.\n"
"seconds can be passed with fractions of a second. (eg: 1.5 = 1.5 seconds)\n" },
+
+ { "WaitExten", pbx_builtin_waitexten,
+"Waits for some time",
+" Wait(seconds): Waits for the user to enter a new extension for the \n"
+"specified number of seconds, then returns 0. Seconds can be passed with\n"
+"fractions of a second. (eg: 1.5 = 1.5 seconds)\n" },
+
};
/* Lock for the application list */
@@ -4309,6 +4317,17 @@ static int pbx_builtin_wait(struct ast_channel *chan, void *data)
return 0;
}
+static int pbx_builtin_waitexten(struct ast_channel *chan, void *data)
+{
+ int ms;
+ /* Wait for "n" seconds */
+ if (data && atof((char *)data)) {
+ ms = atof((char *)data) * 1000;
+ return ast_waitfordigit(chan, ms);
+ }
+ return 0;
+}
+
static int pbx_builtin_background(struct ast_channel *chan, void *data)
{
int res;