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:
Martin Pycko
2004-01-15 23:32:27 +00:00
parent 8a8b2d0684
commit e993855421

View File

@@ -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;
}