Haniph A. Latchman and Nathan Angelacos and Natanael Copa Laboratory for Information Systems & Telecommunications ECE Department University of Florida Gainesville FL 32611 [email protected]http://www.list.ufl.edu ./roots (February 25, 2011) Enterprise VoIP Solutions - with Alpine Linux
47
Embed
Enterprise VoIP Solutions with Alpine Linux - slashroots 2011
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Haniph A. Latchman and Nathan Angelacos and Natanael Copa
Laboratory for Information Systems & Telecommunications
‣Local PBX or Key System with extensions to local offices FEX Lines to
Remote Offices
‣Interconnections to Telco Services
- PSTN and Cellular Providers (LIME, Digicel, Claro,etc.)
‣Least Cost Routing (LCR) for long distance and international calls
‣ VoIP Solution
‣ Option 1 – PBX Replacement (Asterisk or FreeSwtich)
- Intelligence in the VoIP PBX – POTS (or almost) phones
‣Option 2 – Internet Inspired Intelligence at the edge VoIP Solution
- SIP-based Intelligent IP phones + Simple SIP Router and SIP
Accessory (Kamailio (SIP Router) + FreeSwitch as SIP Accessory)
‣Using Alpine Linux
Enterprise Telecoms and
Telephony
9
‣Alpine Linux goals: A Linux based
operating system that is
‣Secure
‣Small and efficient
‣Simple
‣Fast
Alpine Linux
1
0
‣Secure
‣Alpine Linux uses a grsecurity/PaX patched
kernel. This brings some of the nice features
in OpenBSD to Linux. The patch prevents
security holes to be exploited and tries to
make it hard/impossible to install rootkits. It
even protects against bugs in the kernel itself.
We also compile all packages with -fstack-
protector by default (more recently the trend
anyway)
www.AlpineLinux.org
1
1
‣Small
‣Alpine Linux was originally designed to run from RAM/tmpfs. Therefore we used uclibc/busybox instead of the traditional GNU tools and we compile with -Os. Nowdays both uclibc and busybox have most of POSIX implemented so most apps compiles/runs just fine. (We have everything from kamailio/asterisk/freeswitch to XFCE, Gnome and firefox running - a desktop system will naturally enough require a disk
www.AlpineLinux.org
1
2
‣Small
‣The base system is around 4MB excluding kernel (compare with debian which uses around 110MB for the about the same thing). Base system includes bootscripts, package manager, C library, core utils (mv, ls, cp, wget, syslogd, netcat, a http server, etc).
Since it can run from tmpfs you don't need a disk (with moving parts that sooner or later *will* break), and you dont need to worry that your CF/SSD gets worn out by too many writes.
www.AlpineLinux.org
1
3
‣Simple
‣Alpine Linux does not try to be unnecessarily smart. It assumes the user knows what he is going and tries to get out the way if possible. Package build scripts are plain posix shell scripts similar to those found in Arch Linux.
www.AlpineLinux.org
1
4
‣Fast (tested on x86,x86_64,arm,ppc) mips next
‣= Fast = When running from tmpfs we reinstall the entire system each reboot. This means the package manager needs to be fast - very fast. None out there was good enough so we wrote one ourselves: apk-tools. Quite likely the fastest package manager there is (while supporting dependencies and cryptographical signing).
Since binaries are compiled with -Os and linked to uclibc they tend to be smaller than in a traditional GNU system. Smaller means less RAM used, less swapping and less CPU cache misses which leads to faster execution.