From c6569f51778b186c685d0bfb1781fd20a3d00d83 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Fri, 24 Oct 2003 18:22:45 +0000 Subject: [PATCH] Check that there really is a tag git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1663 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 2 +- channels/chan_zap.c | 14 ++++++++++---- configs/zapata.conf.sample | 4 ++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e6cd20e6a2..34847fc89d 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1629,7 +1629,7 @@ static struct sip_pvt *find_call(struct sip_request *req, struct sockaddr_in *si p = iflist; while(p) { if (!strcmp(p->callid, callid) && - (!pedanticsipchecking || !strlen(p->theirtag) || !strcmp(p->theirtag, tag))) { + (!pedanticsipchecking || !tag || !strlen(p->theirtag) || !strcmp(p->theirtag, tag))) { /* Found the call */ ast_mutex_lock(&p->lock); ast_mutex_unlock(&iflock); diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 1fb8509633..2391734eb4 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -188,6 +188,8 @@ static int amaflags = 0; static int adsi = 0; +static int numbufs = 4; + #ifdef ZAPATA_PRI static int minunused = 2; static int minidle = 0; @@ -659,7 +661,7 @@ static int alloc_sub(struct zt_pvt *p, int x) if (!res) { bi.txbufpolicy = ZT_POLICY_IMMEDIATE; bi.rxbufpolicy = ZT_POLICY_IMMEDIATE; - bi.numbufs = 4; + bi.numbufs = numbufs; res = ioctl(p->subs[x].zfd, ZT_SET_BUFINFO, &bi); if (res < 0) { ast_log(LOG_WARNING, "Unable to set buffer policy on channel %d\n", x); @@ -5116,7 +5118,7 @@ static struct zt_pvt *mkintf(int channel, int signalling, int radio) if (!res) { bi.txbufpolicy = ZT_POLICY_IMMEDIATE; bi.rxbufpolicy = ZT_POLICY_IMMEDIATE; - bi.numbufs = 4; + bi.numbufs = numbufs; res = ioctl(tmp->subs[SUB_REAL].zfd, ZT_SET_BUFINFO, &bi); if (res < 0) { ast_log(LOG_WARNING, "Unable to set buffer policy on channel %d\n", channel); @@ -5301,7 +5303,7 @@ static struct zt_pvt *chandup(struct zt_pvt *src) if (!res) { bi.txbufpolicy = ZT_POLICY_IMMEDIATE; bi.rxbufpolicy = ZT_POLICY_IMMEDIATE; - bi.numbufs = 4; + bi.numbufs = numbufs; res = ioctl(p->subs[SUB_REAL].zfd, ZT_SET_BUFINFO, &bi); if (res < 0) { ast_log(LOG_WARNING, "Unable to set buffer policy on dup channel\n"); @@ -6267,7 +6269,7 @@ static int start_pri(struct zt_pri *pri) } bi.txbufpolicy = ZT_POLICY_IMMEDIATE; bi.rxbufpolicy = ZT_POLICY_IMMEDIATE; - bi.numbufs = 8; + bi.numbufs = 16; bi.bufsize = 1024; if (ioctl(pri->fd, ZT_SET_BUFINFO, &bi)) { ast_log(LOG_ERROR, "Unable to set appropriate buffering on channel %d\n", x); @@ -6781,6 +6783,8 @@ int load_module() strncpy(musicclass, v->value, sizeof(musicclass)-1); } else if (!strcasecmp(v->name, "stripmsd")) { stripmsd = atoi(v->value); + } else if (!strcasecmp(v->name, "jitterbuffers")) { + numbufs = atoi(v->value); } else if (!strcasecmp(v->name, "group")) { cur_group = ast_get_group(v->value); } else if (!strcasecmp(v->name, "callgroup")) { @@ -7319,6 +7323,8 @@ static int reload_zt(void) ast_mutex_unlock(&iflock); return -1; } + } else if (!strcasecmp(v->name, "jitterbuffers")) { + numbufs = atoi(v->value); } else if (!strcasecmp(v->name, "minunused")) { minunused = atoi(v->value); } else if (!strcasecmp(v->name, "idleext")) { diff --git a/configs/zapata.conf.sample b/configs/zapata.conf.sample index 70d41d37c3..8d22e3cbc0 100755 --- a/configs/zapata.conf.sample +++ b/configs/zapata.conf.sample @@ -234,6 +234,10 @@ immediate=no ;minunused=2 ;minidle=1 ; +; Configure jitter buffers in zapata (each one is 20ms, default is 4) +; +;jitterbuffers=4 +; ; Each channel consists of the channel number or range. It ; inherits the parameters that were specified above its declaration ;