From: Joshua Colp Date: Mon, 9 Apr 2007 00:59:29 +0000 (+0000) Subject: When calling a device that then forwards us elsewhere... we have to make our channels... X-Git-Tag: 1.2.18~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2680a35d482e0ca6a9a419ac7367cf89dd1e8fa;p=thirdparty%2Fasterisk.git 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 --- diff --git a/apps/app_dial.c b/apps/app_dial.c index f3d1c268b1..d900a14d23 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -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); /* Setup parameters */ o->chan = ast_request(tech, in->nativeformats, stuff, &cause); - if (!o->chan) - ast_log(LOG_NOTICE, "Unable to create local channel for call forward to '%s/%s' (cause = %d)\n", tech, stuff, cause); - else + if (o->chan) { + 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) ast_verbose(VERBOSE_PREFIX_3 "Too many forwards from %s\n", o->chan->name);