r3261 - trunk/libminisip/source/subsystem_signaling/sip

svn at minisip.org svn at minisip.org
Wed May 9 13:58:31 CEST 2007


Author: erik
Date: 2007-04-26 17:06:43 +0200 (Thu, 26 Apr 2007)
New Revision: 3261

Modified:
   trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx
Log:

 * libminisip: optimization: Set the callId on the proxy_register command
   	that the default handler sends to a newly created SipDialogRegister.
	Setting the destinationId changes the routing complexity from O(N)
	to O(log N) where N is the number of dialogs in the stack.



Modified: trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx
===================================================================
--- trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx	2007-04-26 15:05:16 UTC (rev 3260)
+++ trunk/libminisip/source/subsystem_signaling/sip/DefaultDialogHandler.cxx	2007-04-26 15:06:43 UTC (rev 3261)
@@ -384,6 +384,7 @@
 		MRef<SipDialogRegister*> reg(new SipDialogRegister(sipStack, identity));
 		
 		sipStack->addDialog( MRef<SipDialog*>(*reg) );
+		cmd.setDestinationId( reg->getCallId() );
 		SipSMCommand cmd( cmdstr, SipSMCommand::dialog_layer, SipSMCommand::dialog_layer);
 		sipStack->enqueueCommand(cmd, HIGH_PRIO_QUEUE);
 		return true;



More information about the Minisip-devel mailing list