diff options
author | Henri Herscher <henri@oreka.org> | 2006-04-25 14:59:29 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-04-25 14:59:29 +0000 |
commit | 8267f45f799c2c976534676ed03b5ab315382873 (patch) | |
tree | 49cd3692b04b53213fc7935a6a3b1a71ae4ce205 /orkaudio/audiocaptureplugins/voip/RtpSession.h | |
parent | 7d5d8183afee4086b74c9ded6de3bbab92ae04fd (diff) |
Improved skinny signalling detection by taking OpenReceiveChannelAck Skinny messages into account.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@222 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.h')
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/RtpSession.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.h b/orkaudio/audiocaptureplugins/voip/RtpSession.h index dc1fcae..a745c38 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.h +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.h @@ -120,10 +120,12 @@ private: LoggerPtr m_log; CStdString m_capturePort; bool m_started; + bool m_stopped; int m_rtpTimestampCorrectiveOffset; }; typedef boost::shared_ptr<RtpSession> RtpSessionRef; +//=================================================================== class RtpSessions { public: @@ -134,10 +136,16 @@ public: void ReportSipBye(SipByeInfo bye); void ReportSkinnyCallInfo(SkCallInfoStruct*, IpHeaderStruct* ipHeader); void ReportSkinnyStartMediaTransmission(SkStartMediaTransmissionStruct*, IpHeaderStruct* ipHeader); - void ReportSkinnyStopMediaTransmission(SkStopMediaTransmissionStruct*); + void ReportSkinnyStopMediaTransmission(SkStopMediaTransmissionStruct*, IpHeaderStruct* ipHeader); + void ReportSkinnyOpenReceiveChannelAck(SkOpenReceiveChannelAckStruct*); void ReportRtpPacket(RtpPacketInfoRef& rtpPacket); void Hoover(time_t now); private: + RtpSessionRef findByEndpointIp(struct in_addr); + 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); + std::map<CStdString, RtpSessionRef> m_byIpAndPort; std::map<CStdString, RtpSessionRef> m_byCallId; LoggerPtr m_log; |