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: https://origsvn.digium.com/svn/asterisk/branches/1.2@60797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2007-04-09 00:59:29 +00:00
parent 2e1fe209de
commit f2680a35d4

View File

@@ -470,10 +470,12 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, o->chan->name); ast_verbose(VERBOSE_PREFIX_3 "Now forwarding %s to '%s/%s' (thanks to %s)\n", in->name, tech, stuff, o->chan->name);
/* Setup parameters */ /* Setup parameters */
o->chan = ast_request(tech, in->nativeformats, stuff, &cause); o->chan = ast_request(tech, in->nativeformats, stuff, &cause);
if (!o->chan) if (o->chan) {
ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause); if (single)
else ast_channel_make_compatible(o->chan, in);
ast_channel_inherit_variables(in, o->chan); 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 { } else {
if (option_verbose > 2) if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", o->chan->name); ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", o->chan->name);