Add the ability to play a courtesy tone to the transfer target in a native SIP attended transfer by setting the variable ATTENEDED_TRANSFER_COMPLETE_SOUND.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.2
Terry Wilson 17 years ago
parent bc03323251
commit f6dda1e544

@ -28,6 +28,8 @@ SIP Changes
* Added a new 'faxdetect=yes|no' configuration option to sip.conf. When this * Added a new 'faxdetect=yes|no' configuration option to sip.conf. When this
option is enabled, a SIP channel will go to the fax extension (if it exists) option is enabled, a SIP channel will go to the fax extension (if it exists)
after T38 is negotiated. This option is disabled by default. after T38 is negotiated. This option is disabled by default.
* If ATTENDED_TRANSFER_COMPLETE_SOUND is set, the sound will be played to the
target of an attended transfer
Skinny Changes Skinny Changes
-------------- --------------

@ -18927,11 +18927,15 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual *
ast_clear_flag(&transferer->flags[0], SIP_DEFER_BYE_ON_TRANSFER); ast_clear_flag(&transferer->flags[0], SIP_DEFER_BYE_ON_TRANSFER);
} else { } else {
/* Transfer succeeded! */ /* Transfer succeeded! */
const char *xfersound = pbx_builtin_getvar_helper(target.chan1, "ATTENDED_TRANSFER_COMPLETE_SOUND");
/* Tell transferer that we're done. */ /* Tell transferer that we're done. */
transmit_notify_with_sipfrag(transferer, seqno, "200 OK", TRUE); transmit_notify_with_sipfrag(transferer, seqno, "200 OK", TRUE);
append_history(transferer, "Xfer", "Refer succeeded"); append_history(transferer, "Xfer", "Refer succeeded");
transferer->refer->status = REFER_200OK; transferer->refer->status = REFER_200OK;
if (target.chan2 && !ast_strlen_zero(xfersound) && ast_streamfile(target.chan2, xfersound, target.chan2->language) >= 0) {
ast_waitstream(target.chan2, "");
}
if (targetcall_pvt->owner) { if (targetcall_pvt->owner) {
ast_debug(1, "SIP attended transfer: Unlocking channel %s\n", targetcall_pvt->owner->name); ast_debug(1, "SIP attended transfer: Unlocking channel %s\n", targetcall_pvt->owner->name);
ast_channel_unlock(targetcall_pvt->owner); ast_channel_unlock(targetcall_pvt->owner);

Loading…
Cancel
Save