Merged revisions 181032-181033 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r181032 | mmichelson | 2009-03-10 19:46:47 -0500 (Tue, 10 Mar 2009) | 19 lines
  
  Merged revisions 181029,181031 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r181029 | mmichelson | 2009-03-10 19:30:26 -0500 (Tue, 10 Mar 2009) | 9 lines
    
    Fix incorrect tag checking on transfers when pedantic=yes is enabled.
    
    (closes issue #14611)
    Reported by: klaus3000
    Patches:
          patch_chan_sip_attended_transfer_1.4.23.txt uploaded by klaus3000 (license 65)
    Tested by: klaus3000
  ........
    r181031 | mmichelson | 2009-03-10 19:32:40 -0500 (Tue, 10 Mar 2009) | 3 lines
    
    Remove unused variables.
  ........
................
  r181033 | mmichelson | 2009-03-10 19:49:00 -0500 (Tue, 10 Mar 2009) | 3 lines
  
  Add missing comment that quotes RFC 3891
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@181034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Mark Michelson 16 years ago
parent a993cd8adc
commit d90ef47592

@ -11092,6 +11092,21 @@ static struct sip_pvt *get_sip_pvt_byid_locked(const char *callid, const char *t
(With a forking SIP proxy, several call legs share the
call id, but have different tags)
*/
/* RFC 3891
* > 3. User Agent Server Behavior: Receiving a Replaces Header
* > The Replaces header contains information used to match an existing
* > SIP dialog (call-id, to-tag, and from-tag). Upon receiving an INVITE
* > with a Replaces header, the User Agent (UA) attempts to match this
* > information with a confirmed or early dialog. The User Agent Server
* > (UAS) matches the to-tag and from-tag parameters as if they were tags
* > present in an incoming request. In other words, the to-tag parameter
* > is compared to the local tag, and the from-tag parameter is compared
* > to the remote tag.
*
* Thus, the totag is always compared to the local tag, regardless if
* this our call is an incoming or outgoing call.
*/
if (pedanticsipchecking && (strcmp(fromtag, sip_pvt_ptr->theirtag) || (!ast_strlen_zero(totag) && strcmp(totag, ourtag))))
match = 0;

Loading…
Cancel
Save