aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-11 17:28:12 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-11 17:28:12 +0000
commitc9f42099fecf8edab66c388be9c857032bcff56b (patch)
treecae366e530267a743a1bbf8e31a2d839e800a59d /channels
parent22e3e768f3c7216bc192775b2a876be051009f28 (diff)
Merged revisions 181345 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r181345 | file | 2009-03-11 14:26:40 -0300 (Wed, 11 Mar 2009) | 21 lines Merged revisions 181328 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r181328 | file | 2009-03-11 14:22:52 -0300 (Wed, 11 Mar 2009) | 14 lines Fix issue where an attended transfer could not be completed under a rare scenario. When completing an attended transfer chan_sip does a check to make sure the extension in the URI portion of the Refer-To header is a local valid extension. We don't actually need to check this since we know for sure the other channel is already up and talking to the extension. Some devices do not put the extension in the Refer-To header either, which can cause the extension check to fail. We now no longer do this check if it is an attended transfer. (closes issue #14628) Reported by: sverre Patches: 14628.diff uploaded by file (license 11) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@181352 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5b6f1c6d5..5021ccd58 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -11295,7 +11295,7 @@ static int get_refer_info(struct sip_pvt *transferer, struct sip_request *outgoi
ast_copy_string(referdata->refer_to_context, transfer_context, sizeof(referdata->refer_to_context));
/* Either an existing extension or the parking extension */
- if (ast_exists_extension(NULL, transfer_context, refer_to, 1, NULL) ) {
+ if (referdata->attendedtransfer || ast_exists_extension(NULL, transfer_context, refer_to, 1, NULL) ) {
if (sip_debug_test_pvt(transferer)) {
ast_verbose("SIP transfer to extension %s@%s by %s\n", refer_to, transfer_context, referred_by_uri);
}