Voicetronix updates

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2003-06-21 19:51:28 +00:00
parent 4331bbcc1a
commit 842b885e3c

View File

@@ -97,12 +97,11 @@ static int restart_monitor(void);
#define MODE_FXO 3
static VPB_TONE Dialtone = {440, 440, 440, 0, 0, 0, 5000, 0 };
static VPB_TONE Busytone = {440, 0, 0, 0, -100, -100, 500, 500};
static VPB_TONE Ringbacktone = {440, 0, 0, 0, -100, -100, 100, 100};
static VPB_TONE Dialtone = {450, 425, 400, -10, -10, -10, 10000, 0 };
static VPB_TONE Busytone = {425, 0, 0, -10, -100, -100, 500, 500};
static VPB_TONE Ringbacktone = {425, 0, 0, -10, -100, -100, 1000, 3000};
#define VPB_MAX_BRIDGES 128
static struct vpb_bridge_t {
@@ -305,7 +304,11 @@ static inline int monitor_handle_owned(struct vpb_pvt *p, VPB_EVENT *e)
case VPB_STATION_FLASH:
f.subclass = AST_CONTROL_FLASH;
break;
case VPB_DIALEND:
f.subclass = AST_CONTROL_ANSWER;
break;
default:
f.frametype = -1;
break;
@@ -669,7 +672,7 @@ static int vpb_call(struct ast_channel *ast, char *dest, int timeout)
return -1;
}
if (p->mode != MODE_FXO) /* Station port, ring it. */
res = vpb_ring_station_async(p->handle, VPB_RING_STATION_ON);
res = vpb_ring_station_async(p->handle, VPB_RING_STATION_ON,'1');
else {
VPB_CALL call;
@@ -704,7 +707,7 @@ static int vpb_call(struct ast_channel *ast, char *dest, int timeout)
if (res == 0) {
if (timeout) {
vpb_timer_open(&p->timer, p->handle, 0, 1000*timeout);
vpb_timer_open(&p->timer, p->handle, 0, 100*timeout);
vpb_timer_start(p->timer);
}
p->calling = 1;
@@ -733,7 +736,7 @@ static int vpb_hangup(struct ast_channel *ast)
vpb_record_terminate(p->handle);
if (p->mode != MODE_FXO) { /* station port. */
vpb_ring_station_async(p->handle, VPB_RING_STATION_OFF);
vpb_ring_station_async(p->handle, VPB_RING_STATION_OFF,'1');
vpb_playtone_async(p->handle, &Busytone);
} else
@@ -889,7 +892,7 @@ static void *do_chanreads(void *pvt)
while (!p->stopreads && p->owner) {
int res = -1, fmt;
struct ast_channel *owner = p->owner;
int afmt = (owner) ? owner->pvt->rawreadformat : AST_FORMAT_SLINEAR;
int afmt = (owner) ? owner->pvt->rawreadformat : AST_FORMAT_ALAW;
int state = (owner) ? owner->_state : AST_STATE_DOWN;
int readlen;
@@ -975,8 +978,8 @@ static struct ast_channel *vpb_new(struct vpb_pvt *i, int state, char *context)
tmp->type = type;
tmp->nativeformats = prefformat;
tmp->pvt->rawreadformat = AST_FORMAT_SLINEAR;
tmp->pvt->rawwriteformat = AST_FORMAT_SLINEAR;
tmp->pvt->rawreadformat = AST_FORMAT_ALAW;
tmp->pvt->rawwriteformat = AST_FORMAT_ALAW;
ast_setstate(tmp, state);
if (state == AST_STATE_RING)
tmp->rings = 1;