Module: sems
Branch: master
Commit: 643dbe1bda07b33acafc2437c9cca1bd937a4fac
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=643dbe1bda07b33acafc2437c9cca1bd937a4fac

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Mon Feb 14 11:26:02 2011 +0100

rtp_interface uses dlg.getOutboundIf()

---

 core/AmSession.cpp |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/core/AmSession.cpp b/core/AmSession.cpp
index 056849c..e093757 100644
--- a/core/AmSession.cpp
+++ b/core/AmSession.cpp
@@ -65,7 +65,7 @@ AmSession::AmSession()
     m_dtmfDetector(this), m_dtmfEventQueue(&m_dtmfDetector),
     m_dtmfDetectionEnabled(true),
     accept_early_session(false),
-    rtp_interface(0),
+    rtp_interface(-1),
     refresh_method(REFRESH_UPDATE_FB_REINV),
     processing_status(SESSION_PROCESSING_EVENTS),
     user_timer_ref(NULL)
@@ -1101,19 +1101,29 @@ void 
AmSession::onFailure(AmSipDialogEventHandler::FailureCause cause,
 // address to use in SDP bodies 
 string AmSession::advertisedIP()
 {
+  if(rtp_interface < 0){
+    rtp_interface = dlg.getOutboundIf();
+  }
+  
   assert(rtp_interface >= 0);
   assert((unsigned int)rtp_interface < AmConfig::Ifs.size());
 
   string set_ip = AmConfig::Ifs[rtp_interface].PublicIP; // "public_ip" 
parameter. 
   if (set_ip.empty())
     return AmConfig::Ifs[rtp_interface].LocalIP;  // "media_ip" parameter.
+
   return set_ip;
 }  
 
 string AmSession::localRTPIP()
 {
+  if(rtp_interface < 0){
+    rtp_interface = dlg.getOutboundIf();
+  }
+
   assert(rtp_interface >= 0);
   assert((unsigned int)rtp_interface < AmConfig::Ifs.size());
+
   return AmConfig::Ifs[rtp_interface].LocalIP;  // "media_ip" parameter.
 }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to