r3543 - in trunk: libminisip/include/libminisip/signaling/sip libminisip/source libminisip/source/subsystem_signaling/sip minisip/minisip/gui/gtkgui minisip/share

mikma at minisip.org mikma at minisip.org
Sat Dec 1 19:52:45 CET 2007


Author: mikma
Date: 2007-12-01 19:52:45 +0100 (Sat, 01 Dec 2007)
New Revision: 3543

Modified:
   trunk/libminisip/include/libminisip/signaling/sip/SipSoftPhoneConfiguration.h
   trunk/libminisip/source/Minisip.cxx
   trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx
   trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx
   trunk/minisip/minisip/gui/gtkgui/SettingsDialog.h
   trunk/minisip/share/minisip.glade
Log:
Add choice between IPv4 single stack, and IPv4+IPv6 dual stack option
to settings dialog.


Modified: trunk/libminisip/include/libminisip/signaling/sip/SipSoftPhoneConfiguration.h
===================================================================
--- trunk/libminisip/include/libminisip/signaling/sip/SipSoftPhoneConfiguration.h	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/libminisip/include/libminisip/signaling/sip/SipSoftPhoneConfiguration.h	2007-12-01 18:52:45 UTC (rev 3543)
@@ -116,6 +116,7 @@
 		std::string userDefinedStunServer;
 
 		bool useAnat;
+		bool useIpv6;
 		
 		std::string soundDeviceIn;
 		std::string soundDeviceOut;

Modified: trunk/libminisip/source/Minisip.cxx
===================================================================
--- trunk/libminisip/source/Minisip.cxx	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/libminisip/source/Minisip.cxx	2007-12-01 18:52:45 UTC (rev 3543)
@@ -339,7 +339,9 @@
 #endif
 		MRef<IpProvider *> ipProvider = IpProvider::create( phoneConf );
 		MRef<IpProvider *> ip6Provider;
-		ip6Provider = IpProvider::create( phoneConf, true );
+		if( phoneConf->useIpv6 ){
+			ip6Provider = IpProvider::create( phoneConf, true );
+		}
 		//#ifdef DEBUG_OUTPUT
 		//                mout << BOLD << "init 5/9: Creating SIP transport layer" << PLAIN << endl;
 		//#endif

Modified: trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx
===================================================================
--- trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/libminisip/source/subsystem_signaling/sip/SipSoftPhoneConfiguration.cxx	2007-12-01 18:52:45 UTC (rev 3543)
@@ -83,6 +83,7 @@
 	stunDomain(""),
 	useUserDefinedStunServer(false),
 	useAnat(false),
+	useIpv6(false),
 	soundDeviceIn(""),
 	soundDeviceOut(""),
 	videoDevice(""),
@@ -421,6 +422,7 @@
 	/************************************************************
 	 * Advanced settings
 	 ************************************************************/
+	backend->saveBool( "use_ipv6", useIpv6 );
 	list< MRef<SipTransportConfig*> >::iterator j;
 	for( j = sipStackConfig->transports.begin();
 	     j != sipStackConfig->transports.end(); j++ ){
@@ -796,6 +798,8 @@
 
 	}while( true );
 
+	useIpv6 = backend->loadBool( "use_ipv6", true );
+
 	list< MRef<SipTransportConfig*> >::iterator j;
 	for( j = sipStackConfig->transports.begin();
 	     j != sipStackConfig->transports.end(); j++ ){

Modified: trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx
===================================================================
--- trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/minisip/minisip/gui/gtkgui/SettingsDialog.cxx	2007-12-01 18:52:45 UTC (rev 3543)
@@ -797,6 +797,9 @@
 	refXml->get_widget( "networkInterfacesCombo", networkInterfacesCombo );
 	refXml->get_widget( "networkInterfacesEntry", networkInterfacesEntry );
 		
+	refXml->get_widget( "ipv4Radio", ipv4Radio );
+	refXml->get_widget( "ipv46Radio", ipv46Radio );
+
 	refXml->get_widget( "transportView", transportView );
 
 	refXml->get_widget( "sipSpin", sipSpin );
@@ -843,6 +846,13 @@
 		string preferredIfaceIP = NetworkFunctions::getInterfaceIPStr( config->networkInterfaceName );
 		networkInterfacesEntry->set_text( preferredIfaceIP );
 	}
+
+	if( config->useIpv6 ){
+		ipv46Radio->set_active( true );
+	}
+	else{
+		ipv4Radio->set_active( true );
+	}
 	
 	sipSpin->set_value( config->sipStack->getStackConfig()->preferedLocalSipPort );
 	sipsSpin->set_value( config->sipStack->getStackConfig()->preferedLocalSipsPort );
@@ -880,6 +890,8 @@
 		config->networkInterfaceName = ifaceSel;
 	}
 
+	config->useIpv6 = ipv46Radio->get_active();
+
 	config->sipStack->getStackConfig()->preferedLocalSipPort = sipSpin->get_value_as_int();
 	config->sipStack->getStackConfig()->preferedLocalSipsPort = sipsSpin->get_value_as_int();
 

Modified: trunk/minisip/minisip/gui/gtkgui/SettingsDialog.h
===================================================================
--- trunk/minisip/minisip/gui/gtkgui/SettingsDialog.h	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/minisip/minisip/gui/gtkgui/SettingsDialog.h	2007-12-01 18:52:45 UTC (rev 3543)
@@ -267,6 +267,8 @@
 		*/
 		Gtk::Combo * networkInterfacesCombo;
 		Gtk::Entry * networkInterfacesEntry;
+		Gtk::RadioButton * ipv4Radio;
+		Gtk::RadioButton * ipv46Radio;
 
 		Gtk::TreeView * transportView;
 		

Modified: trunk/minisip/share/minisip.glade
===================================================================
--- trunk/minisip/share/minisip.glade	2007-12-01 18:19:18 UTC (rev 3542)
+++ trunk/minisip/share/minisip.glade	2007-12-01 18:52:45 UTC (rev 3543)
@@ -1381,77 +1381,6 @@
 		      <property name="spacing">0</property>
 
 		      <child>
-			<widget class="GtkHBox" id="hbox73">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="label200">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;&lt;big&gt;Choose Network Interface&lt;/big&gt;&lt;/b&gt;</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">12</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">12</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCombo" id="networkInterfacesCombo">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="value_in_list">False</property>
-			      <property name="allow_empty">True</property>
-			      <property name="case_sensitive">False</property>
-			      <property name="enable_arrow_keys">True</property>
-			      <property name="enable_arrows_always">False</property>
-
-			      <child internal-child="entry">
-				<widget class="GtkEntry" id="networkInterfacesEntry">
-				  <property name="visible">True</property>
-				  <property name="editable">False</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-			      </child>
-
-			      <child internal-child="list">
-				<widget class="GtkList" id="list1">
-				  <property name="visible">True</property>
-				  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">12</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">6</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
 			<widget class="GtkLabel" id="label201">
 			  <property name="visible">True</property>
 			  <property name="label" translatable="yes">&lt;b&gt;&lt;big&gt;SIP network transport&lt;/big&gt;&lt;/b&gt;</property>
@@ -1498,6 +1427,129 @@
 				  <property name="spacing">6</property>
 
 				  <child>
+				    <widget class="GtkHBox" id="hbox73">
+				      <property name="visible">True</property>
+				      <property name="homogeneous">False</property>
+				      <property name="spacing">12</property>
+
+				      <child>
+					<widget class="GtkLabel" id="label200">
+					  <property name="visible">True</property>
+					  <property name="label" translatable="yes">&lt;b&gt;Network Interface:&lt;/b&gt;</property>
+					  <property name="use_underline">False</property>
+					  <property name="use_markup">True</property>
+					  <property name="justify">GTK_JUSTIFY_LEFT</property>
+					  <property name="wrap">False</property>
+					  <property name="selectable">False</property>
+					  <property name="xalign">0</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xpad">0</property>
+					  <property name="ypad">0</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkCombo" id="networkInterfacesCombo">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="value_in_list">False</property>
+					  <property name="allow_empty">True</property>
+					  <property name="case_sensitive">False</property>
+					  <property name="enable_arrow_keys">True</property>
+					  <property name="enable_arrows_always">False</property>
+
+					  <child internal-child="entry">
+					    <widget class="GtkEntry" id="networkInterfacesEntry">
+					      <property name="visible">True</property>
+					      <property name="editable">False</property>
+					      <property name="visibility">True</property>
+					      <property name="max_length">0</property>
+					      <property name="text" translatable="yes"></property>
+					      <property name="has_frame">True</property>
+					      <property name="invisible_char">*</property>
+					      <property name="activates_default">False</property>
+					    </widget>
+					  </child>
+
+					  <child internal-child="list">
+					    <widget class="GtkList" id="list1">
+					      <property name="visible">True</property>
+					      <property name="selection_mode">GTK_SELECTION_BROWSE</property>
+					    </widget>
+					  </child>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkHBox" id="hbox92">
+				      <property name="visible">True</property>
+				      <property name="homogeneous">False</property>
+				      <property name="spacing">12</property>
+
+				      <child>
+					<widget class="GtkRadioButton" id="ipv4Radio">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">IPv4 only</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkRadioButton" id="ipv46Radio">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">IPv4 and IPv6 (dual stack)</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					  <property name="group">ipv4Radio</property>
+					</widget>
+					<packing>
+					  <property name="padding">0</property>
+					  <property name="expand">False</property>
+					  <property name="fill">False</property>
+					</packing>
+				      </child>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
 				    <widget class="GtkTable" id="table18">
 				      <property name="visible">True</property>
 				      <property name="n_rows">2</property>



More information about the Minisip-devel mailing list