C# Class SIPSorcery.SIP.App.SIPDNSManager

1. If transport parameter is specified it takes precedence, 2. If no transport parameter and target is an IP address then sip should use udp and sips tcp, 3. If no transport parameter and target is a host name with an explicit port then sip should use udp and sips tcp and host should be resolved using an A or AAAA record DNS lookup (section 4.2), 4. If no transport protocol and no explicit port and target is a host name then the client should no an NAPTR lookup and utilise records for services SIP+D2U, SIP+D2T, SIP+D2S, SIPS+D2T and SIPS+D2S, 5. If NAPTR record(s) are found select the desired transport and lookup the SRV record, 6. If no NAPT records are found lookup SRV record for desired protocol _sip._udp, _sip._tcp, _sips._tcp, _sip._tls, 7. If no SRV records found lookup A or AAAA record. Observations from the field. - A DNS server has been observed to not respond at all to NAPTR or SRV record queries meaning lookups for them will permanently time out.
Show file Open project: sipsorcery/sipsorcery

Public Properties

Property Type Description
SIPMonitorLogEvent SIPMonitorLogDelegate

Public Methods

Method Description
DNSARecordLookup ( SIPSorcery.SIP.App.SIPDNSServiceResult nextSRVRecord, string host, int port, bool async, SIPURI lookupURI ) : SIPSorcery.SIP.App.SIPDNSLookupResult
DNSARecordLookup ( string host, int port, bool async, SIPURI uri ) : SIPSorcery.SIP.App.SIPDNSLookupResult
DNSNAPTRRecordLookup ( string host, bool async, SIPSorcery.SIP.App.SIPDNSLookupResult &lookupResult ) : void
DNSSRVRecordLookup ( SIPSchemesEnum scheme, SIPProtocolsEnum protocol, string host, bool async, SIPSorcery.SIP.App.SIPDNSLookupResult &lookupResult ) : void
ResolveSIPService ( SIPURI sipURI, bool async ) : SIPSorcery.SIP.App.SIPDNSLookupResult
ResolveSIPService ( string host ) : SIPSorcery.SIP.App.SIPDNSLookupResult

Private Methods

Method Description
SIPDNSManager ( ) : System

Method Details

DNSARecordLookup() public static method

public static DNSARecordLookup ( SIPSorcery.SIP.App.SIPDNSServiceResult nextSRVRecord, string host, int port, bool async, SIPURI lookupURI ) : SIPSorcery.SIP.App.SIPDNSLookupResult
nextSRVRecord SIPSorcery.SIP.App.SIPDNSServiceResult
host string
port int
async bool
lookupURI SIPURI
return SIPSorcery.SIP.App.SIPDNSLookupResult

DNSARecordLookup() public static method

public static DNSARecordLookup ( string host, int port, bool async, SIPURI uri ) : SIPSorcery.SIP.App.SIPDNSLookupResult
host string
port int
async bool
uri SIPURI
return SIPSorcery.SIP.App.SIPDNSLookupResult

DNSNAPTRRecordLookup() public static method

public static DNSNAPTRRecordLookup ( string host, bool async, SIPSorcery.SIP.App.SIPDNSLookupResult &lookupResult ) : void
host string
async bool
lookupResult SIPSorcery.SIP.App.SIPDNSLookupResult
return void

DNSSRVRecordLookup() public static method

public static DNSSRVRecordLookup ( SIPSchemesEnum scheme, SIPProtocolsEnum protocol, string host, bool async, SIPSorcery.SIP.App.SIPDNSLookupResult &lookupResult ) : void
scheme SIPSchemesEnum
protocol SIPProtocolsEnum
host string
async bool
lookupResult SIPSorcery.SIP.App.SIPDNSLookupResult
return void

ResolveSIPService() public static method

public static ResolveSIPService ( SIPURI sipURI, bool async ) : SIPSorcery.SIP.App.SIPDNSLookupResult
sipURI SIPURI
async bool
return SIPSorcery.SIP.App.SIPDNSLookupResult

ResolveSIPService() public static method

public static ResolveSIPService ( string host ) : SIPSorcery.SIP.App.SIPDNSLookupResult
host string
return SIPSorcery.SIP.App.SIPDNSLookupResult

Property Details

SIPMonitorLogEvent public static property

public static SIPMonitorLogDelegate SIPMonitorLogEvent
return SIPMonitorLogDelegate