H323TransportAddress Class Reference

#include <transports.h>

List of all members.

Public Member Functions

 H323TransportAddress ()
 H323TransportAddress (const char *)
 H323TransportAddress (const PString &)
 H323TransportAddress (const H225_TransportAddress &)
 H323TransportAddress (const H245_TransportAddress &)
 H323TransportAddress (const PIPSocket::Address &, WORD)
BOOL SetPDU (H225_TransportAddress &pdu) const
BOOL SetPDU (H245_TransportAddress &pdu) const
BOOL IsEquivalent (const H323TransportAddress &address)
BOOL GetIpAddress (PIPSocket::Address &ip) const
BOOL GetIpAndPort (PIPSocket::Address &ip, WORD &port, const char *proto="tcp") const
PString GetHostName () const
H323ListenerCreateListener (H323EndPoint &endpoint) const
H323ListenerCreateCompatibleListener (H323EndPoint &endpoint) const
H323TransportCreateTransport (H323EndPoint &endpoint) const

Protected Member Functions

void Validate ()


Detailed Description

String representation of a transport address.

Definition at line 242 of file transports.h.


Member Function Documentation

BOOL H323TransportAddress::IsEquivalent ( const H323TransportAddress address  ) 

Determine if the two transport addresses are equivalent.

Definition at line 871 of file transports.cxx.

References GetIpAndPort().

Referenced by H323Gatekeeper::SetAlternates(), H323Transactor::SetTransport(), and H323EndPoint::UseGatekeeper().

BOOL H323TransportAddress::GetIpAddress ( PIPSocket::Address &  ip  )  const

Extract the ip address from transport address. Returns FALSE, if the address is not an IP transport address.

Definition at line 888 of file transports.cxx.

References GetIpAndPort().

Referenced by CreateCompatibleListener(), H323_T38Channel::CreateTransport(), H323TransportUDP::GetLocalAddress(), H323_RTP_UDP::H323_RTP_UDP(), H323GatekeeperGRQ::H323GatekeeperGRQ(), H323_T120Channel::OnReceivedPDU(), H323Connection::OnReceivedSignalSetup(), H323TransportIP::SetUpTransportPDU(), and H323ListenerTCP::SetUpTransportPDU().

BOOL H323TransportAddress::GetIpAndPort ( PIPSocket::Address &  ip,
WORD &  port,
const char *  proto = "tcp" 
) const

Extract the ip address and port number from transport address. Returns FALSE, if the address is not an IP transport address.

Definition at line 922 of file transports.cxx.

Referenced by H323TransactionServer::AddListener(), CreateListener(), H323TransportUDP::DiscoverGatekeeper(), H323_RTP_UDP::ExtractTransport(), GetIpAddress(), H323TransportUDP::GetLocalAddress(), H323_ExternalRTPChannel::GetRemoteAddress(), H323Transactor::H323Transactor(), IsEquivalent(), H323Gatekeeper::LocationRequest(), H323Gatekeeper::MakeRequest(), H323GatekeeperListener::OnDiscovery(), H323Transactor::PrintOn(), H323TransportUDP::ReadPDU(), H323_ExternalRTPChannel::SetExternalAddress(), SetPDU(), H323TransportUDP::SetRemoteAddress(), H323TransportTCP::SetRemoteAddress(), H323Transactor::SetTransport(), and H323GatekeeperServer::TranslateAliasAddressToSignalAddress().

PString H323TransportAddress::GetHostName (  )  const

Translate the transport address to a more human readable form. Returns the hostname if using IP.

Definition at line 959 of file transports.cxx.

Referenced by H323SignalPDU::GetSourceAliases(), and H323Connection::SetRemotePartyInfo().

H323Listener * H323TransportAddress::CreateListener ( H323EndPoint endpoint  )  const

Create a listener based on this transport address.

For example an address of "#ip$10.0.0.1:1720#" would create a TCP listening socket that would be bound to the specific interface 10.0.0.1 and listens on port 1720. Note that the address "#ip$*:1720#" can be used to bind to INADDR_ANY.

Also note that if the address has a trailing '+' character then the socket will be bound using the REUSEADDR option.

Parameters:
endpoint  Endpoint object for transport creation.

Definition at line 973 of file transports.cxx.

References H323EndPoint::DefaultTcpPort, and GetIpAndPort().

Referenced by H323EndPoint::StartListener().

H323Listener * H323TransportAddress::CreateCompatibleListener ( H323EndPoint endpoint  )  const

Create a listener compatible for this address type. This is similar to CreateListener() but does not use the TSAP specified in the H323Transport. For example an address of "#ip$10.0.0.1:1720#" would create a TCP listening socket that would be bound to the specific interface 10.0.0.1 but listens on a random OS allocated port number.

Parameters:
endpoint  Endpoint object for transport creation.

Definition at line 991 of file transports.cxx.

References GetIpAddress().

Referenced by H323DataChannel::CreateListener(), and H323_T120Channel::OnReceivedPDU().

H323Transport * H323TransportAddress::CreateTransport ( H323EndPoint endpoint  )  const

Create a transport suitable for this address type.

Parameters:
endpoint  Endpoint object for transport creation.

Definition at line 1008 of file transports.cxx.

Referenced by H323DataChannel::CreateTransport(), H323EndPoint::InternalMakeCall(), and H323_T120Channel::OnReceivedPDU().


The documentation for this class was generated from the following files:
Generated on Thu Oct 25 13:45:33 2007 for h323plus by  doxygen 1.5.2