H323_T120Channel Class Reference

#include <h323t120.h>

Inheritance diagram for H323_T120Channel:

H323DataChannel H323UnidirectionalChannel H323Channel List of all members.

Public Member Functions

virtual void HandleChannel ()
Construction
 H323_T120Channel (H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID)
Overrides from class H323Channel
virtual void Receive ()
virtual void Transmit ()
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)

Protected Attributes

OpalT120Protocolt120handler

Detailed Description

This class describes the T.120 logical channel.

Definition at line 190 of file h323t120.h.


Constructor & Destructor Documentation

H323_T120Channel::H323_T120Channel ( H323Connection connection,
const H323Capability capability,
Directions  direction,
unsigned  sessionID 
)

Create a new channel.

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

Definition at line 159 of file h323t120.cxx.

References t120handler.


Member Function Documentation

void H323_T120Channel::Receive (  )  [virtual]

Handle channel data reception.

This is called by the thread started by the Start() function and is typically a loop reading from the transport and handling PDU's.

The default behaviour here is to call HandleChannel()

Implements H323Channel.

Definition at line 170 of file h323t120.cxx.

References HandleChannel().

void H323_T120Channel::Transmit (  )  [virtual]

Handle channel data transmission.

This is called by the thread started by the Start() function and is typically a loop reading from the codec and writing to the transport (eg an RTP_session).

The default behaviour here is to call HandleChannel()

Implements H323Channel.

Definition at line 176 of file h323t120.cxx.

References HandleChannel().

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

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
openPDU  Open PDU to send.

Reimplemented from H323DataChannel.

Definition at line 211 of file h323t120.cxx.

References H323Channel::connection, H323DataChannel::CreateListener(), H245_NetworkAccessParameters::e_distribution, H245_NetworkAccessParameters_networkAddress::e_localAreaAddress, H245_OpenLogicalChannel::e_separateStack, H245_NetworkAccessParameters_distribution::e_unicast, H323Connection::GetControlChannel(), H323DataChannel::listener, H323DataChannel::OnSendingPDU(), and H323Listener::SetUpTransportPDU().

void H323_T120Channel::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 H323DataChannel.

Definition at line 232 of file h323t120.cxx.

References H323Channel::connection, H245_NetworkAccessParameters::e_distribution, H245_NetworkAccessParameters_networkAddress::e_localAreaAddress, H245_OpenLogicalChannelAck::e_separateStack, H245_NetworkAccessParameters_distribution::e_unicast, H323Connection::GetControlChannel(), H323DataChannel::listener, H245_NetworkAccessParameters::m_distribution, H245_NetworkAccessParameters::m_networkAddress, H245_OpenLogicalChannelAck::m_separateStack, H323Transport::SetUpTransportPDU(), H323Listener::SetUpTransportPDU(), H323DataChannel::transport, and H323Transport::UseLocalTSAP.

BOOL H323_T120Channel::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 H323DataChannel.

Definition at line 251 of file h323t120.cxx.

References H323Channel::connection, H323Transport::ConnectTo(), H323TransportAddress::CreateCompatibleListener(), H323Connection::CreateT120ProtocolHandler(), H323TransportAddress::CreateTransport(), OpalT120Protocol::DefaultTcpPort, H245_OpenLogicalChannelReject_cause::e_dataTypeNotAvailable, H245_NetworkAccessParameters_networkAddress::e_localAreaAddress, H245_OpenLogicalChannel::e_separateStack, H245_OpenLogicalChannelReject_cause::e_separateStackEstablishmentFailed, H245_NetworkAccessParameters::e_t120SetupProcedure, H245_NetworkAccessParameters_t120SetupProcedure::e_waitForCall, H323Channel::endpoint, H323Connection::GetControlChannel(), H323Connection::GetEndPoint(), H323TransportAddress::GetIpAddress(), H323Transport::GetLocalAddress(), H323Transport::GetRemoteAddress(), H323Listener::GetTransportAddress(), H323Connection::HadAnsweredCall(), H323DataChannel::listener, H245_OpenLogicalChannel::m_forwardLogicalChannelNumber, H245_NetworkAccessParameters::m_networkAddress, H245_OpenLogicalChannel::m_separateStack, H245_NetworkAccessParameters::m_t120SetupProcedure, H323Channel::number, H323Listener::Open(), t120handler, and H323DataChannel::transport.

BOOL H323_T120Channel::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 H323DataChannel.

Definition at line 334 of file h323t120.cxx.

References H323Channel::connection, H323Connection::CreateT120ProtocolHandler(), and t120handler.


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