mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Pass the callerid & ani to the new b-leg if the current b-leg requests call forwarding
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -202,12 +202,22 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
|
||||
ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s'\n", tmpchan);
|
||||
o->stillgoing = 0;
|
||||
numbusies++;
|
||||
} else if (ast_call(o->chan, tmpchan, 0)) {
|
||||
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
|
||||
o->stillgoing = 0;
|
||||
ast_hangup(o->chan);
|
||||
o->chan = NULL;
|
||||
numbusies++;
|
||||
} else {
|
||||
if (in->callerid && !o->chan->callerid) {
|
||||
o->chan->callerid = malloc(strlen(in->callerid) + 1);
|
||||
strncpy(o->chan->callerid, in->callerid, strlen(in->callerid) + 1);
|
||||
}
|
||||
if (in->ani && !o->chan->ani) {
|
||||
o->chan->ani = malloc(strlen(in->ani) + 1);
|
||||
strncpy(o->chan->ani, in->ani, strlen(in->ani) + 1);
|
||||
}
|
||||
if (ast_call(o->chan, tmpchan, 0)) {
|
||||
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
|
||||
o->stillgoing = 0;
|
||||
ast_hangup(o->chan);
|
||||
o->chan = NULL;
|
||||
numbusies++;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
Reference in New Issue
Block a user