Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Snappy Kamailio

437 views

Published on

Building the snap package (snapcraft.io) for Kamailio SIP Server on Ubuntu 16.04, at TADHack Global - Berlin, October 15-16, 2016

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Snappy Kamailio

  1. 1. Snappy Kamailio from 0 to … with snaps (snapcraft.io) TADHack Global - Berlin October 2016 Daniel-Constantin Mierla asipto.com @miconda
  2. 2. Goal • make Kamailio friendly to be built as a snap and run it yesterday at noon • first look at snapcraft.io following the Ubuntu TADHack resources • http://tadhack.com/2016/global/developer-resources/
  3. 3. Kamailio • www.kamailio.org • open source SIP server • IETF - RFC3261 • developed since 2001 • aka SIP Express Router (SER) or OpenSER • UDP, TCP, TLS, SCTP - IPv4 and IPv6 • telephony engine, voice, video, instant messaging, presence • high capacity (large number of devices or number of active calls) • IMS and VoLTE extensions • load balancer, least cost routing, DID routing, AAA, SIP firewall, …
  4. 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. 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. 6. Challenges • sorting out how to set or release the restrictions • what an application is allowed to do
  7. 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
  8. 8. The Commits
  9. 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. 10. Results • available at: • https://github.com/miconda/kamailio-snapcraft Thank You! Daniel-Constantin Mierla asipto.com @miconda TADHack Global - Berlin October 2016

×