Haniph A. Latchman and Nathan Angelacos and Natanael Copa
Laboratory for Information Systems & Telecommunications
ECE Department University of Florida
Gainesville FL 32611
http://www.list.ufl.edu
./roots
(February 25, 2011)
Enterprise VoIP
Solutions
- with Alpine Linux
Laboratory for Information
Systems and
Telecommunicaitons
Haniph A. Latchman
Professor and DirectorSystems & Control and Communications
Electrical and Computer Engineering
LIST Research
ActivitiesMathematical 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
Rich Mathematical RigorStability, Performance, Robustness
Signals, Systemsinputs, processing, outputs
Computer Communications NetworksCongestion Control, Flow Control, Stability
Packet (VoIP) Channels and ProtocolsWireless and Powerline Communications
FDMA,TDMA, CDMA (OFDM and Wavelets)Wireless and Powerline Channels, Interference suppression
Haniph A. Latchman and Nathan Angelacos and Natanael Copa
Laboratory for Information Systems & Telecommunications
ECE Department University of Florida
Gainesville FL 32611
http://www.list.ufl.edu
./roots
(February 25, 2011)
Enterprise VoIP
Solutions
- with Alpine Linux
Haniph A. Latchman and Nathan Angelacos and Natanael Copa
Laboratory for Information Systems & Telecommunications
ECE Department University of Florida
Gainesville FL 32611
http://www.list.ufl.edu
./roots
(February 25, 2011)
Enterprise VoIP
Solutions
- with Alpine Linux
‣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
Open Source
Enterprise IT Solutions
8
‣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.
www.AlpineLinux.org
1
5
‣Alpine Linux goals: A Linux based
operating system that is
‣Secure
‣Small and efficient
‣Simple
‣Fast
‣http://www.alpinelinux.org/wiki/About
Alpine Linux
1
6
‣MS Office Commuicator (M$)
‣Cisco Call Concentrator (Not Open Source)
‣Asterisk or FreeSwtich? (Open Source!)
-On alpinelinux.org
-apk add asterisk
-apk add freeswitch
‣Choose Freeswitch if you are worried about scalability and code robustness for large number of users.
‣http://www.alpinelinux.org/wiki/FreePBX_V3
VoIP Solution No. 1
- Central PBX Replacement
1
7
‣Analog Telephone Adapters – FXS/FX0
‣Low intelligence devices that interface Asterisk/Freeswitch to analog devices
- FXS – subscriber devices - POTS phones, FAX machines, analog modems, etc.
-FXO – Telco analog trunks.
‣Asterisk: /etc/asterisk/extensions.conf ./sip.conf and ./users.conf
‣Freeswitch /etc/freeswitch/ freeswtich.xml
VoIP Solution I
- Central PBX Replacement
1
8
‣ Internet Standard Protocol (RFC 3261)
Not just Voice
-Video
-Text (Instant Messaging)
-Presence Indication
‣ Kamai‟lio (formerly OpenSer)
-Used in the Telco Industry
-High Performance, High Reliability
SIP Router
1
9
SIP Router
‣ Internet Standard Protocol (RFC 3261)
-http-like protocol and structures
‣ Use for call setup and management
-UDP port 5060 (default) for SIP Messages
-UDP/RTP (high order ports) for multimedia
transport (Voice, Video, SMS (IM TXT)
-Connection Tracking (for NAT/Firewall Traversal)
SIP(Session Initiation Protocol)
2
0
SIP Router
‣ Not a Full PBX
-A SIP Message Router
-Simplifies Router Confguration
-Reduces Router Maintenance
-Requires “smarter” phones or gateways
‣ Features Not provided by the Router
‣Voice Mail
‣Conferencing
SIP Router
SIP Router
Asterisk
2
1
FreeSwtich
‣ Core Implementation Includes
-Authenticated Phone Registration
-Time Conditions
-Call Detail Records
-PIN Checking / Recording for Billing
-Simplified Routing to PSTN (via gateway)
-“Zero Config” office-office „on-net‟ Calling
-Simple Setup for new installations
SIP Router
SIP Router
2
2
‣ Very Large Implementation
-Cluster of Dedicated Computers –SRV Records
-Segregated VLAN
‣ Typical Office Installation
-Installed on Alpine Linux as RAM-only from USB Boot
-http://5718wiki.gatorfone.com/wikka.php?wakka=VoipPhoneSystem
-Nano /etc/kamailio.conf ./kamctlrc
-Siremis – GUI Web Interface
SIP Router
SIP Router
2
3
Media
Gateway
Intelligent
Media Gateway‣ Media Translator between
Digital and Analog signaling
‣ Interface with Local Public
Phone System
-Keep the core router config
simple
Asterisk
2
4
Media
Gateway
Media Gateway
‣ Example Intelligent Media
Gateways
-Quintum Tenor AFT400 4 port FXO
-Dlink DVG-3104 4 port Media Gateway
‣ Other Options
-Existing Asterisk Server with dedicated hardware
-GrandStream, Linksys2
5
SIP
DevicesSIP Router
Intelligent
SIP DevicesSIP
Devices
‣ Digital Devices that speak SIP Protocol
‣ Traditional TDM Phone system
-PBX Brain of the network
-Phones Appendages of PBX
-New features required new PBX
‣ SIP Phone System
-Intelligence spread out over network
-SIP Router just routes messages2
6
SIP
DevicesSIP Router
SIP Devices
SIP
Devices
‣ Example SIP Telephones
-Polycom Soundpoint IP 330/550
-Snom 300 / 360 / 820
-Aastra 35i
-Mitel 5302
‣ Other Examples
-Microsoft Communicator Client
-X-Lite Soft Phone2
7
DNS
DNS‣ Internet Standard (eg RFCs 2915 3761 2168)
‣ Resolve SIP Routing Via DNS
• NAPTR and SRV records to
resolve router/gateway
location at the Domain level
• A and AAAA records to
resolve router/gateway at
host level
ENUM records resolve to the
2
8
ENUM
Database
ENUM Database‣ Internet Standard (eg RFCs 2915 3761 2168)
ENUM (E.164 Number to URI Mapping) is a DNS-based system that allows the
routing of telephone calls to the correct Uniform Resource Identifier (URI). In the
VoIP Phone System, a Global ENUM service is used to provide seamless inter-
office calling. (In alpine linux implementation we use tinydns – apk add tinydns)
‣ 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.
‣ Apk add bind-tools (sample queries and results below)
‣ host –t NAPTR 6.4.6.enum.qcslink.com
‣ 6.4.6.enum.qcslink.com has NAPTR record 10 100 "u" "E2U+sip" "!^\\+046(.*)$!sip:[email protected]!“
• host -t NAPTR *.6.4.6.enum.qcslink.com
• *.6.4.6.enum.qcslink.com has NAPTR record 10 100 "u" "E2U+sip" "!^\\+046(.*)$!sip:\\[email protected]!"
‣
2
9
E.164-based VoIP Numbering Plan
Allow point-to-point dialing from any
telephony device on any VoIP
enabled network.
Each station is uniquely defined
Any device can reach that number
No numbering conflicts, world-
wide
Based on International E.164
Standard 3
0
What it is not
Not a dial plan. It does not specify:
how each office issues numbers
how each office makes local or
long-distance calls
what features are implemented
Only specifies how to uniquely
identify a device in a global network.3
1
Anatomy of a PSTN
phone number
Let‟s call UWI‟s Main number:
9-1-876-927-1660
3
2
Anatomy of a phone
number
9-1-876-927-1600
9 Feature CodeTell local PBX you are calling
outside
1 Access CodeTell AT&T “This is a USA Region
call”
876 Country Code To Jamaica
927 NDC National Destination Code
1600 SN Subscriber Number
3
3
What Really
Happens....
LIST SIP Router VoIP System
AT&T
9-1-876-927-1660
1-876-927-1660(Feature Code consumed) 876-927-1660
(Access Code consumed)
UWI LIME Office
927-1660(Country Code consumed)
1660(NDC consumed)
Subscriber 1660
phone rings
3
4
Number Plan -
Routing
9-1-876-927-1000
9 Feature CodeTell local PBX you are calling
outside
1 Access CodeTell AT&T “This is a USA Region
call”
876 Country Code To Jamaica
927 NDC National Destination Code
1660 SN Subscriber Number
3
5
ITU-T E.164
CC(Country Code)
NDC(National Destination Code)
SN(Subscriber Number)
National (Significant) Number
International E.164 Number
1-3 Digits 0-15 digits 15-NDC digits
3
6
Global VoIP Number
OC(Office Code)
NDC(Network Destination Code)
SN(Subscriber Number)
VoIP Office (Significant) Number
Global Network Number
3 Digits 0-? digits ? digits
3
7
Anatomy of a phone
number
Office Code3 Digit Branch
Number
Assigned by designer for
each office
Network
Destination Code(optional)
Routing Locator Code within
an Office area
Subscriber
NumberPhone Extension As Before (e.g. 1660)
3
8
Network Destination
CodesRoutes calls to organizationally
independent entities within an
organization
Departments
Work at home groups
Mobile users group
Allows reuse of SNs, variable length
SNs3
9
Network Destination
CodesNot 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 group4
0
Draft Recommendation
Insert a 2+ digit NDC in all numbers
5 digit dialing (25601) becomes 7 digit (70-25601)
Familiar to North America (702-5601)
Allows “transparent” NDC within a given territory
7-digit dialing” inter-department calls
5-digit dialing” intra-department calls
4
1
Example:
Office-1
Lobby-170 25000 702-5000
Office-1
Lobby-270 43000 704-3000
Office-1Remote Wkr
710 3001 710-3001
Office-1
Mobile7201 123 720-1123
Office-2
Lobby-172 25000 722-5000
4
2
SIP
DevicesSIP Router
SIP Accessory
(FreeSwitch)FreeSwitch
‣ Application Server
‣Voicemail
‣Music On Hold (Moh)
‣Automated Attendant
‣Conferencing
4
3
SIP
DevicesSIP Router
SIP Accessory
(FreeSwitch)FreeSwitch
‣ Serves as RTP Proxy for
‣RTP NAT Traversal
‣ Acts as Session Border Controller
‣Provides SIP connection behind NAT to
Internet Telephony Service Providers (ITSP)
‣Nano /etc/freeswitch/freeswitch.xml
4
4
SIP
DevicesSIP Router
SIP Accessory
(FreeSwitch)FreeSwitch
‣ Run from RAM
‣More reliable
‣Optionally mounted HD to stored messages etc
‣ Can optionally (for small to medium size office) run
SIP Router and FreeSwitch on the same
alpinelinux box with boot from usb, RAM only
‣Need two IP addresses (Listen on each)
‣- nano /etc/network/interfaces
4
5
‣ Route Communication Signaling
‣ Media Translation to Non-SIP Systems
‣ End-User Interface
‣ Dynamically Extend / Change Network
DNS
SIP Router
SIP
Devices
Media
Gateway
Core Functions
4
6
Contact Information
http://www.list.ufl.edu
Thank you!
www.alpinelinux.org
Download and burn ISO and give it a spin
LIST student project pages
-http://5718wiki.gatorfone.com/wikka.php?wakka=VoipPhoneSystem