Fixed bug: freeze sdp session origin address to avoid changing it.

git-svn-id: http://voip.null.ro/svn/yate@5654 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
marian 2013-09-17 14:17:49 +00:00
parent 6b39df879d
commit 0754464000
2 changed files with 4 additions and 1 deletions

View File

@ -311,10 +311,12 @@ MimeSdpBody* SDPSession::createSDP(const char* addr, ObjList* mediaList)
// override the address with the externally advertised if needed
if (addr && m_rtpNatAddr)
addr = m_rtpNatAddr;
if (!m_originAddr)
m_originAddr = addr ? addr : m_host.safe();
// no address means on hold or muted
String origin;
origin << "yate " << m_sdpSession << " " << m_sdpVersion;
origin << " IN IP4 " << (addr ? addr : m_host.safe());
origin << " IN IP4 " << m_originAddr;
String conn;
conn << "IN IP4 " << (addr ? addr : "0.0.0.0");

View File

@ -632,6 +632,7 @@ protected:
int m_mediaStatus;
bool m_rtpForward; // Forward RTP flag
bool m_sdpForward; // Forward SDP (only if RTP is forwarded)
String m_originAddr; // Our SDP origin address
String m_externalAddr; // Our external IP address, possibly outside of a NAT
String m_rtpAddr; // Remote RTP address
String m_rtpLocalAddr; // Local RTP address