|
Public Types |
enum | { DefaultPort = 3478
} |
enum | NatTypes {
UnknownNat,
OpenNat,
ConeNat,
RestrictedNat,
PortRestrictedNat,
SymmetricNat,
SymmetricFirewall,
BlockedNat,
PartialBlockedNat,
NumNatTypes
} |
enum | RTPSupportTypes { RTPOK,
RTPUnknown,
RTPUnsupported,
RTPIfSendMedia
} |
Public Member Functions |
| PSTUNClient (const PString &server, WORD portBase=0, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0) |
| PSTUNClient (const PIPSocket::Address &serverAddress, WORD serverPort=DefaultPort, WORD portBase=0, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0) |
PString | GetServer () const |
BOOL | SetServer (const PString &server) |
BOOL | SetServer (const PIPSocket::Address &serverAddress, WORD serverPort=0) |
void | SetPortRanges (WORD portBase, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0) |
NatTypes | GetNatType (BOOL force=FALSE) |
RTPSupportTypes | IsSupportingRTP (BOOL force=FALSE) |
PString | GetNatTypeName (BOOL force=FALSE) |
BOOL | GetExternalAddress (PIPSocket::Address &externalAddress, const PTimeInterval &maxAge=1000) |
BOOL | CreateSocket (PUDPSocket *&socket) |
BOOL | CreateSocketPair (PUDPSocket *&socket1, PUDPSocket *&socket2) |
Protected Member Functions |
void | Construct () |
bool | OpenSocket (PUDPSocket &socket, PortInfo &portInfo) const |
Protected Attributes |
PIPSocket::Address | serverAddress |
WORD | serverPort |
PSTUNClient::PortInfo | singlePortInfo |
PSTUNClient::PortInfo | pairedPortInfo |
int | numSocketsForPairing |
NatTypes | natType |
PIPSocket::Address | cachedExternalAddress |
PTime | timeAddressObtained |
Classes |
struct | PortInfo |