[asterisk-bugs] [Asterisk 0010489]: Blind Transfer broken in 1.4.10.1
noreply at bugs.digium.com
noreply at bugs.digium.com
Sun Aug 19 06:52:43 CDT 2007
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=10489
======================================================================
Reported By: rayjay
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 10489
Category: Resources/res_features
Reproducibility: always
Severity: major
Priority: normal
Status: new
Asterisk Version: 1.4.10.1
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 08-18-2007 06:44 CDT
Last Modified: 08-19-2007 06:52 CDT
======================================================================
Summary: Blind Transfer broken in 1.4.10.1
Description:
Blind transfer is no longer working in 1.4.10.1 due to a change in the code
of res_features.c since 1.4.9. I am using SIP channels. Attended transfer
is unaffected. I put back the 1.4.9 version of res_features.c and blind
transfers worked correctly again, so seems to be a problem in the recent
changes in this file. Below is a diff between 1.4.9 and 1.4.10.1 with 5
lines of context.
***************
*** 697,714 ****
}
if (transferer->cdr) {
ast_cdr_setdestchan(transferer->cdr,
transferee->name);
ast_cdr_setapp(transferer->cdr,
"BLINDTRANSFER","");
}
! if (!transferee->pbx)
res = -1;
!
! if (option_verbose > 2)
! ast_verbose(VERBOSE_PREFIX_3 "Transferring %s to
'%s' (context %s) priority 1\n"
! ,transferee->name, xferto,
transferer_real_context);
! if (ast_async_goto(transferee, transferer_real_context,
xferto, 1))
! ast_log(LOG_WARNING, "Async goto failed :-(\n");
check_goto_on_transfer(transferer);
return res;
} else {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Unable to find
extension '%s' in context '%s'\n", xferto, transferer_real_context);
--- 697,718 ----
}
if (transferer->cdr) {
ast_cdr_setdestchan(transferer->cdr,
transferee->name);
ast_cdr_setapp(transferer->cdr,
"BLINDTRANSFER","");
}
! if (!transferee->pbx) {
! /* Doh! Use our handy async_goto functions */
! if (option_verbose > 2)
! ast_verbose(VERBOSE_PREFIX_3 "Transferring
%s to '%s' (context %s) priority 1\n"
!
,transferee->name, xferto, transferer_real_context);
! if (ast_async_goto(transferee,
transferer_real_context, xferto, 1))
! ast_log(LOG_WARNING, "Async goto failed
:-(\n");
res = -1;
! } else {
! /* Set the channel's new extension, since it
exists, using transferer context */
! set_c_e_p(transferee, transferer_real_context,
xferto, 0);
! }
check_goto_on_transfer(transferer);
return res;
} else {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Unable to find
extension '%s' in context '%s'\n", xferto, transferer_real_context);
======================================================================
----------------------------------------------------------------------
ruffle - 08-19-07 06:52
----------------------------------------------------------------------
Argh! (just spent ages chasing this down too). I confirm that applying
the diff restores blind transfers to their full glory (ie they work!)
Issue History
Date Modified Username Field Change
======================================================================
08-19-07 06:52 ruffle Note Added: 0069058
======================================================================
More information about the asterisk-bugs
mailing list