Version 0.1.3 from FTP
authorMark Spencer <markster@digium.com>
Tue, 2 May 2000 19:18:58 +0000 (19:18 +0000)
committerMark Spencer <markster@digium.com>
Tue, 2 May 2000 19:18:58 +0000 (19:18 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209 65c4cc65-6c06-0410-ace0-fbb531ad65f3

CHANGES
channels/chan_phone.c
configs/phone.conf.sample
pbx/Makefile

diff --git a/CHANGES b/CHANGES
index 573664c..7cdb86e 100755 (executable)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,12 @@
+* Asterisk 0.1.3
+ -- Update VoFR for latest sangoma code
+ -- Update QuickNet Driver
+ -- Add text message handling
+ -- Fix transfers to use "default" if not in current context
+ -- Add call parking
+ -- Improve format/content negotiation
+ -- Added support for multiple languages
+ -- Bug fixes, as always...
 * Asterisk 0.1.2
  -- Updated README file with a "Getting Started" section
  -- Added sample sounds and configuration files.
index 26826d2..cb7e464 100755 (executable)
@@ -44,6 +44,8 @@ static char *config = "phone.conf";
 /* Default context for dialtone mode */
 static char context[AST_MAX_EXTENSION] = "default";
 
+/* Default language */
+static char language[MAX_LANGUAGE] = "";
 static int usecnt =0;
 
 static int echocancel = AEC_OFF;
@@ -91,6 +93,7 @@ static struct phone_pvt {
        char context[AST_MAX_EXTENSION];
        char obuf[phone_MAX_BUF * 2];
        char ext[AST_MAX_EXTENSION];
+       char language[MAX_LANGUAGE];
 } *iflist = NULL;
 
 static int phone_digit(struct ast_channel *ast, char digit)
@@ -428,6 +431,8 @@ static int phone_write(struct ast_channel *ast, struct ast_frame *frame)
                }
                maxfr = 480;
        }
+       ioctl(p->fd, PHONE_REC_DEPTH, 3);
+       ioctl(p->fd, PHONE_PLAY_DEPTH, 3);
        if (ioctl(p->fd, PHONE_PLAY_START)) {
                ast_log(LOG_WARNING, "Failed to start playback\n");
                return -1;
@@ -494,6 +499,8 @@ static struct ast_channel *phone_new(struct phone_pvt *i, int state, char *conte
                strncpy(tmp->context, context, sizeof(tmp->context));
                if (strlen(i->ext))
                        strncpy(tmp->exten, i->ext, sizeof(tmp->exten));
+               if (strlen(i->language))
+                       strncpy(tmp->language, i->language, sizeof(tmp->language));
                i->owner = tmp;
                pthread_mutex_lock(&usecnt_lock);
                usecnt++;
@@ -790,12 +797,13 @@ static struct phone_pvt *mkif(char *iface, int mode)
                ioctl(tmp->fd, PHONE_REC_STOP);
                ioctl(tmp->fd, PHONE_RING_STOP);
                ioctl(tmp->fd, PHONE_CPT_STOP);
-               ioctl(tmp->fd, PHONE_REC_DEPTH, 4);
                if (echocancel != AEC_OFF)
                        ioctl(tmp->fd, IXJCTL_AEC_START, echocancel);
                if (silencesupression) 
                        tmp->silencesupression = 1;
+#ifdef PHONE_VAD
                ioctl(tmp->fd, PHONE_VAD, tmp->silencesupression);
+#endif
                tmp->mode = mode;
 #if 0
                flags = fcntl(tmp->fd, F_GETFL);
@@ -806,6 +814,7 @@ static struct phone_pvt *mkif(char *iface, int mode)
                tmp->lastinput = -1;
                tmp->ministate = 0;
                memset(tmp->ext, 0, sizeof(tmp->ext));
+               strncpy(tmp->language, language, sizeof(tmp->language));
                strncpy(tmp->dev, iface, sizeof(tmp->dev));
                strncpy(tmp->context, context, sizeof(tmp->context));
                tmp->next = NULL;
@@ -884,6 +893,8 @@ int load_module()
                                }
                } else if (!strcasecmp(v->name, "silencesupression")) {
                        silencesupression = ast_true(v->value);
+               } else if (!strcasecmp(v->name, "language")) {
+                       strncpy(language, v->value, sizeof(language));
                } else if (!strcasecmp(v->name, "mode")) {
                        if (!strncasecmp(v->value, "di", 2)) 
                                mode = MODE_DIALTONE;
index 72c5393..d8eed26 100755 (executable)
 ; immediately provides the PBX without reading any digits or providing 
 ; any dialtone (this is the immediate mode, the default)
 ;
-;mode=immediate
-mode=dialtone
+mode=immediate
+;mode=dialtone
 ;
 ; You can decide which format to use by default, "g723.1" or "slinear".
 ; XXX Be careful, sometimes the card causes kernel panics when running
 ; in signed linear mode for some reason... XXX
 ;
-;format=slinear
-format=g723.1
+format=slinear
+;format=g723.1
 ;
 ; And set the echo cancellation to "off", "low", "medium", and "high".
 ; This is not supported on all phones.
@@ -32,4 +32,4 @@ echocancel=medium
 ; List all devices we can use.  Contexts may also be specified
 ;
 ;context=local
-;device=/dev/ixj0
+;device=/dev/phone0
index c32e8e6..a81b5f6 100755 (executable)
@@ -18,7 +18,7 @@ PBX_LIBS=pbx_config.so             # pbx_gtkconsole.so pbx_kdeconsole.so
 # Add GTK console if appropriate
 PBX_LIBS+=$(shell gtk-config --cflags >/dev/null 2>/dev/null && echo "pbx_gtkconsole.so")
 # Add KDE Console if appropriate
-PBX_LIBS+=$(shell [ "$$QTDIR" != "" ] && echo "pbx_kdeconsole.so")
+#PBX_LIBS+=$(shell [ "$$QTDIR" != "" ] && echo "pbx_kdeconsole.so")
 
 
 GTK_FLAGS=`gtk-config --cflags gthread`