Add new app
authorMark Spencer <markster@digium.com>
Wed, 16 Apr 2003 13:43:11 +0000 (13:43 +0000)
committerMark Spencer <markster@digium.com>
Wed, 16 Apr 2003 13:43:11 +0000 (13:43 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@858 65c4cc65-6c06-0410-ace0-fbb531ad65f3

asterisk.c
pbx.c

index b0635c7..d90ba73 100755 (executable)
@@ -1191,11 +1191,13 @@ int main(int argc, char *argv[])
                ast_verbose("[ Reading Master Configuration ]");
        ast_readconfig();
 
-       if (el_hist == NULL || el == NULL)
-               ast_el_initialize();
+       if (option_console) {
+                if (el_hist == NULL || el == NULL)
+                        ast_el_initialize();
 
-       if (strlen(filename))
-               ast_el_read_history(filename);
+                if (strlen(filename))
+                        ast_el_read_history(filename);
+       }
 
        if (ast_tryconnect()) {
                /* One is already running */
diff --git a/pbx.c b/pbx.c
index 8d848ee..94979a6 100755 (executable)
--- 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)
 {