H323_RealTimeChannel Class Reference

#include <channels.h>

Inheritance diagram for H323_RealTimeChannel:

H323UnidirectionalChannel H323Channel H323_ExternalRTPChannel H323_RTPChannel List of all members.

Public Member Functions

Construction
 H323_RealTimeChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
Overrides from class H323Channel
virtual BOOL OnSendingPDU (H245_OpenLogicalChannel &openPDU) const
virtual void OnSendOpenAck (const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
virtual BOOL OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual BOOL OnReceivedAckPDU (const H245_OpenLogicalChannelAck &pdu)
Operations
virtual BOOL OnSendingPDU (H245_H2250LogicalChannelParameters &param) const =0
virtual BOOL OnSendingAltPDU (H245_ArrayOf_GenericInformation &alternate) const =0
virtual void OnSendOpenAck (H245_H2250LogicalChannelAckParameters &param) const =0
virtual void OnSendOpenAckAlt (H245_ArrayOf_GenericInformation &alternate) const =0
virtual BOOL OnReceivedPDU (const H245_H2250LogicalChannelParameters &param, unsigned &errorCode)=0
virtual BOOL OnReceivedAltPDU (const H245_ArrayOf_GenericInformation &alternate)=0
virtual BOOL OnReceivedAckPDU (const H245_H2250LogicalChannelAckParameters &param)=0
virtual BOOL OnReceivedAckAltPDU (const H245_ArrayOf_GenericInformation &alternate)=0
virtual RTP_DataFrame::PayloadTypes GetRTPPayloadType () const
virtual BOOL SetDynamicRTPPayloadType (int newType)

Protected Attributes

RTP_DataFrame::PayloadTypes rtpPayloadType

Detailed Description

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

Definition at line 572 of file channels.h.


Constructor & Destructor Documentation

H323_RealTimeChannel::H323_RealTimeChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction 
)

Create a new channel.

Parameters:
connection  Connection to endpoint for channel
capability  Capability channel is using
direction  Direction of channel

Definition at line 918 of file channels.cxx.

References RTP_DataFrame::IllegalPayloadType, and rtpPayloadType.


Member Function Documentation

BOOL H323_RealTimeChannel::OnSendingPDU ( H245_OpenLogicalChannel openPDU  )  const [virtual]

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
openPDU  Open PDU to send.

Implements H323Channel.

Definition at line 927 of file channels.cxx.

References H323Channel::connection, H245_OpenLogicalChannel::e_genericInformation, H245_OpenLogicalChannel_reverseLogicalChannelParameters::e_multiplexParameters, H245_OpenLogicalChannel::e_reverseLogicalChannelParameters, H323Connection::isSameNAT(), H245_OpenLogicalChannel::m_forwardLogicalChannelNumber, H245_OpenLogicalChannel::m_forwardLogicalChannelParameters, H245_OpenLogicalChannel::m_genericInformation, H245_OpenLogicalChannel_forwardLogicalChannelParameters::m_multiplexParameters, H245_OpenLogicalChannel_reverseLogicalChannelParameters::m_multiplexParameters, H245_OpenLogicalChannel::m_reverseLogicalChannelParameters, H323Channel::number, and OnSendingAltPDU().

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:
open  Open PDU
ack  Acknowledgement PDU

Reimplemented from H323Channel.

Definition at line 960 of file channels.cxx.

References H323Channel::connection, H245_OpenLogicalChannelAck::e_forwardMultiplexAckParameters, H245_OpenLogicalChannelAck::e_genericInformation, H245_OpenLogicalChannelAck_forwardMultiplexAckParameters::e_h2250LogicalChannelAckParameters, H245_H2250LogicalChannelAckParameters::e_sessionID, H323Connection::isSameNAT(), H245_OpenLogicalChannel::m_forwardLogicalChannelParameters, H245_OpenLogicalChannelAck::m_forwardMultiplexAckParameters, H245_OpenLogicalChannelAck::m_genericInformation, H245_OpenLogicalChannel_forwardLogicalChannelParameters::m_multiplexParameters, H245_H2250LogicalChannelAckParameters::m_sessionID, H245_H2250LogicalChannelParameters::m_sessionID, and OnSendOpenAckAlt().

BOOL 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:
pdu  Open PDU
errorCode  Error code on failure

Reimplemented from H323Channel.

Definition at line 993 of file channels.cxx.

References H323Channel::capability, H323Channel::codec, H245_OpenLogicalChannelReject_cause::e_dataTypeNotSupported, H245_OpenLogicalChannel::e_genericInformation, H245_OpenLogicalChannel_forwardLogicalChannelParameters_multiplexParameters::e_h2250LogicalChannelParameters, H245_OpenLogicalChannel_reverseLogicalChannelParameters_multiplexParameters::e_h2250LogicalChannelParameters, H245_OpenLogicalChannel::e_reverseLogicalChannelParameters, H245_OpenLogicalChannelReject_cause::e_unsuitableReverseParameters, H323Capability::GetFormatName(), H323Capability::GetRxFramesInPacket(), H323Capability::GetTxFramesInPacket(), H245_OpenLogicalChannel_forwardLogicalChannelParameters::m_dataType, H245_OpenLogicalChannel_reverseLogicalChannelParameters::m_dataType, H245_OpenLogicalChannel::m_forwardLogicalChannelNumber, H245_OpenLogicalChannel::m_forwardLogicalChannelParameters, H245_OpenLogicalChannel::m_genericInformation, H245_OpenLogicalChannel_forwardLogicalChannelParameters::m_multiplexParameters, H245_OpenLogicalChannel_reverseLogicalChannelParameters::m_multiplexParameters, H245_OpenLogicalChannel::m_reverseLogicalChannelParameters, H323Channel::number, OnReceivedAltPDU(), H323Capability::OnReceivedPDU(), and H323UnidirectionalChannel::receiver.

BOOL 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:
pdu  Acknowledgement PDU

Reimplemented from H323Channel.

Definition at line 1046 of file channels.cxx.

References H245_OpenLogicalChannelAck::e_forwardMultiplexAckParameters, H245_OpenLogicalChannel::e_genericInformation, H245_OpenLogicalChannelAck_forwardMultiplexAckParameters::e_h2250LogicalChannelAckParameters, H245_OpenLogicalChannelAck::m_forwardMultiplexAckParameters, H245_OpenLogicalChannelAck::m_genericInformation, and OnReceivedAckAltPDU().

virtual BOOL H323_RealTimeChannel::OnSendingPDU ( H245_H2250LogicalChannelParameters param  )  const [pure virtual]

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
param  Open PDU to send.

Implemented in H323_RTPChannel, and H323_ExternalRTPChannel.

virtual BOOL H323_RealTimeChannel::OnSendingAltPDU ( H245_ArrayOf_GenericInformation alternate  )  const [pure virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implemented in H323_RTPChannel.

Referenced by OnSendingPDU().

virtual void H323_RealTimeChannel::OnSendOpenAck ( H245_H2250LogicalChannelAckParameters param  )  const [pure virtual]

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

Parameters:
param  Acknowledgement PDU

Implemented in H323_RTPChannel, and H323_ExternalRTPChannel.

virtual void H323_RealTimeChannel::OnSendOpenAckAlt ( H245_ArrayOf_GenericInformation alternate  )  const [pure virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implemented in H323_RTPChannel.

Referenced by OnSendOpenAck().

virtual BOOL H323_RealTimeChannel::OnReceivedPDU ( const H245_H2250LogicalChannelParameters param,
unsigned &  errorCode 
) [pure 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:
param  Acknowledgement PDU
errorCode  Error on failure

Implemented in H323_RTPChannel, and H323_ExternalRTPChannel.

virtual BOOL H323_RealTimeChannel::OnReceivedAltPDU ( const H245_ArrayOf_GenericInformation alternate  )  [pure virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implemented in H323_RTPChannel.

Referenced by OnReceivedPDU().

virtual BOOL H323_RealTimeChannel::OnReceivedAckPDU ( const H245_H2250LogicalChannelAckParameters param  )  [pure 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:
param  Acknowledgement PDU

Implemented in H323_RTPChannel, and H323_ExternalRTPChannel.

virtual BOOL H323_RealTimeChannel::OnReceivedAckAltPDU ( const H245_ArrayOf_GenericInformation alternate  )  [pure virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implemented in H323_RTPChannel.

Referenced by OnReceivedAckPDU().

RTP_DataFrame::PayloadTypes H323_RealTimeChannel::GetRTPPayloadType (  )  const [virtual]

Get the active payload type used by this channel. This will use the dynamic payload type configured for the channel, or the fixed payload type defined by the media format.

Definition at line 1068 of file channels.cxx.

References H323Channel::capability, H323Channel::codec, H323Capability::GetPayloadType(), RTP_DataFrame::IllegalPayloadType, and rtpPayloadType.

Referenced by H323_RTP_UDP::OnSendingAckPDU(), H323_RTP_UDP::OnSendingPDU(), H323_RTPChannel::Receive(), and H323_RTPChannel::Transmit().

BOOL H323_RealTimeChannel::SetDynamicRTPPayloadType ( int  newType  )  [virtual]

Set the dynamic payload type used by this channel.

Parameters:
newType  New RTP payload type number

Definition at line 1084 of file channels.cxx.

References RTP_DataFrame::DynamicBase, RTP_DataFrame::MaxPayloadType, and rtpPayloadType.

Referenced by H323_RTP_UDP::OnReceivedAckPDU(), and H323_RTP_UDP::OnReceivedPDU().


The documentation for this class was generated from the following files:
Generated on Thu Oct 25 13:45:17 2007 for h323plus by  doxygen 1.5.2