#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] |
1.5.1