+ All Categories
Home > Documents > Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

Date post: 28-Mar-2015
Category:
Upload: slashroots
View: 221 times
Download: 3 times
Share this document with a friend
47
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
Transcript
Page 1: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 2: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

Laboratory for Information

Systems and

Telecommunicaitons

Haniph A. Latchman

Professor and DirectorSystems & Control and Communications

Electrical and Computer Engineering

Page 3: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

LIST Research

ActivitiesMathematical Systems Theory

Integration of Systems Theory and

Communications Research

Robust Control

Communications Networks

Interactive Online Teaching and

Learning

Page 4: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 5: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

...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

Page 6: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 7: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 8: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 9: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 10: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣Alpine Linux goals: A Linux based

operating system that is

‣Secure

‣Small and efficient

‣Simple

‣Fast

Alpine Linux

1

0

Page 11: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 12: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 13: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 14: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 15: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 16: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 17: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 18: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣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

Page 19: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 20: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 21: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 22: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 23: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 24: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 25: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 26: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 27: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 28: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 29: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 30: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 31: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 32: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

Anatomy of a PSTN

phone number

Let‟s call UWI‟s Main number:

9-1-876-927-1660

3

2

Page 33: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 34: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 35: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 36: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 37: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 38: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 39: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 40: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 41: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 42: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 43: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

SIP

DevicesSIP Router

SIP Accessory

(FreeSwitch)FreeSwitch

‣ Application Server

‣Voicemail

‣Music On Hold (Moh)

‣Automated Attendant

‣Conferencing

4

3

Page 44: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 45: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

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

Page 46: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

‣ 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

Page 47: Enterprise VoIP Solutions with Alpine Linux - slashroots 2011

Contact Information

[email protected]

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


Recommended