mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-19 09:55:41 -07:00
fixes sip native transfer
The Refer-To header field containing the Replaces header in the URI was not being decoded properly. This caused invalid parsing between the caller id field and the domain resulting in a failed transfer. (closes issue #17284) Reported by: dvossel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
+1
-2
@@ -13737,6 +13737,7 @@ static int get_refer_info(struct sip_pvt *transferer, struct sip_request *outgoi
|
||||
/* This is an attended transfer */
|
||||
referdata->attendedtransfer = 1;
|
||||
ast_copy_string(referdata->replaces_callid, ptr+9, sizeof(referdata->replaces_callid));
|
||||
ast_uri_decode(referdata->replaces_callid);
|
||||
if ((ptr = strchr(referdata->replaces_callid, ';'))) /* Find options */ {
|
||||
*ptr++ = '\0';
|
||||
}
|
||||
@@ -13754,7 +13755,6 @@ static int get_refer_info(struct sip_pvt *transferer, struct sip_request *outgoi
|
||||
*to = '\0';
|
||||
if ((to = strchr(ptr, ';')))
|
||||
*to = '\0';
|
||||
ast_uri_decode(ptr);
|
||||
ast_copy_string(referdata->replaces_callid_totag, ptr, sizeof(referdata->replaces_callid_totag));
|
||||
}
|
||||
|
||||
@@ -13764,7 +13764,6 @@ static int get_refer_info(struct sip_pvt *transferer, struct sip_request *outgoi
|
||||
*to = '\0';
|
||||
if ((to = strchr(ptr, ';')))
|
||||
*to = '\0';
|
||||
ast_uri_decode(ptr);
|
||||
ast_copy_string(referdata->replaces_callid_fromtag, ptr, sizeof(referdata->replaces_callid_fromtag));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user