SIP and IPv6 – Can They Get Along?

   SIP Network Operators Conference (SIPNOC)
   June 26, 2012

   Dan York
   Senior Content Strategist

   york@isoc.org
   +1-802-735-1624




www.internetsociety.org/deploy360/
Dan York



    www.internetsociety.org/deploy360/




                                     www.danyork.me
www.internetsociety.org/deploy360/
www.worldipv6launch.org/infographic/



www.internetsociety.org/deploy360/
The Good News!




www.internetsociety.org/deploy360/
IPv6 Works Fine!




                           Linphone – http://www.linphone.org
            Open source, free and available for Linux, Windows and MacOS X


www.internetsociety.org/deploy360/
Linphone and IPv6




                          Linphone – http://www.linphone.org
           Open source, free and available for Linux, Windows and MacOS X



www.internetsociety.org/deploy360/
More SIP Softphones Supporting IPv6

Jitsi (formerly SIP Communicator)
§  www.jitsi.org




Counterpath Bria

§  www.counterpath.com




www.internetsociety.org/deploy360/
In Fact, There Are Many More:
    IP Phones (Desktop):                     Other SIP Devices
      •    Avaya (unclear on exact models)    •  Cisco SIP Gateways ( ISR 28XX
      •    Mitel 53xx Series                     & 38XX, AS5400 )
      •    Mocet                              •  Mediatrix
      •    Siemens OpenStage
                                              •  Mitel Border Gateway (MBG)
      •    Snom

    IP-PBXs/Call Servers
      •  Asterisk 1.8+                       SIP Services (in the cloud)
      •  Brekeke SIP                          •  INUM.net
      •  Cisco Unified Communications
         Manager 7.1
      •  Freeswitch 1.1+
      •  Kamailio 3.1+
      •  OpenSIPS
      •  Voxeo Prophecy and PRISM



8   www.internetsociety.org/deploy360/
Why IPv6?




www.internetsociety.org/deploy360/
In The Beginning...




                           192.168.20.12


www.internetsociety.org/deploy360/
Mobility




                                     www.flickr.com/photos/kapungo/3396823518/
www.internetsociety.org/deploy360/
A Plethora of Portable Platforms




                                     www.flickr.com/photos/clonedmilkmen/5111779335/
www.internetsociety.org/deploy360/
Internet of Things




                                     www.flickr.com/photos/dmje/5159177886/
www.internetsociety.org/deploy360/
Internet of Things




www.internetsociety.org/deploy360/
Internet of Things




www.internetsociety.org/deploy360/
EVERYTHING
                              over
                               IP

www.internetsociety.org/deploy360/
Only 2 Billion People
      Are Online –

                  What About The
                  Other 5 Billion?
www.internetsociety.org/deploy360/
How IP Address Allocation Works




                                     Regional Internet Registries (RIRs)




                                     Internet Service Providers (ISPs)




                                                   You

www.internetsociety.org/deploy360/
Global IPv4 Disparity !




www.internetsociety.org/deploy360/
Oops... as of Feb 1, 2011...

                                                                   All Gone!




                                     Regional Internet Registries (RIRs)




                                     Internet Service Providers (ISPs)




                                                   You

www.internetsociety.org/deploy360/
Solutions?




www.internetsociety.org/deploy360/
IPv4 Marketplace




www.internetsociety.org/deploy360/
Prolonging IPv4 - NAT Today

                                                                                       NAT	
  
                                                         Public	
  IP	
                           Private	
  IP	
  
                                                                                                  Addresses	
  




                                                                                                  PC


                                                                             Home
      Internet                           Firewall   Firewall
                                                                            Firewall



                                                                                                   IP
                                     ISP	
                                                       Phone
                                                                            Home	
  




www.internetsociety.org/deploy360/
Carrier Grade NAT (a.k.a. LSN)

                                                         NAT	
  
                       Public	
  IP	
                               Private	
  IP	
  
                                                                    Addresses	
  




                                                                                                    PC


                                                                                         Home
      Internet                                Firewall             Firewall
                                                                                        Firewall



                                                                                                     IP
                                          ISP	
                                                    Phone
                                                                                        Home	
  




www.internetsociety.org/deploy360/
Old NATs Never Die...

                                                         NAT	
                                     NAT	
  
                       Public	
  IP	
                               Private	
  IP	
                           Private	
  IP	
  
                                                                    Addresses	
                               Addresses	
  




                                                                                                              PC


                                                                                         Home
      Internet                                Firewall             Firewall
                                                                                        Firewall



                                                                                                               IP
                                          ISP	
                                                              Phone
                                                                                        Home	
  




www.internetsociety.org/deploy360/
The Problem?




     SIP                             NAT

www.internetsociety.org/deploy360/
Oh, and by the way...




                (sorry... we still have NAT-like networks with IPv6...)




www.internetsociety.org/deploy360/
And then there is...




www.internetsociety.org/deploy360/
IPv6 Challenges:
                            User Interfaces



www.internetsociety.org/deploy360/
See the problem?




www.internetsociety.org/deploy360/
See the problem?




www.internetsociety.org/deploy360/
IPv4




                           192.168.20.12


www.internetsociety.org/deploy360/
IPv6




2001:db8:34a5:23:aa1f:12f4:9009:1234




www.internetsociety.org/deploy360/
IPv6 Address Compression



 2001:db8:34a5:0:0:0:0:1
 2001:db8:34a5::1


  (oh, and they aren’t case-sensitive)




www.internetsociety.org/deploy360/
IPv6 Addresses




                      127.0.0.1      ::1


                      0.0.0.0        ::



www.internetsociety.org/deploy360/
DNS is your friend!


www.internetsociety.org/deploy360/
IPv6 Challenges:
                             Port Numbers



www.internetsociety.org/deploy360/
IPv4 Port Numbers




                      192.168.20.12:5060




www.internetsociety.org/deploy360/
IPv4 Port Numbers in IPv6?




                      192.168.20.12:5060


     2001:db8:34a5::1234:5060


www.internetsociety.org/deploy360/
IPv6 Port Numbers




 [2001:db8:34a5::1234]:5060



www.internetsociety.org/deploy360/
IPv6 addressing


http://[2001:db8:34a5::1234]/index.html
       http://[2001:db8:34a5::1234]:8080


          sip:dan@[2001:db8:34a5::1234]
 sip:dan@[2001:db8:34a5::1234]:5060

www.internetsociety.org/deploy360/
IPv6 Challenge:
                    Multiple Addresses



www.internetsociety.org/deploy360/
IPv4 – Single Address / Interface



                                     192.168.20.12




www.internetsociety.org/deploy360/
IPv6 – Multiple Addresses / Interface


                                     192.168.20.12


 2001:db8:34a5:92:21c:a5ff:fe12:3a80
              (global)
                         fe80::21c:a5ff:fe12:3a80
                                (link-local)

www.internetsociety.org/deploy360/
IPv6 – Neighbor Discovery



                No More DHCP For Address
                       Assignment
                                     (well, unless you want it)




           Router Advertisements vs ARP


www.internetsociety.org/deploy360/
IPv6 – Address Creation



              Router Advertisement




 2001:db8:34a5:92:21c:a5ff:fe12:3a80

                                     Autoconfiguration from
                                       Ethernet Address




www.internetsociety.org/deploy360/
The Key Point…




 Can Your Device/Software/Etc. Work
     With Multiple IP Addresses?




www.internetsociety.org/deploy360/
IPv6 Challenges:
                                 DNS



www.internetsociety.org/deploy360/
IPv4 and DNS




example.com 3600 IN A 192.168.20.12




www.internetsociety.org/deploy360/
IPv6 and DNS




example.com 3600 IN A 192.168.20.12

example.com 3600 IN AAAA 2001:db8:34a5::1234




www.internetsociety.org/deploy360/
IPv6 DNS Fun



         What if DNS gives a AAAA....

        but your system doesn’t have
          “real” IPv6 connectivity?


        (You can retrieve AAAA records over IPv4)


www.internetsociety.org/deploy360/
UNhappy Eyeballs


                                       DNS
                                       Svr


example.com A 192.168.20.12
example.com AAAA 2001:db8:34a5::1234
                                                 AAAA
                                                                      ?

                                       You   (a long time later...)

                                                 A
                                                                      ?




www.internetsociety.org/deploy360/
Happy Eyeballs


                                       DNS
                                       Svr


example.com A 192.168.20.12
example.com AAAA 2001:db8:34a5::1234
                                                 AAAA
                                                                   ?
                                                 A
                                                                   ?
                                       You

                                             (sent at same time;
                                             whichever replies first wins)




www.internetsociety.org/deploy360/
Happy Eyeballs




                    RFC 6555
           tools.ietf.org/html/rfc6555



www.internetsociety.org/deploy360/
IPv6 Challenges:
               Storing IP Addresses



www.internetsociety.org/deploy360/
How Do You Store IP Addresses?


                                      Memory?
                                     Databases?
                                     Config Files?


     Room for two? (or more?)
www.internetsociety.org/deploy360/
Config Files



<category name="SIP">
      <item name="Server1">127.0.0.1:5060
      </item>
</category>




www.internetsociety.org/deploy360/
IPv6 and SIP




www.internetsociety.org/deploy360/
RFC 6157




                                     RFC 6157
    “IPv6 Transition in the Session
        Initiation Protocol (SIP)”
                tools.ietf.org/html/rfc6157


www.internetsociety.org/deploy360/
SIP Architecture



                                            SIP              SIP
                                           Proxy            Proxy
                                             A      SIP       B

                                     SIP                             SIP




                              Alice                                   Bob
                                           Media (RTP, MSRP, etc.)




www.internetsociety.org/deploy360/
SIP Reality




                      SIP                  SIP              SIP             SIP         SIP
                     Proxy                 Proxy            Proxy         Proxy         Proxy
                        A            SIP    B       SIP      C      SIP     D     SIP    N

        SIP                                     Internet (or WAN)                               SIP



                                           Media                    Media
 Alice                                     Proxy                    Proxy                        Bob
                      Media                  A            Media       B             Media




www.internetsociety.org/deploy360/
“SIP” = Multiple Protocols



     SIP
                                     SDP
                                           RTP
www.internetsociety.org/deploy360/
IPv4/IPv6 Fun

Communicating between IPv4 client and IPv6 client
through a proxy
§  Record-Route: <sip:2001:db8::1;lr>

§  Record-Route: <sip:192.0.2.1;lr>




Mixed communication across a path of proxies



Mixed communication: IPv6 for SIP, IPv4 for media


www.internetsociety.org/deploy360/
IPv6 and SDP

Only allows a single IP address per media stream (“c=“
parameter)
§  c=IN IP4 192.168.20.12

§  c=IN IP6 2001:db8:34a5::1234

Multiple proposals for additional SDP parameters
§  ex. ANAT - RFC 4091 & 4092 – now deprecated by IETF but used
  in US military’s AS-SIP

§  draft-boucadair-mmusic-altc-05 – “Alternate Connectivity
  Attribute”

The IETF way forward is ICE – RFC 5245

www.internetsociety.org/deploy360/
NAT, NAT, NAT...




                          STUN, TURN, ICE

                                     (RFC 5245)


www.internetsociety.org/deploy360/
Discovery of SIP Servers

User agents need to find SIP servers/proxies

DHCPv6
§  SIP Options in RFC 3319

DNS SRV, NAPTR and AAAA Records (RFC 3263)




www.internetsociety.org/deploy360/
Other IPv6 Considerations

Other interfaces
§  Web and management systems

§  Logging

§  APIs

Custom SIP headers

Multi-vendor interoperability

SBC and firewall support for SIP over IPv6



www.internetsociety.org/deploy360/
SIP Forum “IPv6” Mailing List




sipforum.org/mailman/listinfo/ipv6




www.internetsociety.org/deploy360/
SIPit Test Events




                                            sipit.net



              SIPit 28: “68% of the implementations present supported IPv6.”




www.internetsociety.org/deploy360/
Get Started With IPv6...




                        Deploy360 Programme
  www.internetsociety.org/deploy360



www.internetsociety.org/deploy360/
SIP Forum “IPv6” Mailing List




sipforum.org/mailman/listinfo/ipv6




www.internetsociety.org/deploy360/
Attend the IPv6 BOF Tomorrow…
                                     12:45-1:30pm
•         Exchange of experiences
•         Should SIP Forum charter a working group?
•         What could working group do?
     •         Document existing best practices for working with SIP over IPv6
               (perhaps in the form of a short whitepaper or document).
     •         Identify current technical issues with using SIP over IPv6.
     •         Maintain/develop a list of IPv6-enabled SIP/VoIP software/
               hardware/services.
     •         Identify/develop case studies about successful migration of SIP
               services to IPv6



www.internetsociety.org/deploy360/
Dan York
   Senior Content Strategist
   Internet Society

   york@isoc.org
   +1-802-735-1624



                                Thank You!
                          www.internetsociety.org/deploy360

                                twitter.com/deploy360

                               facebook.com/deploy360




www.internetsociety.org

SIP and IPv6 - Can They Get Along?

  • 1.
    SIP and IPv6– Can They Get Along? SIP Network Operators Conference (SIPNOC) June 26, 2012 Dan York Senior Content Strategist york@isoc.org +1-802-735-1624 www.internetsociety.org/deploy360/
  • 2.
    Dan York www.internetsociety.org/deploy360/ www.danyork.me www.internetsociety.org/deploy360/
  • 3.
  • 4.
  • 5.
    IPv6 Works Fine! Linphone – http://www.linphone.org Open source, free and available for Linux, Windows and MacOS X www.internetsociety.org/deploy360/
  • 6.
    Linphone and IPv6 Linphone – http://www.linphone.org Open source, free and available for Linux, Windows and MacOS X www.internetsociety.org/deploy360/
  • 7.
    More SIP SoftphonesSupporting IPv6 Jitsi (formerly SIP Communicator) §  www.jitsi.org Counterpath Bria §  www.counterpath.com www.internetsociety.org/deploy360/
  • 8.
    In Fact, ThereAre Many More: IP Phones (Desktop): Other SIP Devices •  Avaya (unclear on exact models) •  Cisco SIP Gateways ( ISR 28XX •  Mitel 53xx Series & 38XX, AS5400 ) •  Mocet •  Mediatrix •  Siemens OpenStage •  Mitel Border Gateway (MBG) •  Snom IP-PBXs/Call Servers •  Asterisk 1.8+ SIP Services (in the cloud) •  Brekeke SIP •  INUM.net •  Cisco Unified Communications Manager 7.1 •  Freeswitch 1.1+ •  Kamailio 3.1+ •  OpenSIPS •  Voxeo Prophecy and PRISM 8 www.internetsociety.org/deploy360/
  • 9.
  • 10.
    In The Beginning... 192.168.20.12 www.internetsociety.org/deploy360/
  • 11.
    Mobility www.flickr.com/photos/kapungo/3396823518/ www.internetsociety.org/deploy360/
  • 12.
    A Plethora ofPortable Platforms www.flickr.com/photos/clonedmilkmen/5111779335/ www.internetsociety.org/deploy360/
  • 13.
    Internet of Things www.flickr.com/photos/dmje/5159177886/ www.internetsociety.org/deploy360/
  • 14.
  • 15.
  • 16.
    EVERYTHING over IP www.internetsociety.org/deploy360/
  • 17.
    Only 2 BillionPeople Are Online – What About The Other 5 Billion? www.internetsociety.org/deploy360/
  • 18.
    How IP AddressAllocation Works Regional Internet Registries (RIRs) Internet Service Providers (ISPs) You www.internetsociety.org/deploy360/
  • 19.
    Global IPv4 Disparity! www.internetsociety.org/deploy360/
  • 20.
    Oops... as ofFeb 1, 2011... All Gone! Regional Internet Registries (RIRs) Internet Service Providers (ISPs) You www.internetsociety.org/deploy360/
  • 21.
  • 22.
  • 23.
    Prolonging IPv4 -NAT Today NAT   Public  IP   Private  IP   Addresses   PC Home Internet Firewall Firewall Firewall IP ISP   Phone Home   www.internetsociety.org/deploy360/
  • 24.
    Carrier Grade NAT(a.k.a. LSN) NAT   Public  IP   Private  IP   Addresses   PC Home Internet Firewall Firewall Firewall IP ISP   Phone Home   www.internetsociety.org/deploy360/
  • 25.
    Old NATs NeverDie... NAT   NAT   Public  IP   Private  IP   Private  IP   Addresses   Addresses   PC Home Internet Firewall Firewall Firewall IP ISP   Phone Home   www.internetsociety.org/deploy360/
  • 26.
    The Problem? SIP NAT www.internetsociety.org/deploy360/
  • 27.
    Oh, and bythe way... (sorry... we still have NAT-like networks with IPv6...) www.internetsociety.org/deploy360/
  • 28.
    And then thereis... www.internetsociety.org/deploy360/
  • 29.
    IPv6 Challenges: User Interfaces www.internetsociety.org/deploy360/
  • 30.
  • 31.
  • 32.
    IPv4 192.168.20.12 www.internetsociety.org/deploy360/
  • 33.
  • 34.
    IPv6 Address Compression 2001:db8:34a5:0:0:0:0:1 2001:db8:34a5::1 (oh, and they aren’t case-sensitive) www.internetsociety.org/deploy360/
  • 35.
    IPv6 Addresses 127.0.0.1 ::1 0.0.0.0 :: www.internetsociety.org/deploy360/
  • 36.
    DNS is yourfriend! www.internetsociety.org/deploy360/
  • 37.
    IPv6 Challenges: Port Numbers www.internetsociety.org/deploy360/
  • 38.
    IPv4 Port Numbers 192.168.20.12:5060 www.internetsociety.org/deploy360/
  • 39.
    IPv4 Port Numbersin IPv6? 192.168.20.12:5060 2001:db8:34a5::1234:5060 www.internetsociety.org/deploy360/
  • 40.
    IPv6 Port Numbers [2001:db8:34a5::1234]:5060 www.internetsociety.org/deploy360/
  • 41.
    IPv6 addressing http://[2001:db8:34a5::1234]/index.html http://[2001:db8:34a5::1234]:8080 sip:dan@[2001:db8:34a5::1234] sip:dan@[2001:db8:34a5::1234]:5060 www.internetsociety.org/deploy360/
  • 42.
    IPv6 Challenge: Multiple Addresses www.internetsociety.org/deploy360/
  • 43.
    IPv4 – SingleAddress / Interface 192.168.20.12 www.internetsociety.org/deploy360/
  • 44.
    IPv6 – MultipleAddresses / Interface 192.168.20.12 2001:db8:34a5:92:21c:a5ff:fe12:3a80 (global) fe80::21c:a5ff:fe12:3a80 (link-local) www.internetsociety.org/deploy360/
  • 45.
    IPv6 – NeighborDiscovery No More DHCP For Address Assignment (well, unless you want it) Router Advertisements vs ARP www.internetsociety.org/deploy360/
  • 46.
    IPv6 – AddressCreation Router Advertisement 2001:db8:34a5:92:21c:a5ff:fe12:3a80 Autoconfiguration from Ethernet Address www.internetsociety.org/deploy360/
  • 47.
    The Key Point… Can Your Device/Software/Etc. Work With Multiple IP Addresses? www.internetsociety.org/deploy360/
  • 48.
    IPv6 Challenges: DNS www.internetsociety.org/deploy360/
  • 49.
    IPv4 and DNS example.com3600 IN A 192.168.20.12 www.internetsociety.org/deploy360/
  • 50.
    IPv6 and DNS example.com3600 IN A 192.168.20.12 example.com 3600 IN AAAA 2001:db8:34a5::1234 www.internetsociety.org/deploy360/
  • 51.
    IPv6 DNS Fun What if DNS gives a AAAA.... but your system doesn’t have “real” IPv6 connectivity? (You can retrieve AAAA records over IPv4) www.internetsociety.org/deploy360/
  • 52.
    UNhappy Eyeballs DNS Svr example.com A 192.168.20.12 example.com AAAA 2001:db8:34a5::1234 AAAA ? You (a long time later...) A ? www.internetsociety.org/deploy360/
  • 53.
    Happy Eyeballs DNS Svr example.com A 192.168.20.12 example.com AAAA 2001:db8:34a5::1234 AAAA ? A ? You (sent at same time; whichever replies first wins) www.internetsociety.org/deploy360/
  • 54.
    Happy Eyeballs RFC 6555 tools.ietf.org/html/rfc6555 www.internetsociety.org/deploy360/
  • 55.
    IPv6 Challenges: Storing IP Addresses www.internetsociety.org/deploy360/
  • 56.
    How Do YouStore IP Addresses? Memory? Databases? Config Files? Room for two? (or more?) www.internetsociety.org/deploy360/
  • 57.
    Config Files <category name="SIP"> <item name="Server1">127.0.0.1:5060 </item> </category> www.internetsociety.org/deploy360/
  • 58.
  • 59.
    RFC 6157 RFC 6157 “IPv6 Transition in the Session Initiation Protocol (SIP)” tools.ietf.org/html/rfc6157 www.internetsociety.org/deploy360/
  • 60.
    SIP Architecture SIP SIP Proxy Proxy A SIP B SIP SIP Alice Bob Media (RTP, MSRP, etc.) www.internetsociety.org/deploy360/
  • 61.
    SIP Reality SIP SIP SIP SIP SIP Proxy Proxy Proxy Proxy Proxy A SIP B SIP C SIP D SIP N SIP Internet (or WAN) SIP Media Media Alice Proxy Proxy Bob Media A Media B Media www.internetsociety.org/deploy360/
  • 62.
    “SIP” = MultipleProtocols SIP SDP RTP www.internetsociety.org/deploy360/
  • 63.
    IPv4/IPv6 Fun Communicating betweenIPv4 client and IPv6 client through a proxy §  Record-Route: <sip:2001:db8::1;lr> §  Record-Route: <sip:192.0.2.1;lr> Mixed communication across a path of proxies Mixed communication: IPv6 for SIP, IPv4 for media www.internetsociety.org/deploy360/
  • 64.
    IPv6 and SDP Onlyallows a single IP address per media stream (“c=“ parameter) §  c=IN IP4 192.168.20.12 §  c=IN IP6 2001:db8:34a5::1234 Multiple proposals for additional SDP parameters §  ex. ANAT - RFC 4091 & 4092 – now deprecated by IETF but used in US military’s AS-SIP §  draft-boucadair-mmusic-altc-05 – “Alternate Connectivity Attribute” The IETF way forward is ICE – RFC 5245 www.internetsociety.org/deploy360/
  • 65.
    NAT, NAT, NAT... STUN, TURN, ICE (RFC 5245) www.internetsociety.org/deploy360/
  • 66.
    Discovery of SIPServers User agents need to find SIP servers/proxies DHCPv6 §  SIP Options in RFC 3319 DNS SRV, NAPTR and AAAA Records (RFC 3263) www.internetsociety.org/deploy360/
  • 67.
    Other IPv6 Considerations Otherinterfaces §  Web and management systems §  Logging §  APIs Custom SIP headers Multi-vendor interoperability SBC and firewall support for SIP over IPv6 www.internetsociety.org/deploy360/
  • 68.
    SIP Forum “IPv6”Mailing List sipforum.org/mailman/listinfo/ipv6 www.internetsociety.org/deploy360/
  • 69.
    SIPit Test Events sipit.net SIPit 28: “68% of the implementations present supported IPv6.” www.internetsociety.org/deploy360/
  • 70.
    Get Started WithIPv6... Deploy360 Programme www.internetsociety.org/deploy360 www.internetsociety.org/deploy360/
  • 71.
    SIP Forum “IPv6”Mailing List sipforum.org/mailman/listinfo/ipv6 www.internetsociety.org/deploy360/
  • 72.
    Attend the IPv6BOF Tomorrow… 12:45-1:30pm •  Exchange of experiences •  Should SIP Forum charter a working group? •  What could working group do? •  Document existing best practices for working with SIP over IPv6 (perhaps in the form of a short whitepaper or document). •  Identify current technical issues with using SIP over IPv6. •  Maintain/develop a list of IPv6-enabled SIP/VoIP software/ hardware/services. •  Identify/develop case studies about successful migration of SIP services to IPv6 www.internetsociety.org/deploy360/
  • 73.
    Dan York Senior Content Strategist Internet Society york@isoc.org +1-802-735-1624 Thank You! www.internetsociety.org/deploy360 twitter.com/deploy360 facebook.com/deploy360 www.internetsociety.org