Module: sems Branch: rco/multihomed Commit: ea92f559eba44ab09bfe52d868168a467695cb99 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=ea92f559eba44ab09bfe52d868168a467695cb99
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 43265fa..cbeb95f 100644 --- a/core/AmSession.cpp +++ b/core/AmSession.cpp @@ -66,7 +66,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) @@ -1081,19 +1081,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
