From aa0ab7648c5268d4c7ba2bca8776b89eb2031632 Mon Sep 17 00:00:00 2001 From: markster Date: Tue, 2 May 2000 19:18:58 +0000 Subject: [PATCH] Version 0.1.3 from FTP git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209 f38db490-d61c-443f-a65b-d21fe96a405b --- CHANGES | 9 +++++++++ channels/chan_phone.c | 13 ++++++++++++- configs/phone.conf.sample | 10 +++++----- pbx/Makefile | 2 +- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 573664ce1..7cdb86e43 100755 --- 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. diff --git a/channels/chan_phone.c b/channels/chan_phone.c index 26826d233..cb7e464d3 100755 --- a/channels/chan_phone.c +++ b/channels/chan_phone.c @@ -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; diff --git a/configs/phone.conf.sample b/configs/phone.conf.sample index 72c5393ab..d8eed2697 100755 --- a/configs/phone.conf.sample +++ b/configs/phone.conf.sample @@ -10,15 +10,15 @@ ; 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 diff --git a/pbx/Makefile b/pbx/Makefile index c32e8e686..a81b5f664 100755 --- a/pbx/Makefile +++ b/pbx/Makefile @@ -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`