OPAL  Version 3.10.10
SecureRTP_UDP Class Reference

#include <rtp.h>

Inheritance diagram for SecureRTP_UDP:
RTP_UDP RTP_Session

Construction

OpalSecurityModesecurityParms
 
 SecureRTP_UDP (const Params &options)
 
 ~SecureRTP_UDP ()
 Destroy the RTP. More...
 
virtual void SetSecurityMode (OpalSecurityMode *srtpParms)
 
virtual OpalSecurityModeGetSecurityParms () const
 

Additional Inherited Members

- Public Types inherited from RTP_Session
typedef PNotifierTemplate
< SendReceiveStatus & > 
FilterNotifier
 
enum  SendReceiveStatus { e_ProcessPacket, e_IgnorePacket, e_AbortTransport }
 
enum  { JitterRoundingGuardBits = 4 }
 
- Public Member Functions inherited from RTP_UDP
virtual PBoolean ModifyQOS (RTP_QOS *rtpqos)
 
virtual void Reopen (PBoolean isReading)
 
virtual int GetDataSocketHandle () const
 
virtual int GetControlSocketHandle () const
 
virtual int WaitForPDU (PUDPSocket &dataSocket, PUDPSocket &controlSocket, const PTimeInterval &timer)
 
virtual int Internal_WaitForPDU (PUDPSocket &dataSocket, PUDPSocket &controlSocket, const PTimeInterval &timer)
 
virtual SendReceiveStatus ReadDataPDU (RTP_DataFrame &frame)
 
virtual SendReceiveStatus Internal_ReadDataPDU (RTP_DataFrame &frame)
 
virtual SendReceiveStatus OnReadTimeout (RTP_DataFrame &frame)
 
virtual SendReceiveStatus Internal_OnReadTimeout (RTP_DataFrame &frame)
 
virtual SendReceiveStatus ReadControlPDU ()
 
virtual SendReceiveStatus ReadDataOrControlPDU (BYTE *framePtr, PINDEX frameSize, PBoolean fromDataChannel)
 
virtual bool WriteDataPDU (RTP_DataFrame &frame)
 
virtual bool WriteDataOrControlPDU (const BYTE *framePtr, PINDEX frameSize, bool toDataChannel)
 
virtual void SetEncoding (const PString &newEncoding)
 
 RTP_UDP (const Params &options)
 
 ~RTP_UDP ()
 Destroy the RTP. More...
 
virtual PBoolean ReadData (RTP_DataFrame &frame)
 
virtual PBoolean Internal_ReadData (RTP_DataFrame &frame)
 
virtual void FlushData ()
 
virtual PBoolean WriteData (RTP_DataFrame &frame)
 
virtual PBoolean Internal_WriteData (RTP_DataFrame &frame)
 
virtual PBoolean WriteOOBData (RTP_DataFrame &frame, bool setTimeStamp=true)
 
virtual PBoolean WriteControl (RTP_ControlFrame &frame)
 
virtual bool Close (PBoolean reading)
 
virtual PString GetLocalHostName ()
 
virtual PBoolean Open (PIPSocket::Address localAddress, WORD portBase, WORD portMax, BYTE ipTypeOfService, PNatMethod *natMethod=NULL, RTP_QOS *rtpqos=NULL)
 
virtual PIPSocket::Address GetLocalAddress () const
 
virtual void SetLocalAddress (const PIPSocket::Address &addr)
 
PIPSocket::Address GetRemoteAddress () const
 
virtual WORD GetLocalDataPort () const
 
virtual WORD GetLocalControlPort () const
 
virtual WORD GetRemoteDataPort () const
 
virtual WORD GetRemoteControlPort () const
 
virtual PUDPSocket & GetDataSocket ()
 
virtual PUDPSocket & GetControlSocket ()
 
virtual PBoolean SetRemoteSocketInfo (PIPSocket::Address address, WORD port, PBoolean isDataPort)
 
virtual void ApplyQOS (const PIPSocket::Address &addr)
 
- Public Member Functions inherited from RTP_Session
virtual void SetCloseOnBYE (PBoolean v)
 
virtual void SendIntraFrameRequest (bool rfc2032, bool pictureLoss)
 
virtual void SendTemporalSpatialTradeOff (unsigned tradeOff)
 
void SetNextSentSequenceNumber (WORD num)
 
virtual PString GetEncoding () const
 
DWORD GetSyncSourceIn () const
 
void SetFailed (bool v)
 
bool HasFailed () const
 
void AddFilter (const FilterNotifier &filter)
 
virtual void SendBYE ()
 
 RTP_Session (const Params &options)
 
 ~RTP_Session ()
 
void SetJitterBufferSize (unsigned minJitterDelay, unsigned maxJitterDelay, unsigned timeUnits=0, PINDEX packetSize=2048)
 
unsigned GetJitterBufferSize () const
 
unsigned GetJitterBufferDelay () const
 
unsigned GetJitterTimeUnits () const
 
virtual PBoolean ReadBufferedData (RTP_DataFrame &frame)
 
virtual void GetStatistics (OpalMediaStatistics &statistics, bool receiver) const
 
virtual SendReceiveStatus OnSendData (RTP_DataFrame &frame)
 
virtual SendReceiveStatus Internal_OnSendData (RTP_DataFrame &frame)
 
virtual SendReceiveStatus OnSendControl (RTP_ControlFrame &frame, PINDEX &len)
 
virtual SendReceiveStatus Internal_OnSendControl (RTP_ControlFrame &frame, PINDEX &len)
 
virtual SendReceiveStatus OnReceiveData (RTP_DataFrame &frame)
 
virtual SendReceiveStatus Internal_OnReceiveData (RTP_DataFrame &frame)
 
virtual SendReceiveStatus OnReceiveControl (RTP_ControlFrame &frame)
 
 PARRAY (ReceiverReportArray, ReceiverReport)
 
virtual void OnRxSenderReport (const SenderReport &sender, const ReceiverReportArray &reports)
 
virtual void OnRxReceiverReport (DWORD src, const ReceiverReportArray &reports)
 
virtual void OnReceiverReports (const ReceiverReportArray &reports)
 
 PARRAY (SourceDescriptionArray, SourceDescription)
 
virtual void OnRxSourceDescription (const SourceDescriptionArray &descriptions)
 
virtual void OnRxGoodbye (const PDWORDArray &sources, const PString &reason)
 
virtual void OnRxApplDefined (const PString &type, unsigned subtype, DWORD src, const BYTE *data, PINDEX size)
 
unsigned GetSessionID () const
 
void SetSessionID (unsigned id)
 
bool IsAudio () const
 
void SetAudio (bool aud)
 
PString GetCanonicalName () const
 
void SetCanonicalName (const PString &name)
 
PString GetToolName () const
 
void SetToolName (const PString &name)
 
RTP_UserDataGetUserData () const
 
void SetUserData (RTP_UserData *data, PBoolean autoDeleteUserData=true)
 
DWORD GetSyncSourceOut () const
 
bool AllowAnySyncSource () const
 
void SetAnySyncSource (bool allow)
 
void SetIgnorePayloadTypeChanges (PBoolean ignore)
 
const PTimeInterval & GetReportTimeInterval ()
 
void SetReportTimeInterval (const PTimeInterval &interval)
 
unsigned GetTxStatisticsInterval ()
 
void SetTxStatisticsInterval (unsigned packets)
 
unsigned GetRxStatisticsInterval ()
 
void SetRxStatisticsInterval (unsigned packets)
 
void ClearStatistics ()
 
DWORD GetPacketsSent () const
 
DWORD GetOctetsSent () const
 
DWORD GetPacketsReceived () const
 
DWORD GetOctetsReceived () const
 
DWORD GetPacketsLost () const
 
DWORD GetPacketsLostByRemote () const
 
DWORD GetPacketsOutOfOrder () const
 
DWORD GetPacketsTooLate () const
 
DWORD GetPacketOverruns () const
 
DWORD GetAverageSendTime () const
 
DWORD GetMarkerRecvCount () const
 
DWORD GetMarkerSendCount () const
 
DWORD GetMaximumSendTime () const
 
DWORD GetMinimumSendTime () const
 
DWORD GetAverageReceiveTime () const
 
DWORD GetMaximumReceiveTime () const
 
DWORD GetMinimumReceiveTime () const
 
DWORD GetAvgJitterTime () const
 
DWORD GetMaxJitterTime () const
 
DWORD GetJitterTimeOnRemote () const
 
- Protected Types inherited from RTP_Session
typedef PSafePtr
< RTP_JitterBuffer,
PSafePtrMultiThreaded > 
JitterBufferPtr
 
- Protected Member Functions inherited from RTP_UDP
 PDECLARE_NOTIFIER (PTimer, RTP_UDP, OnWriteDataIdle)
 
- Protected Member Functions inherited from RTP_Session
RTP_Session::ReceiverReportArray BuildReceiverReportArray (const RTP_ControlFrame &frame, PINDEX offset)
 
void AddReceiverReport (RTP_ControlFrame::ReceiverReport &receiver)
 
PBoolean InsertReportPacket (RTP_ControlFrame &report)
 
void SaveOutOfOrderPacket (RTP_DataFrame &frame)
 
 PDECLARE_NOTIFIER (PTimer, RTP_Session, SendReport)
 
- Protected Attributes inherited from RTP_UDP
PIPSocket::Address localAddress
 
WORD localDataPort
 
WORD localControlPort
 
PIPSocket::Address remoteAddress
 
WORD remoteDataPort
 
WORD remoteControlPort
 
PIPSocket::Address remoteTransmitAddress
 
PUDPSocket * dataSocket
 
PUDPSocket * controlSocket
 
bool shutdownRead
 
bool shutdownWrite
 
bool appliedQOS
 
bool remoteIsNAT
 
bool localHasNAT
 
bool m_firstControl
 
int badTransmitCounter
 
PTime badTransmitStart
 
PTimer timerWriteDataIdle
 
- Protected Attributes inherited from RTP_Session
PString m_encoding
 
PMutex m_encodingMutex
 
RTP_Encodingm_encodingHandler
 
unsigned sessionID
 
bool isAudio
 
unsigned m_timeUnits
 
PString canonicalName
 
PString toolName
 
RTP_UserDatauserData
 
PBoolean autoDeleteUserData
 
JitterBufferPtr m_jitterBuffer
 
DWORD syncSourceOut
 
DWORD syncSourceIn
 
DWORD lastSentTimestamp
 
bool allowAnySyncSource
 
bool allowOneSyncSourceChange
 
PBoolean allowRemoteTransmitAddressChange
 
PBoolean allowSequenceChange
 
unsigned txStatisticsInterval
 
unsigned rxStatisticsInterval
 
WORD lastSentSequenceNumber
 
WORD expectedSequenceNumber
 
PTimeInterval lastSentPacketTime
 
PTimeInterval lastReceivedPacketTime
 
PTime lastSRTimestamp
 
PTime lastSRReceiveTime
 
PTimeInterval delaySinceLastSR
 
WORD lastRRSequenceNumber
 
bool resequenceOutOfOrderPackets
 
unsigned consecutiveOutOfOrderPackets
 
PTimeInterval outOfOrderWaitTime
 
PTimeInterval outOfOrderPacketTime
 
std::list< RTP_DataFramem_outOfOrderPackets
 
PMutex dataMutex
 
DWORD timeStampOffs
 
PBoolean oobTimeStampBaseEstablished
 
DWORD oobTimeStampOutBase
 
PTimeInterval oobTimeStampBase
 
PTime firstPacketSent
 
DWORD packetsSent
 
DWORD rtcpPacketsSent
 
DWORD octetsSent
 
PTime firstPacketReceived
 
DWORD packetsReceived
 
DWORD senderReportsReceived
 
DWORD octetsReceived
 
DWORD packetsLost
 
DWORD packetsLostByRemote
 
DWORD packetsOutOfOrder
 
DWORD averageSendTime
 
DWORD maximumSendTime
 
DWORD minimumSendTime
 
DWORD averageReceiveTime
 
DWORD maximumReceiveTime
 
DWORD minimumReceiveTime
 
DWORD jitterLevel
 
DWORD jitterLevelOnRemote
 
DWORD maximumJitterLevel
 
DWORD markerSendCount
 
DWORD markerRecvCount
 
unsigned txStatisticsCount
 
unsigned rxStatisticsCount
 
DWORD averageSendTimeAccum
 
DWORD maximumSendTimeAccum
 
DWORD minimumSendTimeAccum
 
DWORD averageReceiveTimeAccum
 
DWORD maximumReceiveTimeAccum
 
DWORD minimumReceiveTimeAccum
 
DWORD packetsLostSinceLastRR
 
DWORD lastTransitTime
 
RTP_DataFrame::PayloadTypes lastReceivedPayloadType
 
PBoolean ignorePayloadTypeChanges
 
PMutex m_reportMutex
 
PTimer m_reportTimer
 
PBoolean closeOnBye
 
PBoolean byeSent
 
bool failed
 set to true if session has received too many ICMP destination unreachable More...
 
list< FilterNotifierm_filters
 

Constructor & Destructor Documentation

SecureRTP_UDP::SecureRTP_UDP ( const Params options)

Create a new RTP channel.

Parameters
optionsParameters to construct with session.
SecureRTP_UDP::~SecureRTP_UDP ( )

Destroy the RTP.

Member Function Documentation

virtual OpalSecurityMode* SecureRTP_UDP::GetSecurityParms ( ) const
virtual
virtual void SecureRTP_UDP::SetSecurityMode ( OpalSecurityMode srtpParms)
virtual

Field Documentation

OpalSecurityMode* SecureRTP_UDP::securityParms
protected

The documentation for this class was generated from the following file: