#include <rtp.h>
Inheritance diagram for RTP_UDP:
Public Member Functions | |
virtual BOOL | ModifyQOS (RTP_QOS *rtpqos) |
virtual void | Reopen (BOOL isReading) |
virtual int | GetDataSocketHandle () const |
virtual int | GetControlSocketHandle () const |
Overrides from class RTP_Session | |
virtual BOOL | ReadData (RTP_DataFrame &frame, BOOL loop) |
virtual BOOL | WriteData (RTP_DataFrame &frame) |
virtual BOOL | WriteOOBData (RTP_DataFrame &frame) |
virtual BOOL | WriteControl (RTP_ControlFrame &frame) |
virtual void | Close (BOOL reading) |
virtual PString | GetLocalHostName () |
New functions for class | |
virtual BOOL | Open (PIPSocket::Address localAddress, WORD portBase, WORD portMax, BYTE ipTypeOfService, PSTUNClient *stun=NULL, RTP_QOS *rtpqos=NULL) |
Member variable access | |
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 BOOL | SetRemoteSocketInfo (PIPSocket::Address address, WORD port, BOOL isDataPort) |
virtual void | ApplyQOS (const PIPSocket::Address &addr) |
Protected Member Functions | |
virtual int | WaitForPDU (PUDPSocket &dataSocket, PUDPSocket &controlSocket, const PTimeInterval &timer) |
virtual SendReceiveStatus | ReadDataPDU (RTP_DataFrame &frame) |
virtual SendReceiveStatus | ReadControlPDU () |
virtual SendReceiveStatus | ReadDataOrControlPDU (PUDPSocket &socket, PBYTEArray &frame, BOOL fromDataChannel) |
Protected Attributes | |
PIPSocket::Address | localAddress |
WORD | localDataPort |
WORD | localControlPort |
PIPSocket::Address | remoteAddress |
WORD | remoteDataPort |
WORD | remoteControlPort |
PIPSocket::Address | remoteTransmitAddress |
BOOL | shutdownRead |
BOOL | shutdownWrite |
PUDPSocket * | dataSocket |
PUDPSocket * | controlSocket |
BOOL | appliedQOS |
BOOL | remoteIsNAT |
BOOL | first |
RTP_UDP::RTP_UDP | ( | PHandleAggregator * | aggregator, | |
unsigned | id, | |||
BOOL | remoteIsNAT | |||
) |
Create a new RTP channel.
aggregator | RTP aggregator |
id | Session ID for RTP channel |
remoteIsNAT | TRUE is remote is behind NAT |
RTP_UDP::~RTP_UDP | ( | ) |
Destroy the RTP.
RTP_UDP::RTP_UDP | ( | PHandleAggregator * | aggregator, | |
unsigned | id, | |||
BOOL | remoteIsNAT | |||
) |
Create a new RTP channel.
aggregator | RTP aggregator |
id | Session ID for RTP channel |
remoteIsNAT | TRUE is remote is behind NAT |
RTP_UDP::~RTP_UDP | ( | ) |
Destroy the RTP.
virtual BOOL RTP_UDP::ReadData | ( | RTP_DataFrame & | frame, | |
BOOL | loop | |||
) | [virtual] |
Read a data frame from the RTP channel. Any control frames received are dispatched to callbacks and are not returned by this function. It will block until a data frame is available or an error occurs.
Implements RTP_Session.
Reimplemented in T38PseudoRTP.
virtual BOOL RTP_UDP::WriteData | ( | RTP_DataFrame & | frame | ) | [virtual] |
virtual BOOL RTP_UDP::WriteOOBData | ( | RTP_DataFrame & | frame | ) | [virtual] |
Write data frame to the RTP channel outside the normal stream of media Used for RFC2833 packets
Reimplemented from RTP_Session.
virtual BOOL RTP_UDP::WriteControl | ( | RTP_ControlFrame & | frame | ) | [virtual] |
Write a control frame from the RTP channel.
Implements RTP_Session.
virtual void RTP_UDP::Close | ( | BOOL | reading | ) | [virtual] |
Close down the RTP session.
reading | Closing the read side of the session |
Implements RTP_Session.
virtual PString RTP_UDP::GetLocalHostName | ( | ) | [virtual] |
Get the session description name.
Implements RTP_Session.
virtual BOOL RTP_UDP::ModifyQOS | ( | RTP_QOS * | rtpqos | ) | [virtual] |
Change the QoS settings
Reimplemented from RTP_Session.
virtual BOOL RTP_UDP::Open | ( | PIPSocket::Address | localAddress, | |
WORD | portBase, | |||
WORD | portMax, | |||
BYTE | ipTypeOfService, | |||
PSTUNClient * | stun = NULL , |
|||
RTP_QOS * | rtpqos = NULL | |||
) | [virtual] |
Open the UDP ports for the RTP session.
localAddress | Local interface to bind to |
portBase | Base of ports to search |
portMax | end of ports to search (inclusive) |
ipTypeOfService | Type of Service byte |
stun | STUN server to use createing sockets (or NULL if no STUN) |
rtpqos | QOS spec (or NULL if no QoS) |
virtual void RTP_UDP::Reopen | ( | BOOL | isReading | ) | [virtual] |
Reopens an existing session in the given direction.
Implements RTP_Session.
virtual PIPSocket::Address RTP_UDP::GetLocalAddress | ( | ) | const [inline, virtual] |
Get local address of session.
virtual void RTP_UDP::SetLocalAddress | ( | const PIPSocket::Address & | addr | ) | [inline, virtual] |
Set local address of session.
PIPSocket::Address RTP_UDP::GetRemoteAddress | ( | ) | const [inline] |
Get remote address of session.
virtual WORD RTP_UDP::GetLocalDataPort | ( | ) | const [inline, virtual] |
Get local data port of session.
virtual WORD RTP_UDP::GetLocalControlPort | ( | ) | const [inline, virtual] |
Get local control port of session.
virtual WORD RTP_UDP::GetRemoteDataPort | ( | ) | const [inline, virtual] |
Get remote data port of session.
virtual WORD RTP_UDP::GetRemoteControlPort | ( | ) | const [inline, virtual] |
Get remote control port of session.
virtual PUDPSocket& RTP_UDP::GetDataSocket | ( | ) | [inline, virtual] |
Get data UDP socket of session.
virtual PUDPSocket& RTP_UDP::GetControlSocket | ( | ) | [inline, virtual] |
Get control UDP socket of session.
virtual BOOL RTP_UDP::SetRemoteSocketInfo | ( | PIPSocket::Address | address, | |
WORD | port, | |||
BOOL | isDataPort | |||
) | [virtual] |
Set the remote address and port information for session.
address | Addre ss of remote |
port | Port on remote |
isDataPort | Flag for data or control channel |
Reimplemented in T38PseudoRTP.
virtual void RTP_UDP::ApplyQOS | ( | const PIPSocket::Address & | addr | ) | [virtual] |
Apply QOS - requires address to connect the socket on Windows platforms
virtual int RTP_UDP::GetDataSocketHandle | ( | ) | const [inline, virtual] |
Reimplemented from RTP_Session.
virtual int RTP_UDP::GetControlSocketHandle | ( | ) | const [inline, virtual] |
Reimplemented from RTP_Session.
virtual int RTP_UDP::WaitForPDU | ( | PUDPSocket & | dataSocket, | |
PUDPSocket & | controlSocket, | |||
const PTimeInterval & | timer | |||
) | [protected, virtual] |
Reimplemented in T38PseudoRTP.
virtual SendReceiveStatus RTP_UDP::ReadDataPDU | ( | RTP_DataFrame & | frame | ) | [protected, virtual] |
Reimplemented in T38PseudoRTP.
virtual SendReceiveStatus RTP_UDP::ReadControlPDU | ( | ) | [protected, virtual] |
virtual SendReceiveStatus RTP_UDP::ReadDataOrControlPDU | ( | PUDPSocket & | socket, | |
PBYTEArray & | frame, | |||
BOOL | fromDataChannel | |||
) | [protected, virtual] |
PIPSocket::Address RTP_UDP::localAddress [protected] |
WORD RTP_UDP::localDataPort [protected] |
WORD RTP_UDP::localControlPort [protected] |
PIPSocket::Address RTP_UDP::remoteAddress [protected] |
WORD RTP_UDP::remoteDataPort [protected] |
WORD RTP_UDP::remoteControlPort [protected] |
PIPSocket::Address RTP_UDP::remoteTransmitAddress [protected] |
BOOL RTP_UDP::shutdownRead [protected] |
BOOL RTP_UDP::shutdownWrite [protected] |
PUDPSocket* RTP_UDP::dataSocket [protected] |
PUDPSocket* RTP_UDP::controlSocket [protected] |
BOOL RTP_UDP::appliedQOS [protected] |
BOOL RTP_UDP::remoteIsNAT [protected] |
BOOL RTP_UDP::first [protected] |