#include <transports.h>
Inheritance diagram for H323TransportUDP:
Public Member Functions | |
H323TransportUDP (H323EndPoint &endpoint, PIPSocket::Address binding=PIPSocket::GetDefaultIpAny(), WORD localPort=0, WORD remotePort=0) | |
~H323TransportUDP () | |
virtual BOOL | SetRemoteAddress (const H323TransportAddress &address) |
virtual BOOL | Connect () |
virtual void | SetPromiscuous (PromisciousModes promiscuous) |
virtual H323TransportAddress | GetLastReceivedAddress () const |
virtual BOOL | ReadPDU (PBYTEArray &pdu) |
virtual BOOL | WritePDU (const PBYTEArray &pdu) |
virtual BOOL | DiscoverGatekeeper (H323Gatekeeper &gk, H323RasPDU &pdu, const H323TransportAddress &address) |
virtual H323TransportAddress | GetLocalAddress () const |
Protected Attributes | |
PromisciousModes | promiscuousReads |
H323TransportAddress | lastReceivedAddress |
PIPSocket::Address | lastReceivedInterface |
WORD | interfacePort |
H323TransportUDP::H323TransportUDP | ( | H323EndPoint & | endpoint, | |
PIPSocket::Address | binding = PIPSocket::GetDefaultIpAny() , |
|||
WORD | localPort = 0 , |
|||
WORD | remotePort = 0 | |||
) |
Create a new transport channel.
endpoint | H323 End Point object |
binding | Local interface to listen on |
localPort | Local port to listen on |
remotePort | Remote port to connect on |
H323TransportUDP::~H323TransportUDP | ( | ) |
virtual BOOL H323TransportUDP::Connect | ( | ) | [virtual] |
Connect to the remote party.
Implements H323Transport.
virtual BOOL H323TransportUDP::DiscoverGatekeeper | ( | H323Gatekeeper & | gk, | |
H323RasPDU & | pdu, | |||
const H323TransportAddress & | address | |||
) | [virtual] |
Discover a Gatekeeper on the local network. This locates a gatekeeper on the network and associates this transport object with packet exchange with that gatekeeper. This broadcasts a UDP packet on the local network to find the gatekeeper's IP address.
gk | Gatekeeper to set on discovery. |
pdu | GatekeeperRequest PDU |
address | Address of gatekeeper (if present) |
Reimplemented from H323Transport.
virtual H323TransportAddress H323TransportUDP::GetLastReceivedAddress | ( | ) | const [virtual] |
Get the transport address of the last received PDU.
Default behaviour returns the lastReceivedAddress member variable.
Reimplemented from H323Transport.
virtual H323TransportAddress H323TransportUDP::GetLocalAddress | ( | ) | const [virtual] |
Get the transport address of the local endpoint.
Reimplemented from H323TransportIP.
virtual BOOL H323TransportUDP::ReadPDU | ( | PBYTEArray & | pdu | ) | [virtual] |
Read a protocol data unit from the transport. This will read using the transports mechanism for PDU boundaries, for example UDP is a single Read() call, while for TCP there is a TPKT header that indicates the size of the PDU.
pdu | PDU read from transport |
Implements H323Transport.
virtual void H323TransportUDP::SetPromiscuous | ( | PromisciousModes | promiscuous | ) | [virtual] |
Set read to promiscuous mode. Normally only reads from the specifed remote address are accepted. This flag allows packets to be accepted from any remote, provided the underlying protocol can do so.
The Read() call may optionally set the remote address automatically to whatever the sender host of the last received message was.
Default behaviour sets the internal flag, so that Read() operates as described.
virtual BOOL H323TransportUDP::SetRemoteAddress | ( | const H323TransportAddress & | address | ) | [virtual] |
Set default remote address to connect to. Note that this does not necessarily initiate a transport level connection, but only indicates where to connect to. The actual connection is made by the Connect() function.
Implements H323Transport.
virtual BOOL H323TransportUDP::WritePDU | ( | const PBYTEArray & | pdu | ) | [virtual] |
Write a protocol data unit from the transport. This will write using the transports mechanism for PDU boundaries, for example UDP is a single Write() call, while for TCP there is a TPKT header that indicates the size of the PDU.
pdu | PDU to write |
Implements H323Transport.
WORD H323TransportUDP::interfacePort [protected] |
PIPSocket::Address H323TransportUDP::lastReceivedInterface [protected] |
PromisciousModes H323TransportUDP::promiscuousReads [protected] |