#include <NatTraversalRules.h>
The class offers an API to allow apps to retrieve the information elements of that file. Note that there are two ways to specifiy the public IP address of a system through the web GUI. One is to manually enter an IP address and the other is automatically discover it through STUN. The NatTraversalRule class hides that detail from its owner by implementing a STUN client that is used to automatically discover the public IP address when a STUN server is provided. The owner can find out the public IP addresses of the system via getPublicTransportInfo() and getMediaRelayPublicAddress() without really knowing if that data was explicitly configured or discovered through STUN.
| ~NatTraversalRules | ( | ) | [virtual] |
| bool isEnabled | ( | void | ) | const |
| bool isBehindNat | ( | void | ) | const |
| TransportData getPublicTransportInfo | ( | void | ) | const |
| TransportData getProxyTransportInfo | ( | void | ) | const |
| UtlString getMediaRelayPublicAddress | ( | void | ) | const |
| UtlString getMediaRelayNativeAddress | ( | void | ) | const |
| int getMediaRelayXmlRpcPort | ( | void | ) | const |
| int getMaxMediaRelaySessions | ( | void | ) | const |
| bool isAggressiveModeSet | ( | void | ) | const |
| bool isConservativeModeSet | ( | void | ) | const |
| bool isXmlRpcSecured | ( | void | ) | const |
| bool isPartOfLocalTopology | ( | const UtlString & | host, | |
| bool | checkIpSubnets = true, |
|||
| bool | checkDnsWidlcards = true | |||
| ) | const |
| void initializeNatTraversalInfo | ( | void | ) | [private] |
| UtlString getStunServer | ( | void | ) | const [private] |
| int getStunRefreshIntervalInSecs | ( | void | ) | const [private] |
| void announceStunResolvedPublicIpAddress | ( | const UtlString & | discoveredPublicIpAddress | ) | [private] |
TiXmlDocument* mpDoc [private] |
Patterns* mpPatterns [private] |
bool mbNatTraveralEnabled [private] |
bool mbSystemBehindNat [private] |
bool mbAggressiveModeSet [private] |
UtlSList mlocalIpV4Subnets [private] |
UtlSList mlocalDnsWildcards [private] |
TransportData mPublicTransport [private] |
TransportData mProxyTransport [private] |
UtlString mMediaRelayPublicAddress [private] |
bool mbMediaRelayPublicAddressProvidedInConfig [private] |
UtlString mMediaRelayNativeAddress [private] |
int mMediaRelayXmlRpcPort [private] |
int mMaxMediaRelaySessions [private] |
bool mbDiscoverPublicIpAddressViaStun [private] |
UtlString mStunServer [private] |
int mStunRefreshIntervalInSecs [private] |
StunClient* mpStunClient [private] |
bool mbXmlRpcOverSecureTransport [private] |