SlideShare a Scribd company logo
1 of 23
Introduction to Asterisk
Or: How to spend 2 months on the phone
kingasterisk (king@kingasterisk.com)
http://www.kingasterisk.com/
kingasterisk Technologies, India
Agenda
•

What is Asterisk?

•

What is Asterisk NOT?

•

What do you want to do? (goals, budget, user
requirements)

•

PBX Replacement

•

Super-Brief Examples
What is Asterisk?
•

a conversion gateway for...
–

physical media (C-T1, PRI, FXO, FSX, IP)

–

protocol (TDM,SIP,H.323,IAX,MGCP,SCCP)

–

codec (G.729,G.711,GSM,ILBC,G.726, etc.)

•

an IVR/user interface application server

•

a lot more (conferencing, recording, etc.)
What is Asterisk? (cont’d)
•

open-source (GPL + exceptions)

•

blessed (cursed?) with an extremely active
user community

•

easily extended with Perl/C/Python/etc. or
apps written (typically C)

•

flexible enough to do almost any
telecommunications task (blessing/curse
again)
What is Asterisk not?
•

not a SIP proxy (subtle, yet important)

•

not a billing system

•

not an OSS (Operational Support System)

•

not a natively database-driven system

•

not an email tool or USENET browser (yet)

•

not easily configured without command-line interaction
PBX Replacement!
•

Primary stated goal is to be a *NIX based
PBX replacement

•

Multiple desksets, multiple “inbound line”
support (hundreds or thousands)

•

Features are comparable to or better than
most PBX systems (even VoIP-enabled
ones); some assembly required
What do you need to run
Asterisk?
•

Ugly answer: “That depends.”

•

Easy answer: Dedicated P4 2.0ghz with good IRQ
support and 1 X100P card (from Digium at around
$110)

•

Linux (RH 9.0, Debian are good choices; *BSD
support is there, but shaky)

•

Low-jitter, low-loss bandwidth to SIP endpoints
(desktops and/or upstreams)
How big?
•

MORE ugly answers: “That depends.”

•

If the server is just a SIP redirector, then you
can scale quite large (tens of thousands?)

•

Figure 8:1 to 10:1 ratio for offhook users

•

Word of the day: Erlangs

•

Rule of thumb for g.729 transcoding:
2x Xeon 3ghz = 100 users
Typical VoIP Installation
Cost Points
•

Server for Asterisk (plus backup, if you’re sane) $???

•

T1 PRI card for Asterisk (~$500)

•

SIP devices for desktop users (ranges widely - figure
$120 per user to be safe, for analog lines)

•

Termination agreement with carrier(s) - ranges widely
- figure $.025 for US traffic, worst-case (prices drop
radically with volume)
CPE
•

Analog adapters (VOIP Inc., Sipura, Cisco,
Grandstream, etc.)
–

•

Typically between $80 and $120 (2 port)

Digital Handsets (Cisco, Polycom, Snom,
Pingtel, Grandstream)
–

Typically around $300 (YGWYPF)
Why are you changing,
anyway?
•

Implement based on price, expand based on
features.

•

Long Distance will soon become a commodity (i.e.:
invisible) but features of the system will always be
visible to users

•

Integration of telephony into other business systems
is gradual and subtle; start with something that is
open so you can expand as you need.
What new stuff are you
providing?
•

FEATURES! Don’t get hung up on building just a
“replacement” service. Implement phone++ services
which are “easily” implemented with Asterisk (given
time, patience, and Perl)

•

Sample of services: phone spam blocking, inbound
call redirection based on CLID, time-of-day routing,
IM integration of VM notices, VM-to-email, busy line
redirection, multi-number custom ringers
What do they see?
•

Remember: the visibility of the customer is
very limited. They see:
–

Deskset (equipment) and features

–

Call Quality/Call completion

–

Price (if they’re the CFO)
Non-PBX * Use
•

Extremely low bandwidth call relay (PRI-to-PRI via
VoIP) via 802.11b or long-haul WAN

•

Dating services/voicemail services

•

Text-to-speech service (Nagios, weather, etc.)

•

Call centers (inbound or outbound)

•

Calling cards
Startup Notes
or: how to really annoy your [spouse/co-workers]
•

Recommended setup for beginners:
–
–

X100P card (Digium ~$110)

–

•

PIII 700mhz or faster machine

2 SIP devices (Sipura, Cisco ATA-186, Cisco
79[60, 40, 05, 12]) - $100-$300

Test on your own line or home first, then expose to
the office
How it goes together:

Channels
SIP

(etc.)

Zap

Context: from-sip

Context: from-zap

Context: from-blah

Extension: 1234

Extension: (none)

Extension: 8989

Priority: 1

Priority: 1

Priority: 1

(to extensions.conf)
sip.conf
[2000]
type=friend
host=dynamic
context=from-sip
secret=mysecret
[2001]
type=friend
host=dynamic
context=from-sip
secret=moresecret
extensions.conf

(calls from SIP channel
configs end up here)

; This is where we handle our SIP calls
[from-sip]
exten => 1234,1,Answer
exten => 1234,2,Playback(tt-monkeys)
exten => 1234,3,Hangup
;
exten => _20XX,1,Dial(SIP/${EXTEN},30,r)
exten => _20XX,2,Goto(from-sip,${EXTEN},102)
exten => _20XX,102,Voicemail(b${EXTEN})
exten => _20XX,103,Hangup
;
exten => t,1,Hangup
exten => h,1,Hangup
Most-Used Applications
•

Dial - tries to make a new call, and then connects
current channel with new call if successful

•

Goto - allows arbitrary leaps between contexts and
priorities; allows modification of current extension

•

Background - plays a file to current channel;
interprets DTMF input
Magic with “Include”
•

Contexts are NOT parsed in the order they
appear

•

Break up large contexts into smaller contexts
and then use “include => <context>” in the
“main” context

•

This helps your sanity, as well.
Wrong
[main]
exten =>
exten =>
exten =>
exten =>

_X11,1,Dial(Zap/1/${EXTEN},500,r)
_9.,1,Dial(SIP/${EXTEN}@mysipprovider,60,r)
_011.,1,Dial(SIP/${EXTEN:3}@int-sip,60,r)
h,1,Hangup
Right
[main]
include => emergency
include => outside-line
include => international
exten => h,1,Hangup
[emergency]
exten => _X11,1,Dial(Zap/1/${EXTEN},500,r)
[outside-line]
exten => _9.,1,Dial(SIP/${EXTEN}@mysipprovider,60,r)
[international]
exten => _011.,1,Dial(SIP/${EXTEN:3}@int-sip,60,r)
Links
•

http://www.asterisk.org/

•

http://www.voip-info/wiki-Asterisk

•

http://www.loligo.com/asterisk/

•

http://www.onlamp.com/pub/a/onlamp/2003/0
7/03/asterisk.html

•

http://www.digium.com/

•

http://www.asteriskdocs.org/

•

http://www.kingasterisk.com

More Related Content

What's hot

Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Manassé Achim kpaya
 

What's hot (20)

FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 
VoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacksVoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacks
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
Aboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogsAboutsip - intro to transactions and dialogs
Aboutsip - intro to transactions and dialogs
 
Mise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec OpenfireMise en place vidéoconférence + chat avec Openfire
Mise en place vidéoconférence + chat avec Openfire
 
Sangoma SBC Training Presentation
Sangoma SBC Training PresentationSangoma SBC Training Presentation
Sangoma SBC Training Presentation
 
VoIP
VoIPVoIP
VoIP
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and Kubernetes
 
Présentation VOIP
Présentation  VOIPPrésentation  VOIP
Présentation VOIP
 
The 3CX VoIP PBX phone System
The 3CX VoIP PBX phone SystemThe 3CX VoIP PBX phone System
The 3CX VoIP PBX phone System
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scale
 
IP and VoIP Fundamentals
IP and VoIP FundamentalsIP and VoIP Fundamentals
IP and VoIP Fundamentals
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)SIP (Session Initiation Protocol)
SIP (Session Initiation Protocol)
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
 
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
 
Why Do I Need an SBC
Why Do I Need an SBCWhy Do I Need an SBC
Why Do I Need an SBC
 
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
 

Viewers also liked (13)

Vistos
VistosVistos
Vistos
 
Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01
 
入塾しおり
入塾しおり入塾しおり
入塾しおり
 
Best Motivational Quotes
Best Motivational QuotesBest Motivational Quotes
Best Motivational Quotes
 
Recurso
RecursoRecurso
Recurso
 
What Is IVR ?
What Is IVR ?What Is IVR ?
What Is IVR ?
 
Stuart Patterson Project Experience
Stuart Patterson Project ExperienceStuart Patterson Project Experience
Stuart Patterson Project Experience
 
Voiceblast manual
Voiceblast manualVoiceblast manual
Voiceblast manual
 
公立中高一貫受検ガイド
公立中高一貫受検ガイド公立中高一貫受検ガイド
公立中高一貫受検ガイド
 
Voip
VoipVoip
Voip
 
Tolimosios rytų šalys (kinija)
Tolimosios rytų šalys (kinija)Tolimosios rytų šalys (kinija)
Tolimosios rytų šalys (kinija)
 
Asterisk quick start Guide
Asterisk quick start Guide Asterisk quick start Guide
Asterisk quick start Guide
 
IVR presentation
IVR  presentationIVR  presentation
IVR presentation
 

Similar to Asterisk Introduction

Asterisk - Glen Bastes
Asterisk - Glen BastesAsterisk - Glen Bastes
Asterisk - Glen Bastes
soss
 
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by steve...
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by  steve...voip2day 2012 - Hardware digium y elastix, una combinación perfecta by  steve...
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by steve...
VOIP2DAY
 
3 fl00276 wb_ed01_p012_7302-isam
3 fl00276 wb_ed01_p012_7302-isam3 fl00276 wb_ed01_p012_7302-isam
3 fl00276 wb_ed01_p012_7302-isam
NguynTy5
 
3 fl00276 wb ed01 p07 7302 isam r2.x
3 fl00276 wb ed01 p07 7302 isam r2.x3 fl00276 wb ed01 p07 7302 isam r2.x
3 fl00276 wb ed01 p07 7302 isam r2.x
NguynTy5
 
Advanced radio over IP
Advanced radio over IPAdvanced radio over IP
Advanced radio over IP
Comms Connect
 

Similar to Asterisk Introduction (20)

PRI-Gateway (SI3D systems)
PRI-Gateway (SI3D systems)PRI-Gateway (SI3D systems)
PRI-Gateway (SI3D systems)
 
Asterisk - Glen Bastes
Asterisk - Glen BastesAsterisk - Glen Bastes
Asterisk - Glen Bastes
 
Hardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfectaHardware Digium y Elastix - una combinación perfecta
Hardware Digium y Elastix - una combinación perfecta
 
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by steve...
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by  steve...voip2day 2012 - Hardware digium y elastix, una combinación perfecta by  steve...
voip2day 2012 - Hardware digium y elastix, una combinación perfecta by steve...
 
Applied VoIP Security
Applied VoIP Security Applied VoIP Security
Applied VoIP Security
 
Shoot the Bird: Linear Broadcast Distribution on AWS by Usman Shakeel of Amaz...
Shoot the Bird: Linear Broadcast Distribution on AWS by Usman Shakeel of Amaz...Shoot the Bird: Linear Broadcast Distribution on AWS by Usman Shakeel of Amaz...
Shoot the Bird: Linear Broadcast Distribution on AWS by Usman Shakeel of Amaz...
 
3 fl00276 wb_ed01_p012_7302-isam
3 fl00276 wb_ed01_p012_7302-isam3 fl00276 wb_ed01_p012_7302-isam
3 fl00276 wb_ed01_p012_7302-isam
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using Asterisk
 
3 fl00276 wb ed01 p07 7302 isam r2.x
3 fl00276 wb ed01 p07 7302 isam r2.x3 fl00276 wb ed01 p07 7302 isam r2.x
3 fl00276 wb ed01 p07 7302 isam r2.x
 
SIP dilivery methods and ROI
SIP dilivery methods and ROISIP dilivery methods and ROI
SIP dilivery methods and ROI
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installations
 
Tt105 datasheet.
Tt105 datasheet.Tt105 datasheet.
Tt105 datasheet.
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
VOIP security
VOIP securityVOIP security
VOIP security
 
IP PHONES - *astTECS
IP PHONES - *astTECSIP PHONES - *astTECS
IP PHONES - *astTECS
 
Ruby voip
Ruby voipRuby voip
Ruby voip
 
Advanced radio over IP
Advanced radio over IPAdvanced radio over IP
Advanced radio over IP
 
Sangoma Vega Gateway Training Presentation
Sangoma Vega Gateway Training PresentationSangoma Vega Gateway Training Presentation
Sangoma Vega Gateway Training Presentation
 
Asterisk PBX Presentation, 2006
Asterisk PBX Presentation, 2006Asterisk PBX Presentation, 2006
Asterisk PBX Presentation, 2006
 
Albert Chen Work experience20150722
Albert Chen Work experience20150722Albert Chen Work experience20150722
Albert Chen Work experience20150722
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Recently uploaded (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 

Asterisk Introduction

  • 1. Introduction to Asterisk Or: How to spend 2 months on the phone kingasterisk (king@kingasterisk.com) http://www.kingasterisk.com/ kingasterisk Technologies, India
  • 2. Agenda • What is Asterisk? • What is Asterisk NOT? • What do you want to do? (goals, budget, user requirements) • PBX Replacement • Super-Brief Examples
  • 3. What is Asterisk? • a conversion gateway for... – physical media (C-T1, PRI, FXO, FSX, IP) – protocol (TDM,SIP,H.323,IAX,MGCP,SCCP) – codec (G.729,G.711,GSM,ILBC,G.726, etc.) • an IVR/user interface application server • a lot more (conferencing, recording, etc.)
  • 4. What is Asterisk? (cont’d) • open-source (GPL + exceptions) • blessed (cursed?) with an extremely active user community • easily extended with Perl/C/Python/etc. or apps written (typically C) • flexible enough to do almost any telecommunications task (blessing/curse again)
  • 5. What is Asterisk not? • not a SIP proxy (subtle, yet important) • not a billing system • not an OSS (Operational Support System) • not a natively database-driven system • not an email tool or USENET browser (yet) • not easily configured without command-line interaction
  • 6. PBX Replacement! • Primary stated goal is to be a *NIX based PBX replacement • Multiple desksets, multiple “inbound line” support (hundreds or thousands) • Features are comparable to or better than most PBX systems (even VoIP-enabled ones); some assembly required
  • 7. What do you need to run Asterisk? • Ugly answer: “That depends.” • Easy answer: Dedicated P4 2.0ghz with good IRQ support and 1 X100P card (from Digium at around $110) • Linux (RH 9.0, Debian are good choices; *BSD support is there, but shaky) • Low-jitter, low-loss bandwidth to SIP endpoints (desktops and/or upstreams)
  • 8. How big? • MORE ugly answers: “That depends.” • If the server is just a SIP redirector, then you can scale quite large (tens of thousands?) • Figure 8:1 to 10:1 ratio for offhook users • Word of the day: Erlangs • Rule of thumb for g.729 transcoding: 2x Xeon 3ghz = 100 users
  • 9. Typical VoIP Installation Cost Points • Server for Asterisk (plus backup, if you’re sane) $??? • T1 PRI card for Asterisk (~$500) • SIP devices for desktop users (ranges widely - figure $120 per user to be safe, for analog lines) • Termination agreement with carrier(s) - ranges widely - figure $.025 for US traffic, worst-case (prices drop radically with volume)
  • 10. CPE • Analog adapters (VOIP Inc., Sipura, Cisco, Grandstream, etc.) – • Typically between $80 and $120 (2 port) Digital Handsets (Cisco, Polycom, Snom, Pingtel, Grandstream) – Typically around $300 (YGWYPF)
  • 11. Why are you changing, anyway? • Implement based on price, expand based on features. • Long Distance will soon become a commodity (i.e.: invisible) but features of the system will always be visible to users • Integration of telephony into other business systems is gradual and subtle; start with something that is open so you can expand as you need.
  • 12. What new stuff are you providing? • FEATURES! Don’t get hung up on building just a “replacement” service. Implement phone++ services which are “easily” implemented with Asterisk (given time, patience, and Perl) • Sample of services: phone spam blocking, inbound call redirection based on CLID, time-of-day routing, IM integration of VM notices, VM-to-email, busy line redirection, multi-number custom ringers
  • 13. What do they see? • Remember: the visibility of the customer is very limited. They see: – Deskset (equipment) and features – Call Quality/Call completion – Price (if they’re the CFO)
  • 14. Non-PBX * Use • Extremely low bandwidth call relay (PRI-to-PRI via VoIP) via 802.11b or long-haul WAN • Dating services/voicemail services • Text-to-speech service (Nagios, weather, etc.) • Call centers (inbound or outbound) • Calling cards
  • 15. Startup Notes or: how to really annoy your [spouse/co-workers] • Recommended setup for beginners: – – X100P card (Digium ~$110) – • PIII 700mhz or faster machine 2 SIP devices (Sipura, Cisco ATA-186, Cisco 79[60, 40, 05, 12]) - $100-$300 Test on your own line or home first, then expose to the office
  • 16. How it goes together: Channels SIP (etc.) Zap Context: from-sip Context: from-zap Context: from-blah Extension: 1234 Extension: (none) Extension: 8989 Priority: 1 Priority: 1 Priority: 1 (to extensions.conf)
  • 18. extensions.conf (calls from SIP channel configs end up here) ; This is where we handle our SIP calls [from-sip] exten => 1234,1,Answer exten => 1234,2,Playback(tt-monkeys) exten => 1234,3,Hangup ; exten => _20XX,1,Dial(SIP/${EXTEN},30,r) exten => _20XX,2,Goto(from-sip,${EXTEN},102) exten => _20XX,102,Voicemail(b${EXTEN}) exten => _20XX,103,Hangup ; exten => t,1,Hangup exten => h,1,Hangup
  • 19. Most-Used Applications • Dial - tries to make a new call, and then connects current channel with new call if successful • Goto - allows arbitrary leaps between contexts and priorities; allows modification of current extension • Background - plays a file to current channel; interprets DTMF input
  • 20. Magic with “Include” • Contexts are NOT parsed in the order they appear • Break up large contexts into smaller contexts and then use “include => <context>” in the “main” context • This helps your sanity, as well.
  • 21. Wrong [main] exten => exten => exten => exten => _X11,1,Dial(Zap/1/${EXTEN},500,r) _9.,1,Dial(SIP/${EXTEN}@mysipprovider,60,r) _011.,1,Dial(SIP/${EXTEN:3}@int-sip,60,r) h,1,Hangup
  • 22. Right [main] include => emergency include => outside-line include => international exten => h,1,Hangup [emergency] exten => _X11,1,Dial(Zap/1/${EXTEN},500,r) [outside-line] exten => _9.,1,Dial(SIP/${EXTEN}@mysipprovider,60,r) [international] exten => _011.,1,Dial(SIP/${EXTEN:3}@int-sip,60,r)