Add "WaitExten" application
authorMark Spencer <markster@digium.com>
Tue, 6 Apr 2004 04:14:19 +0000 (04:14 +0000)
committerMark Spencer <markster@digium.com>
Tue, 6 Apr 2004 04:14:19 +0000 (04:14 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2633 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx.c

diff --git a/pbx.c b/pbx.c
index 652973b..47f7853 100755 (executable)
--- 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;