Enterprise VoIP Solutions With Alpine Linux - Slashroots 2011
Enterprise VoIP Solutions With Alpine Linux - Slashroots 2011
Enterprise VoIP Solutions With Alpine Linux - Slashroots 2011
Solutions
- with Alpine Linux
Haniph A. Latchman and Nathan Angelacos and Natanael Copa
./roots
(February 25, 2011)
Laboratory for Information
Systems and
Telecommunicaitons
Haniph A. Latchman
Professor and Director
Systems & Control and Communications
Electrical and Computer Engineering
LIST Research
Activities
Mathematical Systems Theory
Integration of Systems Theory and
Communications Research
Robust Control
Communications Networks
Interactive Online Teaching and
Learning
From Communications to
Controls...
The Classical Period
Nyquist & Black - 1930‟s - Frequency Doman,
SISO
Bode, Evans, Nichols
“Modern” Control
Optimal Control - Time Domain - MIMO
Mathematical Optimization - LQR, LQG, LTR
The Neo-classical (Post-modern) Era
MIMO Frequency Domain
H-infinity
...and from Controls back to Communications
./roots
(February 25, 2011)
Enterprise VoIP
Solutions
- with Alpine Linux
Haniph A. Latchman and Nathan Angelacos and Natanael Copa
./roots
(February 25, 2011)
Open Source
Enterprise IT Solutions
‣Office Suite (M$ Office vs Open Office)
‣Accounting
‣Customer Relationship Management
‣Mail Services with Global Directory
‣Spam/Virus Filtering
‣Web Proxy and Monitoring
‣Firewalls and Security Services
‣Others
‣…and Telecommunications and Telephony
8
Enterprise Telecoms and
Telephony
‣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
9
Alpine Linux
‣Alpine Linux goals: A Linux based
operating system that is
‣Secure
‣Small and efficient
‣Simple
‣Fast
1
www.AlpineLinux.org
‣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)
1
www.AlpineLinux.org
‣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
1
www.AlpineLinux.org
‣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.
1
www.AlpineLinux.org
‣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.
1
www.AlpineLinux.org
‣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 leads1
to faster execution.
Alpine Linux
‣Alpine Linux goals: A Linux based
operating system that is
‣Secure
‣Small and efficient
‣Simple
‣Fast
‣http://www.alpinelinux.org/wiki/About
1
VoIP Solution No. 1
- Central PBX Replacement
1
VoIP Solution I
- Central PBX Replacement
1
SIP Router
‣ Internet Standard Protocol (RFC 3261)
SIP Router
Not just Voice
-Video
-Text (Instant Messaging)
-Presence Indication
2
SIP Router
‣ Not a Full PBX
SIP Router
Asterisk FreeSwtich
-Requires “smarter” phones or gateways
‣Voice Mail
‣Conferencing 2
SIP Router
‣ Core Implementation Includes
SIP Router
-Segregated VLAN
-http://5718wiki.gatorfone.com/wikka.php?wakka=VoipPhoneSystem
‣ Other Options
-Existing Asterisk Server with dedicated hardware
-GrandStream, Linksys
2
Intelligent
SIP Devices
SIP ‣ Digital Devices that speak SIP Protocol
SIP Router
Devices
-Aastra 35i
-Mitel 5302
‣ Other Examples
-Microsoft Communicator Client
DNS
‣ A local ENUM service may be used to control call flow in the local network
‣ Eg: Setting priority 90 for SIP Router and Priority 100 for SIP Accessory for voicemail on
no answer. Uses NAPTR - (Name Authority PoinTeR) and regular expression search and replace.
9-1-876-927-1660
3
Anatomy of a phone
number
9-1-876-927-1600
3
What Really
Happens....
AT&T
1-876-927-1660
(Feature Code consumed) 876-927-1660
(Access Code consumed)
927-1660
(Country Code consumed)
1660
(NDC consumed)
LIST SIP Router VoIP System
Subscriber 1660
phone rings
3
Number Plan -
Routing
9-1-876-927-1000
3
ITU-T E.164
CC NDC SN
(Country Code) (National Destination Code) (Subscriber Number)
3
Global VoIP Number
OC NDC SN
(Office Code) (Network Destination Code) (Subscriber Number)
3
Anatomy of a phone
number
3 Digit Branch Assigned by designer for
Office Code Number each office
Network (optional)
Routing Locator Code within
Destination Code an Office area
3
Network Destination
Codes
Routes calls to organizationally
independent entities within an
organization
Departments
Work at home groups
Mobile users group
Allows reuse of SNs, variable length
SNs 3
Network Destination
Codes
Not needed for:
inter-station calls within an office
inter-department calls within a
given office
Are needed for:
Office-to-Office
Office-to-remote office group
4
Draft Recommendation
4
Example:
Office-1
70 25000 702-5000
Lobby-1
Office-1
70 43000 704-3000
Lobby-2
Office-1
710 3001 710-3001
Remote Wkr
Office-1
7201 123 720-1123
Mobile
Office-2
72 25000 722-5000
Lobby-1
4
SIP Accessory
(FreeSwitch)
SIP
SIP
Router
FreeSwitch
‣ Application Server
Devices
‣Voicemail
‣Music On Hold (Moh)
‣Automated Attendant
‣Conferencing
4
SIP Accessory
(FreeSwitch)
SIP
SIP
Router
FreeSwitch
‣ Serves as RTP Proxy for
Devices
‣Nano /etc/freeswitch/freeswitch.xml
4
SIP Accessory
(FreeSwitch)
SIP ‣ Run from RAM
SIP Router
FreeSwitch
Devices
‣More reliable
‣- nano /etc/network/interfaces
4
Core Functions
‣ Route Communication Signaling
‣
SIP Router Media
Gateway Media Translation to Non-SIP Systems
SIP
DNS
Devices
‣ End-User Interface
Contact Information
[email protected]
http://www.list.ufl.edu
Thank you!