From 576816f821b60bc8580b310248bac409ed30915e Mon Sep 17 00:00:00 2001 From: Gerald Begumisa Date: Fri, 24 Aug 2007 21:37:49 +0000 Subject: Added support for SIP 200 OK message with ability to adjust the session RTP IP address and port if NAT is detected git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@474 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkaudio/audiocaptureplugins/voip/RtpSession.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.h') diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.h b/orkaudio/audiocaptureplugins/voip/RtpSession.h index 5475cb9..ec9d262 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.h +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.h @@ -70,6 +70,20 @@ public: CStdString m_callId; }; + +class Sip200OkInfo +{ +public: + Sip200OkInfo(); + CStdString m_callId; + bool m_hasSdp; + struct in_addr m_fromRtpIp; + CStdString m_fromRtpPort; +}; + +typedef boost::shared_ptr Sip200OkInfoRef; + + //============================================================= class EndpointInfo @@ -104,6 +118,7 @@ public: CStdString m_trackingId; CStdString m_ipAndPort; // IP address and TCP port of one side of the session, serves as a key for session storage and retrieval. Not necessarily the same as the capturePort (capturePort is usually the client (phone) IP+port) + struct in_addr m_fromRtpIp; CStdString m_callId; SipInviteInfoRef m_invite; ACE_Time_Value m_creationDate; // When the session is first created @@ -180,6 +195,7 @@ public: void ReportSkinnySoftKeyResume(SkSoftKeyEventMessageStruct* skEvent, IpHeaderStruct* ipHeader); void ReportRtpPacket(RtpPacketInfoRef& rtpPacket); void ReportSipErrorPacket(SipFailureMessageInfoRef& sipError); + void ReportSip200Ok(Sip200OkInfoRef info); void Hoover(time_t now); EndpointInfoRef GetEndpointInfo(struct in_addr endpointIp); void StartCapture(CStdString& party); -- cgit v1.2.3