r3456 - in trunk: libminisip/source libminisip/source/subsystem_gui libminisip/source/subsystem_signaling/sip libmnetutil/source libmsip/include/libmsip libmsip/source minisip/minisip/gui/gtkgui

erik at minisip.org erik at minisip.org
Fri Nov 2 17:52:52 CET 2007


Author: erik
Date: 2007-11-02 17:52:51 +0100 (Fri, 02 Nov 2007)
New Revision: 3456

Modified:
   trunk/libminisip/source/Minisip.cxx
   trunk/libminisip/source/subsystem_gui/ConsoleDebugger.cxx
   trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx
   trunk/libmnetutil/source/FileUrl.cxx
   trunk/libmsip/include/libmsip/SipStack.h
   trunk/libmsip/source/SipDialogConfig.cxx
   trunk/libmsip/source/SipStackInternal.cxx
   trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx
Log:

The attributes called localUdpPort, localTcpPort and localTlsPort in
SipStackConfig are loaded from and saved to as the port that the user
wants
the SIP stack to use. Today, minisip aborts if that port can not be used.
It should instead try a random port if that port can not be used.

 -> Rename local{Udp,Tcp,Tls}Port to preferedLocal{Udp,Tcp,Tls}Port.

    Note that once we make the SIP stack fall back to using another port
    this attribute can not be used to determina what port is actually
    used.

    This commit does not alter any behavour of minisip.


Two warnings in libmnetutil has also been fixed.




Modified: trunk/libminisip/source/Minisip.cxx
===================================================================
--- trunk/libminisip/source/Minisip.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libminisip/source/Minisip.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -345,9 +345,10 @@
 		// FIXME: This should be done more often
 		localIpString = externalContactIP = ipProvider->getExternalIp();                
 
-		MRef<UDPSocket*> udpSocket = new UDPSocket( phoneConf->sipStackConfig->localUdpPort );
+		MRef<UDPSocket*> udpSocket = new UDPSocket( phoneConf->sipStackConfig->preferedLocalUdpPort );
 
-		phoneConf->sipStackConfig->localUdpPort = ipProvider->getExternalPort( udpSocket );
+		//FIXME: We should not update the prefered port
+		phoneConf->sipStackConfig->preferedLocalUdpPort = ipProvider->getExternalPort( udpSocket );
 		phoneConf->sipStackConfig->localIpString = externalContactIP;
 		phoneConf->sipStackConfig->externalContactIP = externalContactIP;
 		if( ip6Provider )

Modified: trunk/libminisip/source/subsystem_gui/ConsoleDebugger.cxx
===================================================================
--- trunk/libminisip/source/subsystem_gui/ConsoleDebugger.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libminisip/source/subsystem_gui/ConsoleDebugger.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -288,9 +288,9 @@
 		<< "    localIp6String="<< config->sipStackConfig->localIp6String << endl
 		<< "    externalContactIP=" << config->sipStackConfig->externalContactIP << endl
 		<< "    externalContactUdpPort=" << config->sipStackConfig->externalContactUdpPort << endl
-		<< "    localUdpPort="<< config->sipStackConfig->localUdpPort << endl
-		<< "    localTcpPort="<< config->sipStackConfig->localTcpPort << endl
-		<< "    localTlsPort="<< config->sipStackConfig->localTlsPort << endl
+		<< "    preferedLocalUdpPort="<< config->sipStackConfig->preferedLocalUdpPort << endl //TODO: output actual port in use as well?
+		<< "    preferedLocalTcpPort="<< config->sipStackConfig->preferedLocalTcpPort << endl
+		<< "    preferedLocalTlsPort="<< config->sipStackConfig->preferedLocalTlsPort << endl
 		<< "    autoAnswer="<< config->sipStackConfig->autoAnswer<<endl
 		<< "    use100Rel="<< config->sipStackConfig->use100Rel<< endl
 		<< "    instanceId="<< config->sipStackConfig->instanceId<<endl

Modified: trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx
===================================================================
--- trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -106,9 +106,9 @@
 	//Set the version of the file ...
 	backend->save( "version", CONFIG_FILE_VERSION_REQUIRED );
 
-	backend->save( "local_udp_port", sipStackConfig->localUdpPort );
-	backend->save( "local_tcp_port", sipStackConfig->localTcpPort );
-	backend->save( "local_tls_port", sipStackConfig->localTlsPort );
+	backend->save( "local_udp_port", sipStackConfig->preferedLocalUdpPort );
+	backend->save( "local_tcp_port", sipStackConfig->preferedLocalTcpPort );
+	backend->save( "local_tls_port", sipStackConfig->preferedLocalTlsPort );
 	backend->saveBool( "auto_answer", sipStackConfig->autoAnswer );
 	backend->save( "instance_id", sipStackConfig->instanceId);
 
@@ -851,10 +851,10 @@
 
 	ringtone = backend->loadString("ringtone","");
 
-	sipStackConfig->localUdpPort = backend->loadInt("local_udp_port",5060);
-	sipStackConfig->externalContactUdpPort = sipStackConfig->localUdpPort; //?
-	sipStackConfig->localTcpPort = backend->loadInt("local_tcp_port",5060);
-	sipStackConfig->localTlsPort = backend->loadInt("local_tls_port",5061);
+	sipStackConfig->preferedLocalUdpPort = backend->loadInt("local_udp_port",5060);
+	sipStackConfig->externalContactUdpPort = sipStackConfig->preferedLocalUdpPort; //?
+	sipStackConfig->preferedLocalTcpPort = backend->loadInt("local_tcp_port",5060);
+	sipStackConfig->preferedLocalTlsPort = backend->loadInt("local_tls_port",5061);
 	sipStackConfig->autoAnswer = backend->loadBool("auto_answer");
 	sipStackConfig->instanceId = backend->loadString("instance_id");
 

Modified: trunk/libmnetutil/source/FileUrl.cxx
===================================================================
--- trunk/libmnetutil/source/FileUrl.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libmnetutil/source/FileUrl.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -78,7 +78,7 @@
 	return url;
 }
 bool FileUrl::isUnreservedChar(char in) const {
-	char* alphabetUnreserved = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~";
+	const char* alphabetUnreserved = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~";
 	for (int i=0; i<66; i++) {
 		if (alphabetUnreserved[i] == in)
 			return true;
@@ -87,7 +87,7 @@
 }
 
 bool FileUrl::isReservedChar(char in) const {
-	char* alphabetReserved = ":/?#[]@!$&'()*+,;=";
+	const char* alphabetReserved = ":/?#[]@!$&'()*+,;=";
 	for (int i=0; i<18; i++) {
 		if (alphabetReserved[i] == in)
 			return true;

Modified: trunk/libmsip/include/libmsip/SipStack.h
===================================================================
--- trunk/libmsip/include/libmsip/SipStack.h	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libmsip/include/libmsip/SipStack.h	2007-11-02 16:52:51 UTC (rev 3456)
@@ -161,9 +161,9 @@
 		std::string externalContactIP;
 		int32_t externalContactUdpPort;
                 
-		int32_t localUdpPort;	// Advanced -> ...Sip port...
-		int32_t localTcpPort;
-		int32_t localTlsPort;
+		int32_t preferedLocalUdpPort;	// Advanced -> ...Sip port...
+		int32_t preferedLocalTcpPort;
+		int32_t preferedLocalTlsPort;
 		
 		/**
 		@return the port in use, depending on the transport.

Modified: trunk/libmsip/source/SipDialogConfig.cxx
===================================================================
--- trunk/libmsip/source/SipDialogConfig.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libmsip/source/SipDialogConfig.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -335,9 +335,9 @@
 
 SipStackConfig::SipStackConfig():
 	externalContactUdpPort(0),
-	localUdpPort(0),
-	localTcpPort(0),
-	localTlsPort(0),
+	preferedLocalUdpPort(0),
+	preferedLocalTcpPort(0),
+	preferedLocalTlsPort(0),
 	autoAnswer(false),
 	use100Rel(false){
 
@@ -347,14 +347,14 @@
 	int32_t localSipPort;
 	
 	if(transport=="TCP" || transport=="tcp")
-		localSipPort = localTcpPort;
+		localSipPort = preferedLocalTcpPort;
 	else if(transport=="TLS" || transport=="tls")
-		localSipPort = localTlsPort;
+		localSipPort = preferedLocalTlsPort;
 	else{ /* UDP, may use STUN */
 		if( usesStun ){
 			localSipPort = externalContactUdpPort;
 		} else {
-			localSipPort = localUdpPort;
+			localSipPort = preferedLocalUdpPort;
 		}
 	}
 	return localSipPort;

Modified: trunk/libmsip/source/SipStackInternal.cxx
===================================================================
--- trunk/libmsip/source/SipStackInternal.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/libmsip/source/SipStackInternal.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -382,7 +382,7 @@
 
 MRef<SipSocketServer *> SipStackInternal::createUdpServer( bool ipv6, const string &ipString )
 {
-	int32_t port = config->localUdpPort;
+	int32_t port = config->preferedLocalUdpPort;
 
 	MRef<DatagramSocket *> sock = new UDPSocket( port, ipv6 );
 	MRef<SipSocketServer *> server;
@@ -402,7 +402,7 @@
 {
 	MRef<ServerSocket *> sock;
 	MRef<SipSocketServer *> server;
-	int32_t port = config->localTcpPort;
+	int32_t port = config->preferedLocalTcpPort;
 
 	sock = ServerSocket::create( port, ipv6 );
 	server = new StreamSocketServer( dispatcher->getLayerTransport(), sock );
@@ -415,7 +415,7 @@
 {
 	MRef<ServerSocket *> sock;
 	MRef<SipSocketServer *> server;
-	int32_t port = config->localTlsPort;
+	int32_t port = config->preferedLocalTlsPort;
 
 	sock = TLSServerSocket::create( ipv6, port, config->cert->getFirst(),
 					config->cert_db );

Modified: trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx
===================================================================
--- trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx	2007-11-01 13:36:52 UTC (rev 3455)
+++ trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx	2007-11-02 16:52:51 UTC (rev 3456)
@@ -837,9 +837,9 @@
 		networkInterfacesEntry->set_text( preferredIfaceIP );
 	}
 	
-	udpSpin->set_value( config->sipStack->getStackConfig()->localUdpPort );
-	tcpSpin->set_value( config->sipStack->getStackConfig()->localTcpPort );
-	tlsSpin->set_value( config->sipStack->getStackConfig()->localTlsPort );
+	udpSpin->set_value( config->sipStack->getStackConfig()->preferedLocalUdpPort );
+	tcpSpin->set_value( config->sipStack->getStackConfig()->preferedLocalTcpPort );
+	tlsSpin->set_value( config->sipStack->getStackConfig()->preferedLocalTlsPort );
 
 	tcpCheck->set_active( config->tcp_server );
 	tlsCheck->set_active( config->tls_server );
@@ -878,9 +878,9 @@
 		config->networkInterfaceName = ifaceSel;
 	}
 
-	config->sipStack->getStackConfig()->localUdpPort = udpSpin->get_value_as_int();
-	config->sipStack->getStackConfig()->localTcpPort = tcpSpin->get_value_as_int();
-	config->sipStack->getStackConfig()->localTlsPort = tlsSpin->get_value_as_int();
+	config->sipStack->getStackConfig()->preferedLocalUdpPort = udpSpin->get_value_as_int();
+	config->sipStack->getStackConfig()->preferedLocalTcpPort = tcpSpin->get_value_as_int();
+	config->sipStack->getStackConfig()->preferedLocalTlsPort = tlsSpin->get_value_as_int();
 
 	config->tcp_server = tcpCheck->get_active();
 	config->tls_server = tlsCheck->get_active();



More information about the Minisip-devel mailing list