diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-10-24 18:22:45 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-10-24 18:22:45 +0000 |
commit | 326a85e10f52280b2facbb2936bed81a60ee2e9f (patch) | |
tree | 0cee71625b74db3e52196edbf5ae8d49fab2ff14 | |
parent | 4c81f60757b61bfcddaa882380c485e42bf392cf (diff) |
Check that there really is a tag
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1663 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/chan_sip.c | 2 | ||||
-rwxr-xr-x | channels/chan_zap.c | 14 | ||||
-rwxr-xr-x | 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 e6cd20e6a..34847fc89 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 1fb850963..2391734eb 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 70d41d37c..8d22e3cbc 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 ; |