H323_RTPChannel Class Reference

#include <h323rtp.h>

Inheritance diagram for H323_RTPChannel:

[legend]
Collaboration diagram for H323_RTPChannel:
[legend]

Public Member Functions

Construction
 H323_RTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, OpalMediaSession &session)
 ~H323_RTPChannel ()
 Destroy the channel.
Overrides from class H323Channel
virtual unsigned GetSessionID () const
virtual bool SetSessionID (unsigned sessionID)
virtual PBoolean GetMediaTransportAddress (OpalTransportAddress &data, OpalTransportAddress &control) const
Overrides from class H323_RealTimeChannel
virtual PBoolean OnSendingPDU (H245_H2250LogicalChannelParameters &param) const
virtual PBoolean OnSendingAltPDU (H245_ArrayOf_GenericInformation &alternate) 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 OnReceivedAckAltPDU (const H245_ArrayOf_GenericInformation &alternate)
Operations
virtual void OnSendRasInfo (H225_RTPSession &info)

Protected Member Functions

virtual bool ExtractTransport (const H245_TransportAddress &pdu, bool isDataPort, unsigned &errorCode)

Protected Attributes

OpalMediaSessionm_session

Detailed Description

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


Constructor & Destructor Documentation

H323_RTPChannel::H323_RTPChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction,
OpalMediaSession session 
)

Create a new channel.

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

H323_RTPChannel::~H323_RTPChannel (  ) 

Destroy the channel.


Member Function Documentation

virtual bool H323_RTPChannel::ExtractTransport ( const H245_TransportAddress &  pdu,
bool  isDataPort,
unsigned &  errorCode 
) [protected, virtual]

virtual PBoolean H323_RTPChannel::GetMediaTransportAddress ( OpalTransportAddress data,
OpalTransportAddress control 
) const [virtual]

Get the media transport address for the connection. This is primarily used to determine if media bypass is possible for the call between two connections.

The default behaviour returns false.

Parameters:
data  Data channel address
control  Control channel address

Reimplemented from H323Channel.

virtual unsigned H323_RTPChannel::GetSessionID (  )  const [virtual]

Indicate the session number of the channel. Return session for channel. This returns the session ID of the H323RTPSession member variable.

Reimplemented from H323Channel.

virtual PBoolean H323_RTPChannel::OnReceivedAckAltPDU ( const H245_ArrayOf_GenericInformation &  alternate  )  [virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implements H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::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:
param  Acknowledgement PDU

Reimplemented from H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::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:
param  Acknowledgement PDU
errorCode  Error on failure

Reimplemented from H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::OnSendingAltPDU ( H245_ArrayOf_GenericInformation &  alternate  )  const [virtual]

Alternate RTP port information for Same NAT

Parameters:
alternate  Alternate RTP ports

Implements H323_RealTimeChannel.

virtual PBoolean H323_RTPChannel::OnSendingPDU ( H245_H2250LogicalChannelParameters &  param  )  const [virtual]

Fill out the OpenLogicalChannel PDU for the particular channel type.

Parameters:
param  Open PDU to send.

Reimplemented from H323_RealTimeChannel.

virtual void H323_RTPChannel::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:
param  Acknowledgement PDU

Reimplemented from H323_RealTimeChannel.

virtual void H323_RTPChannel::OnSendRasInfo ( H225_RTPSession &  info  )  [virtual]

This is called when a gatekeeper wants to get status information from the endpoint.

The default behaviour calls the ancestor functon and then fills in the transport fields.

Parameters:
info  RTP session info PDU

virtual bool H323_RTPChannel::SetSessionID ( unsigned  sessionID  )  [virtual]

Set the session number of the channel. During OLC negotations teh master may change the session number being used for the logical channel.

Returns false if the session could not be renumbered.

Parameters:
sessionID  New session ID

Reimplemented from H323Channel.


Field Documentation

OpalMediaSession& H323_RTPChannel::m_session [protected]


The documentation for this class was generated from the following file:
Generated on 21 Jun 2013 for OPAL by  doxygen 1.4.7