b/f: remember passive_mode for keeping symmetric RTP in a session

If NAT flag (P-MsgFlags: 2) is passed only in the initial INVITE,
re-INVITE will set up the RTP stream to the private address, but not
enable symmetric RTP (comedia style send-to-where-i-get-rtp-from)
again. this fix remembers passive_mode for the call.
sayer/1.4-spce2.6
Stefan Sayer 15 years ago
parent 6d7fd116c3
commit 2927a7be8f

@ -79,6 +79,7 @@ AmSession::AmSession()
m_dtmfDetector(this), m_dtmfEventQueue(&m_dtmfDetector),
m_dtmfDetectionEnabled(true),
accept_early_session(false),
passive_mode(false),
rtp_interface(-1),
refresh_method(REFRESH_UPDATE_FB_REINV),
processing_status(SESSION_PROCESSING_EVENTS),
@ -292,7 +293,6 @@ void AmSession::negotiate(const string& sdp_body,
DBG("remote party doesn't support telephone events\n");
}
bool passive_mode = false;
if( sdp.remote_active || force_symmetric_rtp) {
DBG("The other UA is NATed: switched to passive mode.\n");
DBG("remote_active = %i; force_symmetric_rtp = %i\n",

@ -157,6 +157,9 @@ private:
auto_ptr<AmRtpAudio> _rtp_str;
/** set up RTP stream as passive? (comedia style NAT aware) */
bool passive_mode;
AmDynInvoke* user_timer_ref;
void getUserTimerInstance();

Loading…
Cancel
Save