https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r279227 | rmudgett | 2010-07-23 17:20:47 -0500 (Fri, 23 Jul 2010) | 21 lines
Merged revisions 279207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r279207 | rmudgett | 2010-07-23 17:11:23 -0500 (Fri, 23 Jul 2010) | 14 lines
Merged revisions 279206 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r279206 | rmudgett | 2010-07-23 16:56:44 -0500 (Fri, 23 Jul 2010) | 7 lines
SIP promiscuous redirect could fail to dial the redirect.
The ast_channel was created with one variable to ast_request() but the
call to ast_call() that initiates the outgoing call was using a different
variable. The two variables are not equivalent if the call_forward string
included a channel technology specifier. e.g., SIP/200
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279245
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
ast_ignore_cc(o->chan);
ast_log(LOG_NOTICE, "Not accepting call completion offers from call-forward recipient %s\n", o->chan->name);
} else
- ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause);
+ ast_log(LOG_NOTICE,
+ "Forwarding failed to create channel to dial '%s/%s' (cause = %d)\n",
+ tech, stuff, cause);
}
if (!c) {
ast_clear_flag64(o, DIAL_STILLGOING);
ast_channel_unlock(in);
- if (ast_call(c, tmpchan, 0)) {
- ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
+ if (ast_call(c, stuff, 0)) {
+ ast_log(LOG_NOTICE, "Forwarding failed to dial '%s/%s'\n",
+ tech, stuff);
ast_clear_flag64(o, DIAL_STILLGOING);
ast_hangup(original);
ast_hangup(c);
/* Setup parameters */
o->chan = ast_request(tech, in->nativeformats, in, stuff, &status);
if (!o->chan) {
- ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s'\n", tech, stuff);
+ ast_log(LOG_NOTICE,
+ "Forwarding failed to create channel to dial '%s/%s'\n",
+ tech, stuff);
o->stillgoing = 0;
numnochan++;
} else {
update_connectedline = 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);
+ if (ast_call(o->chan, stuff, 0)) {
+ ast_log(LOG_NOTICE, "Forwarding failed to dial '%s/%s'\n",
+ tech, stuff);
ast_channel_unlock(o->chan);
do_hang(o);
numnochan++;