Carrier grade VoIP systems with Kamailio

Similar documents
Carrier-grade VoIP platform with Kamailio at 1&1

Scaling Location Services with Kamailio Henning Westerholt, Marius Zbihlei Kamailio Project

History of xser/kamailio at 1&1

HIGH QUALITY TELEPHONY USING A FAIL-SAFE MEDIA RELAY SETUP. Pawel Kuzak VoIP Backend Development

SIP EXPRESS ROUTER / KAMAILIO

Asynchronous SIP Routing

The poor state of SIP endpoint security

Creating a large, scalable, and redundant voic cluster using OpenSIPS and FreeSWITCH

Load Balancing FreeSWITCHes

Large Unified Communication Platforms ClueCon 2010, Chicago. Daniel-Constantin Mierla Co-Founder Kamailio

High Availability Configuration Guide

High Availability Configuration Guide

Never Drop a Call With TecInfo SIP Proxy White Paper

OpenSIPS 2.0 a programmable SIP framework

Implementation and Planning Guide

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Load Balancing Microsoft OCS Deployment Guide v Copyright Loadbalancer.org

How to pimp high volume PHP websites. 27. September 2008, PHP conference Barcelona. By Jens Bierkandt

Real-time Communications Security and SDN

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal for the Drupal Association

GnuGk The GNU Gatekeeper

Deploying the BIG-IP System v10 with Oracle s BEA WebLogic

RTO/RPO numbers for different resiliency scenarios

Cisco Unified MeetingPlace Integration

Using MySQL for Distributed Database Architectures

Internet Technology 4/29/2013

Maintaining High Availability for Enterprise Voice in Microsoft Office Communication Server 2007

Avaya AG250 Application Gateway Server Pre-Installation Checklist for Avaya Communication Manager

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

Cox Business. Service Guide. National Number Service National 911 Teleworker Off-Net Voice Service. for

Homer. ... because sip capturing makes sense. author: Alexandr Dubovikov co-authors: Torsten Schweizer, Heino Klier, Roland Haenel

AT&T VOIP Nortel BCM50 Release 3.0 SIP Configuration Guide For Use with AT&T IP Flexible Reach Service. Issue /26/2007

Failover, load sharing and server architecture in SIP telephony

Unified Communication Platform

Configuring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.

On-Site PBX Vs Hosted PBX

SIP-Router.org Project

Security and Reliability of the SoundBite Platform Andy Gilbert, VP of Operations Ed Gardner, Information Security Officer

Application Note Asterisk BE with SIP Trunking - Configuration Guide

SIMPLEstone - Benchmarking Presence Server Performance *

BT SIP Trunk Configuration Guide

Call Control Discovery

Oracle and Tangosol Acquisition Announcement

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

RELIABILITY & AVAILABILITY IN THE CLOUD

SBC Configuration Examples for Mediant SBC

Clearspan Redundancy Guide RELEASE 21

Broadvox Fusion SIP Trunks Configuration Guide PBX Platform: KX-TDA50

SIP Devices Configuration

Case study. Kamailio as IN SIP Application Server. Uri shacked Value Added Services Eng. Division Bezeq 17/4/2013

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

nexvortex Setup Guide

SIP Devices Configuration

Help! I need more servers! What do I do?

REDUNDANCY GUIDE Release 20.0

VoIP Protocols and QoS

Case Study. Performance Optimization & OMS Brainvire Infotech Pvt. Ltd Page 1 of 1

Silicon House. Phone: / / / Enquiry: Visit:

Part 12 殷亚凤. Homepage: Room 301, Building of Computer Science and Technology

More on Testing and Large Scale Web Apps

IPNext 187 Hybrid IP-PBX System High-performance Hybrid IP-PBX Solution

Application Note 3Com VCX Connect with SIP Trunking - Configuration Guide

INNOVATIVE SD-WAN TECHNOLOGY

TECHNICAL GUIDE to access Business Talk IP SIP IPBX Avaya IP Office

SIP as an Enabling Technology

The Session Initiation Protocol

nexvortex Setup Guide

Radware AppDirector Load Balancing Microsoft LCS servers, LCS Director and LCS Access Proxy Servers.

NEMO 3.0 Product Description NetAxis Solutions

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Cisco Expressway Session Classification

SESSION BORDER CONTROLLERS PRODUCT LINE

Page 2 Skype Connect Requirements Guide

Sbc Service User Guide

Application Note. Ingate SIParator/Firewall for Remote Users in a Multitenant environment with

Unified Communications Manager Express Toll Fraud Prevention

FREUND SIP SW - V SIP-server setup

Spectrum Enterprise SIP Trunking Service NEC Univerge SV9100 IP PBX Configuration Guide

Application Note. Microsoft OCS 2007 Configuration Guide

New Rock Technologies, Inc. OM Series IP Telephony System. Administrator Manual OM20 OM50. Document Version:

SIP Server HA Deployment Guide. SIP Server 8.1.1

Deploying VMware Identity Manager in the DMZ. JULY 2018 VMware Identity Manager 3.2

Nortel Converged Office Fundamentals Microsoft Office Communications Server 2007

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar

WellSIP 6550 IP Telephony Server

MySQL Performance Improvements

Load Balancing Microsoft IIS. Deployment Guide v Copyright Loadbalancer.org

HIGH DENSITY MEDIA GATEWAY WITH MODULAR INTERFACES AND SBC. Comparative table for call capacities of the KMG SBC 750:

Identifying Workloads for the Cloud

How to Configure Route 53 for F-Series Firewalls in AWS

Distributed Systems. 05r. Case study: Google Cluster Architecture. Paul Krzyzanowski. Rutgers University. Fall 2016

HOSTED VOIP Your guide to next-generation telephony

IMS Adoption Fueled by the Open IMS Core Project and MySQL

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs

Mobile MOUSe IMPLEMENTING VOIP ONLINE COURSE OUTLINE

Technical Overview. Mitel MiCloud Telepo for Service Providers 4.0. Key Features

Open Mic Webcast. Jumpstarting Audio- Video Deployments Tony Payne March 9, 2016

Configure Cisco Unified Communications Manager

<Insert Picture Here> Oracle Coherence & Extreme Transaction Processing (XTP)

Failover. Jason Healy, Director of Networks and Systems

Transcription:

Carrier grade VoIP systems with Kamailio Welcome! Kamailio project 1&1 Internet AG Linuxtag 2009, 24.06.2009

Outline 1. 1&1 VoIP backend purpose and usage architecture 2. Kamailio SIP server 3. High-availability and failure-tolerance practical problems customer expectations and legal requirements monitoring, automation and procedures maintainability and system complexity 4. Performance and scalability scaling issues caching, partioning and data locality over-optimization

1&1 voice over IP backend purpose provide telephony services for our DSL customers basic call routing and also supplemental services some numbers over 1000 million minutes per month to the PSTN more than 2 Million customers on the platform redundant infrastructure on several levels clustering for applications and databases interfacing to other carrier networks and internal systems custom testing and monitoring systems

1&1 voice over IP backend

About Kamailio building block of VoIP infrastructures provides core services proxy registrar balancer or router application server no PBX, more like a router cares only about signaling, no RTP data foundation of custom high-performance SIP services

About Kamailio an open source project licenced under GPL (version 2 or later) over 200,000 lines of C code frequent time-based releases managed from a board of core developers community aspects over 20 developers provide support and contribute new features friendly and healthy user community regular meetings at international free and open source conferences a mature product used from carriers like 1&1, QSC, Telefonica.. several companies use it to provide turn-key solutions, also sold as appliance merge with the SER project, Kamailio forked several years ago

Why Kamailio Scalability usable from small embedded systems to carrier grade systems from a few hundreds user up to several millions Performance on a standard server several thousands calls per seconds throughput is no problem a server with enough memory can manage 600.000 users Flexibility small core written in C functionality can be added with modules, over 90 already available configuration script allows access to any part of the SIP message routing decisions can be derived from many different sources further informations extensive documentation available on kamailio.org, see also sip-router.org

High-availability and failure-tolerance what happens if.. the primary and secondary DNS of your carrier dies your carrier SBCs don't like your SIP anymore somehow IPs of some carrier GWs are firewalled and don't forget your own infrastructure the call routing proxies suddendly starts to crash your database replication don't like to work anymore human error destroyes some critical databases But: customers expect (of course) the same reliability as in the "normal" PSTN legal requirements (e.g. for emergency call routing) applies also to VoIP systems

Monitoring and redundancy quality related parameter and utilization informations Jitter, Paket loss, ASR, NER, SIP status codes.. minutes per minutes and ASR count incoming and outgoing traffic and its distribution both human and automatic checking of important values service level monitoring check if the service is still running, listen on the ports, writes logs.. use tools like "sipp" to check if basic functions are available redundancy solutions SRV load-balancing for front-end balancers automatic or manual failover for proxies and registrars automatic failure routing if one GW or carrier fails manual routing changes also necessary by quality problems

Automation and procedures manual processes are risky because of human errors try to automate as much as you can example: least-cost-routing data update generate DB content from a description language that is managed in a repository push this automatically to a master DB in order to replicate it trigger cache re-load on all machines after finishing the upload Establish procedures for common tasks example: update to a new software release establish rules what and how much you change for every release have a pre-production test suite on a dedicated test system, and use it create release announcements with an update plan communicate and follow the plan

Quality assurance and maintainability find bugs before they reach your production system by catching them in your internal test-suite by getting your code in the public repository by catching them in a upstream test-suite prefer general solutions over custom implementations getting input from the community helps here a lot also good motivation for updates get your code in the public repository, or even better improve existing parts provide feedback that your requirements are heard support the project for example with infrastructure, donations, organisational or development work.. fix bugs directly in the upstream participate in discussions and events

Performance and scalability carrier infrastructure at 1&1 DSL reseller, no own network to the customer uses network from Telekom, Telefonica, QSC.. interface to PSTN via Telefonica, Broadnet, BT.. different product lines and product flavours (i.e. bitstream access vs. full PSTN line) Routing problems prefix based routing customer specific routing routing is different in case of failures high number of routes Not possible with plain OpenSER

Performance and scalability storage and retrieving of location data difficult to scale because of frequent access and changes what works for two proxies don't work for more availability is critical for call setup no stable and suitable clustering solution from MySQL in the past proprietary partioning solution implemented as Kamailio module provides also error-handling and automatic failover try to minimize database access partioning also helps here to ensure data locality use modules that cache their content in RAM setup local read-only database slaves use local DNS caches use plenty of RAM

Performance and scalability server tuning increase PKG_MEM and SHM_MEM pool to a few times the default value use more worker children for network connections set TCP send and connect timeout to small values, to prevent blocking make sure you use non-blocking syslog file writing disable dynamic blacklisting and DNS search list usage, use the port for host names configuration tuning try to optimize the common path, special cases comes later low-level tuning normally not necessary use the benchmark module to find bottlenecks data optimization minimize least-cost-routing rules, e.g. by combining prefixes try to get rid of obselete entries in DB based logic think about how often data must be changed (registration interval, expire logic..)

Performance and maintainability CPU power is not a problem given todays multi-core CPUs so try to find the bottleneck and optimize there most probably it will be something related to IO prefer general solutions over custom implementations e.g. use script logic with PVs instead of coding a custom module implement DB queries with sqlops/ avpops and not in C use the perl module for quick hacks design in a modular way hierachical sub-routes for certain areas (i.e. PSTN, presence..) use small routes as "functions" to provide common functionality (normalization, relaying) place the necessary SIP functional blocks on different hosts use only needed functionality, e.g. balancers can be stateless to save resources

Thanks for your attention! More informations and contact: henning.westerholt@1und1.de kamailio user and sip-router developer mailing list extensive documentation available at http://kamailio.org and http://sip-router.org Pictures: slide slide slide slide slide 1: spring flowers, central Turkey 5: Thorsten Wagner, http://www.flickr.com/people/thunderstar/ 8: Randi Hausken, http://www.flickr.com/people/randihausken/ 12: gato-gato-gato, http://www.flickr.com/people/gato-gato-gato/ 16: sunrise at Byala beach, Bulgaria Licence of the slides: http://creativecommons.org/licenses/by-nc-sa/2.0/

1&1 voice over IP backend