Restore original functionality of 1.2 in places where ANI was not set, but was

changed to be set.  The original change was done to ensure that the behavior of
the "callerid" option in each channel driver was consistent, but it caused an
unexpected behavior change of CDR records for users, so this change is being
reverted in 1.2.  (issue #7695)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@41411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Russell Bryant 20 years ago
parent 6b466228c4
commit e174a3c762

@ -328,14 +328,14 @@ static int features_call(struct ast_channel *ast, char *dest, int timeout)
ast_mutex_lock(&p->lock);
x = indexof(p, ast, 0);
if (!x && p->subchan) {
ast_set_callerid(p->subchan,
p->owner->cid.cid_num, p->owner->cid.cid_name,
p->owner->cid.cid_ani ? p->owner->cid.cid_ani : p->owner->cid.cid_num);
if (p->owner->cid.cid_rdnis)
p->subchan->cid.cid_rdnis = strdup(p->owner->cid.cid_rdnis);
else
p->subchan->cid.cid_rdnis = NULL;
p->subchan->cid.cid_name = p->owner->cid.cid_name ?
strdup(p->owner->cid.cid_name) : NULL;
p->subchan->cid.cid_num = p->owner->cid.cid_num ?
strdup(p->owner->cid.cid_num) : NULL;
p->subchan->cid.cid_ani = p->owner->cid.cid_ani ?
strdup(p->owner->cid.cid_ani) : NULL;
p->subchan->cid.cid_rdnis = p->owner->cid.cid_rdnis ?
strdup(p->owner->cid.cid_rdnis) : NULL;
p->subchan->cid.cid_pres = p->owner->cid.cid_pres;
strncpy(p->subchan->language, p->owner->language, sizeof(p->subchan->language) - 1);

@ -770,13 +770,10 @@ static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const c
ch->amaflags = pvt->amaflags;
}
if (!ast_strlen_zero(pvt->cid_num)) {
if (!ast_strlen_zero(pvt->cid_num))
ch->cid.cid_num = strdup(pvt->cid_num);
ch->cid.cid_ani = strdup(pvt->cid_num);
} else if (!ast_strlen_zero(pvt->cd.call_source_e164)) {
else if (!ast_strlen_zero(pvt->cd.call_source_e164))
ch->cid.cid_num = strdup(pvt->cd.call_source_e164);
ch->cid.cid_ani = strdup(pvt->cd.call_source_e164);
}
if (!ast_strlen_zero(pvt->cid_name))
ch->cid.cid_name = strdup(pvt->cid_name);

@ -3448,8 +3448,6 @@ static struct ast_channel *ast_iax2_new(int callno, int state, int capability)
tmp->cid.cid_name = strdup(i->cid_name);
if (!ast_strlen_zero(i->ani))
tmp->cid.cid_ani = strdup(i->ani);
else if (!ast_strlen_zero(i->cid_num))
tmp->cid.cid_ani = strdup(i->cid_num);
tmp->cid.cid_pres = i->calling_pres;
tmp->cid.cid_ton = i->calling_ton;
tmp->cid.cid_tns = i->calling_tns;

@ -339,7 +339,7 @@ static int local_call(struct ast_channel *ast, char *dest, int timeout)
ast_set_callerid(p->chan,
p->owner->cid.cid_num, p->owner->cid.cid_name,
p->owner->cid.cid_ani ? p->chan->cid.cid_ani : p->owner->cid.cid_num);
p->owner->cid.cid_ani);
if (p->owner->cid.cid_rdnis)
p->chan->cid.cid_rdnis = strdup(p->owner->cid.cid_rdnis);

@ -1429,10 +1429,8 @@ static struct ast_channel *mgcp_new(struct mgcp_subchannel *sub, int state)
strncpy(tmp->context, i->context, sizeof(tmp->context)-1);
strncpy(tmp->exten, i->exten, sizeof(tmp->exten)-1);
if (!ast_strlen_zero(i->cid_num)) {
if (!ast_strlen_zero(i->cid_num))
tmp->cid.cid_num = strdup(i->cid_num);
tmp->cid.cid_ani = strdup(i->cid_num);
}
if (!ast_strlen_zero(i->cid_name))
tmp->cid.cid_name = strdup(i->cid_name);
@ -2630,7 +2628,7 @@ static void *mgcp_ss(void *data)
ast_set_callerid(chan,
p->hidecallerid ? "" : p->cid_num,
p->hidecallerid ? "" : p->cid_name,
chan->cid.cid_ani ? NULL : p->cid_num);
p->cid_num);
ast_setstate(chan, AST_STATE_RING);
/*zt_enable_ec(p);*/
if (p->dtmfmode & MGCP_DTMF_HYBRID) {

@ -2706,10 +2706,8 @@ static struct ast_channel *misdn_new(struct chan_list *chlist, int state, char
ast_callerid_parse(callerid, &cid_name, &cid_num);
if (!ast_strlen_zero(cid_num)) {
if (!ast_strlen_zero(cid_num))
tmp->cid.cid_num = strdup(cid_num);
tmp->cid.cid_ani = strdup(cid_num);
}
if (!ast_strlen_zero(cid_name))
tmp->cid.cid_name = strdup(cid_name);
}

@ -826,10 +826,8 @@ static struct ast_channel *phone_new(struct phone_pvt *i, int state, char *conte
if (!ast_strlen_zero(i->language))
strncpy(tmp->language, i->language, sizeof(tmp->language)-1);
if (!ast_strlen_zero(i->cid_num)) {
if (!ast_strlen_zero(i->cid_num))
tmp->cid.cid_num = strdup(i->cid_num);
tmp->cid.cid_ani = strdup(i->cid_num);
}
if (!ast_strlen_zero(i->cid_name))
tmp->cid.cid_name = strdup(i->cid_name);

@ -2824,10 +2824,8 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, char *title)
ast_copy_string(tmp->context, i->context, sizeof(tmp->context));
ast_copy_string(tmp->exten, i->exten, sizeof(tmp->exten));
if (!ast_strlen_zero(i->cid_num)) {
if (!ast_strlen_zero(i->cid_num))
tmp->cid.cid_num = strdup(i->cid_num);
tmp->cid.cid_ani = strdup(i->cid_num);
}
if (!ast_strlen_zero(i->cid_name))
tmp->cid.cid_name = strdup(i->cid_name);
if (!ast_strlen_zero(i->rdnis))

@ -1746,7 +1746,7 @@ static void *skinny_ss(void *data)
ast_set_callerid(chan,
l->hidecallerid ? "" : l->cid_num,
l->hidecallerid ? "" : l->cid_name,
chan->cid.cid_ani ? NULL : l->cid_num);
NULL);
ast_setstate(chan, AST_STATE_RING);
res = ast_pbx_run(chan);
if (res) {
@ -2280,10 +2280,8 @@ static struct ast_channel *skinny_new(struct skinny_subchannel *sub, int state)
strncpy(tmp->context, l->context, sizeof(tmp->context)-1);
strncpy(tmp->exten,l->exten, sizeof(tmp->exten)-1);
if (!ast_strlen_zero(l->cid_num)) {
if (!ast_strlen_zero(l->cid_num))
tmp->cid.cid_num = strdup(l->cid_num);
tmp->cid.cid_ani = strdup(l->cid_num);
}
if (!ast_strlen_zero(l->cid_name))
tmp->cid.cid_name = strdup(l->cid_name);

Loading…
Cancel
Save