SlideShare a Scribd company logo
1 of 12
SIP Outbound
Letting the client open the connection
           and keep it open.



                                OUTBOUND



                            http://edvina.net/sip2012
The problem                          OUTBOUND




                  SIP
                                                             •        SIP is bidirectional. Every device is a client and
                                                                      a server that accepts incoming connections.


                                                             •        If the client is behind a NAT device, the server
               NAT                                                    may not be able reach it for incoming calls (or
                                                                      other messages)


                 TLS                                         •        With TLS, the client needs to connect to the
                                                                      server (unless the client has a TLS certificate)


                                                             •        TCP (and thus TLS) sessions takes a lot of
                TCP                                                   setup time and time to discover a failure.



©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .   The SIP Master Class
The solution                         OUTBOUND



                   • Let the client be responsible for
                            opening one primary and one backup
                            connection
                          •        Opening connections take time, realizing that they’re down takes even longer



                   • Use the connection for communication
                            both ways


                   • Do quick failover if a connection dies
                                                                                                                       RFC 5626

©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .   The SIP Master Class
SIP Outbound                                                            OUTBOUND




                  • Open connections at registration to two
                           separate servers
                  •        Keep them open.
                  •        If needed, use NAT keepalives


                                                  NATted network

                                                                                                                         SIP
                                                                                                                                             SIP
                                                                                                                         SIP
                                                                                                                                       Location server/Registrar
                                                                                                                       Ingres proxys

                                                                                                                                                 RFC 5626

©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                              The SIP Master Class
TCP connections                                                                OUTBOUND



                   • Opening a new connection
                    • In windows, takes 19 seconds to fail to setup. In Unix, around
                      70 seconds. Linux 190 seconds. (Source Geoff Houston)
                   • Discovering a broken connection
                    • To discover a failure can take a very long time.
                                          NATted network

                                                                                                                         SIP
                                                                                                                                             SIP
                                                                                            X                            SIP
                                                                                                                                       Location server/Registrar
                                                                                                                       Ingres proxys




©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                                  The SIP Master Class
Quoting the RFC                                                     OUTBOUND



                                                         ”The key idea of this specification is that
                                                         when a UA sends a REGISTER request or a
                                                         dialog-forming request, the proxy can later
                                                         use this same network "flow" -- whether this
                                                         is a bidirectional stream of UDP datagrams, a
                                                         TCP connection, or an analogous concept in
                                                         another transport protocol -- to forward any
                                                         incoming requests that need to go to this UA
                                                         in the context of the registration or dialog.”



                                                 Bidirectional flow
                                                                                                                   SIP
                                                                                                                               SIP
                                                                                                                   SIP
                                                                                                                         Location server/Registrar



©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                        The SIP Master Class
OUTBOUND



                                             NATted network

                                                                                                                         SIP
                                                                                                                                             SIP
                                               Client initiated connections
                                                                                                                         SIP
                                                                                                                                       Location server/Registrar
                                                                                                                       Ingres proxys

        • The client is responsible for keeping the connection open
        • Clients has a UUID, device identifier that stays the same - ALWAYS!
        • The SIP proxy understand (by the UUID and the reg.IDs) that one device
            has multiple registrations and will use only one at a time
        • The Registrar or Ingres proxy assigns a flow ID that is unique for each
            flow
        • A dialog stays on one connection until it fails

©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                                 The SIP Master Class
OUTBOUND




                 REGISTER sip:example.com SIP/2.0
                 Via: SIP/2.0/TCP 192.0.2.2;branch=z9hG4bK-bad0ce-11-1036
                 Max-Forwards: 70
                 From: Bob <sip:bob@example.com>;tag=d879h76
                 To: Bob <sip:bob@example.com>
                 Call-ID: 8921348ju72je840.204
                 CSeq: 1 REGISTER
                 Supported: path, outbound
                 Contact: <sip:line1@192.0.2.2;transport=tcp>; reg-id=1;
                     ;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000A95A0E128>"
                 Content-Length: 0




                                                                                                              Notice the Contact: header
                                                                                                                     parameters.

©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                The SIP Master Class
Finding proxys                                         OUTBOUND



           The UA may use DNS SRV discovery or
           provisioning to discover the proxys.

                  One SRV set for edge                                                                                 One SRV set for core
                        proxys                                                                                               proxys




©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                 The SIP Master Class
Dependencies                                     OUTBOUND



                   • RFC 3263 - finding edge and core proxys with
                            SRV/NAPTR records


                   • RFC 3327 - SIP PATH header
                            Used for communication between edge proxy
                            and location server/registrar




©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .   The SIP Master Class
OUTBOUND

                                                                                                          SIP outbound

                    • Makes TLS better                                                                                 • Adds a number of
                    • Better definition for                                                                               connections
                            NAT traversal
                            support                                                                                    • Not yet implemented
                                                                                                                         in many devices
                    •       Identifies devices in
                            a unique way
                    •       Makes TCP/TLS
                            failover much, much
                            quicker


                +                                                                                                      -
©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .                        The SIP Master Class
This material is part
                                                                                                                           of the Edvina
                   Learn more about                                                                                     SIP Master Classes
                       SIP2012 at
               http://edvina.net/sip2012




©   C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d .             The SIP Master Class

More Related Content

What's hot

DASH7 Technical Overview Webinar
DASH7 Technical Overview WebinarDASH7 Technical Overview Webinar
DASH7 Technical Overview WebinarDASH7 Alliance
 
evolution towards NGN
evolution towards NGNevolution towards NGN
evolution towards NGNAJAL A J
 
Philippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elementsPhilippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elementsP1Security
 
Voice Over IP Overview w/Secuirty
Voice Over IP Overview w/SecuirtyVoice Over IP Overview w/Secuirty
Voice Over IP Overview w/SecuirtyChristopher Duffy
 
Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Alan Quayle
 
Audiocodes, Plantronics Cisco
Audiocodes, Plantronics CiscoAudiocodes, Plantronics Cisco
Audiocodes, Plantronics CiscoUcpartners.com.au
 
Surf Solutions intro to new partner jan2011
Surf Solutions intro to new partner jan2011 Surf Solutions intro to new partner jan2011
Surf Solutions intro to new partner jan2011 Rudy Shainer
 
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPROIDEA
 

What's hot (10)

DASH7 Technical Overview Webinar
DASH7 Technical Overview WebinarDASH7 Technical Overview Webinar
DASH7 Technical Overview Webinar
 
evolution towards NGN
evolution towards NGNevolution towards NGN
evolution towards NGN
 
Philippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elementsPhilippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elements
 
Voice Over IP Overview w/Secuirty
Voice Over IP Overview w/SecuirtyVoice Over IP Overview w/Secuirty
Voice Over IP Overview w/Secuirty
 
Voip In College
Voip In CollegeVoip In College
Voip In College
 
Vo ip sip
Vo ip sipVo ip sip
Vo ip sip
 
Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...
 
Audiocodes, Plantronics Cisco
Audiocodes, Plantronics CiscoAudiocodes, Plantronics Cisco
Audiocodes, Plantronics Cisco
 
Surf Solutions intro to new partner jan2011
Surf Solutions intro to new partner jan2011 Surf Solutions intro to new partner jan2011
Surf Solutions intro to new partner jan2011
 
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
 

Viewers also liked

0708 Minor User Experience English
0708 Minor User Experience English0708 Minor User Experience English
0708 Minor User Experience EnglishHans Kemp
 
Techo Club Seniors
Techo Club SeniorsTecho Club Seniors
Techo Club SeniorsCorey Topf
 
Unit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionUnit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionCorey Topf
 
Week 24 Sponges
Week 24 SpongesWeek 24 Sponges
Week 24 SpongesCorey Topf
 
The bambino tour
The bambino tourThe bambino tour
The bambino tourelenargy
 
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1Iad2 Cmd2 C Kwartaalopdracht 0910 Q1
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1Hans Kemp
 
Iad1 0708Q2 Hoorcollege 1 Structuur, Flow En Navigatie
Iad1 0708Q2 Hoorcollege 1   Structuur, Flow En NavigatieIad1 0708Q2 Hoorcollege 1   Structuur, Flow En Navigatie
Iad1 0708Q2 Hoorcollege 1 Structuur, Flow En NavigatieHans Kemp
 
1011q1 design for mobile les 3 patterns for mobile
1011q1 design for mobile les 3   patterns for mobile1011q1 design for mobile les 3   patterns for mobile
1011q1 design for mobile les 3 patterns for mobileHans Kemp
 
1011q1 design for mobile les 4 - usabilitytesting for mobile
1011q1 design for mobile    les 4 - usabilitytesting for mobile1011q1 design for mobile    les 4 - usabilitytesting for mobile
1011q1 design for mobile les 4 - usabilitytesting for mobileHans Kemp
 
Uxd 0910 q4 hoorcollege expressie en emotie
Uxd 0910 q4 hoorcollege expressie en emotieUxd 0910 q4 hoorcollege expressie en emotie
Uxd 0910 q4 hoorcollege expressie en emotieHans Kemp
 
Unit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionUnit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionCorey Topf
 
Zappos All Hands 2008 02 29 Public
Zappos All Hands 2008 02 29 PublicZappos All Hands 2008 02 29 Public
Zappos All Hands 2008 02 29 Publiczappos
 
Week 23 Sponges
Week 23 SpongesWeek 23 Sponges
Week 23 SpongesCorey Topf
 
Eerste Bijeenkomst Afstudeerders
Eerste Bijeenkomst AfstudeerdersEerste Bijeenkomst Afstudeerders
Eerste Bijeenkomst AfstudeerdersHans Kemp
 
Roosevelt innovation academy
Roosevelt innovation academyRoosevelt innovation academy
Roosevelt innovation academyCorey Topf
 
Section7 vocab
Section7 vocabSection7 vocab
Section7 vocabCorey Topf
 
Week 22 Sponges
Week 22 SpongesWeek 22 Sponges
Week 22 SpongesCorey Topf
 
Soc 02 Stross Justin
Soc 02 Stross JustinSoc 02 Stross Justin
Soc 02 Stross Justinstrossj1
 

Viewers also liked (20)

0708 Minor User Experience English
0708 Minor User Experience English0708 Minor User Experience English
0708 Minor User Experience English
 
Techo Club Seniors
Techo Club SeniorsTecho Club Seniors
Techo Club Seniors
 
Unit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionUnit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of Production
 
Week 24 Sponges
Week 24 SpongesWeek 24 Sponges
Week 24 Sponges
 
The bambino tour
The bambino tourThe bambino tour
The bambino tour
 
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1Iad2 Cmd2 C Kwartaalopdracht 0910 Q1
Iad2 Cmd2 C Kwartaalopdracht 0910 Q1
 
Iad1 0708Q2 Hoorcollege 1 Structuur, Flow En Navigatie
Iad1 0708Q2 Hoorcollege 1   Structuur, Flow En NavigatieIad1 0708Q2 Hoorcollege 1   Structuur, Flow En Navigatie
Iad1 0708Q2 Hoorcollege 1 Structuur, Flow En Navigatie
 
Ejemploc de caso
Ejemploc de casoEjemploc de caso
Ejemploc de caso
 
1011q1 design for mobile les 3 patterns for mobile
1011q1 design for mobile les 3   patterns for mobile1011q1 design for mobile les 3   patterns for mobile
1011q1 design for mobile les 3 patterns for mobile
 
1011q1 design for mobile les 4 - usabilitytesting for mobile
1011q1 design for mobile    les 4 - usabilitytesting for mobile1011q1 design for mobile    les 4 - usabilitytesting for mobile
1011q1 design for mobile les 4 - usabilitytesting for mobile
 
Uxd 0910 q4 hoorcollege expressie en emotie
Uxd 0910 q4 hoorcollege expressie en emotieUxd 0910 q4 hoorcollege expressie en emotie
Uxd 0910 q4 hoorcollege expressie en emotie
 
Unit 2
Unit 2Unit 2
Unit 2
 
Unit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of ProductionUnit 2 3 1 Costs Of Production
Unit 2 3 1 Costs Of Production
 
Zappos All Hands 2008 02 29 Public
Zappos All Hands 2008 02 29 PublicZappos All Hands 2008 02 29 Public
Zappos All Hands 2008 02 29 Public
 
Week 23 Sponges
Week 23 SpongesWeek 23 Sponges
Week 23 Sponges
 
Eerste Bijeenkomst Afstudeerders
Eerste Bijeenkomst AfstudeerdersEerste Bijeenkomst Afstudeerders
Eerste Bijeenkomst Afstudeerders
 
Roosevelt innovation academy
Roosevelt innovation academyRoosevelt innovation academy
Roosevelt innovation academy
 
Section7 vocab
Section7 vocabSection7 vocab
Section7 vocab
 
Week 22 Sponges
Week 22 SpongesWeek 22 Sponges
Week 22 Sponges
 
Soc 02 Stross Justin
Soc 02 Stross JustinSoc 02 Stross Justin
Soc 02 Stross Justin
 

Similar to Sip2012 :: outbound

ICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPSaúl Ibarra Corretgé
 
SailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebAppsSailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebAppsEduardo Pelegri-Llopart
 
Watch out - The Norwegian Version
Watch out - The Norwegian VersionWatch out - The Norwegian Version
Watch out - The Norwegian VersionOlle E Johansson
 
Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Olle E Johansson
 
Diameter and Diameter Roaming
Diameter and Diameter RoamingDiameter and Diameter Roaming
Diameter and Diameter RoamingJohn Loughney
 
Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
Learning Erlang And Developing A Sip Server Stack With 30k Potential UsersLearning Erlang And Developing A Sip Server Stack With 30k Potential Users
Learning Erlang And Developing A Sip Server Stack With 30k Potential Usersl xf
 
VoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingVoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingThousandEyes
 
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...gogo6
 
FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateOlle E Johansson
 
Ryu SDN Framework
Ryu SDN FrameworkRyu SDN Framework
Ryu SDN FrameworkAPNIC
 
The State of 3G/GPRS IPv6 Deployment
The State of 3G/GPRS IPv6 DeploymentThe State of 3G/GPRS IPv6 Deployment
The State of 3G/GPRS IPv6 DeploymentJohn Loughney
 
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PROIDEA
 
Aboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogsAboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogsJonas Borjesson
 

Similar to Sip2012 :: outbound (20)

Rethinking the PBX
Rethinking the PBXRethinking the PBX
Rethinking the PBX
 
ICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIPICE: The ultimate way of beating NAT in SIP
ICE: The ultimate way of beating NAT in SIP
 
SailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebAppsSailFin - Adding Presence and Voice to WebApps
SailFin - Adding Presence and Voice to WebApps
 
Watch out - The Norwegian Version
Watch out - The Norwegian VersionWatch out - The Norwegian Version
Watch out - The Norwegian Version
 
IEEE latincom2012
IEEE latincom2012IEEE latincom2012
IEEE latincom2012
 
Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Sip & IPv6 - time for action!
Sip & IPv6 - time for action!
 
Diameter and Diameter Roaming
Diameter and Diameter RoamingDiameter and Diameter Roaming
Diameter and Diameter Roaming
 
Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
Learning Erlang And Developing A Sip Server Stack With 30k Potential UsersLearning Erlang And Developing A Sip Server Stack With 30k Potential Users
Learning Erlang And Developing A Sip Server Stack With 30k Potential Users
 
VoIP Monitoring and Troubleshooting
VoIP Monitoring and TroubleshootingVoIP Monitoring and Troubleshooting
VoIP Monitoring and Troubleshooting
 
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
Deploying IPv6 in Cisco's Labs by Robert Beckett at gogoNET LIVE! 3 IPv6 Conf...
 
Sip
SipSip
Sip
 
Kamailio World 2013 - SIP and MSRP over WebSocket
Kamailio World 2013 - SIP and MSRP over WebSocketKamailio World 2013 - SIP and MSRP over WebSocket
Kamailio World 2013 - SIP and MSRP over WebSocket
 
FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication Update
 
SIP Beyond VoIP
SIP Beyond VoIPSIP Beyond VoIP
SIP Beyond VoIP
 
Ryu SDN Framework
Ryu SDN FrameworkRyu SDN Framework
Ryu SDN Framework
 
The State of 3G/GPRS IPv6 Deployment
The State of 3G/GPRS IPv6 DeploymentThe State of 3G/GPRS IPv6 Deployment
The State of 3G/GPRS IPv6 Deployment
 
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
 
Aboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogsAboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogs
 
Blink: voice is not enough
Blink: voice is not enoughBlink: voice is not enough
Blink: voice is not enough
 
Voip
VoipVoip
Voip
 

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
 
SIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldSIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldOlle 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
 

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!
 
SIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldSIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer world
 
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
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
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
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
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...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 

Sip2012 :: outbound

  • 1. SIP Outbound Letting the client open the connection and keep it open. OUTBOUND http://edvina.net/sip2012
  • 2. The problem OUTBOUND SIP • SIP is bidirectional. Every device is a client and a server that accepts incoming connections. • If the client is behind a NAT device, the server NAT may not be able reach it for incoming calls (or other messages) TLS • With TLS, the client needs to connect to the server (unless the client has a TLS certificate) • TCP (and thus TLS) sessions takes a lot of TCP setup time and time to discover a failure. © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 3. The solution OUTBOUND • Let the client be responsible for opening one primary and one backup connection • Opening connections take time, realizing that they’re down takes even longer • Use the connection for communication both ways • Do quick failover if a connection dies RFC 5626 © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 4. SIP Outbound OUTBOUND • Open connections at registration to two separate servers • Keep them open. • If needed, use NAT keepalives NATted network SIP SIP SIP Location server/Registrar Ingres proxys RFC 5626 © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 5. TCP connections OUTBOUND • Opening a new connection • In windows, takes 19 seconds to fail to setup. In Unix, around 70 seconds. Linux 190 seconds. (Source Geoff Houston) • Discovering a broken connection • To discover a failure can take a very long time. NATted network SIP SIP X SIP Location server/Registrar Ingres proxys © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 6. Quoting the RFC OUTBOUND ”The key idea of this specification is that when a UA sends a REGISTER request or a dialog-forming request, the proxy can later use this same network "flow" -- whether this is a bidirectional stream of UDP datagrams, a TCP connection, or an analogous concept in another transport protocol -- to forward any incoming requests that need to go to this UA in the context of the registration or dialog.” Bidirectional flow SIP SIP SIP Location server/Registrar © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 7. OUTBOUND NATted network SIP SIP Client initiated connections SIP Location server/Registrar Ingres proxys • The client is responsible for keeping the connection open • Clients has a UUID, device identifier that stays the same - ALWAYS! • The SIP proxy understand (by the UUID and the reg.IDs) that one device has multiple registrations and will use only one at a time • The Registrar or Ingres proxy assigns a flow ID that is unique for each flow • A dialog stays on one connection until it fails © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 8. OUTBOUND REGISTER sip:example.com SIP/2.0 Via: SIP/2.0/TCP 192.0.2.2;branch=z9hG4bK-bad0ce-11-1036 Max-Forwards: 70 From: Bob <sip:bob@example.com>;tag=d879h76 To: Bob <sip:bob@example.com> Call-ID: 8921348ju72je840.204 CSeq: 1 REGISTER Supported: path, outbound Contact: <sip:line1@192.0.2.2;transport=tcp>; reg-id=1; ;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000A95A0E128>" Content-Length: 0 Notice the Contact: header parameters. © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 9. Finding proxys OUTBOUND The UA may use DNS SRV discovery or provisioning to discover the proxys. One SRV set for edge One SRV set for core proxys proxys © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 10. Dependencies OUTBOUND • RFC 3263 - finding edge and core proxys with SRV/NAPTR records • RFC 3327 - SIP PATH header Used for communication between edge proxy and location server/registrar © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 11. OUTBOUND SIP outbound • Makes TLS better • Adds a number of • Better definition for connections NAT traversal support • Not yet implemented in many devices • Identifies devices in a unique way • Makes TCP/TLS failover much, much quicker + - © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class
  • 12. This material is part of the Edvina Learn more about SIP Master Classes SIP2012 at http://edvina.net/sip2012 © C o p y ri g h t 2 0 1 2 E d v i n a A B , S o l l e n t u n a , S w e d e n . A l l ri g h t s re s e r v e d . The SIP Master Class

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n