diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-30 18:59:44 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-30 18:59:44 +0000 |
commit | 08c0676027867a231168802e1ce5c98c03562d1c (patch) | |
tree | f2ea497332b2cecd53cfb343c9724aa4dd6074ac /channels | |
parent | 239eceb889bc4f7c157ec21138e027219234543e (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.2@41411 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_features.c | 16 | ||||
-rw-r--r-- | channels/chan_h323.c | 7 | ||||
-rw-r--r-- | channels/chan_iax2.c | 2 | ||||
-rw-r--r-- | channels/chan_local.c | 2 | ||||
-rw-r--r-- | channels/chan_mgcp.c | 6 | ||||
-rw-r--r-- | channels/chan_misdn.c | 4 | ||||
-rw-r--r-- | channels/chan_phone.c | 4 | ||||
-rw-r--r-- | channels/chan_sip.c | 4 | ||||
-rw-r--r-- | channels/chan_skinny.c | 6 |
9 files changed, 18 insertions, 33 deletions
diff --git a/channels/chan_features.c b/channels/chan_features.c index 38565ee41..5f680130b 100644 --- a/channels/chan_features.c +++ b/channels/chan_features.c @@ -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); diff --git a/channels/chan_h323.c b/channels/chan_h323.c index 814c546f9..b86d684c8 100644 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -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); diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 61fc2ca36..f57853ae0 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -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; diff --git a/channels/chan_local.c b/channels/chan_local.c index 069005902..a28964167 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -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); diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index cb3c3d7ce..14b187426 100644 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -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) { diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 5b322f6bf..c6dc75920 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -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); } diff --git a/channels/chan_phone.c b/channels/chan_phone.c index 18fc8eaf8..65257d507 100644 --- a/channels/chan_phone.c +++ b/channels/chan_phone.c @@ -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); diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 636760f88..2e0a662ef 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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)) diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index e4ffe8165..1dc6c8c2a 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -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); |