SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Voip powerpoint
Voip powerpointVoip powerpoint
Voip powerpoint
GW1992
 

Tendances (20)

3CX Sales Presentation English
3CX Sales Presentation English3CX Sales Presentation English
3CX Sales Presentation English
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
Demystifying TrustSec, Identity, NAC and ISE
Demystifying TrustSec, Identity, NAC and ISEDemystifying TrustSec, Identity, NAC and ISE
Demystifying TrustSec, Identity, NAC and ISE
 
ACI DHCP Config Guide
ACI DHCP Config GuideACI DHCP Config Guide
ACI DHCP Config Guide
 
Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.
 
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
SS7: Locate. Track. Manipulate.
SS7: Locate. Track. Manipulate.SS7: Locate. Track. Manipulate.
SS7: Locate. Track. Manipulate.
 
SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?SDWAN vs MPLS: What Enterprises need?
SDWAN vs MPLS: What Enterprises need?
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
HPE HPE InfoSight for 3PAR quickstart v1.4
HPE HPE InfoSight for 3PAR quickstart v1.4HPE HPE InfoSight for 3PAR quickstart v1.4
HPE HPE InfoSight for 3PAR quickstart v1.4
 
Voip powerpoint
Voip powerpointVoip powerpoint
Voip powerpoint
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
Nikto
NiktoNikto
Nikto
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Dernier (20)

REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
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
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
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
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
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...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
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
 

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)