summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.h
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2007-08-24 21:37:49 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2007-08-24 21:37:49 +0000
commit576816f821b60bc8580b310248bac409ed30915e (patch)
tree7fa422abd5e89d26fd8c0488d53a436ce4a09b75 /orkaudio/audiocaptureplugins/voip/RtpSession.h
parent9d30c0398e4447bf0b8b539caf738498fa45fb9f (diff)
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
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.h')
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.h16
1 files changed, 16 insertions, 0 deletions
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<Sip200OkInfo> 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);