r2646 - trunk/libmsip/source/dialogs

mikma at minisip.org mikma at minisip.org
Wed Jun 7 23:47:33 CEST 2006


Author: mikma
Date: 2006-06-07 23:47:32 +0200 (Wed, 07 Jun 2006)
New Revision: 2646

Modified:
   trunk/libmsip/source/dialogs/SipDialog.cxx
Log:
Replace an existing early dialog if a 2xx response with another To-tag is
received. Fix problems with forking.


Modified: trunk/libmsip/source/dialogs/SipDialog.cxx
===================================================================
--- trunk/libmsip/source/dialogs/SipDialog.cxx	2006-06-07 16:34:48 UTC (rev 2645)
+++ trunk/libmsip/source/dialogs/SipDialog.cxx	2006-06-07 21:47:32 UTC (rev 2646)
@@ -317,6 +317,11 @@
 		if( toTag == "" ) {
 			return false;
 		}
+		if( isEstablished && toTag != remoteTag ){
+			cerr << "SipDialogState: Multiple early dialogs unsupported" << endl;
+			return false;
+		}
+
 		isEarly = true;
 	} else {
 		isEarly = false;
@@ -341,7 +346,7 @@
 		//merr << "dialog state has a routeset" << end;
 	}
 
-	if( isEstablished )
+	if( isEstablished && ( isEarly || toTag == remoteTag ) )
 		// Update route set only for an existing dialog
 		return true;
 	



More information about the Minisip-devel mailing list