1#if defined(HAVE_CONFIG_H)
10# include <netinet/in.h>
11# include <arpa/nameser.h>
33#define RESIPROCATE_SUBSYSTEM resip::Subsystem::DNS
36 mUdpOnlyOnNumeric(false),
53 auto ts = std::make_pair(type, version);
74 if(--itTrans->second == 0)
86 if(--itNT->second == 0)
104 Data* pNaptrType = 0;
138 InfoLog(<<
"logSupportedTransports: mSupportedTransports[" <<
toData(itTrans->first.first) <<
"," << (itTrans->first.second ==
V4 ?
"V4" :
"V6") <<
"] = " << itTrans->second);
144 InfoLog(<<
"logSupportedTransports: mSupportedNaptrs[" << itNT->first <<
"] = " << itNT->second);
158 auto ts = std::make_pair(t, version);
170 if (i->first.first == t)
static Data DtlsNAPTRType("SIPS+D2U")
static Data TlsNAPTRType("SIPS+D2T")
static Data UdpNAPTRType("SIP+D2U")
static Data WsNAPTRType("SIP+D2W")
static Data WssNAPTRType("SIPS+D2W")
static Data TcpNAPTRType("SIP+D2T")
#define resip_assert(x)
This file needs to work for both C and C++ code.
Handles cross-platform sockets compatibility.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
const char * begin() const noexcept
Returns a pointer to the beginning of the buffer used by the Data.
const Data * getSupportedNaptrType(TransportType type)
void addTransportType(TransportType type, IpVersion version)
void lookup(DnsResult *res, const Uri &uri)
TransportMap mSupportedTransports
void logSupportedTransports()
bool isSupportedProtocol(TransportType t)
SupportedNaptrMap mSupportedNaptrs
DnsInterface(DnsStub &dnsStub, bool useDnsVip=false)
void removeTransportType(TransportType type, IpVersion version)
bool isSupported(const Data &service)
DnsResult * createDnsResult(DnsHandler *handler=0)
void lookup(const Uri &uri)
void setResultTransform(ResultTransform *)
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
This file is used to handle compatibility fixes/tweaks so reSIProcate can function on multiple platfo...
dcm! – add UnusedChecking(_enum) below;
const resip::Data & toData(const TransportType typeEnum)
std::unique_lock< Mutex > Lock
A convenience class to lock a Lockable (such as a Mutex) on object creation, and unlock on destructio...
TransportType
An enumeration of transport protocols.
IpVersion
An enumeration of IP versions.