[ekiga/ds-opal-refactoring] Opal: Implemented back STUN support.



commit fb5b6054c7e5051fc9b6fcd76891ade507527723
Author: Damien Sandras <dsandras seconix com>
Date:   Sun Apr 12 12:24:03 2015 +0200

    Opal: Implemented back STUN support.

 lib/engine/components/opal/opal-call-manager.cpp   |    6 ++----
 .../components/opal/process/opal-endpoint.cpp      |   19 +++++--------------
 lib/engine/components/opal/process/opal-endpoint.h |    3 +--
 3 files changed, 8 insertions(+), 20 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-call-manager.cpp 
b/lib/engine/components/opal/opal-call-manager.cpp
index 25734b7..ff8c6e9 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -182,11 +182,9 @@ unsigned Opal::CallManager::get_maximum_jitter () const
 void Opal::CallManager::setup (const std::string & setting)
 {
   std::cout << "IN Opal::CallManager::setup" << std::endl;
-  if (setting.empty () || setting == "stun-server")
-    endpoint.set_stun_server (nat_settings->get_string ("stun-server"));
 
-  if (setting.empty () || setting == "enable-stun")
-    endpoint.set_stun_enabled (nat_settings->get_bool ("enable-stun"));
+  if (setting.empty () || setting == "enable-stun" || setting == "stun-server")
+    endpoint.SetStunServer (nat_settings->get_bool ("enable-stun") ? nat_settings->get_string 
("stun-server") : "");
 
   if (setting.empty () || setting == "maximum-jitter-buffer")
     set_maximum_jitter (audio_codecs_settings->get_int ("maximum-jitter-buffer"));
diff --git a/lib/engine/components/opal/process/opal-endpoint.cpp 
b/lib/engine/components/opal/process/opal-endpoint.cpp
index f8c3754..a9791b1 100644
--- a/lib/engine/components/opal/process/opal-endpoint.cpp
+++ b/lib/engine/components/opal/process/opal-endpoint.cpp
@@ -332,20 +332,9 @@ bool Opal::EndPoint::GetAutoAnswer (void) const
 }
 
 
-void Opal::EndPoint::set_stun_server (const std::string & server)
+void Opal::EndPoint::SetStunServer (const std::string & server)
 {
-  if (server.empty ())
-    stun_server = "stun.ekiga.net";
-
-  stun_server = server;
-  PTRACE (4, "Opal::EndPoint\tSet STUN Server to " << stun_server);
-}
-
-
-void Opal::EndPoint::set_stun_enabled (bool enabled)
-{
-  stun_enabled = enabled;
-  if (stun_enabled && !stun_thread) {
+  if (!server.empty () && !stun_thread) {
 
     // Ready
     stun_thread = new StunDetector (stun_server, *this, queue);
@@ -353,10 +342,12 @@ void Opal::EndPoint::set_stun_enabled (bool enabled)
     Ekiga::Runtime::run_in_main (boost::bind (&Opal::EndPoint::HandleSTUNResult, this), 1);
   }
   else {
+
+    SetSTUNServer (PString ());
     ready ();
   }
 
-  PTRACE (4, "Opal::EndPoint\tSTUN Detection: " << enabled);
+  PTRACE (4, "Opal::EndPoint\tSTUN Detection: " << server);
 }
 
 
diff --git a/lib/engine/components/opal/process/opal-endpoint.h 
b/lib/engine/components/opal/process/opal-endpoint.h
index 20b206d..378c4dc 100644
--- a/lib/engine/components/opal/process/opal-endpoint.h
+++ b/lib/engine/components/opal/process/opal-endpoint.h
@@ -102,8 +102,7 @@ public:
     void SetAutoAnswer (bool enabled);
     bool GetAutoAnswer () const;
 
-    void set_stun_server (const std::string & server);
-    void set_stun_enabled (bool);
+    void SetStunServer (const std::string & server);
 
     Sip::EndPoint& GetSipEndPoint ();
 #ifdef HAVE_H323


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]