summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.h
diff options
context:
space:
mode:
authorbeg_g <beg_g@09dcff7a-b715-0410-9601-b79a96267cd0>2009-10-19 14:55:46 +0000
committerbeg_g <beg_g@09dcff7a-b715-0410-9601-b79a96267cd0>2009-10-19 14:55:46 +0000
commit747f19b5e2f1777639398d42a05812834d2c648f (patch)
tree887cf19ee1a4a825f1b0225cf298718b433751ab /orkaudio/audiocaptureplugins/voip/RtpSession.h
parent5c384d7eb82121e418aa62f97af247c30756d529 (diff)
Added support for the SIP response "302 Moved Temporarily". The way this works is that the "Contact" header is mapped to the "To" header such that a subsequent INVITE based on the "302 Moved Temporarily" response shall have the correct remote party parameter. This functionality is by default enabled and can be disabled by setting the parameter Sip302MovedTemporarilySupport to 'false'.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@647 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.h')
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.h b/orkaudio/audiocaptureplugins/voip/RtpSession.h
index a205e63..ec14d1e 100644
--- a/orkaudio/audiocaptureplugins/voip/RtpSession.h
+++ b/orkaudio/audiocaptureplugins/voip/RtpSession.h
@@ -24,6 +24,27 @@
using namespace log4cxx;
+class Sip302MovedTemporarilyInfo
+{
+public:
+ Sip302MovedTemporarilyInfo();
+ void ToString(CStdString& string);
+
+ struct in_addr m_senderIp;
+ struct in_addr m_receiverIp;
+ CStdString m_from;
+ CStdString m_to;
+ CStdString m_contact;
+ CStdString m_callId;
+ CStdString m_fromDomain;
+ CStdString m_toDomain;
+ CStdString m_contactDomain;
+ CStdString m_fromName;
+ CStdString m_toName;
+ CStdString m_contactName;
+};
+typedef boost::shared_ptr<Sip302MovedTemporarilyInfo> Sip302MovedTemporarilyInfoRef;
+
class SipInviteInfo
{
public:
@@ -273,6 +294,7 @@ public:
void ReportSipErrorPacket(SipFailureMessageInfoRef& sipError);
void ReportSip200Ok(Sip200OkInfoRef info);
void ReportSipSessionProgress(SipSessionProgressInfoRef& info);
+ void ReportSip302MovedTemporarily(Sip302MovedTemporarilyInfoRef& info);
void Hoover(time_t now);
EndpointInfoRef GetEndpointInfo(struct in_addr endpointIp);
CStdString StartCapture(CStdString& party);