H323TransportUDP Class Reference

#include <transports.h>

Inheritance diagram for H323TransportUDP:

H323TransportIP H323Transport List of all members.

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

Detailed Description

This class represents a particular H323 transport using UDP/IP.


Constructor & Destructor Documentation

H323TransportUDP::H323TransportUDP H323EndPoint endpoint,
PIPSocket::Address  binding = PIPSocket::GetDefaultIpAny(),
WORD  localPort = 0,
WORD  remotePort = 0
 

Create a new transport channel.

Parameters:
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  ) 
 


Member Function Documentation

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.

Parameters:
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.

Parameters:
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.

Parameters:
pdu  PDU to write

Implements H323Transport.


Member Data Documentation

WORD H323TransportUDP::interfacePort [protected]
 

H323TransportAddress H323TransportUDP::lastReceivedAddress [protected]
 

PIPSocket::Address H323TransportUDP::lastReceivedInterface [protected]
 

PromisciousModes H323TransportUDP::promiscuousReads [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu May 18 00:25:56 2006 for OpenH323 by  doxygen 1.4.6