H323DataCapability Class Referenceabstract

`#include <h323caps.h>`

Inheritance diagram for H323DataCapability:

## Public Member Functions

Construction
| H323DataCapability (unsigned maxBitRate=0)
Identification functions
virtual MainTypes | GetMainType () const
Operations
virtual unsigned | GetDefaultSessionID () const
Protocol manipulation
virtual PBoolean | OnSendingPDU (H245_Capability &pdu) const
virtual PBoolean | OnSendingPDU (H245_DataType &pdu) const
virtual PBoolean | OnSendingPDU (H245_ModeElement &pdu) const
virtual PBoolean | OnSendingPDU (H245_DataApplicationCapability &pdu) const
virtual PBoolean | OnSendingPDU (H245_DataApplicationCapability &pdu, CommandType type) const
virtual PBoolean | OnSendingPDU (H245_DataMode &pdu) const =0
virtual PBoolean | OnReceivedPDU (const H245_Capability &pdu)
virtual PBoolean | OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
virtual PBoolean | OnReceivedPDU (const H245_DataApplicationCapability &pdu)
virtual PBoolean | OnReceivedPDU (const H245_DataApplicationCapability &pdu, CommandType type)
Public Member Functions inherited from H323Capability
| H323Capability ()
Comparison | Compare (const PObject &obj) const
void | PrintOn (ostream &strm) const
virtual unsigned | GetSubType () const =0
virtual PString | GetFormatName () const =0
virtual void | SetTxFramesInPacket (unsigned frames)
virtual unsigned | GetTxFramesInPacket () const
virtual unsigned | GetRxFramesInPacket () const
virtual H323Channel * | CreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const =0
virtual PBoolean | IsMatch (const PASN_Choice &subTypePDU, const PString &mediaPacketization) const
virtual PBoolean | IsUsable (const H323Connection &connection) const
CapabilityDirection | GetCapabilityDirection () const
void | SetCapabilityDirection (CapabilityDirection dir)
unsigned | GetCapabilityNumber () const
| Get unique capability number. More...
void | SetCapabilityNumber (unsigned num)
| Set unique capability number. More...
OpalMediaFormat | GetMediaFormat () const
bool | UpdateMediaFormat (const OpalMediaFormat &format)
RTP_DataFrame::PayloadTypes | GetPayloadType () const
| Get the payload type for the capaibility. More...
void | SetPayloadType (RTP_DataFrame::PayloadTypes pt)
| Set the payload type for the capaibility. More...
virtual void | AttachQoS (RTP_QOS *)
| Attach a QoS specification to this channel. More...

## Protected Attributes

unsigned | maxBitRate
Protected Attributes inherited from H323Capability
unsigned | assignedCapabilityNumber
CapabilityDirection | capabilityDirection
| Unique ID assigned to capability. More...

## Additional Inherited Members

Public Types inherited from H323Capability
enum | MainTypes { e_Audio, e_Video, e_Data, e_UserInput, e_GenericControl, e_NumMainTypes }
enum | { DefaultAudioSessionID = 1, DefaultVideoSessionID = 2, DefaultDataSessionID = 3, DefaultH224SessionID = 4 }
enum | CommandType { e_TCS, e_OLC, e_ReqMode }
enum | CapabilityDirection { e_Unknown, e_Receive, e_Transmit, e_ReceiveAndTransmit, e_NoDirection, NumCapabilityDirections }
Static Public Member Functions inherited from H323Capability
static H323Capability * | Create (const PString &name)
Protected Member Functions inherited from H323Capability
OpalMediaFormat & | GetWritableMediaFormat () const

## Detailed Description

This class describes the interface to a data channel used to transfer data via the logical channels opened and managed by the H323 control channel.

An application may create a descendent off this class and override functions as required for descibing a codec.

## Constructor & Destructor Documentation

H323DataCapability::H323DataCapability | ( | unsigned | maxBitRate = `0` | ) |

Create a new data capability.

Parameters

  maxBitRate | Maximum bit rate for data in 100's b/s

## Member Function Documentation

virtual unsigned H323DataCapability::GetDefaultSessionID | ( |  | ) | const

virtual

Get the default RTP session. This function gets the default RTP session ID for the capability type. For example audio capabilities return the value RTP_Session::DefaultAudioSessionID etc.

The default behaviour returns 3, indicating a data session.

Reimplemented from H323Capability.

virtual MainTypes H323DataCapability::GetMainType | ( |  | ) | const

virtual

Get the main type of the capability. Always returns e_Data.

Implements H323Capability.

virtual PBoolean H323DataCapability::OnReceivedPDU | ( | const H245_Capability & | pdu | ) |

virtual

This function is called whenever and incoming TerminalCapabilitySet PDU is received on the control channel, and a new H323Capability descendent was created. This completes reading fields from the PDU into the classes members.

If the function returns false then the received PDU codec description is not supported, so will be ignored. The default behaviour simply returns true.

Parameters

  pdu | PDU to get information from

Reimplemented from H323Capability.

virtual PBoolean H323DataCapability::OnReceivedPDU | ( | const H245_DataType & | pdu,
|  | PBoolean | receiver
| ) |  |

virtual

This function is called whenever and incoming OpenLogicalChannel PDU has been used to construct the control channel. It allows the capability to set from the PDU fields, information in members specific to the class.

The default behaviour is pure.

Parameters

  pdu | PDU to get information from
  receiver | Is receiver OLC

Reimplemented from H323Capability.

virtual PBoolean H323DataCapability::OnReceivedPDU | ( | const H245_DataApplicationCapability & | pdu | ) |

virtual

This function is called whenever and incoming TerminalCapabilitySet or OpenLogicalChannel PDU has been used to construct the control channel. It allows the capability to set from the PDU fields, information in members specific to the class.

The default behaviour is pure.

Parameters

  pdu | PDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_T120Capability, H323_H224_HDLCTunnelingCapability, and H323_H224_AnnexQCapability.

virtual PBoolean H323DataCapability::OnReceivedPDU | ( | const H245_DataApplicationCapability & | pdu,
|  | CommandType | type
| ) |  |

virtual

Parameters

  pdu | PDU to set information on
  type | Type of PDU to send in

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_Capability & | pdu | ) | const

virtual

This function is called whenever and outgoing TerminalCapabilitySet PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters

  pdu | PDU to set information on

Implements H323Capability.

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_DataType & | pdu | ) | const

virtual

This function is called whenever and outgoing OpenLogicalChannel PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters

  pdu | PDU to set information on

Reimplemented from H323Capability.

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_ModeElement & | pdu | ) | const

virtual

This function is called whenever and outgoing RequestMode PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters

  pdu | PDU to set information on

Implements H323Capability.

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_DataApplicationCapability & | pdu | ) | const

virtual

This function is called whenever and outgoing TerminalCapabilitySet or OpenLogicalChannel PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour is pure.

Parameters

  pdu | PDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_T120Capability, H323_H224_HDLCTunnelingCapability, and H323_H224_AnnexQCapability.

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_DataApplicationCapability & | pdu,
|  | CommandType | type
| ) |  | const

virtual

Parameters

  pdu | PDU to set information on
  type | Type of PDU to send in

virtual PBoolean H323DataCapability::OnSendingPDU | ( | H245_DataMode & | pdu | ) | const

pure virtual

This function is called whenever and outgoing RequestMode PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour sets the PDUs tag according to the GetSubType() function (translated to different enum).

Parameters

  pdu | PDU to set information on

Implemented in H323NonStandardDataCapability, H323_T120Capability, H323_H224_HDLCTunnelingCapability, and H323_H224_AnnexQCapability.

## Field Documentation

unsigned H323DataCapability::maxBitRate

protected

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

- h323caps.h