OpenH323 1.18.0
|
#include <channels.h>
This class is for encpsulating the IETF Real Time Protocol interface as used by a remote host.
H323_ExternalRTPChannel::H323_ExternalRTPChannel | ( | H323Connection & | connection, |
const H323Capability & | capability, | ||
Directions | direction, | ||
unsigned | sessionID | ||
) |
Create a new channel.
connection | Connection to endpoint for channel |
capability | Capability channel is using |
direction | Direction of channel |
sessionID | Session ID for channel |
H323_ExternalRTPChannel::H323_ExternalRTPChannel | ( | H323Connection & | connection, |
const H323Capability & | capability, | ||
Directions | direction, | ||
unsigned | sessionID, | ||
const H323TransportAddress & | data, | ||
const H323TransportAddress & | control | ||
) |
Create a new channel.
connection | Connection to endpoint for channel |
capability | Capability channel is using |
direction | Direction of channel |
sessionID | Session ID for channel |
data | Data address |
control | Control address |
H323_ExternalRTPChannel::H323_ExternalRTPChannel | ( | H323Connection & | connection, |
const H323Capability & | capability, | ||
Directions | direction, | ||
unsigned | sessionID, | ||
const PIPSocket::Address & | ip, | ||
WORD | dataPort | ||
) |
Create a new channel.
connection | Connection to endpoint for channel |
capability | Capability channel is using |
direction | Direction of channel |
sessionID | Session ID for channel |
ip | IP address of media server |
dataPort | Data port (control is dataPort+1) |
BOOL H323_ExternalRTPChannel::GetRemoteAddress | ( | PIPSocket::Address & | ip, |
WORD & | dataPort | ||
) | const |
const H323TransportAddress& H323_ExternalRTPChannel::GetRemoteMediaAddress | ( | ) | const [inline] |
References remoteMediaAddress.
const H323TransportAddress& H323_ExternalRTPChannel::GetRemoteMediaControlAddress | ( | ) | const [inline] |
References remoteMediaControlAddress.
virtual unsigned H323_ExternalRTPChannel::GetSessionID | ( | ) | const [virtual] |
Indicate the session number of the channel. Return session for channel. This returns the session ID of the RTP_Session member variable.
Reimplemented from H323Channel.
virtual BOOL H323_ExternalRTPChannel::IsRunning | ( | ) | const [virtual] |
Indicate if is started.
Reimplemented from H323Channel.
virtual BOOL H323_ExternalRTPChannel::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.
param | Acknowledgement PDU |
Implements H323_RealTimeChannel.
virtual BOOL H323_ExternalRTPChannel::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.
param | Acknowledgement PDU |
errorCode | Error on failure |
Implements H323_RealTimeChannel.
virtual BOOL H323_ExternalRTPChannel::OnSendingPDU | ( | H245_H2250LogicalChannelParameters & | param | ) | const [virtual] |
Fill out the OpenLogicalChannel PDU for the particular channel type.
param | Open PDU to send. |
Implements H323_RealTimeChannel.
virtual void H323_ExternalRTPChannel::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.
param | Acknowledgement PDU |
Implements H323_RealTimeChannel.
virtual void H323_ExternalRTPChannel::Receive | ( | ) | [virtual] |
Handle channel data reception.
This is called by the thread started by the Start() function and is typically a loop writing to the codec and reading from the transport (eg RTP_session).
Implements H323Channel.
void H323_ExternalRTPChannel::SetExternalAddress | ( | const H323TransportAddress & | data, |
const H323TransportAddress & | control | ||
) |
data | Data address |
control | Control address |
virtual BOOL H323_ExternalRTPChannel::Start | ( | ) | [virtual] |
Start the channel.
Reimplemented from H323UnidirectionalChannel.
virtual void H323_ExternalRTPChannel::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).
Implements H323Channel.
BOOL H323_ExternalRTPChannel::isRunning [protected] |
Referenced by GetRemoteMediaAddress().
Referenced by GetRemoteMediaControlAddress().
unsigned H323_ExternalRTPChannel::sessionID [protected] |