+* 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.
/* 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;
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)
}
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;
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++;
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);
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;
}
} 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;
; 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.
; List all devices we can use. Contexts may also be specified
;
;context=local
-;device=/dev/ixj0
+;device=/dev/phone0