#include <channels.h>
Inheritance diagram for H323_ExternalRTPChannel:

Public Member Functions | |
| void | SetExternalAddress (const H323TransportAddress &data, const H323TransportAddress &control) |
| const H323TransportAddress & | GetRemoteMediaAddress () const |
| const H323TransportAddress & | GetRemoteMediaControlAddress () const |
| PBoolean | GetRemoteAddress (PIPSocket::Address &ip, WORD &dataPort) const |
Construction | |
| H323_ExternalRTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID) | |
| H323_ExternalRTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID, const H323TransportAddress &data, const H323TransportAddress &control) | |
| H323_ExternalRTPChannel (H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID, const PIPSocket::Address &ip, WORD dataPort) | |
Overrides from class H323Channel | |
| virtual unsigned | GetSessionID () const |
| virtual PBoolean | GetMediaTransportAddress (OpalTransportAddress &data, OpalTransportAddress &control) const |
| virtual PBoolean | Start () |
| virtual void | Receive () |
| virtual void | Transmit () |
Overrides from class H323_RealTimeChannel | |
| virtual PBoolean | OnSendingPDU (H245_H2250LogicalChannelParameters ¶m) const |
| virtual void | OnSendOpenAck (H245_H2250LogicalChannelAckParameters ¶m) const |
| virtual PBoolean | OnReceivedPDU (const H245_H2250LogicalChannelParameters ¶m, unsigned &errorCode) |
| virtual PBoolean | OnReceivedAckPDU (const H245_H2250LogicalChannelAckParameters ¶m) |
Protected Member Functions | |
| void | Construct (H323Connection &conn, unsigned id) |
Protected Attributes | |
| unsigned | sessionID |
| H323TransportAddress | externalMediaAddress |
| H323TransportAddress | externalMediaControlAddress |
| H323TransportAddress | remoteMediaAddress |
| H323TransportAddress | remoteMediaControlAddress |
| 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) |
| void H323_ExternalRTPChannel::Construct | ( | H323Connection & | conn, | |
| unsigned | id | |||
| ) | [protected] |
| virtual PBoolean H323_ExternalRTPChannel::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 PFalse.
| data | Data channel address |
| control | Control channel address |
Reimplemented from H323Channel.
| PBoolean H323_ExternalRTPChannel::GetRemoteAddress | ( | PIPSocket::Address & | ip, | |
| WORD & | dataPort | |||
| ) | const |
| const H323TransportAddress& H323_ExternalRTPChannel::GetRemoteMediaAddress | ( | ) | const [inline] |
| const H323TransportAddress& H323_ExternalRTPChannel::GetRemoteMediaControlAddress | ( | ) | const [inline] |
| 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 PBoolean 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 |
Reimplemented from H323_RealTimeChannel.
| virtual PBoolean 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 |
Reimplemented from H323_RealTimeChannel.
| virtual PBoolean H323_ExternalRTPChannel::OnSendingPDU | ( | H245_H2250LogicalChannelParameters & | param | ) | const [virtual] |
Fill out the OpenLogicalChannel PDU for the particular channel type.
| param | Open PDU to send. |
Reimplemented from 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 |
Reimplemented from 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).
| void H323_ExternalRTPChannel::SetExternalAddress | ( | const H323TransportAddress & | data, | |
| const H323TransportAddress & | control | |||
| ) |
| data | Data address |
| control | Control address |
| virtual PBoolean 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).
unsigned H323_ExternalRTPChannel::sessionID [protected] |
1.4.7