Asterisk with IPv6: Seamless and Ubiquitous VoIP



Similar documents
Porting and Running Asterisk to IPv6

Porting and Deploying VoIP to IPv6: Lessons Learned

Basic configuration of the GXW410x with Asterisk

NAT and Firewall Traversal with STUN / TURN / ICE

NAT and Firewall Traversal with STUN / TURN / ICE

Configuration Notes 290

Guideline for SIP Trunk Setup

Micronet VoIP Solution with Asterisk

Unicorn60x0 IP ANALOG GATEWAY ASTERISK CONFIGURATION

NAT TCP SIP ALG Support

Integrating Voice over IP services in IPv4 and IPv6 networks

Adding Multi-Homing and Dual-Stack Support to the Session Initiation Protocol

Lab Introduction software Voice over IP

NAT Traversal for VoIP

Asterisk Overview. Berkeley In Munich Tech Talks prepared by. Emil Stoyanov

IPv6 in Axis Video Products

Mediatrix 3000 with Asterisk June 22, 2011

Computer Networks. Introduc)on to Naming, Addressing, and Rou)ng. Week 09. College of Information Science and Engineering Ritsumeikan University

NAT Traversal for VoIP. Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and Info. Engr. National Taiwan University

Need for Signaling and Call Control

Configuration Guide for connecting the Eircom Advantage 4800/1500/1200 PBXs to the Eircom SIP Voice platform.

SIIT-DC: IPv4 Service Continuity for IPv6 Data Centres. Tore Anderson Redpill Linpro AS RIPE69, London, November 2014

Asterisk SIP Settings User Guide. Schmooze Com Inc.

Application Note. Onsight Connect Network Requirements v6.3

Asterisk Primer. Presented at Apricot, Bali, Feb 26 th Marc Blanchet Viagénie.

Application Notes for Avaya IP Office 7.0 Integration with Skype Connect R2.0 Issue 1.0

IPv6 and 4-byte ASN Update

Aculab digital network access cards

Basic configuration of the GXW410x with Trixbox

Mediatrix 4404 Step by Step Configuration Guide June 22, 2011

IPNext 50 NGN IP-PBX High-performance Next Generation IP-PBX Solution

IPv4/IPv6 Transition for SIP VoIP Applications

White paper. SIP An introduction

Applications between Asotel VoIP and Asterisk

Copyright ZYCOO All Rights Reserved 1 / 8

IPPBX FAQ. For Firmware Version: V2.0/V

SIIT-DC: Stateless IP/ICMP Translation for IPv6 Data Centre Environments & SIIT-DC: Dual Translation Mode

Monitoring of Tunneled IPv6 Traffic Using Packet Decapsulation and IPFIX

A Scalable Multi-Server Cluster VoIP System

DirectAccess in Windows 7 and Windows Server 2008 R2. Aydin Aslaner Senior Support Escalation Engineer Microsoft MEA Networking Team

Connecting Your Enterprise With Asterisk: IAX to Carriers. Dayton Turner Voxter Communications

Bria iphone Edition User Guide

Overview of Asterisk (*) Jeff Gunther

Internet Technology Voice over IP

IP PBX. SD Card Slot. FXO Ports. PBX WAN port. FXO Ports LED, RED means online

Vicenza.linux.it\LinuxCafe 1

NTP VoIP Platform: A SIP VoIP Platform and Its Services

VoIP support on Qtopia. Vladimir Minenko, Ph.D.

Voice Over Internet Protocol (VOIP) SECURITY. Rick Kuhn Computer Security Division National Institute of Standards and Technology

Analog IP Gateway GXW410x Quick Installation Guide SW version

IPV6 流 量 分 析 探 讨 北 京 大 学 计 算 中 心 周 昌 令

Integration of GSM Module with PC Mother Board (GSM Trunking) WHITE/Technical PAPER. Author: Srinivasa Rao Bommana

Alcatel-Lucent OXO Configuration Guide. For Use with AT&T s IP Flexible Reach Service. Version 1 / Issue 1 Date July 28, 2009

Chapter 10 Session Initiation Protocol. Prof. Yuh-Shyan Chen Department of Computer Science and Information Engineering National Taipei University

Development of SIP-H.323 Gateway Project

IPv6 and Fortinet: Network Security in the Next Generation of IP Communication

Application Notes for Configuring Intelepeer SIP Trunking with Avaya IP Office Issue 1.0

Configuring a Softphone for Windows for Virtual Contact Center

Issues for the performance monitoring of an open source H.323 implementation ported to IPv6-enabled networks with QoS characteristics

464XLAT: Breaking Free of IPv4. T-Mobile.com NANOG 61 June 2014

NAT Tutorial. Dan Wing, IETF78, Maastricht July 25, 2010

Integrating VoIP Phones and IP PBX s with VidyoGateway

VoIP Recorder V2 Setup Guide

Configuring Bria 3 Mac for Virtual Contact Center

Remote extensions and remote offices

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Industry Automation White Paper Januar 2013 IPv6 in automation technology

Setup Guide: on the MyNetFone Service. Revision History

Configuration Note for Jeron Provider 790 and Cisco CallManager

Two Standards: H.323 / SIP Bridging both worlds. João Pereira - FCCN - Portugal

SSVP SIP School VoIP Professional Certification

Firewall Stateful Inspection of ICMP

Table of Contents. Confidential and Proprietary

X-Lite 4 For Mac Softphone

Skype connect and Asterisk

VoIP LAB. 陳 懷 恩 博 士 助 理 教 授 兼 所 長 國 立 宜 蘭 大 學 資 訊 工 程 研 究 所 TEL: # 255

Network Convergence and the NAT/Firewall Problems

Daniel-Constantin Mierla Elena-Ramona Modroiu

Contents Introduction Why Fax over IP? How Real-time Fax over IP works Implementation with MessagePlus/Open Summary. About this document

3CX IP PBX Phone System Technical Training Deerfield.com

SIP Security Controllers. Product Overview

Configuring a LAN SIParator. Lisa Hallingström Paul Donald Bogdan Musat Adnan Khalid Per Johnsson Rickard Nilsson

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

VoIP Security regarding the Open Source Software Asterisk

ABC SBC: Securing and Flexible Trunking. FRAFOS GmbH

OpenScape Business V2

Voice over IP Basics for IT Technicians

Software changes for Website and Application IPv6 Readiness

Figure The scenario

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

Background 1 Table 1 Software & Firmware Versions Tested 1 Figure 1 Integra s Universal Access (UA) IP PBX Test Configuration 1

DNS Update API November 15, 2006 Version 2.0.3

GoIP Series. SIM Card for GSM Voice Gateway. User Manual

Transcription:

Asterisk with IPv6: Seamless and Ubiquitous VoIP Marc Blanchet Viagénie marc.blanchet@viagenie.ca http://www.viagenie.ca Presented at Voice Peering Forum, Miami, March 2007

Credentials 20+ years in IP networking and Unix, with 10 years on IPv6... IP engineering standards(ietf): Wrote IETF drafts and RFCs. Co-chaired internationalized domain names (idn) IETF wg Authoring: Book: Migrating to IPv6, Wiley, 2006. Cisco IPv6 course (co-author) Tutorials on IP, security, Ipv6, etc... at many conferences, organisations IPv6forum: co-founder, board member. North American Ipv6 Task Force: steering group member. Asterisk developer, co-ported Asterisk to IPv6. President of Viagénie, consulting in advanced IP networking. Helping providers, enterprises, manufacturers and governments. IPv6, VoIP, Asterisk, Security, Internationalization, etc. Copyright Viagénie 2006

Plan IPv6 Why IPv6 and Asterisk Changes to Asterisk Experience running VoIP-IPv6 Lessons learned Next Steps Conclusion Copyright Viagénie 2006 ::3

IPv6? New version of IP: fixes IPv4 issues adds new functionality Addresses: No NAT! 128 bits Each enterprise receives /48 which can address 65536 links, each link can address an unlimited number of host. Link(Subnet,vlan,...) subnet mask is fixed: /64 Uniquely assigned private address space: no collision of private networks addressing. No network management nightmare. Full view of the networks. Copyright Viagénie 2006 ::4

IPv6? Mobility: keep connections up even when host changes IP address Very useful for handover multiple link access (wifi, wimax,...) Autoconfiguration: routers announce the link prefix on the link. Hosts use their MAC address for the host part of the address Very useful for embedded devices. Integrated IPsec Many more features Copyright Viagénie 2006 ::5

IPv4 Addresses Depletion < 20% of remaining address space Unallocated in red on the chart Since 2000, average allocation rate of 4% of total address space per year. Last 9 months consumption rate: 5% of total address space allocated 20% of remaining address space allocated Predictions of exhaustion: for 2009-2011. Cumulative allocations 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 01 01 02 02 03 03 04 04 05 05 06 06 07.1.2.1.2.1.2.1.2.1.2.1.2.1.2.1 Allocated /8 prefixes Unallocated /8 prefixes Cumulative allocations since 2000 time by 6 months chunks Copyright Viagénie 2006 ::6

IPv6 Most Active Markets Asia Japan: see http://www.v6pc.jp China: through NGN. Olympics is important milestone. Korea, Southeast Asia US government: Mandating IPv6 for 2008 in all agencies DoD is leading Providers (short list): Teleglobe/VSNL, NTT, AT&T, GlobalCrossing,... Comcast: can't address all the devices (100M+) with IPv4. Deploying IPv6. (DOCSIS 3.0 is Ipv6-ready). Requirement for IMS Copyright Viagénie 2006 ::7

VoIP today SIP-based VoIP: Separate signaling and media path Does not work well with NAT. Multiple variations of NAT traversal solutions: STUN, TURN, ICE,... showed complexity and brittleness and lack of support in the implementations User Agent may be behind a NAT with some efforts. But it is very difficult to have a SIP server (proxy,registrar,...) to be behind a NAT. Important issue is reachability Copyright Viagénie 2006 ::8

Why? Reachability NAT Not all phones support this. Kludgy Does not work in all cases NAT Difficult to deploy Sometimes mostly impossible NAT NAT Don't try it! Copyright Viagénie 2006 ::9

Consequences of NAT User consequence: Calls do not go through Audio is one-way DTMF does not work Implementor consequence: Very complex implementations. Fragile. Difficult to debug. Long cycle of development/testing. Deployment consequence: careful planning long time for deploying, testing, etc.. Copyright Viagénie 2006 ::10

Why IPv6? It just works! Copyright Viagénie 2006 ::11

Why IPv6 and Asterisk? As any VoIP system, Asterisk does suffer NAT. Asterisk had no IPv6 support Viagénie has ported Asterisk to IPv6 IPv6 and SIP No NAT, No STUN, No TURN, No ICE, No MIDCOM, = no complexity, just works. True end-2-end media path. Much easier to deploy. A VoIP-IPv6 deployment in Japan found important cost reductions because of the ease of installation and support. To have an IPv6-enabled application such as Asterisk, need to convert to the new API. Copyright Viagénie 2006 ::12

Challenges with IPv6 in Asterisk chan_sip Current architecture supports a single socket : 'sipsock'. The default source address is hardcoded to 0.0.0.0. The RTP socket is initialized from 'sipsock' Widespread use of sockaddr_in structures and short buffers (>256 bytes) to store hostnames and IP address strings. Many instances of similar code for parsing SIP url. Copyright Viagénie 2006 ::13

Design choices Use multiple sockets Initial patch provides 1 socket per address family. future work should include multiple sockets for each address family. Version independent when possible Whenever possible, do not use sockaddr_in or sockaddr_in6 and never guess at the length of a sockaddr structure. Only exception should be for setting socket options. Copyright Viagénie 2006 ::14

Impacts on Asterisk Code Files touched: netsock.c/.h chan_sip.c rtp.c Few others Some numbers: ~25% of functions were changed/touched many thousand lines changed/touched. Everywhere in chan_sip, because: networking, logging (printing addresses) and sip url parsing. Copyright Viagénie 2006 ::15

Running Asterisk-v6 in Production Run at our offices with remote offices and road-warriors User point of view: no difference. Same quality of voice, etc... Infrastructure point of view: Dual-stack network. Some phones are v4, others are dual-stack, some are restricted to v6 (for the purpose of testing) Deployment point of view: Much easier: easier to deploy phones in home networks, for roadwarriors, etc.. Easier to define firewall rules, since one can filter based on the source and destination addresses/prefixes (not possible with NAT) Easier to troubleshoot, since easy to trace Copyright Viagénie 2006 ::16

VoIPv6 Tests With CounterPath EyeBeam (IPv6 version) And Asterisk (IPv6 version) Using the IPv6 Internet backbone and the VPF Viagénie(Canada) and Consulintel(Spain) conducted successful VoIPv6 calls. Easy config, no need to take care of NAT, STUN, etc... It just works! Copyright Viagénie 2006 ::17

Lessons Learned IPv4-IPv6 SIP in production is challenging Found without trying to do: IPv6 SIP signaling but media path is established using IPv4. Troubleshooting is more difficult? Need to investigate Conformance support for IPv6 SIP implementations. Based on deployment experience, should write a BCP paper on IPv4-IPv6 SIP deployments. Copyright Viagénie 2006 ::18

Next Steps Code is based on august 2006 trunk. Need to remerge to 1.4 and trunk. IPv6 VoIP peering Discuss with community how to integrate code into trunk Add a startup flag to Asterisk to disable IPv6. More testing! Especially Interop tests. test with other implementations (SER,...) test with other IPv6 SIP UAs... if you have one, please contact us. Improve IPv6 support in chan_sip to better handle complex scenarios. implement ANAT [RFC4091, RFC4092]. IPv6 <-> IPv4 Add IPv6 support to chan_iax (work in progress) and chan_*. Fix bugs Copyright Viagénie 2006 ::19

Conclusion Discussed: the benefits of IPv6 and Why Asterisk benefits of being IPv6- enabled. How to port an application to IPv6 Changes to Asterisk Demo Next Steps Information on this Asterisk-IPv6 project is available at: http://www.asteriskv6.org. We will be posting progress, tests with IPv6 UA, code,... Copyright Viagénie 2006 ::20

Questions? Contact info: Marc.Blanchet@viagenie.ca This presentation is available at http://www.viagenie.ca/publications/ Information on this Asterisk-IPv6 project: http://www.asteriskv6.org References [RFC3493] Gilligan, R., Thomson, S., Bound, J., McCann, J., and W. Stevens, "Basic Socket Interface Extensions for IPv6", RFC 3493, February 2003. [RFC3542] Stevens, W., Thomas, M., Nordmark, E., and T. Jinmei, "Advanced Sockets Application Program Interface (API) for IPv6", RFC 3542, May 2003. IPv6 Network Programming, Junichiro itojun Hagino, Elsevier, 2004, ISBN 1555583180. Migrating to IPv6, Marc Blanchet, Wiley, 2006, ISBN 0-471-49892-0, http://www.ipv6book.ca Copyright Viagénie 2006 ::21

BACKUP SLIDES Copyright Viagénie 2006 ::22

IPv6 Support Support on OS (stack and API): Same (new) API everywhere!!! ;-) Since: Linux 2.4, FreeBSD 4.X, MacOSX 10.2, Windows XP, Solaris 8,... Opensource Apps: Apache, Sendmail/postfix, openssh, Xfree/Xorg,... Now Asterisk... ;-) Support on network gear: Cisco, Juniper, Checkpoint, Quagga,... Copyright Viagénie 2006 ::23

Asterisk Architecture Channels: SIP, IAX, MGCP, ZAP(PSTN), etc.. Each channel is implemented as a loadable module SIP Channel(chan_sip) is a monolithic channel that does SIP and SDP. sip.conf codecs.conf SIP (chan_sip.so) GSM (codec_gsm.so) ulaw (codec_ulaw.so) Asterisk (core) Copyright Viagénie 2006 ::24

IPv6 SIP user agents Few open source IPv6 SIP user agents are available at this time. Many pretend to be IPv6-ready, but they were never tested or with very low number of tests. We have been sending patches to some of them. Makes testing and especially interop testing more limited. We tested 2 softphones with a 'working' ipv6 implementation: kphone 3.1.1 with IPv6 patch. Linphone 1.3.5 Both implementations contains (IPv6) bugs. Testing 3 commercial SIP UA IPv6-enabled: both hard and softphones. One that worked well: Counterpath Eyebeam (Windows version) (not yet released public) Copyright Viagénie 2006 ::25

Modifications to sip.conf 'bindaddr' now supports the address:port syntax such as: 10.1.1.1 10.1.1.1:5060 [2001:db8::1] [2001:db8::1]:5060 If no 'bindaddr' is specified for an address family, the wildcard is used (0.0.0.0 AND [::]). 'host' contains only the address, therefore no brackets. 'bindport' is still supported for backward compatibility. Copyright Viagénie 2006 ::26

'Hello World' demo Uses Kphone as IPv6 SIP UA. Register to Asterisk. Make a call to play the 'Hello world' sound file. Kphone 2001:db8::2 Asterisk 2001:db8::1 Copyright Viagénie 2006 ::27

'Hello World' demo (cont.) [general] context=internal bindaddr=[2001:db8::1] [dev1] type=friend host=dynamic context=internal [dev2] type=friend host=dynamic context=internal Copyright Viagénie 2006 ::28

'Hello World' demo (cont.) UA1 Asterisk Copyright Viagénie 2006 ::29

2 Phones call demo 2 Kphone IPv6 SIP User Agents register to an Asterisk server. Establish a SIP call between the two user agents through an extension on Asterisk. Kphone 2001:db8::2 sip:dev1@sip.viagenie.qc.ca Asterisk 2001:db8::1 sip.qa.viagenie.ca Kphone 2001:db8::3 sip:dev3@sip.viagenie.qc.ca Copyright Viagénie 2006 ::30

Bidirection call demo (cont.) UA1 Asterisk UA1 UA2 Copyright Viagénie 2006 ::31