From 87856bf5f56d2597209b7ed768f5096559e0587b Mon Sep 17 00:00:00 2001 From: Gerald Begumisa Date: Wed, 30 May 2007 15:41:39 +0000 Subject: Fix for correct Skinny on-hold handling. Now, only one recording is created when an endpoint goes on hold then returns. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@441 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkaudio/audiocaptureplugins/voip/RtpSession.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.h') diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.h b/orkaudio/audiocaptureplugins/voip/RtpSession.h index 6c66e85..70c0f4b 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.h +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.h @@ -88,6 +88,8 @@ public: int m_numRtpPackets; struct in_addr m_endPointIp; // only used for Skinny + bool m_onHold; + private: void ProcessMetadataSip(RtpPacketInfoRef&); void ProcessMetadataSipIncoming(); @@ -140,11 +142,14 @@ public: void ReportSkinnyStopMediaTransmission(SkStopMediaTransmissionStruct*, IpHeaderStruct* ipHeader); void ReportSkinnyOpenReceiveChannelAck(SkOpenReceiveChannelAckStruct*); void ReportSkinnyLineStat(SkLineStatStruct*, IpHeaderStruct* ipHeader); + void ReportSkinnySoftKeyHold(SkSoftKeyEventMessageStruct* skEvent, IpHeaderStruct* ipHeader); + void ReportSkinnySoftKeyResume(SkSoftKeyEventMessageStruct* skEvent, IpHeaderStruct* ipHeader); void ReportRtpPacket(RtpPacketInfoRef& rtpPacket); void Hoover(time_t now); EndpointInfoRef GetEndpointInfo(struct in_addr endpointIp); private: RtpSessionRef findByEndpointIp(struct in_addr); + RtpSessionRef findByEndpointIpUsingIpAndPort(struct in_addr endpointIpAddr); void ChangeCallId(RtpSessionRef& session, unsigned int newId); void SetMediaAddress(RtpSessionRef& session, struct in_addr mediaIp, unsigned short mediaPort); CStdString GenerateSkinnyCallId(struct in_addr endpointIp, unsigned int callId); -- cgit v1.2.3