SlideShare a Scribd company logo
1 of 31
SIP and DNS 
Where do you want to go today? 
© Copyright 2006-2014 Edvina AB, Sollentuna , Sweden. A l l r i g h t s reserved. 
DNS ROCKS!
Executive summary 
SIP use DNS for client-managed load 
balancing and failover. 
Not using DNS makes it hard to build 
scalable, resilient SIP solutions.
Static and dynamic routing 
• In SIP we use the request URI to find the 
next hop 
• If there’s a route set, the topmost URI in 
the route set is used instead 
• For responses, the via header marks the 
path back 
• For all of these DNS is used 
RFC 3263
The DNS zone now includes SIP 
yourcompany.se 
Host names 
Security credentials 
E-mail addresses 
URI: Web addresses 
Unified Communication
SIP routing 
• If there’s a predefined route, use it for initial transactions 
• Outbound proxy, Path 
• If there’s a dialog with a defined route set, use the route set until 
it ends 
• If there are no more static routes, look at the request URI and find 
the next hop 
• IP address (IPv4 and IPv6), DNS Host names , DNS domains
SIP URIs 
sip:line2@192.168.40.25:5074 
sip:jardar@sipguru.no 
sip:conference.executive@sipguru.no;transport=tcp 
sip:invalid@pluto.sipguro.no:5060 
sip:session2@[2001:ab::1200]:5070
Locating SIP servers 
”The Session Initiation Protocol (SIP) uses DNS procedures to allow a client to resolve a SIP 
Uniform Resource Identifier (URI)into the IP address, port, and 
transport protocol of the next hop to contact. 
• RFC 3263 - Jonathan Rosenberg 
! 
It also uses DNS to allow a server to send a response to a backup client if the primary client has 
failed. This document describes those DNS procedures in detail.”
DNS role in routing 
”The first is for proxy 1 to discover 
the SIP server in domain B, in order to forward the call for joe@B. 
The second is for proxy 2 to identify a backup for proxy 1 in the 
event it fails after forwarding the request.” 
RFC 3263 - Locating SIP servers 
Proxy 
1 
Proxy 
2 
UA 
Domain A Domain B
DNS role in routing 
Proxy 
1.2 
Proxy 
2.2 
”If proxy 1 sends a 
request to proxy 2.1 and the request fails, it 
retries the request by sending it to proxy 2.2.” 
RFC 3263 - Locating SIP servers 
Proxy 
1.1 
Proxy 
2.1 
UA 
Domain A Domain B
DNS - once per 
transaction 
• No less, no more 
• CANCEL needs to be based on DNS for the 
INVITE it cancels. It has to be sent to the very 
same server. 
• Primary target is ;maddr, secondary is the 
hostname part of the URI 
” It is important to note that DNS lookups can be used 
multiple times throughout the processing of a call.”
Step by step 
• 1. Domain or host? 
• If the URI contains a transport protocol, it has to be used 
• If the URI contains a port, it’s not a domain but a host name 
• If the target is an IP address, use it 
• 2. Domain 
• Lookup NAPTR record to find service (protocol) 
• NAPTR RFC 2915 
• Use SRV records to find a list of hosts 
• Lookup A and AAAA records for all hosts 
UDP: SIP+D2U 
TCP: SIP+D2T, SIPS+D2T 
SCTP: DIP+D2S, SIPS+D2S
NAPTR example 
Domain example.com NAPTR records 
; order pref flags service regexp replacement! 
IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com.! 
IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.example.com! 
IN NAPTR 100 50 "s" "SIP+D2U" "" _sip._udp.example.com. 
Domain example.com SRV records for _sip._tcp 
;; Priority Weight Port Target! 
IN SRV 0 1 5060 server1.example.com.! 
IN SRV 0 2 5060 server2.example.com. 
This domain prefers SIP/TLS, then SIP/TCP and SIP/UDP. 
For SIP/TCP, there are two servers load balancing, so that server 1 gets 1/3rd of the calls. First 
NAPTR, then SRV query on the result of NAPTR.
DNS SRV record 
details 
! 
_Service._Proto.Name [TTL] Class SRV Priority Weight Port Target host 
example! 
! 
! 
! 
STUN records:! 
_sip._udp.domain.tld. IN SRV 20 0 5060 mysipproxy.domain.tld. 
Priority is used for failover, 
weight for load balancing 
_stun._udp.domain.tld. IN SRV 20 0 3478 mystunserver.domain.tld. 
Priority and Weight is 0-65535 (16 bit values)
SRV load balancing 
;; Priority Weight Port Target! 
IN SRV 0 1 5060 server1.example.com.! 
IN SRV 0 2 5060 server2.example.com. 
• First summarize the combined weight of all 
entries in one priority 
• In this case, it’s 3. Now 1/3 of calls needs to 
be sent to server1, and 2/3 to server 2.
SRV Failover 
;; Priority Weight Port Target! 
IN SRV 10 1 5060 server1.example.com! 
IN SRV 20 1 5060 server2.example.com 
• First try lowest priority 
• Then work yourself up the chain at failure 
• Stay there until it fails, then restart
Building a list 
• For each host, build a list of addresses 
• Assemble ALL address records for the host 
• For dual stack clients both A and AAAA, for single stack 
the address family used 
• Try to connect to all addresses. RFC 2782 and 
3263 does not specify order of connection 
• RFC 2782 says that all addresses for a given 
name should be tested before next host name is 
used.
The chain ;; Priority Weight Port Target! 
IN SRV 10 3 5060 server1.example.com! 
IN SRV 10 1 5060 server2.example.com! 
IN SRV 20 1 5060 server3.example.com! 
IN SRV 20 2 5060 server4.example.com 
_sip._udp.sipguru.no 
Priority 10 Priority 20 
Server1 75% Server2 25% Server3 33% Server4 67% 
A A 
AAAA AAAA 
A A 
AAAA AAAA 
The 
hosts are not in the same 
domain
Query for SRV records agave:~ olle$ dig @192.168.101.2 -t SRV _sip._udp.global.sm.edv 
! 
;; <<>> DiG 9.8.3-P1 <<>> @192.168.101.2 _sip._udp.global.sm.edv -t SRV 
; (1 server found) 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26290 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 3 
! 
;; QUESTION SECTION: 
;_sip._udp.global.sm.edv. 
IN 
SRV 
! 
;; ANSWER SECTION: 
_sip._udp.global.sm.edv. 86400 
IN 
SRV 
0 0 5060 sip1.global.sm.edv. 
_sip._udp.global.sm.edv. 86400 
IN 
SRV 
0 0 5060 sip2.global.sm.edv. 
! 
;; AUTHORITY SECTION: 
sm.edv. 
86400 
IN 
NS 
ns.sm.edv. 
! 
;; ADDITIONAL SECTION: 
sip1.global.sm.edv. 
86400 
IN 
A 
192.168.101.10 
sip2.global.sm.edv. 
86400 
IN 
A 
192.168.101.11 
ns.sm.edv. 
86400 
IN 
A 
192.168.101.2 
! 
;; Query time: 1 msec 
;; SERVER: 192.168.101.2#53(192.168.101.2) 
;; WHEN: Thu Sep 26 16:30:04 2013 
;; MSG SIZE rcvd: 182
Rules from the RFC 
• If a SIP proxy, redirect server, or registrar is to be contacted 
through the lookup of NAPTR records, there MUST be at least 
three records - one with a "SIP+D2T" service field, one with a "SIP 
+D2U" service field, and one with a "SIPS+D2T" service field. 
• The records with SIPS as the protocol in the service field SHOULD 
be preferred (i.e., have a lower value of the order field) above 
records with SIP as the protocol in the service field. 
• A record with a "SIPS+D2U" service field SHOULD NOT be placed 
into the DNS, since it is not possible to use TLS over UDP.
More rules 
• If the NAPTR for one domain points to 
another domain’s SRV record 
• You still MUST have a SRV record for the 
domain in the URI
If no NAPTR 
• Query SRV records for EACH transport 
the client supports 
• Pick any protocol 
• If there’s no SRV record, use TCP for SIPS 
uri’s and UDP for SIP: uri’s. 
• Try TCP for SIP: uri’s if the message is too 
big for UDP
Hostname, not IP? 
Query DNS for A and 
AAAA records!
Ooops IPv6 
• Use DNS to prioritize your connections 
• If IPv6 is used only over tunnels, you might 
want to have lower priority for IPv6 
servers 
• If IPv6 is native in your network, give IPv6 
servers higher priority 
• Avoid IPv4 NAT issues
The IPv6 preferred chain 
;; Priority Weight Port Target! 
IN SRV 10 3 5060 server1.sipguru.no.! 
IN SRV 10 1 5060 server2.sipguru.no.! 
IN SRV 20 1 5060 server3.sipguru.no.! 
IN SRV 20 2 5060 server4.sipguru.no. 
_sip._udp.sipguru.no 
Priority 10 Priority 20 
Server1 75% Server2 25% Server3 33% Server4 67% 
AAAA AAAA 
A A 
AAAA AAAA 
No IPv4 records!
Show how you want to 
be connected. 
• NAPTR tells the world how your domain 
wants to be contacted - TLS, TCP, UDP 
• SRV can be used to show address family 
preference 
• SRV is used to load balance incoming traffic 
• SRV is used to provide failover on incoming 
connections 
DNS rocks!
Outbound proxy 
• When using an outbound proxy, the client does 
not do any DNS queries for URI’s, only to locate 
the outbound proxy 
• All initial requests are sent to the outbound 
proxy, which will resolve the NAPTR, SRV and 
HOST records and make a decision on how to 
proceed with the request 
• Using DNS to locate the outbound proxy gives 
failover and load balancing. 
• Outbound proxys usually record-route the dialog, to 
stay in the dialog in future transactions
Failure processing 
• If a server fails in sending a reply to the 
sender’s address, it can do DNS lookup on 
the domain in the topmost Via: header to 
find other servers that may be able to 
handle the reply 
• This assumes that the via is a DNS name
Issues 
• RFC 3263 (Locating SIP Servers) and RFC 
2782 doesn’t agree 
• RFC 3263 claims the client should look up 
A or AAAA record - not and. This cause 
issues with dual stack clients and servers. 
• RFC 3263 does not specify how 
connections should be made using the list 
of IP addresses
Example 
;; Priority Weight Port Target! 
IN SRV 10 3 5060 server1.sipguru.no.! 
IN SRV 10 1 5060 server2.sipguru.no.! 
IN SRV 20 1 5060 server3.sipguru.no.! 
IN SRV 20 2 5060 server4.sipguru.no. 
! 
server1.sipguru.no. IN A 192.168.0.1! 
server1.sipguru.no. IN A 192.168.0.2 
server1.sipguru.no. IN AAAA 2001::1 
server1.sipguru.no. IN AAAA 2001::2! 
server2.sipguru.no. IN A 10.0.0.2! 
server3.sipguru.no. IN AAAA 2001::3 
server4.sipguru.no. IN A 192.168.0.4 
server4.sipguru.no. IN A 192.168.0.5
Summary 
• DNS enables federation 
in SIP. You manage your 
domain and how other 
partys call your service. 
• DNS is used for load 
balancing between 
servers 
• DNS is used for failover, 
to ensure that your SIP 
service is always 
reachable. 
• DNS can be used to 
locate internal servers, 
like voicemail servers, 
outbound proxys and 
conference bridges. 
SIP without DNS is broken.
EDVINA TRAINING CLASSES 
• Kamailio from start 
• SIP Protocol 
• SIP Security 
• Scalability 
CUSTOM 
INHOUSE 
TRAININGS 
• Update for existing 
Kamailio, OpenSER 
and SER users 
• Introduces Kamailio 
version 4 
• New SIP standards 
• SIP, Asterisk, Kamailio 
and much more 
• Done at your site, 
customized for your 
project 
• Cost effective when 
more than four 
students 
Find more details at http://edvina.net

More Related Content

What's hot

An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker建澄 吳
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingHossein Yavari
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sChien Cheng Wu
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux KernelKernel TLV
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and KamailioGiacomo Vacca
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with KamailioFred Posner
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2Yaser Rahmati
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentFred Posner
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises Silva
 
Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In KubernetesDon Jayakody
 
[KubeConEU2023] Lima pavilion
[KubeConEU2023] Lima pavilion[KubeConEU2023] Lima pavilion
[KubeConEU2023] Lima pavilionAkihiro Suda
 
FreeSWITCH Monitoring
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH MonitoringMoises Silva
 

What's hot (20)

An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with Kamailio
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In Kubernetes
 
[KubeConEU2023] Lima pavilion
[KubeConEU2023] Lima pavilion[KubeConEU2023] Lima pavilion
[KubeConEU2023] Lima pavilion
 
FreeSWITCH Monitoring
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH Monitoring
 

Viewers also liked

Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionOlle E Johansson
 
Expanding Asterisk with Kamailio
Expanding Asterisk with KamailioExpanding Asterisk with Kamailio
Expanding Asterisk with KamailioFred Posner
 
Bambole Fatte A Mano
Bambole Fatte A ManoBambole Fatte A Mano
Bambole Fatte A ManoCinzia Racca
 
Vishnu Shanker's Portfolio
Vishnu Shanker's Portfolio Vishnu Shanker's Portfolio
Vishnu Shanker's Portfolio Vishnu Shanker
 
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...ESKER
 
imagebrochure_schauenburg_2016
imagebrochure_schauenburg_2016imagebrochure_schauenburg_2016
imagebrochure_schauenburg_2016Daleen Postma
 
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_III
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_IIIthermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_III
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_IIIfinance40
 
Project planning form
Project planning formProject planning form
Project planning formltilem
 
Security managers july 2015 (1)
Security managers july 2015 (1)Security managers july 2015 (1)
Security managers july 2015 (1)Arthur Schmunk
 
Get Your Gamestorming On! Shift the Paradigm of Requirements Gathering
Get Your Gamestorming On! Shift the Paradigm of Requirements GatheringGet Your Gamestorming On! Shift the Paradigm of Requirements Gathering
Get Your Gamestorming On! Shift the Paradigm of Requirements GatheringMichelle Caldwell, PSM, SSGB
 
Carnaval brasileiro
Carnaval brasileiroCarnaval brasileiro
Carnaval brasileiroYára
 
Bypass Immo Tool Instruction
Bypass Immo Tool InstructionBypass Immo Tool Instruction
Bypass Immo Tool Instructionobddeal
 
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)João Rosa
 
Nuestro día D...NI OLVIDO NI PERDÓN
Nuestro día D...NI OLVIDO NI PERDÓNNuestro día D...NI OLVIDO NI PERDÓN
Nuestro día D...NI OLVIDO NI PERDÓNinsn
 
Mi ct 30 ct-40 ct-50 - Servicio Tecnico Fagor
Mi ct 30 ct-40 ct-50 - Servicio Tecnico FagorMi ct 30 ct-40 ct-50 - Servicio Tecnico Fagor
Mi ct 30 ct-40 ct-50 - Servicio Tecnico Fagorserviciotecnicofagor
 
Programa festa major sabadell 2013 diumenge 8
Programa festa major sabadell 2013 diumenge 8Programa festa major sabadell 2013 diumenge 8
Programa festa major sabadell 2013 diumenge 8iSabadell
 
Learn about a Live WebShow Video Channel and Video email
Learn about a Live WebShow Video Channel and Video emailLearn about a Live WebShow Video Channel and Video email
Learn about a Live WebShow Video Channel and Video emailBusiness Growth Coach
 

Viewers also liked (20)

Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Expanding Asterisk with Kamailio
Expanding Asterisk with KamailioExpanding Asterisk with Kamailio
Expanding Asterisk with Kamailio
 
Imagenes chistosas
Imagenes chistosasImagenes chistosas
Imagenes chistosas
 
Elmasfuerte
ElmasfuerteElmasfuerte
Elmasfuerte
 
Bambole Fatte A Mano
Bambole Fatte A ManoBambole Fatte A Mano
Bambole Fatte A Mano
 
Vishnu Shanker's Portfolio
Vishnu Shanker's Portfolio Vishnu Shanker's Portfolio
Vishnu Shanker's Portfolio
 
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...
ECOGAS améliore sa relation fournisseurs grâce à la dématérialisation de ses ...
 
Muri che parlano
Muri che parlano Muri che parlano
Muri che parlano
 
imagebrochure_schauenburg_2016
imagebrochure_schauenburg_2016imagebrochure_schauenburg_2016
imagebrochure_schauenburg_2016
 
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_III
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_IIIthermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_III
thermo fisher ED886123-7163-46F5-8387-5F57485F786B_FINAL09SHOW_III
 
Project planning form
Project planning formProject planning form
Project planning form
 
Security managers july 2015 (1)
Security managers july 2015 (1)Security managers july 2015 (1)
Security managers july 2015 (1)
 
Get Your Gamestorming On! Shift the Paradigm of Requirements Gathering
Get Your Gamestorming On! Shift the Paradigm of Requirements GatheringGet Your Gamestorming On! Shift the Paradigm of Requirements Gathering
Get Your Gamestorming On! Shift the Paradigm of Requirements Gathering
 
Carnaval brasileiro
Carnaval brasileiroCarnaval brasileiro
Carnaval brasileiro
 
Bypass Immo Tool Instruction
Bypass Immo Tool InstructionBypass Immo Tool Instruction
Bypass Immo Tool Instruction
 
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)
056 - Vinde Senhor Vinde em Meu Auxilio - a cartageno (E)
 
Nuestro día D...NI OLVIDO NI PERDÓN
Nuestro día D...NI OLVIDO NI PERDÓNNuestro día D...NI OLVIDO NI PERDÓN
Nuestro día D...NI OLVIDO NI PERDÓN
 
Mi ct 30 ct-40 ct-50 - Servicio Tecnico Fagor
Mi ct 30 ct-40 ct-50 - Servicio Tecnico FagorMi ct 30 ct-40 ct-50 - Servicio Tecnico Fagor
Mi ct 30 ct-40 ct-50 - Servicio Tecnico Fagor
 
Programa festa major sabadell 2013 diumenge 8
Programa festa major sabadell 2013 diumenge 8Programa festa major sabadell 2013 diumenge 8
Programa festa major sabadell 2013 diumenge 8
 
Learn about a Live WebShow Video Channel and Video email
Learn about a Live WebShow Video Channel and Video emailLearn about a Live WebShow Video Channel and Video email
Learn about a Live WebShow Video Channel and Video email
 

Similar to SIP and DNS - federation, failover, load balancing and more

DNS/DNSSEC by Nurul Islam
DNS/DNSSEC by Nurul IslamDNS/DNSSEC by Nurul Islam
DNS/DNSSEC by Nurul IslamMyNOG
 
DANE-based TLS verification in the SIP protocol (v 2)
DANE-based TLS verification in the SIP protocol (v 2)DANE-based TLS verification in the SIP protocol (v 2)
DANE-based TLS verification in the SIP protocol (v 2)Olle E Johansson
 
Domain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsDomain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsWebSniffer
 
Is IPv6 Security Still an Afterthought?
Is IPv6 Security Still an Afterthought?Is IPv6 Security Still an Afterthought?
Is IPv6 Security Still an Afterthought?APNIC
 
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdf
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdfcisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdf
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdfAsgarAlam6
 
SIP URI @ fscons 2009
SIP URI @ fscons 2009SIP URI @ fscons 2009
SIP URI @ fscons 2009FSCONS
 
Performance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerformance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerforce
 
Ccna rse chp9 nat fo i_pv4
Ccna rse chp9 nat fo i_pv4Ccna rse chp9 nat fo i_pv4
Ccna rse chp9 nat fo i_pv4newbie2019
 
Signing DNSSEC answers on the fly at the edge: challenges and solutions
Signing DNSSEC answers on the fly at the edge: challenges and solutionsSigning DNSSEC answers on the fly at the edge: challenges and solutions
Signing DNSSEC answers on the fly at the edge: challenges and solutionsAPNIC
 
RPKI Deployment Status in Bangladesh
RPKI Deployment Status in BangladeshRPKI Deployment Status in Bangladesh
RPKI Deployment Status in BangladeshFakrul Alam
 
SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)Olle E Johansson
 
IGF 2023: DNS Privacy
IGF 2023: DNS PrivacyIGF 2023: DNS Privacy
IGF 2023: DNS PrivacyAPNIC
 
Learning series fundamentals of Networking and Medical Imaging
Learning series fundamentals of Networking and Medical ImagingLearning series fundamentals of Networking and Medical Imaging
Learning series fundamentals of Networking and Medical ImagingRyan Furlough, BSCPE CPAS
 

Similar to SIP and DNS - federation, failover, load balancing and more (20)

DNS/DNSSEC by Nurul Islam
DNS/DNSSEC by Nurul IslamDNS/DNSSEC by Nurul Islam
DNS/DNSSEC by Nurul Islam
 
Ipv6
Ipv6Ipv6
Ipv6
 
DNS - MCSE 2019
DNS - MCSE 2019DNS - MCSE 2019
DNS - MCSE 2019
 
DANE-based TLS verification in the SIP protocol (v 2)
DANE-based TLS verification in the SIP protocol (v 2)DANE-based TLS verification in the SIP protocol (v 2)
DANE-based TLS verification in the SIP protocol (v 2)
 
Domain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsDomain Name System (DNS) Fundamentals
Domain Name System (DNS) Fundamentals
 
BACIK CISCO SKILLS
BACIK CISCO SKILLSBACIK CISCO SKILLS
BACIK CISCO SKILLS
 
Is IPv6 Security Still an Afterthought?
Is IPv6 Security Still an Afterthought?Is IPv6 Security Still an Afterthought?
Is IPv6 Security Still an Afterthought?
 
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdf
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdfcisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdf
cisco-ewan-nat-acl-pt-practice-sba-with-solution-110516171316-phpapp02.pdf
 
SIP URI @ fscons 2009
SIP URI @ fscons 2009SIP URI @ fscons 2009
SIP URI @ fscons 2009
 
Performance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerformance & Scalability Improvements in Perforce
Performance & Scalability Improvements in Perforce
 
Ccna rse chp9 nat fo i_pv4
Ccna rse chp9 nat fo i_pv4Ccna rse chp9 nat fo i_pv4
Ccna rse chp9 nat fo i_pv4
 
RPKI Tutorial
RPKI Tutorial RPKI Tutorial
RPKI Tutorial
 
Signing DNSSEC answers on the fly at the edge: challenges and solutions
Signing DNSSEC answers on the fly at the edge: challenges and solutionsSigning DNSSEC answers on the fly at the edge: challenges and solutions
Signing DNSSEC answers on the fly at the edge: challenges and solutions
 
Day 20.i pv6 lab
Day 20.i pv6 labDay 20.i pv6 lab
Day 20.i pv6 lab
 
RPKI Deployment Status in Bangladesh
RPKI Deployment Status in BangladeshRPKI Deployment Status in Bangladesh
RPKI Deployment Status in Bangladesh
 
SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)
 
IGF 2023: DNS Privacy
IGF 2023: DNS PrivacyIGF 2023: DNS Privacy
IGF 2023: DNS Privacy
 
Evolving Enterprise Network Architecture
Evolving Enterprise Network ArchitectureEvolving Enterprise Network Architecture
Evolving Enterprise Network Architecture
 
IP Routing on z/OS
IP Routing on z/OSIP Routing on z/OS
IP Routing on z/OS
 
Learning series fundamentals of Networking and Medical Imaging
Learning series fundamentals of Networking and Medical ImagingLearning series fundamentals of Networking and Medical Imaging
Learning series fundamentals of Networking and Medical Imaging
 

More from Olle E Johansson

Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Olle E Johansson
 
CRA - overview of vulnerability handling
CRA - overview of vulnerability handlingCRA - overview of vulnerability handling
CRA - overview of vulnerability handlingOlle E Johansson
 
Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Olle E Johansson
 
The birth and death of PSTN
The birth and death of PSTNThe birth and death of PSTN
The birth and death of PSTNOlle E Johansson
 
WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019Olle E Johansson
 
Kamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffKamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffOlle E Johansson
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack networkOlle E Johansson
 
The Realtime Story - part 2
The Realtime Story - part 2The Realtime Story - part 2
The Realtime Story - part 2Olle E Johansson
 
Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Olle E Johansson
 
Sips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolSips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolOlle E Johansson
 
SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)Olle E Johansson
 
Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Olle E Johansson
 
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Olle E Johansson
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIPOlle E Johansson
 
TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6Olle E Johansson
 
Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Olle E Johansson
 
RFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeRFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeOlle E Johansson
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoOlle E Johansson
 

More from Olle E Johansson (20)

Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)
 
CRA - overview of vulnerability handling
CRA - overview of vulnerability handlingCRA - overview of vulnerability handling
CRA - overview of vulnerability handling
 
Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)
 
The birth and death of PSTN
The birth and death of PSTNThe birth and death of PSTN
The birth and death of PSTN
 
WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019
 
Kamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffKamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuff
 
Kamailio on air
Kamailio on airKamailio on air
Kamailio on air
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack network
 
The Realtime Story - part 2
The Realtime Story - part 2The Realtime Story - part 2
The Realtime Story - part 2
 
Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016
 
Sips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolSips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocol
 
SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)
 
Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!
 
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP
 
TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6
 
Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.
 
RFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeRFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the time
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
 

Recently uploaded

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

SIP and DNS - federation, failover, load balancing and more

  • 1. SIP and DNS Where do you want to go today? © Copyright 2006-2014 Edvina AB, Sollentuna , Sweden. A l l r i g h t s reserved. DNS ROCKS!
  • 2. Executive summary SIP use DNS for client-managed load balancing and failover. Not using DNS makes it hard to build scalable, resilient SIP solutions.
  • 3. Static and dynamic routing • In SIP we use the request URI to find the next hop • If there’s a route set, the topmost URI in the route set is used instead • For responses, the via header marks the path back • For all of these DNS is used RFC 3263
  • 4. The DNS zone now includes SIP yourcompany.se Host names Security credentials E-mail addresses URI: Web addresses Unified Communication
  • 5. SIP routing • If there’s a predefined route, use it for initial transactions • Outbound proxy, Path • If there’s a dialog with a defined route set, use the route set until it ends • If there are no more static routes, look at the request URI and find the next hop • IP address (IPv4 and IPv6), DNS Host names , DNS domains
  • 6. SIP URIs sip:line2@192.168.40.25:5074 sip:jardar@sipguru.no sip:conference.executive@sipguru.no;transport=tcp sip:invalid@pluto.sipguro.no:5060 sip:session2@[2001:ab::1200]:5070
  • 7. Locating SIP servers ”The Session Initiation Protocol (SIP) uses DNS procedures to allow a client to resolve a SIP Uniform Resource Identifier (URI)into the IP address, port, and transport protocol of the next hop to contact. • RFC 3263 - Jonathan Rosenberg ! It also uses DNS to allow a server to send a response to a backup client if the primary client has failed. This document describes those DNS procedures in detail.”
  • 8. DNS role in routing ”The first is for proxy 1 to discover the SIP server in domain B, in order to forward the call for joe@B. The second is for proxy 2 to identify a backup for proxy 1 in the event it fails after forwarding the request.” RFC 3263 - Locating SIP servers Proxy 1 Proxy 2 UA Domain A Domain B
  • 9. DNS role in routing Proxy 1.2 Proxy 2.2 ”If proxy 1 sends a request to proxy 2.1 and the request fails, it retries the request by sending it to proxy 2.2.” RFC 3263 - Locating SIP servers Proxy 1.1 Proxy 2.1 UA Domain A Domain B
  • 10. DNS - once per transaction • No less, no more • CANCEL needs to be based on DNS for the INVITE it cancels. It has to be sent to the very same server. • Primary target is ;maddr, secondary is the hostname part of the URI ” It is important to note that DNS lookups can be used multiple times throughout the processing of a call.”
  • 11. Step by step • 1. Domain or host? • If the URI contains a transport protocol, it has to be used • If the URI contains a port, it’s not a domain but a host name • If the target is an IP address, use it • 2. Domain • Lookup NAPTR record to find service (protocol) • NAPTR RFC 2915 • Use SRV records to find a list of hosts • Lookup A and AAAA records for all hosts UDP: SIP+D2U TCP: SIP+D2T, SIPS+D2T SCTP: DIP+D2S, SIPS+D2S
  • 12. NAPTR example Domain example.com NAPTR records ; order pref flags service regexp replacement! IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com.! IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.example.com! IN NAPTR 100 50 "s" "SIP+D2U" "" _sip._udp.example.com. Domain example.com SRV records for _sip._tcp ;; Priority Weight Port Target! IN SRV 0 1 5060 server1.example.com.! IN SRV 0 2 5060 server2.example.com. This domain prefers SIP/TLS, then SIP/TCP and SIP/UDP. For SIP/TCP, there are two servers load balancing, so that server 1 gets 1/3rd of the calls. First NAPTR, then SRV query on the result of NAPTR.
  • 13. DNS SRV record details ! _Service._Proto.Name [TTL] Class SRV Priority Weight Port Target host example! ! ! ! STUN records:! _sip._udp.domain.tld. IN SRV 20 0 5060 mysipproxy.domain.tld. Priority is used for failover, weight for load balancing _stun._udp.domain.tld. IN SRV 20 0 3478 mystunserver.domain.tld. Priority and Weight is 0-65535 (16 bit values)
  • 14. SRV load balancing ;; Priority Weight Port Target! IN SRV 0 1 5060 server1.example.com.! IN SRV 0 2 5060 server2.example.com. • First summarize the combined weight of all entries in one priority • In this case, it’s 3. Now 1/3 of calls needs to be sent to server1, and 2/3 to server 2.
  • 15. SRV Failover ;; Priority Weight Port Target! IN SRV 10 1 5060 server1.example.com! IN SRV 20 1 5060 server2.example.com • First try lowest priority • Then work yourself up the chain at failure • Stay there until it fails, then restart
  • 16. Building a list • For each host, build a list of addresses • Assemble ALL address records for the host • For dual stack clients both A and AAAA, for single stack the address family used • Try to connect to all addresses. RFC 2782 and 3263 does not specify order of connection • RFC 2782 says that all addresses for a given name should be tested before next host name is used.
  • 17. The chain ;; Priority Weight Port Target! IN SRV 10 3 5060 server1.example.com! IN SRV 10 1 5060 server2.example.com! IN SRV 20 1 5060 server3.example.com! IN SRV 20 2 5060 server4.example.com _sip._udp.sipguru.no Priority 10 Priority 20 Server1 75% Server2 25% Server3 33% Server4 67% A A AAAA AAAA A A AAAA AAAA The hosts are not in the same domain
  • 18. Query for SRV records agave:~ olle$ dig @192.168.101.2 -t SRV _sip._udp.global.sm.edv ! ;; <<>> DiG 9.8.3-P1 <<>> @192.168.101.2 _sip._udp.global.sm.edv -t SRV ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26290 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 3 ! ;; QUESTION SECTION: ;_sip._udp.global.sm.edv. IN SRV ! ;; ANSWER SECTION: _sip._udp.global.sm.edv. 86400 IN SRV 0 0 5060 sip1.global.sm.edv. _sip._udp.global.sm.edv. 86400 IN SRV 0 0 5060 sip2.global.sm.edv. ! ;; AUTHORITY SECTION: sm.edv. 86400 IN NS ns.sm.edv. ! ;; ADDITIONAL SECTION: sip1.global.sm.edv. 86400 IN A 192.168.101.10 sip2.global.sm.edv. 86400 IN A 192.168.101.11 ns.sm.edv. 86400 IN A 192.168.101.2 ! ;; Query time: 1 msec ;; SERVER: 192.168.101.2#53(192.168.101.2) ;; WHEN: Thu Sep 26 16:30:04 2013 ;; MSG SIZE rcvd: 182
  • 19. Rules from the RFC • If a SIP proxy, redirect server, or registrar is to be contacted through the lookup of NAPTR records, there MUST be at least three records - one with a "SIP+D2T" service field, one with a "SIP +D2U" service field, and one with a "SIPS+D2T" service field. • The records with SIPS as the protocol in the service field SHOULD be preferred (i.e., have a lower value of the order field) above records with SIP as the protocol in the service field. • A record with a "SIPS+D2U" service field SHOULD NOT be placed into the DNS, since it is not possible to use TLS over UDP.
  • 20. More rules • If the NAPTR for one domain points to another domain’s SRV record • You still MUST have a SRV record for the domain in the URI
  • 21. If no NAPTR • Query SRV records for EACH transport the client supports • Pick any protocol • If there’s no SRV record, use TCP for SIPS uri’s and UDP for SIP: uri’s. • Try TCP for SIP: uri’s if the message is too big for UDP
  • 22. Hostname, not IP? Query DNS for A and AAAA records!
  • 23. Ooops IPv6 • Use DNS to prioritize your connections • If IPv6 is used only over tunnels, you might want to have lower priority for IPv6 servers • If IPv6 is native in your network, give IPv6 servers higher priority • Avoid IPv4 NAT issues
  • 24. The IPv6 preferred chain ;; Priority Weight Port Target! IN SRV 10 3 5060 server1.sipguru.no.! IN SRV 10 1 5060 server2.sipguru.no.! IN SRV 20 1 5060 server3.sipguru.no.! IN SRV 20 2 5060 server4.sipguru.no. _sip._udp.sipguru.no Priority 10 Priority 20 Server1 75% Server2 25% Server3 33% Server4 67% AAAA AAAA A A AAAA AAAA No IPv4 records!
  • 25. Show how you want to be connected. • NAPTR tells the world how your domain wants to be contacted - TLS, TCP, UDP • SRV can be used to show address family preference • SRV is used to load balance incoming traffic • SRV is used to provide failover on incoming connections DNS rocks!
  • 26. Outbound proxy • When using an outbound proxy, the client does not do any DNS queries for URI’s, only to locate the outbound proxy • All initial requests are sent to the outbound proxy, which will resolve the NAPTR, SRV and HOST records and make a decision on how to proceed with the request • Using DNS to locate the outbound proxy gives failover and load balancing. • Outbound proxys usually record-route the dialog, to stay in the dialog in future transactions
  • 27. Failure processing • If a server fails in sending a reply to the sender’s address, it can do DNS lookup on the domain in the topmost Via: header to find other servers that may be able to handle the reply • This assumes that the via is a DNS name
  • 28. Issues • RFC 3263 (Locating SIP Servers) and RFC 2782 doesn’t agree • RFC 3263 claims the client should look up A or AAAA record - not and. This cause issues with dual stack clients and servers. • RFC 3263 does not specify how connections should be made using the list of IP addresses
  • 29. Example ;; Priority Weight Port Target! IN SRV 10 3 5060 server1.sipguru.no.! IN SRV 10 1 5060 server2.sipguru.no.! IN SRV 20 1 5060 server3.sipguru.no.! IN SRV 20 2 5060 server4.sipguru.no. ! server1.sipguru.no. IN A 192.168.0.1! server1.sipguru.no. IN A 192.168.0.2 server1.sipguru.no. IN AAAA 2001::1 server1.sipguru.no. IN AAAA 2001::2! server2.sipguru.no. IN A 10.0.0.2! server3.sipguru.no. IN AAAA 2001::3 server4.sipguru.no. IN A 192.168.0.4 server4.sipguru.no. IN A 192.168.0.5
  • 30. Summary • DNS enables federation in SIP. You manage your domain and how other partys call your service. • DNS is used for load balancing between servers • DNS is used for failover, to ensure that your SIP service is always reachable. • DNS can be used to locate internal servers, like voicemail servers, outbound proxys and conference bridges. SIP without DNS is broken.
  • 31. EDVINA TRAINING CLASSES • Kamailio from start • SIP Protocol • SIP Security • Scalability CUSTOM INHOUSE TRAININGS • Update for existing Kamailio, OpenSER and SER users • Introduces Kamailio version 4 • New SIP standards • SIP, Asterisk, Kamailio and much more • Done at your site, customized for your project • Cost effective when more than four students Find more details at http://edvina.net