#include <transports.h>
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 |
| H323Listener * | CreateListener (H323EndPoint &endpoint) const |
| H323Listener * | CreateCompatibleListener (H323EndPoint &endpoint) const |
| H323Transport * | CreateTransport (H323EndPoint &endpoint) const |
Protected Member Functions | |
| void | Validate () |
Definition at line 242 of file transports.h.
| 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.
| 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.
| 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.
| endpoint | Endpoint object for transport creation. |
Definition at line 1008 of file transports.cxx.
Referenced by H323DataChannel::CreateTransport(), H323EndPoint::InternalMakeCall(), and H323_T120Channel::OnReceivedPDU().
1.5.2