TADHack Winner: Snappy Kamailio, Daniel-Constantin Mierla (Canonical). Presented in the opening keynote Carnival of the Creators at TADSummit 2016 15-16 Nov Lisbon
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
TADHack Winner: Snappy Kamailio: Carnival of the Creators
1. Snappy Kamailio
from 0 to … with snaps
(snapcraft.io)
TADSummit - Lisbon
November 2016
Daniel-Constantin Mierla
co-founder Kamailio SIP Server project
asipto.com
@miconda
2. Kamailio SIP Server
• www.kamailio.org
• open source SIP server
• IETF - RFC3261
• developed since 2001 - started by FhG Fokus Institute
• aka SIP Express Router (SER) or OpenSER
• UDP, TCP, TLS, SCTP - IPv4 and IPv6
• telephony engine, voice, video, instant messaging, presence, webrtc
• high capacity (large number of devices or number of active calls)
• eg., 1&1 Germany >11 millions connected lines)
• IMS and VoLTE extensions
• load balancer, least cost routing, DID routing, AAA, SIP firewall, …
3. Goal
• make Kamailio friendly to be built as a snap and run it
TADHack Global - Berlin
day one, at noon
• first look at snapcraft.io following the Ubuntu TADHack resources
• http://tadhack.com/2016/global/developer-resources/
4. snapcraft.io
• Package any app for every Linux desktop, server, cloud or
device, and deliver updates directly.
• How do snaps work?
• A snap is a fancy zip file containing an application together
with its dependencies, and a description of how it should
safely be run on your system, especially the different ways it
should talk to other software.
• Most importantly snaps are designed to be secure,
sandboxed, containerised applications isolated from the
underlying system and from other applications. Snaps allow
the safe installation of apps from any vendor on mission
critical devices and desktops
5. First Touch
• snapcraft file
• yaml format
• easy to understand
• documentation - some improvements won’t hurt for sure
• conclusion: not hard to get started with
6. Challenges
• sorting out how to enforce or release the restrictions
• what an application is allowed to do
7. The Work With Stock Kamailio
• snapcraft.yml - not hard to get first version
• there are some examples on snapcraft.io to inspire from
• 4 patches to make it friendly to build and run as a snap
• temporary files in runtime directory
• fifo and control socket files
• creating raw sockets
• disabled
• dedicated starting script
• changes to kamailio.cfg have to be done from starting script
• moving from SNAP dir to SNAP_DATA dir
9. Future Work
• deploy the tools in the snap
• kamctl, kamcmd, …
• inter-working with other snaps
• mysql server, …
• performance evaluation
• snaps, containers, virtual machine and bare metal
10. And Then …
• add it to the snaps store
• become rich and retire young
11. Results
• available at:
• https://github.com/miconda/kamailio-snapcraft
Thank You!
Daniel-Constantin Mierla
asipto.com
@miconda
TADSummit - Lisbon
November 2016
Demo at 16:00
Work Stream 1 - Room Augusta I
New Service Delivery Options: Application to Person & Network App Stores