summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2003-04-16 13:43:11 +0000
committerMark Spencer <markster@digium.com>2003-04-16 13:43:11 +0000
commitd855fee050203305b171d37621a79f22d3add17a (patch)
treeecc859d35b830eb16a0015f902c162bc75780945 /pbx.c
parent154334a4148a77f1fc6c91021806936083f6d56a (diff)
Add new app
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/pbx.c b/pbx.c
index 8d848eedb..94979a6e1 100755
--- a/pbx.c
+++ b/pbx.c
@@ -25,6 +25,7 @@
#include <asterisk/ast_expr.h>
#include <asterisk/channel_pvt.h>
#include <asterisk/linkedlists.h>
+#include <asterisk/say.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
@@ -166,6 +167,8 @@ static int pbx_builtin_setvar(struct ast_channel *, void *);
static int pbx_builtin_setglobalvar(struct ast_channel *, void *);
static int pbx_builtin_noop(struct ast_channel *, void *);
static int pbx_builtin_gotoif(struct ast_channel *, void *);
+static int pbx_builtin_saynumber(struct ast_channel *, void *);
+static int pbx_builtin_saydigits(struct ast_channel *, void *);
void pbx_builtin_setvar_helper(struct ast_channel *chan, char *name, char *value);
char *pbx_builtin_getvar_helper(struct ast_channel *chan, char *name);
@@ -297,6 +300,14 @@ static struct pbx_builtin {
"omitted (in that case, we just don't take the particular branch) but not\n"
"both. Look for the condition syntax in examples or documentation." },
+ { "SayNumber", pbx_builtin_saynumber,
+"Say Number",
+" SayNumber(digits): Says the passed number\n" },
+
+ { "SayDigits", pbx_builtin_saydigits,
+"Say Digits",
+" SayDigits(digits): Says the passed digits\n" },
+
};
/* Lock for the application list */
@@ -4184,6 +4195,22 @@ static int pbx_builtin_gotoif(struct ast_channel *chan, void *data)
free(s);
return(rc);
}
+
+static int pbx_builtin_saynumber(struct ast_channel *chan, void *data)
+{
+ int res = 0;
+ if (data && atoi((char *)data) )
+ res = ast_say_number(chan, atoi((char *)data), "", chan->language);
+ return res;
+}
+
+static int pbx_builtin_saydigits(struct ast_channel *chan, void *data)
+{
+ int res = 0;
+ if (data && atoi((char *)data))
+ res = ast_say_digits(chan, atoi((char *)data), "", chan->language);
+ return res;
+}
int load_pbx(void)
{