Asterisk Jargon - PowerPoint PPT Presentation

About This Presentation
Title:

Asterisk Jargon

Description:

SCCP/Skinny. www.itexpo.com ... Skinny and SCCP: Drivers for Cisco Skinny Client Control Protocol (a VOIP protocol) ... SCCP: An alternate Skinny/SCCP channel ... – PowerPoint PPT presentation

Number of Views:181
Avg rating:3.0/5.0
Slides: 27
Provided by: simoncrisp7
Category:

less

Transcript and Presenter's Notes

Title: Asterisk Jargon


1
Asterisk Jargon
  • Carl Davis

2
Agenda
  • What is Asterisk?
  • PBX Definition and Functionality
  • Architecture Overview
  • Jargon
  • Network Interfaces
  • VoIP Connections
  • Dial Plan
  • Codec
  • Channel
  • Context
  • Extension
  • Application
  • Variable
  • Macro

3
What is Asterisk?
  • Popular Open Source, multi-protocol PBX (Private
    Branch Exchange)
  • Provides a library of basic telephony
    applications for use as building blocks for
    advanced functionality
  • Includes Common PBX functionality such as
    voicemail, call queuing, conferencing, music on
    hold and more
  • Asterisk is one of the few PBXs in existence that
    connects legacy telephony technologies (Analog,
    PRI) to VoIP interfaces (SIP,H.323)

4
Asterisk Architecture
5
Network Interfaces
  • PSTN
  • Analog (FXS/FXO)
  • Digital (E1/T1,BRI)
  • IP
  • SIP
  • H.323
  • IAX
  • SCCP/Skinny

6
FXS/FXO
  • Analog Line Interface
  • FXS Foreign Exchange Station
  • Generates Dialtone
  • Generates Ring
  • Connects to Analog Phones (aka Stations)
  • FXO Foreign Exchange Office
  • Accepts Dialtone from Central Office (CO)
  • Provides Connection to the CO

7
T1
  • Primarily Used In US
  • T1 PSTN Digital Interface
  • CAS Channel Associated Signaling (Wink,
    Immediate, etc)
  • 24 Voice Channels
  • MF/DTMF In-band Signaling
  • PRI Primary Rate Interface (D Channel)
  • 23 Voice Channels
  • 1 Data Channel
  • Q.931 Messages

8
E1
  • ITU-T Specification
  • Digital Interface
  • CAS Channel Associated Signaling
  • 30 Voice Channels
  • R2MF
  • PRI Primary Rate Interface (D Channel)
  • 28 Voice Channels
  • 2 Data Channel
  • Q.931 Messages

9
Telephony Channels
  • Telephony Connections
  • Channels map physical FXO and FXS connections to
    logical Asterisk channels
  • Trunkgroups an advanced topic
  • Non-Facility Associated Signaling (NFAS)
  • Generic Requirement-303 (GR-303)
  • These relationships are defined in the
    zapata.conf channel configuration

10
Connections (Users/Peers/Friends)
  • VoIP Connections
  • Users -gt connections that authenticate to us
    (phones, etc)
  • Peers gt authenticate us (to a service provider)
  • Friends -gtConnections that may do both
  • These relationships are defined in the channel
    configuration (sip.conf, iax.conf)

11
Channels
  • Telephony connections to the PBX
  • Call Processing in Asterisk Is Centered Around
    Channels
  • Drivers for various kinds of connections
  • IP (SIP,H.323,IAX,SCCP,MGCP)
  • PSTN (Analog, PRI, BRI)

12
Channel Types
  • Channel Types can be Physical or Logical
  • Agent ACD Agent channel
  • Console Linux console client driver for sound
    cards (using OSS or ALSA)
  • H.323 An older VOIP protocol
  • IAX and IAX2 Inter-Asterisk Exchange protocol,
    Asterisk's own VOIP protocol
  • MGCP Media Gateway Control Protocol, another
    VOIP protocol
  • SIP Session Initiation Protocol, the most common
    VOIP protocol
  • Skinny and SCCP Drivers for Cisco Skinny Client
    Control Protocol (a VOIP protocol)
  • VOFR voice over frame relay Adtran style
  • VPB For connecting ordinary telephone and
    telephone lines using Voicetronix cards
  • Zap For connecting ordinary telephones and
    telephone lines using Digium cards. Also for
    TDMoE and for zaphfc

13
Channel Drivers
  • Channel drivers offering other technologies can
    be optionally installed
  • Bluetooth Allows the use of bluetooth devices to
    change routing - see CVS "chan_btp"
  • CAPI ISDN CAPI channel
  • mISDN mISDN channel
  • vISDN vISDN channel (native BRI channel for HFC
    chipsets)
  • SCCP An alternate Skinny/SCCP channel
  • Sirrix ISDN BRI for Sirrix cards (with optional
    ISDN encryption)
  • UNISTIM Nortel Unistim channel
  • Unicall Replacement for zaptel, with R2 support
  • SS7 SS7 (ISUP on MTP2/3) channel

14
Codec
  • Codec Short for Coder/Decoder
  • Codecs determine the sustained data bit rate
    which is required for each channel.
  • The codec converts the analog voice signal to a
    digitally encoded one that should take less
    space.
  • The quality and data bit-rate vary from one codec
    to the next.
  • Examples
  • ulaw, alaw, gsm, g.723, g.726, g.729

15
Dialplan
  • The "road map" for your Asterisk PBX.
  • specifies how Asterisk handles calls.
  • consists of a list of instructions or steps that
    Asterisk should follow.
  • To successfully set up your Asterisk system, it
    is absolutely vital that you understand dialplans.

16
Contexts
  • Named group of Extensions
  • Extensions are unique only inside a context
  • Example of a context label incoming
  • Special Contexts
  • globals
  • general
  • Contexts are used for security and to
    differentiate services

17
Extensions
  • An extension is an instruction triggered by an
    incoming call or by digits being dialed on a
    Channel.
  • Defined Within Context
  • Specify what happens to calls as they make their
    way through the dialplan.
  • Can be numeric or alphanumeric
  • Can be defined using wildcard syntax to provide
    handling for predefined extension groups

18
More Extensions
  • An extension is composed of three components
  • descriptor
  • priority (each extension can include multiple
    steps the step number is called the priority)
  • application that performs action for the call
  • Example
  • exten gt 123,1,Answer( )
  • extengt _NXX976XXXX,1,Congestion()

19
Special Extension
  • s - extension
  • Calls entering a context without a specific
    destination (i.e. ring on FXO line), they are
    handled automatically by the s extension.
  • Example
  • incoming
  • exten gt s,1,Answer( )
  • exten gt s,n,Playback(hello-world)
  • exten gt s,n,Hangup( )

20
Priority
  • Defines step number in an Extension script
  • Numbered sequentially, starting with 1
  • Unnumbered Priority
  • n priority, - next
  • Takes the number of the previous priority and
    adds 1
  • No need to re-number dial plan when changes are
    made.
  • Example
  • exten gt 123,1,Answer( )
  • exten gt 123,n,do something
  • exten gt 123,n,do something else
  • exten gt 123,n,Hangup( )
  • Label Priority
  • exten gt 123,n(label),do something
  • Executes one Specific Application

21
Variables
  • A channel variable (such as the CallerID number)
    is associated only with a particular call.
  • Predefined channel variables are available for
    use within the dialplan and are explained in the
    README.variables file
  • Channel variables are set via the Set( )
    application
  • exten gt 123,1,Set(MAGICNUMBER42)
  • Environment variables are a way of accessing Unix
    environment variables from within Asterisk.
  • Example ENV(var)
  • Global Variables
  • globals Special Context in extensions.conf
  • JOHNZIP/1
  • JANESIP/JANE
  • exten gt 123,1,SetGlobalVar(JOHNZap/1)

22
Applications
  • Applications are the workhorses of the dialplan.
  • performs a specific action on the current channel
  • Types
  • Generic (Authenticate, VMAuthenticate, etc)
  • Billing (SetAccount, SetAMAFlags)
  • Call Processing (Answer, Busy, Dial, Hangup)
  • Caller Presentation (SetCallerID,
    SetCallerCIDName)
  • Database (DBdel, DBget, DBput)
  • Application Interface (AGI, EAGI, PERL, PHP)
  • Audio (Playback, Playtones, MusicOnHold)
  • Voicemail Conferencing (MeetMe, VoiceMailMain)
  • Queue/ACD (AddQueueMember, AgentLogin)

23
Macros
  • Macros are used to reduce the amount of redundant
    code in the dialplan.
  • Passing arguments to a macro allows
    generalization
  • Single line invocation from dialplan
  • Macros are identified in the dialplan by starting
    a context name with "macro-".
  • s extension is used within macros since we want
    the actions to be performed automatically
  • Arguments in macros are accessed as ARGn

24
Example Macro
  • macro-dialuser
  • exten gt s,1,GotoIf(DB_EXISTS(CFD/MACRO_EXTE
    N) 0?checkdnd)
  • exten gt s,n,set(CFDDB_RESULT)
  • exten gt s,n,set(MYEXTENMACRO_EXTEN)
  • exten gt s,n,goto(staff_incoming,CFD,1)
  • exten gt s,n(checkdnd),GotoIf(DB_EXISTS(DND/
    MACRO_EXTEN) 0?dialuser,1)
  • Tell them we are not all there
  • exten gt s,n,Playback(tt-monkeysintro)
  • exten gt s,n,Hangup
  • exten gt dialuser,1,dial(ARG1,15)
  • exten gt dialuser,n,goto(d-DIALSTATUS,1)

25
Example Macro (cont)
  • exten gt d-NOANSWER,1,Answer
  • exten gt d-NOANSWER,n,wait(2)
  • exten gt d-NOANSWER,n,Playback(vm-nobodyavail)
  • exten gt d-NOANSWER,n,Hangup
  • exten gt d-BUSY,1,Answer
  • exten gt d-BUSY,n,wait(2)
  • exten gt d-BUSY,n,Playback(tt-allbusy)
  • exten gt d-BUSY,n,Hangup
  • exten gt _d-.,1,Answer
  • exten gt _d-.,n,wait(2)
  • exten gt _d-.,n,Playback(pbx-invalid)
  • exten gt _d-.,n,Hangup

26
QA
  • Carl Davis
  • President Chief Architect
  • Stellar System Technologies, Inc
  • carl_davis_at_stellarsystech.com
  • www.stellarsystech.com
  • Executive Director
  • High Tech Business Council of Rochester
  • www.htbc.org
Write a Comment
User Comments (0)
About PowerShow.com