OPAL  Version 3.10.4
H323_RTPChannel Class Reference

#include <channels.h>

Inheritance diagram for H323_RTPChannel:
H323_RealTimeChannel H323UnidirectionalChannel H323Channel

Public Member Functions

Construction
 H323_RTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, RTP_Session &rtp)
 ~H323_RTPChannel ()
 Destroy the channel.
Overrides from class H323Channel
virtual unsigned GetSessionID () const
virtual bool SetSessionID (unsigned sessionID)
Overrides from class H323_RealTimeChannel
virtual PBoolean OnSendingPDU (H245_H2250LogicalChannelParameters &param) const
virtual void OnSendOpenAck (H245_H2250LogicalChannelAckParameters &param) const
virtual PBoolean OnReceivedPDU (const H245_H2250LogicalChannelParameters &param, unsigned &errorCode)
virtual PBoolean OnReceivedAckPDU (const H245_H2250LogicalChannelAckParameters &param)
- Public Member Functions inherited from H323_RealTimeChannel
 H323_RealTimeChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
virtual PBoolean OnSendingPDU (H245_OpenLogicalChannel &openPDU) const
virtual void OnSendOpenAck (const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
virtual PBoolean OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual PBoolean OnReceivedAckPDU (const H245_OpenLogicalChannelAck &pdu)
virtual PBoolean SetDynamicRTPPayloadType (int newType)
RTP_DataFrame::PayloadTypes GetDynamicRTPPayloadType () const
- Public Member Functions inherited from H323UnidirectionalChannel
 H323UnidirectionalChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
 ~H323UnidirectionalChannel ()
virtual Directions GetDirection () const
virtual PBoolean SetInitialBandwidth ()
virtual PBoolean Open ()
virtual PBoolean Start ()
virtual OpalMediaStreamPtr GetMediaStream () const
- Public Member Functions inherited from H323Channel
virtual bool OnMediaCommand (const OpalMediaCommand &)
 H323Channel (H323Connection &connection, const H323Capability &capability)
 ~H323Channel ()
virtual void PrintOn (ostream &strm) const
const H323ChannelNumberGetNumber () const
void SetNumber (const H323ChannelNumber &num)
const H323ChannelNumberGetReverseChannel () const
void SetReverseChannel (const H323ChannelNumber &num)
unsigned GetBandwidthUsed () const
PBoolean SetBandwidthUsed (unsigned bandwidth)
const H323CapabilityGetCapability () const
PBoolean IsPaused () const
void SetPause (PBoolean pause)
virtual PBoolean GetMediaTransportAddress (OpalTransportAddress &data, OpalTransportAddress &control) const
virtual void Close ()
PBoolean IsOpen () const
virtual void OnFlowControl (long bitRateRestriction)
virtual void OnMiscellaneousCommand (const H245_MiscellaneousCommand_type &type)
virtual void OnMiscellaneousIndication (const H245_MiscellaneousIndication_type &type)
virtual void OnJitterIndication (DWORD jitter, int skippedFrameCount, int additionalBuffer)

Protected Attributes

RTP_SessionrtpSession
H323_RTP_SessionrtpCallbacks
- Protected Attributes inherited from H323_RealTimeChannel
RTP_DataFrame::PayloadTypes rtpPayloadType
- Protected Attributes inherited from H323UnidirectionalChannel
bool receiver
OpalMediaStreamPtr mediaStream
- Protected Attributes inherited from H323Channel
H323EndPointendpoint
H323Connectionconnection
H323Capabilitycapability
H323ChannelNumber number
H323ChannelNumber reverseChannel
bool opened
bool paused
PAtomicInteger m_terminating

Additional Inherited Members

- Public Types inherited from H323Channel
enum  Directions { IsBidirectional, IsTransmitter, IsReceiver, NumDirections }
- Protected Member Functions inherited from H323UnidirectionalChannel
virtual void InternalClose ()

Detailed Description

This class is for encpsulating the IETF Real Time Protocol interface.

Constructor & Destructor Documentation

H323_RTPChannel::H323_RTPChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction,
RTP_Session rtp 
)

Create a new channel.

Parameters
connectionConnection to endpoint for channel
capabilityCapability channel is using
rtpDirection of channel RTP session for channel
H323_RTPChannel::~H323_RTPChannel ( )

Destroy the channel.

Member Function Documentation

virtual unsigned H323_RTPChannel::GetSessionID ( ) const
virtual

Indicate the session number of the channel. Return session for channel. This returns the session ID of the RTP_Session member variable.

Reimplemented from H323Channel.

virtual PBoolean H323_RTPChannel::OnReceivedAckPDU ( const H245_H2250LogicalChannelAckParameters &  param)
virtual

This is called after a request to create a channel occurs from the local machine via the H245LogicalChannelDict::Open() function, and the request has been acknowledged by the remote endpoint.

The default behaviour sets the remote ports to send UDP packets to.

Parameters
paramAcknowledgement PDU

Reimplemented from H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::OnReceivedPDU ( const H245_H2250LogicalChannelParameters &  param,
unsigned &  errorCode 
)
virtual

This is called after a request to create a channel occurs from the local machine via the H245LogicalChannelDict::Open() function, and the request has been acknowledged by the remote endpoint.

The default behaviour sets the remote ports to send UDP packets to.

Parameters
paramAcknowledgement PDU
errorCodeError on failure

Reimplemented from H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::OnSendingPDU ( H245_H2250LogicalChannelParameters &  param) const
virtual

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters
paramOpen PDU to send.

Reimplemented from H323_RealTimeChannel.

virtual void H323_RTPChannel::OnSendOpenAck ( H245_H2250LogicalChannelAckParameters &  param) const
virtual

This is called when request to create a channel is received from a remote machine and is about to be acknowledged.

Parameters
paramAcknowledgement PDU

Reimplemented from H323_RealTimeChannel.

virtual bool H323_RTPChannel::SetSessionID ( unsigned  sessionID)
virtual

Set the session number of the channel. During OLC negotations teh master may change the session number being used for the logical channel.

Returns false if the sesion could not be renumbered.

Parameters
sessionIDNew session ID

Reimplemented from H323Channel.

Field Documentation

H323_RTP_Session& H323_RTPChannel::rtpCallbacks
protected
RTP_Session& H323_RTPChannel::rtpSession
protected

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