[ekiga/ds-opal-refactoring] Opal: Fixed case when forward-host is changed alone.



commit 86e37cb628ded4350110aa08077a3c4b42b0b9e8
Author: Damien Sandras <dsandras seconix com>
Date:   Sat Apr 11 18:59:30 2015 +0200

    Opal: Fixed case when forward-host is changed alone.

 lib/engine/components/opal/h323-call-manager.cpp |   16 ++++++----------
 lib/engine/components/opal/sip-call-manager.cpp  |   20 +++++++-------------
 2 files changed, 13 insertions(+), 23 deletions(-)
---
diff --git a/lib/engine/components/opal/h323-call-manager.cpp 
b/lib/engine/components/opal/h323-call-manager.cpp
index 0043f07..08a5449 100644
--- a/lib/engine/components/opal/h323-call-manager.cpp
+++ b/lib/engine/components/opal/h323-call-manager.cpp
@@ -177,8 +177,6 @@ Opal::H323::CallManager::get_dtmf_mode () const
 
 void Opal::H323::CallManager::setup (const std::string & setting)
 {
-  std::string forward_uri;
-
   if (setting.empty () || setting == "listen-port")
     set_listen_port (h323_settings->get_int ("listen-port"));
 
@@ -215,20 +213,18 @@ void Opal::H323::CallManager::setup (const std::string & setting)
     set_dtmf_mode (h323_settings->get_enum ("dtmf-mode"));
   }
 
-  if (setting.empty () || setting == "forward-host")
-    forward_uri = h323_settings->get_string ("forward-host");
 
   /* Setup the various forwarding targets.
    * The no answer delay is defined in the opal-call-manager (our parent).
    */
-  if (setting.empty () || setting == "forward-on-no-anwer")
-    h323_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? 
forward_uri : "");
+  if (setting.empty () || setting == "forward-on-no-anwer" || setting == "forward-host")
+    h323_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? 
h323_settings->get_string ("forward-host") : "");
 
-  if (setting.empty () || setting == "forward-on-busy")
-    h323_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? forward_uri 
: "");
+  if (setting.empty () || setting == "forward-on-busy" || setting == "forward-host")
+    h323_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? 
h323_settings->get_string ("forward-host") : "");
 
-  if (setting.empty () || setting == "always-forward")
-    h323_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? 
forward_uri : "");
+  if (setting.empty () || setting == "always-forward" || setting == "forward-host")
+    h323_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? 
h323_settings->get_string ("forward-host") : "");
 
   if (setting.empty () || setting == "video-role") {
 
diff --git a/lib/engine/components/opal/sip-call-manager.cpp b/lib/engine/components/opal/sip-call-manager.cpp
index 0a0ff33..70c109f 100644
--- a/lib/engine/components/opal/sip-call-manager.cpp
+++ b/lib/engine/components/opal/sip-call-manager.cpp
@@ -165,11 +165,8 @@ Opal::Sip::CallManager::get_dtmf_mode () const
 
 void Opal::Sip::CallManager::setup (const std::string & setting)
 {
-  std::string forward_uri;
-
-  if (setting.empty () || setting == "listen-port")  {
+  if (setting.empty () || setting == "listen-port")
     set_listen_port (sip_settings->get_int ("listen-port"));
-  }
 
   if (setting.empty () || setting == "keepalive-interval")  {
     int delay = sip_settings->get_int ("keepalive-interval");
@@ -186,20 +183,17 @@ void Opal::Sip::CallManager::setup (const std::string & setting)
   if (setting.empty () || setting == "dtmf-mode")
     set_dtmf_mode (sip_settings->get_enum ("dtmf-mode"));
 
-  if (setting.empty () || setting == "forward-host")
-    forward_uri = sip_settings->get_string ("forward-host");
-
   /* Setup the various forwarding targets.
    * The no answer delay is defined in the opal-call-manager (our parent).
    */
-  if (setting.empty () || setting == "forward-on-no-anwer")
-    sip_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? 
forward_uri : "");
+  if (setting.empty () || setting == "forward-on-no-anwer" || setting == "forward-host")
+    sip_endpoint.SetNoAnswerForwardTarget (call_forwarding_settings->get_bool ("forward-on-no-answer") ? 
sip_settings->get_string ("forward-host") : "");
 
-  if (setting.empty () || setting == "forward-on-busy")
-    sip_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? forward_uri 
: "");
+  if (setting.empty () || setting == "forward-on-busy" || setting == "forward-host")
+    sip_endpoint.SetBusyForwardTarget (call_forwarding_settings->get_bool ("forward-on-busy") ? 
sip_settings->get_string ("forward-host") : "");
 
-  if (setting.empty () || setting == "always-forward")
-    sip_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? 
forward_uri : "");
+  if (setting.empty () || setting == "always-forward" || setting == "forward-host")
+    sip_endpoint.SetUnconditionalForwardTarget (call_forwarding_settings->get_bool ("always-forward") ? 
sip_settings->get_string ("forward-host") : "");
 
   Opal::CallManager::setup (setting);
 }


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