OPAL  Version 3.10.4
H323_RealTimeChannel Class Reference

#include <channels.h>

Inheritance diagram for H323_RealTimeChannel:
H323UnidirectionalChannel H323Channel H323_ExternalRTPChannel H323_RTPChannel

Public Member Functions

Construction
 H323_RealTimeChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
Overrides from class H323Channel
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)
Operations
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)
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 H323ChannelNumber & GetNumber () const
void SetNumber (const H323ChannelNumber &num)
const H323ChannelNumber & GetReverseChannel () const
void SetReverseChannel (const H323ChannelNumber &num)
unsigned GetBandwidthUsed () const
PBoolean SetBandwidthUsed (unsigned bandwidth)
const H323Capability & GetCapability () const
PBoolean IsPaused () const
void SetPause (PBoolean pause)
virtual unsigned GetSessionID () const
virtual bool SetSessionID (unsigned sessionID)
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_DataFrame::PayloadTypes rtpPayloadType
- Protected Attributes inherited from H323UnidirectionalChannel
bool receiver
OpalMediaStreamPtr mediaStream
- Protected Attributes inherited from H323Channel
H323EndPoint & endpoint
H323Connection & connection
H323Capability * capability
H323ChannelNumber number
H323ChannelNumber reverseChannel
bool opened
bool paused
PAtomicInteger m_terminating

Additional Inherited Members

- 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_RealTimeChannel::H323_RealTimeChannel ( H323Connection &  connection,
const H323Capability &  capability,
Directions  direction 
)

Create a new channel.

Parameters:
connectionConnection to endpoint for channel
capabilityCapability channel is using
directionDirection of channel

Member Function Documentation

RTP_DataFrame::PayloadTypes H323_RealTimeChannel::GetDynamicRTPPayloadType ( ) const
inline

References rtpPayloadType.

virtual PBoolean H323_RealTimeChannel::OnReceivedAckPDU ( const H245_OpenLogicalChannelAck &  pdu)
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 makes sure the parameters are compatible and passes on the PDU to the rtp session.

Parameters:
pduAcknowledgement PDU

Reimplemented from H323Channel.

virtual PBoolean H323_RealTimeChannel::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 in H323_ExternalRTPChannel, and H323_RTPChannel.

virtual PBoolean H323_RealTimeChannel::OnReceivedPDU ( const H245_OpenLogicalChannel &  pdu,
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 makes sure the parameters are compatible and passes on the PDU to the rtp session.

Parameters:
pduOpen PDU
errorCodeError code on failure

Reimplemented from H323Channel.

virtual PBoolean H323_RealTimeChannel::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 in H323_ExternalRTPChannel, and H323_RTPChannel.

virtual PBoolean H323_RealTimeChannel::OnSendingPDU ( H245_OpenLogicalChannel &  openPDU) const
virtual

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
openPDUOpen PDU to send.

Implements H323Channel.

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

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
paramOpen PDU to send.

Reimplemented in H323_ExternalRTPChannel, and H323_RTPChannel.

virtual void H323_RealTimeChannel::OnSendOpenAck ( const H245_OpenLogicalChannel &  open,
H245_OpenLogicalChannelAck &  ack 
) const
virtual

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

Parameters:
openOpen PDU
ackAcknowledgement PDU

Reimplemented from H323Channel.

virtual void H323_RealTimeChannel::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 in H323_ExternalRTPChannel, and H323_RTPChannel.

virtual PBoolean H323_RealTimeChannel::SetDynamicRTPPayloadType ( int  newType)
virtual

Set the dynamic payload type used by this channel.

Parameters:
newTypeNew RTP payload type number

Field Documentation

RTP_DataFrame::PayloadTypes H323_RealTimeChannel::rtpPayloadType
protected

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