[asterisk-commits] mmichelson: branch 1.6.1 r199963 - in /branches/1.6.1: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jun 10 15:18:29 CDT 2009


Author: mmichelson
Date: Wed Jun 10 15:18:21 2009
New Revision: 199963

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=199963
Log:
Merged revisions 199958 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
  r199958 | mmichelson | 2009-06-10 15:15:48 -0500 (Wed, 10 Jun 2009) | 6 lines
  
  Only try to use the invite_branch on outgoing INVITEs with auth credentials.
  
  I have added a comment to the code to help ease understanding of the logic here
  as well.
........

Modified:
    branches/1.6.1/   (props changed)
    branches/1.6.1/channels/chan_sip.c

Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.1/channels/chan_sip.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.6.1/channels/chan_sip.c?view=diff&rev=199963&r1=199962&r2=199963
==============================================================================
--- branches/1.6.1/channels/chan_sip.c (original)
+++ branches/1.6.1/channels/chan_sip.c Wed Jun 10 15:18:21 2009
@@ -8167,7 +8167,11 @@
 		seqno = p->ocseq;
 	}
 	
-	if (sipmethod == SIP_CANCEL || sipmethod == SIP_INVITE) {
+	/* A CANCEL must have the same branch as the INVITE that it is canceling.
+	 * Similarly, if we need to re-send an INVITE with auth credentials, then we
+	 * need to use the same branch as we did the first time we sent the INVITE.
+	 */
+	if (sipmethod == SIP_CANCEL || (sipmethod == SIP_INVITE && !ast_strlen_zero(p->options->auth))) {
 		p->branch = p->invite_branch;
 		build_via(p);
 	} else if (newbranch) {




More information about the asterisk-commits mailing list