diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-09 01:03:14 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-09 01:03:14 +0000 |
commit | b3c12310c9524198548fa37ecd916e2e5c83c828 (patch) | |
tree | d1d1a03ce0b6d3edf3e0dd59515050ccf3e8028a /apps | |
parent | 8f73f5ceb4da0535699d2fbbe6e2dd9eb842ca81 (diff) |
Merged revisions 60797 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r60797 | file | 2007-04-08 20:59:29 -0400 (Sun, 08 Apr 2007) | 2 lines
When calling a device that then forwards us elsewhere... we have to make our channels compatible if it is the only channel being dialed. (issue #9445 reported by marcelbarbulescu)
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@60798 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_dial.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 21362443f..d253800f4 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -492,11 +492,12 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct dial_l cause = AST_CAUSE_BUSY; } else { /* Setup parameters */ - c = o->chan = ast_request(tech, in->nativeformats, stuff, &cause); - if (!c) - ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause); - else + if ((c = o->chan = ast_request(tech, in->nativeformats, stuff, &cause))) { + if (single) + ast_channel_make_compatible(o->chan, in); ast_channel_inherit_variables(in, o->chan); + } else + ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause); } } else { if (option_verbose > 2) |