r3568 - trunk/libmsip/source

erik at minisip.org erik at minisip.org
Tue Mar 18 13:54:13 CET 2008


Author: erik
Date: 2008-03-18 13:54:13 +0100 (Tue, 18 Mar 2008)
New Revision: 3568

Modified:
   trunk/libmsip/source/SipLayerTransport.cxx
Log:

libmsip transport layer fix:
 - The destination ID for transport error messages was sometimes computed
   the wrong way. This meant that it sometimes (for reliable transport)
   took longer than necessary to detect a connection error.

   We asked the packet for what branch it has. We assume it has been set,
   but we could get an exception before we set it. Fix: the branch
   value is sent as parameter to the method, and we use that value.

   What could go wrong is that a transport error is not received by the
   transaction. The transaction will timeout instead. This results in a 
   transport error, but it will take longer to be delivered to the TU, 
   and the error message is less informative.



Modified: trunk/libmsip/source/SipLayerTransport.cxx
===================================================================
--- trunk/libmsip/source/SipLayerTransport.cxx	2008-03-11 23:36:50 UTC (rev 3567)
+++ trunk/libmsip/source/SipLayerTransport.cxx	2008-03-18 12:54:13 UTC (rev 3568)
@@ -988,7 +988,7 @@
 		mdbg("signaling/sip") << "Transport error in SipLayerTransport: " << message << endl;
 		cerr << "SipLayerTransport: sendMessage: exception thrown! " << message << endl;
 #endif
-		CommandString transportError( pack->getBranch()+pack->getCSeqMethod(), 
+		CommandString transportError( branch + pack->getCSeqMethod(), 
 					      SipCommandString::transport_error,
 					      "SipLayerTransport: "+message );
 		SipSMCommand transportErrorCommand(



More information about the Minisip-devel mailing list