OPAL
Version 3.18.8
|
#include <h323rtp.h>
Public Member Functions | |
Construction | |
H323_RTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, OpalMediaSession &session) | |
~H323_RTPChannel () | |
Destroy the channel. More... | |
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 ¶m) const |
virtual PBoolean | OnSendingAltPDU (H245_ArrayOf_GenericInformation &alternate) const |
virtual void | OnSendOpenAck (H245_H2250LogicalChannelAckParameters ¶m) const |
virtual PBoolean | OnReceivedPDU (const H245_H2250LogicalChannelParameters ¶m, unsigned &errorCode) |
virtual PBoolean | OnReceivedAckPDU (const H245_H2250LogicalChannelAckParameters ¶m) |
Operations | |
virtual void | OnSendRasInfo (H225_RTPSession &info) |
![]() | |
H323_RealTimeChannel (H323Connection &connection, const H323Capability &capability, Directions direction) | |
virtual PBoolean | OnSendingPDU (H245_OpenLogicalChannel &openPDU) const |
virtual void | OnSendOpenAck (const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const |
virtual PBoolean | OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode) |
virtual PBoolean | OnReceivedAckPDU (const H245_OpenLogicalChannelAck &pdu) |
RTP_DataFrame::PayloadTypes | GetDynamicRTPPayloadType () const |
![]() | |
H323UnidirectionalChannel (H323Connection &connection, const H323Capability &capability, Directions direction) | |
~H323UnidirectionalChannel () | |
virtual Directions | GetDirection () const |
virtual PBoolean | SetInitialBandwidth () |
virtual bool | PreOpen () |
virtual PBoolean | Open () |
virtual bool | UpdateMediaFormat (const OpalMediaFormat &mediaFormat) |
Update media format options. More... | |
virtual OpalMediaStreamPtr | GetMediaStream () const |
virtual void | SetMediaStream (OpalMediaStreamPtr mediaStream) |
![]() | |
H323Channel (H323Connection &connection, const H323Capability &capability) | |
~H323Channel () | |
virtual void | PrintOn (ostream &strm) const |
const H323ChannelNumber & | GetNumber () const |
void | SetNumber (const H323ChannelNumber &num) |
const H323ChannelNumber & | GetReverseChannel () const |
void | SetReverseChannel (const H323ChannelNumber &num) |
OpalBandwidth | GetBandwidthUsed () const |
bool | SetBandwidthUsed (OpalBandwidth bandwidth) |
const H323Capability & | GetCapability () const |
OpalMediaFormat | GetMediaFormat () const |
Get the media format (from capability) More... | |
virtual void | Close () |
PBoolean | IsOpen () const |
virtual void | OnFlowControl (long bitRateRestriction) |
virtual void | OnMiscellaneousCommand (const H245_MiscellaneousCommand_type &type) |
virtual void | OnMiscellaneousIndication (const H245_MiscellaneousIndication_type &type) |
virtual void | OnJitterIndication (DWORD jitter, int skippedFrameCount, int additionalBuffer) |
Protected Member Functions | |
virtual bool | ExtractTransport (const H245_TransportAddress &pdu, bool isDataPort, unsigned &errorCode) |
![]() | |
virtual void | InternalClose () |
Protected Attributes | |
OpalMediaSession * | m_session |
![]() | |
bool | receiver |
OpalMediaStreamPtr | m_mediaStream |
![]() | |
H323EndPoint & | endpoint |
H323Connection & | connection |
H323Capability * | capability |
H323ChannelNumber | number |
H323ChannelNumber | reverseChannel |
bool | opened |
atomic< bool > | m_terminating |
This class is for encpsulating the IETF Real Time Protocol interface.
H323_RTPChannel::H323_RTPChannel | ( | H323Connection & | connection, |
const H323Capability & | capability, | ||
Directions | direction, | ||
OpalMediaSession & | session | ||
) |
Create a new channel.
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.
|
protectedvirtual |
|
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.
data | Data channel address |
control | Control channel address |
Reimplemented from H323Channel.
|
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 |
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.
param | Acknowledgement PDU |
Reimplemented from H323_RealTimeChannel.
|
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.
param | Acknowledgement PDU |
errorCode | Error on failure |
Reimplemented from H323_RealTimeChannel.
|
virtual |
Alternate RTP port information for Same NAT
alternate | Alternate RTP ports |
Implements H323_RealTimeChannel.
|
virtual |
Fill out the OpenLogicalChannel PDU for the particular channel type.
param | Open PDU to send. |
Reimplemented from H323_RealTimeChannel.
|
virtual |
This is called when request to create a channel is received from a remote machine and is about to be acknowledged.
param | Acknowledgement PDU |
Reimplemented from H323_RealTimeChannel.
|
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.
info | RTP session info PDU |
|
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.
sessionID | New session ID |
Reimplemented from H323Channel.
|
protected |