# H323_T38Channel Class Reference

`#include <h323t38.h>`

Inheritance diagram for H323_T38Channel:

List of all members.

## Public Member Functions

OpalT38Protocol * | GetHandler () const
Overrides from class H323Channel
virtual PBoolean | OnSendingPDU (H245_OpenLogicalChannel &openPDU) const
virtual PBoolean | OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual void | Close ()
virtual void | Receive ()
virtual void | Transmit ()
virtual PBoolean | CreateListener ()
virtual PBoolean | CreateTransport ()

## Protected Attributes

PBoolean | usesTCP
OpalT38Protocol * | t38handler

## Detailed Description

This class describes the T.38 logical channel.

## Constructor & Destructor Documentation

H323_T38Channel::H323_T38Channel | ( | H323Connection & | connection,
|  | const H323Capability & | capability,
|  | Directions | direction,
|  | unsigned | sessionID,
|  | H323_T38Capability::TransportMode | mode |
| ) |  |  |

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

H323_T38Channel::~H323_T38Channel | ( |  | ) |

H323_T38Channel::H323_T38Channel | ( | H323Connection & | connection,
|  | const H323Capability & | capability,
|  | Directions | direction,
|  | unsigned | sessionID,
|  | H323_T38Capability::TransportMode | mode |
| ) |  |  |

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

H323_T38Channel::~H323_T38Channel | ( |  | ) |

## Member Function Documentation

virtual PBoolean H323_T38Channel::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.

virtual PBoolean H323_T38Channel::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.

virtual void H323_T38Channel::Close | ( |  | ) | `[virtual]`

This is called to clean up any threads on connection termination.

Reimplemented from H323DataChannel.

virtual void H323_T38Channel::Receive | ( |  | ) | `[virtual]`

Handle channel data reception.

This is called by the thread started by the Start() function and is a loop reading from the transport and calling HandlePacket() for each PDU read.

virtual void H323_T38Channel::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).

virtual PBoolean H323_T38Channel::CreateListener | ( |  | ) | `[virtual]`

Create the H323Listener class to be used. This is called on receipt of an OpenLogicalChannel request.

The default behaviour creates a compatible listener using the connections control channel as a basis and returns PTrue if successful.

Reimplemented from H323DataChannel.

virtual PBoolean H323_T38Channel::CreateTransport | ( |  | ) | `[virtual]`

Create the H323Transport class to be used. This is called on receipt of an OpenLogicalChannelAck response. It should not return PTrue unless the transport member variable is set.

The default behaviour uses the connection signalling channel to create the transport and returns PTrue if successful.

Reimplemented from H323DataChannel.

OpalT38Protocol* H323_T38Channel::GetHandler | ( |  | ) | const`[inline]`

## Member Data Documentation

PBoolean H323_T38Channel::usesTCP `[protected]`

OpalT38Protocol* H323_T38Channel::t38handler `[protected]`

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

- h323t38.h