SlideShare a Scribd company logo
Asterisk Quick Start Guide

What is Asterisk?

Asterisk is an open source framework for building communications applications. Asterisk turns
an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP
gateways, conference servers and more. It is used by small businesses, large businesses, call
centers, carriers and governments worldwide. Asterisk is free and open source. Asterisk is
sponsored by Digium, the Asterisk Company. Asterisk is “under the hood” in countless voice
communications applications and is capable of interfacing with many traditional Telcom
protocols, VoIP protocols, and codecs. Asterisk provides a staggering list of capabilities and
features including:
IVR
ACD
Audio and Video Conferencing
Voicemail
Call Recording
Fax termination
CDR

About this Quick Start Guide
This guide provides step-by-step instructions for compiling and installing Asterisk. Also included
are basic instructions on controlling Asterisk via its Command Line Interface, or CLI. Sample
Asterisk configuration and SIP soft-phone configuration will also be presented. This will
culminate in your ability to dial over the internet using the IAX2 protocol to Digium.
For further reading, a wealth of resources including information on Commercial Support
provided by Digium, The Asterisk Company can be found at:

http://www.asterisk.org/support
NOTE: Any server accessible from the public Internet should be security hardened, and an

Asterisk is no exception. General security best practices are not within the scope of this Quick
Start Guide; however you may see Table 2 for default IP ports utilized by Asterisk.
Instructions are provided for the Long Term Support (LTS) version of Asterisk, which is currently
1.8.

Copyright ©2012 Digium, The Asterisk Company

1
Asterisk Quick Start Guide

File Structure
The table below contains the default installation paths for Asterisk component files and libraries.
This is not an exhaustive list, only the core components relative to this Quick Start Guide are
listed:
Table 1

Default Installation Paths

Path
/etc/asterisk
/usr/sbin
/var/log/asterisk
/usr/lib/asterisk/modules

Description
Configuration files
Location of binary executable
message(error) logs and CDR
Component module libraries

Default Ports
Protocol
SIP
IAX2
MGCP
SCCP
RTP
Manager
H323
Dundi
Unistim

Port number
5060/5061
4569
2727
2000
10,00 – 20,000
5038
1720
4520
5000

Transport
TCP/UDP
UDP
UDP
TCP
UDP
TCP
TCP
UDP
UDP

Requirements
Asterisk can run on multiple base architectures including embedded systems and there are no
strict requirements on CPU speed or memory size. This document assumes the use of a
standard x86 based processor.
Asterisk can run on a number of Operating Systems. Linux is the only officially supported OS,
and it is recommended to use a 2.6.25 or higher kernel (although Asterisk will run on 2.4
kernels). A current and supported release of distributions such as CentOS or Debian is
recommended.
An Internet connection is also required.

Copyright ©2012 Digium, The Asterisk Company

2
Asterisk Quick Start Guide

Dependencies
There are a number of packages that are required to be pre installed on the host server to
ensure that Asterisk will compile successfully. This Guide provides instructions for obtaining
these packages for RedHat and Debian Distributions.

Downloading
The Asterisk source packages are available at: http://www.asterisk.org/downloads
1. Log in to your Linux machine as the ‘root’ user (superuser). If you are using Ubuntu
Linux log in as normal and prefix each command with ‘sudo.

2. If you are using an X window system, open a terminal window.

3. Download the ‘current’ Asterisk source tarball to the host machine. This will download
the latest (minor) version:

root@localhost:~# cd /usr/src
root@localhost:/usr/src# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz

4. Unzip and extract all of the contained source files:

root@localhost:/usr/src# tar –zxvf asterisk-1.8-current.tar.gz

5. Enter the newly created source directory and execute the ‘install_prereq’ in the
contrib/scripts subdirectory. This will not only install the required dependencies but also
install all packages necessary to build all option Asterisk components.

Copyright ©2012 Digium, The Asterisk Company

3
Asterisk Quick Start Guide

root@localhost:/usr/src# cd /asterisk-1.8.16.0
root@localhost:/usr/src/asterisk-1.8.16.0# ./contrib/scripts/install_prereq

Compiling and Installing
6. Issue each of these commands in sequence:

root@localhost:/usr/src/asterisk-1.8.16.0# ./configure
root@localhost:/usr/src/asterisk-1.8.16.0# make
root@localhost:/usr/src/asterisk-1.8.16.0# make install
root@localhost:/usr/src/asterisk-1.8.16.0# make samples

Configuring Asterisk (demo config)
The previous command ‘make samples’ created sample configuration files in the default
directory ‘/etc/asterisk/’. The commands below show how to create backups of some of these
files and how to create new simplified configuration for demo or testing purposes.

7. Issue each command as shown. The ‘mv’ (move) command is used here to rename
(backup) the provided sample configuration files:

root@localhost:/user/src/asterisk-1.8.16.0#
root@localhost:/etc/asterisk# mv modules.conf modules.conf.sample
root@localhost:/etc/asterisk# mv extensions.conf extensions.conf.sample
root@localhost:/etc/asterisk# mv sip.conf sip.conf.sample
root@localhost:/etc/asterisk# mv iax.conf iax.conf.sample

Copyright ©2012 Digium, The Asterisk Company

4
Asterisk Quick Start Guide

8. Edit ‘modules.conf’ and paste in the configuration provided. The ubiquitous WYSYWG
editor ‘gedit’ is used for example, although any editor will do. Save the file when done
editing:

root@localhost:/etc/asterisk# gedit modules.conf

[modules]
autoload=no
load=pbx_config.so
load=chan_sip.so
Getting Help
load=chan_iax2.so
load=res_rtp_asterisk.so
load=app_hangup.so
load=app_dial.so
load=codec_ulaw.so
load=codec_gsm.so

9. Repeat for ‘extensions.conf:’

root@localhost:/etc/asterisk# gedit extensions.conf

[default]
exten => _.,1,Hangup()
[demo]
exten => 2600,1,Dial(IAX2/guest@pbx.digium.com/s@default)
same => n,Hangup()

Copyright ©2012 Digium, The Asterisk Company

5
Asterisk Quick Start Guide

10. Repeat for ‘sip.conf:

root@localhost:/etc/asterisk# gedit sip.conf

[general]
context=default
allowguest=no
[test_phone_<RANDOM_STRING_1>]
type=friend
host=dynamic
secret= <RANDOM_STRING_2>
context=demo

11. Replace ‘<RANDOM_STRING_X>’ with an actual randomly generated string. You can
create these random strings of letters and numbers at http://www.random.org/strings/

NOTE: IF YOU DO NOT REPLACE THE <RANDOM_STRING> YOUR MACHINE IS
VERY LIKELY TO BE COMPROMISED!!

12. Finally, Configure ‘iax.conf’:

root@localhost:/etc/asterisk# gedit iax.conf

[demo]
type=peer
username=asterisk
secret=supersecret
host=216.207.245.47

Copyright ©2012 Digium, The Asterisk Company

6
Asterisk Quick Start Guide

Configuring a SIP client
There are myriad freely available VoIP clients. The soft-phone used in this example, Zoiper, is
available for Linux, Windows, and Mac OS. No preference or endorsement is implied. The
instructions provided are for Linux only.

13. Download, unzip, and extract the zoiper executable as described. Execute each
command in order:

root@localhost:/etc/asterisk# cd /usr/src
root@localhost:/usr/src# wget http://www.zoiper.com/downloads/free/linux/zoiper219-linux.tar.gz
root@localhost:/usr/src# tar –zxvf zoiper219-linux.tar.gz

14. Execute the binary ‘zoiper. That is extracted into the ‘/usr/src’ directory:

root@localhost:/usr/src# ./zoiper

15. Click the highlighted ‘options’ button:

Copyright ©2012 Digium, The Asterisk Company

7
Asterisk Quick Start Guide

16. Click ‘Add new SIP account’

Copyright ©2012 Digium, The Asterisk Company

8
Asterisk Quick Start Guide

17. Enter the SIP account name that matches ‘test_phone_<RANDOM_STRING_1>’ in
‘/etc/asterisk/sip.conf’.
NOTE: Do NOT use the account name exactly as seen below. Create your OWN
random string. If you copy the account name below your machine will VERY LIKELY
be compromised!

Copyright ©2012 Digium, The Asterisk Company

9
Asterisk Quick Start Guide

18. Enter the account information.
a. ‘Domain’ must match the IP Address of the Asterisk server
b. ‘Username’ must match the account name (including random string) that you
created.
c. ‘Password’ must match the ‘secret’ you created in ‘/etc/asterisk/sip.conf’. This
should be a random string!
d. ‘Caller ID Name’ can be whatever you like

Copyright ©2012 Digium, The Asterisk Company

10
Asterisk Quick Start Guide

19. Check the highlighted ‘Show advanced options’ checkbox:

Copyright ©2012 Digium, The Asterisk Company

11
Asterisk Quick Start Guide

20. Click ‘SIP options’:

Copyright ©2012 Digium, The Asterisk Company

12
Asterisk Quick Start Guide

21. Change ‘Port’ to ‘5070’. Click ‘Save’. This is only necessary if the Zoiper client is running
on the host machine running Asterisk.

Copyright ©2012 Digium, The Asterisk Company

13
Asterisk Quick Start Guide

Making a Test Call
22. Start the Asterisk daemon by simply issuing the ‘asterisk’ command at the terminal. You
should see no message output, and are returned to a Linux prompt:

root@localhost:/usr/src# asterisk
root@localhost:/usr/src#

You are now be able to place a test call. Dial the configured extension ‘2600’ from the softphone. This will dial to a Digium server using the IAX2 protocol and you will hear Digium’s main
IVR menu.
You now have a running Asterisk server and a configured phone, as well as sample
configuration. The extent of what you can do with Asterisk is only limited by your imagination!

Copyright ©2012 Digium, The Asterisk Company

14
Asterisk Quick Start Guide

Appendix A – The Asterisk CLI

1. Connecting to the Asterisk CLI
There are many options that you can apply following the ‘asterisk’ command at the Linux
terminal. A few of the most common and useful are listed and described below. You can see a
detailed list of all the valid options by running ‘asterisk –h’.
asterisk –r
If you’ve started Asterisk using a script or by running ‘asterisk’ at the Linux terminal, you
can then connect to that running instance of asterisk with the ‘-r’ option. You will be
presented license and warranty information, followed by the CLI prompt:

root@localhost:/usr/src# asterisk -r
Asterisk 1.8.16.0, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.8.16.0 currently running on localhost(pid = 80085)
localhost*CLI>

asterisk –c

Starts Asterisk in console mode. This assumes you have not already started asterisk as
a background daemon process by running ‘asterisk’ (or a script). You will immediately
be connected to the Asterisk CLI. Run ‘core stop now’ at the CLI to be end the process
and return to the Linux prompt.

Copyright ©2012 Digium, The Asterisk Company

15
Asterisk Quick Start Guide

asterisk –x
This will issue a valid CLI command to Asterisk and provide the standard output to the
Terminal. This should be immediately followed by the CLI command in quotes e.g.
‘asterisk –x “sip show peers”’

2. Helpful CLI Commands

core show help
lists valid CLI commands.

core restart now
Immediately restarts Asterisk. You will exit the CLI and be returned to the Linux prompt.

core stop now
Immediately stops Asterisk. You will exit the CLI and be returned to the Linux prompt.

sip show peers
Lists all configured SIP devices. The output includes the account name used for a given
device and its IP address.
dialplan show
Displays all of the active (in memory) dialplan. This includes, but is not limited to, the
configuration contained in ‘/etc/asterisk/extensions.conf’.

Copyright ©2012 Digium, The Asterisk Company

16

More Related Content

PPT
Asterisk security with kingasterisk
PDF
Richard wartell malware is hard. let's go shopping!!
PPTX
TR-069 클라이언트 검토자료8편
PDF
Tecnicas monitoreo reportes con Asterisk
PDF
How to Make Android's Bootable Recovery Work For You by Drew Suarez
PDF
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
PDF
Freeradius edir
PPTX
Introducing JPCERT/CC's activity for securing IPv6 gears [APRICOT 2015]
Asterisk security with kingasterisk
Richard wartell malware is hard. let's go shopping!!
TR-069 클라이언트 검토자료8편
Tecnicas monitoreo reportes con Asterisk
How to Make Android's Bootable Recovery Work For You by Drew Suarez
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
Freeradius edir
Introducing JPCERT/CC's activity for securing IPv6 gears [APRICOT 2015]

What's hot (19)

DOC
Configuring Secure Shell on Routers and Switches Running Cisco IO
PDF
44CON London - Attacking VxWorks: from Stone Age to Interstellar
DOCX
8 steps to protect your cisco router
PDF
FreeBSD on Cavium ThunderX System on a Chip
PPTX
Securing Hadoop with OSSEC
PDF
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
PDF
10 techniques from hacking labs1.3 miss confsp4
PPTX
Incident Response: Tunnelling
PPTX
Incident response: Advanced Network Forensics
DOCX
Ccie notes configuring cisco ios ca server and enrolling cisco asa to a ca se...
PDF
Network Device Development - Part 5: Firewall 104 ~ Packet Splitter
PDF
Network Device Development - Part 4: Firewall 103 ~ Protocol Filter & Payload...
PDF
Karl Grzeszczak: September Docker Presentation at Mediafly
PDF
Hacking the swisscom modem
PDF
Chicago Docker Meetup Presentation - Mediafly
PPTX
Distributed Compiler Icecc
PDF
Hardening Linux and introducing Securix Linux
PPT
presentation
Configuring Secure Shell on Routers and Switches Running Cisco IO
44CON London - Attacking VxWorks: from Stone Age to Interstellar
8 steps to protect your cisco router
FreeBSD on Cavium ThunderX System on a Chip
Securing Hadoop with OSSEC
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
10 techniques from hacking labs1.3 miss confsp4
Incident Response: Tunnelling
Incident response: Advanced Network Forensics
Ccie notes configuring cisco ios ca server and enrolling cisco asa to a ca se...
Network Device Development - Part 5: Firewall 104 ~ Packet Splitter
Network Device Development - Part 4: Firewall 103 ~ Protocol Filter & Payload...
Karl Grzeszczak: September Docker Presentation at Mediafly
Hacking the swisscom modem
Chicago Docker Meetup Presentation - Mediafly
Distributed Compiler Icecc
Hardening Linux and introducing Securix Linux
presentation
Ad

Similar to Asterisk quick start Guide (20)

PDF
Asterisk handbk w_bkmarks
PDF
Jonny_Martin-Asterisk
PDF
Jonny_Martin-Asterisk
PDF
Jonny_Martin-Asterisk
PDF
Jonny_Martin-Asterisk
PDF
Fatah Uddin (072831056)
PPT
Ast installation (edited version) shared by voip.com.vn
PPTX
Wireshark and asterisk
PDF
jonny-martin-asterisk.pdf
PDF
Telephony Service Development on Asterisk Platform
ODP
Asterisk ( The open source telephony )
PPTX
What is Asterisk? for TADSummit Asia 2020
DOCX
Linux Telephony
PDF
Asterisk presentation v1.1
PPT
Asterisk Introduction
PDF
David Duffett
PDF
LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...
PPTX
High Availability Asterisk and FreePBX on Microsoft Azure
PPT
deploymentofvoipserviceswithasteriskandfreepbx-150730234131-lva1-app6892
PPT
Download It
Asterisk handbk w_bkmarks
Jonny_Martin-Asterisk
Jonny_Martin-Asterisk
Jonny_Martin-Asterisk
Jonny_Martin-Asterisk
Fatah Uddin (072831056)
Ast installation (edited version) shared by voip.com.vn
Wireshark and asterisk
jonny-martin-asterisk.pdf
Telephony Service Development on Asterisk Platform
Asterisk ( The open source telephony )
What is Asterisk? for TADSummit Asia 2020
Linux Telephony
Asterisk presentation v1.1
Asterisk Introduction
David Duffett
LF_APIStrat17_Creating Communication Applications using the Asterisk RESTFul ...
High Availability Asterisk and FreePBX on Microsoft Azure
deploymentofvoipserviceswithasteriskandfreepbx-150730234131-lva1-app6892
Download It
Ad

More from King Astreisk Technologies (6)

PPT
Best Motivational Quotes
PPT
IVR presentation
PPT
PDF
Voiceblast manual
PPT
Asterisksecuritykingasterisk 130723131448-phpapp01
Best Motivational Quotes
IVR presentation
Voiceblast manual
Asterisksecuritykingasterisk 130723131448-phpapp01

Recently uploaded (20)

PDF
Trump Administration's workforce development strategy
PPTX
Cell Structure & Organelles in detailed.
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
RMMM.pdf make it easy to upload and study
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
master seminar digital applications in india
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Computing-Curriculum for Schools in Ghana
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Lesson notes of climatology university.
Trump Administration's workforce development strategy
Cell Structure & Organelles in detailed.
GDM (1) (1).pptx small presentation for students
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Final Presentation General Medicine 03-08-2024.pptx
RMMM.pdf make it easy to upload and study
VCE English Exam - Section C Student Revision Booklet
Abdominal Access Techniques with Prof. Dr. R K Mishra
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
master seminar digital applications in india
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Supply Chain Operations Speaking Notes -ICLT Program
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Computing-Curriculum for Schools in Ghana
human mycosis Human fungal infections are called human mycosis..pptx
Chinmaya Tiranga quiz Grand Finale.pdf
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
A systematic review of self-coping strategies used by university students to ...
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Lesson notes of climatology university.

Asterisk quick start Guide

  • 1. Asterisk Quick Start Guide What is Asterisk? Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and more. It is used by small businesses, large businesses, call centers, carriers and governments worldwide. Asterisk is free and open source. Asterisk is sponsored by Digium, the Asterisk Company. Asterisk is “under the hood” in countless voice communications applications and is capable of interfacing with many traditional Telcom protocols, VoIP protocols, and codecs. Asterisk provides a staggering list of capabilities and features including: IVR ACD Audio and Video Conferencing Voicemail Call Recording Fax termination CDR About this Quick Start Guide This guide provides step-by-step instructions for compiling and installing Asterisk. Also included are basic instructions on controlling Asterisk via its Command Line Interface, or CLI. Sample Asterisk configuration and SIP soft-phone configuration will also be presented. This will culminate in your ability to dial over the internet using the IAX2 protocol to Digium. For further reading, a wealth of resources including information on Commercial Support provided by Digium, The Asterisk Company can be found at: http://www.asterisk.org/support NOTE: Any server accessible from the public Internet should be security hardened, and an Asterisk is no exception. General security best practices are not within the scope of this Quick Start Guide; however you may see Table 2 for default IP ports utilized by Asterisk. Instructions are provided for the Long Term Support (LTS) version of Asterisk, which is currently 1.8. Copyright ©2012 Digium, The Asterisk Company 1
  • 2. Asterisk Quick Start Guide File Structure The table below contains the default installation paths for Asterisk component files and libraries. This is not an exhaustive list, only the core components relative to this Quick Start Guide are listed: Table 1 Default Installation Paths Path /etc/asterisk /usr/sbin /var/log/asterisk /usr/lib/asterisk/modules Description Configuration files Location of binary executable message(error) logs and CDR Component module libraries Default Ports Protocol SIP IAX2 MGCP SCCP RTP Manager H323 Dundi Unistim Port number 5060/5061 4569 2727 2000 10,00 – 20,000 5038 1720 4520 5000 Transport TCP/UDP UDP UDP TCP UDP TCP TCP UDP UDP Requirements Asterisk can run on multiple base architectures including embedded systems and there are no strict requirements on CPU speed or memory size. This document assumes the use of a standard x86 based processor. Asterisk can run on a number of Operating Systems. Linux is the only officially supported OS, and it is recommended to use a 2.6.25 or higher kernel (although Asterisk will run on 2.4 kernels). A current and supported release of distributions such as CentOS or Debian is recommended. An Internet connection is also required. Copyright ©2012 Digium, The Asterisk Company 2
  • 3. Asterisk Quick Start Guide Dependencies There are a number of packages that are required to be pre installed on the host server to ensure that Asterisk will compile successfully. This Guide provides instructions for obtaining these packages for RedHat and Debian Distributions. Downloading The Asterisk source packages are available at: http://www.asterisk.org/downloads 1. Log in to your Linux machine as the ‘root’ user (superuser). If you are using Ubuntu Linux log in as normal and prefix each command with ‘sudo. 2. If you are using an X window system, open a terminal window. 3. Download the ‘current’ Asterisk source tarball to the host machine. This will download the latest (minor) version: root@localhost:~# cd /usr/src root@localhost:/usr/src# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz 4. Unzip and extract all of the contained source files: root@localhost:/usr/src# tar –zxvf asterisk-1.8-current.tar.gz 5. Enter the newly created source directory and execute the ‘install_prereq’ in the contrib/scripts subdirectory. This will not only install the required dependencies but also install all packages necessary to build all option Asterisk components. Copyright ©2012 Digium, The Asterisk Company 3
  • 4. Asterisk Quick Start Guide root@localhost:/usr/src# cd /asterisk-1.8.16.0 root@localhost:/usr/src/asterisk-1.8.16.0# ./contrib/scripts/install_prereq Compiling and Installing 6. Issue each of these commands in sequence: root@localhost:/usr/src/asterisk-1.8.16.0# ./configure root@localhost:/usr/src/asterisk-1.8.16.0# make root@localhost:/usr/src/asterisk-1.8.16.0# make install root@localhost:/usr/src/asterisk-1.8.16.0# make samples Configuring Asterisk (demo config) The previous command ‘make samples’ created sample configuration files in the default directory ‘/etc/asterisk/’. The commands below show how to create backups of some of these files and how to create new simplified configuration for demo or testing purposes. 7. Issue each command as shown. The ‘mv’ (move) command is used here to rename (backup) the provided sample configuration files: root@localhost:/user/src/asterisk-1.8.16.0# root@localhost:/etc/asterisk# mv modules.conf modules.conf.sample root@localhost:/etc/asterisk# mv extensions.conf extensions.conf.sample root@localhost:/etc/asterisk# mv sip.conf sip.conf.sample root@localhost:/etc/asterisk# mv iax.conf iax.conf.sample Copyright ©2012 Digium, The Asterisk Company 4
  • 5. Asterisk Quick Start Guide 8. Edit ‘modules.conf’ and paste in the configuration provided. The ubiquitous WYSYWG editor ‘gedit’ is used for example, although any editor will do. Save the file when done editing: root@localhost:/etc/asterisk# gedit modules.conf [modules] autoload=no load=pbx_config.so load=chan_sip.so Getting Help load=chan_iax2.so load=res_rtp_asterisk.so load=app_hangup.so load=app_dial.so load=codec_ulaw.so load=codec_gsm.so 9. Repeat for ‘extensions.conf:’ root@localhost:/etc/asterisk# gedit extensions.conf [default] exten => _.,1,Hangup() [demo] exten => 2600,1,Dial(IAX2/guest@pbx.digium.com/s@default) same => n,Hangup() Copyright ©2012 Digium, The Asterisk Company 5
  • 6. Asterisk Quick Start Guide 10. Repeat for ‘sip.conf: root@localhost:/etc/asterisk# gedit sip.conf [general] context=default allowguest=no [test_phone_<RANDOM_STRING_1>] type=friend host=dynamic secret= <RANDOM_STRING_2> context=demo 11. Replace ‘<RANDOM_STRING_X>’ with an actual randomly generated string. You can create these random strings of letters and numbers at http://www.random.org/strings/ NOTE: IF YOU DO NOT REPLACE THE <RANDOM_STRING> YOUR MACHINE IS VERY LIKELY TO BE COMPROMISED!! 12. Finally, Configure ‘iax.conf’: root@localhost:/etc/asterisk# gedit iax.conf [demo] type=peer username=asterisk secret=supersecret host=216.207.245.47 Copyright ©2012 Digium, The Asterisk Company 6
  • 7. Asterisk Quick Start Guide Configuring a SIP client There are myriad freely available VoIP clients. The soft-phone used in this example, Zoiper, is available for Linux, Windows, and Mac OS. No preference or endorsement is implied. The instructions provided are for Linux only. 13. Download, unzip, and extract the zoiper executable as described. Execute each command in order: root@localhost:/etc/asterisk# cd /usr/src root@localhost:/usr/src# wget http://www.zoiper.com/downloads/free/linux/zoiper219-linux.tar.gz root@localhost:/usr/src# tar –zxvf zoiper219-linux.tar.gz 14. Execute the binary ‘zoiper. That is extracted into the ‘/usr/src’ directory: root@localhost:/usr/src# ./zoiper 15. Click the highlighted ‘options’ button: Copyright ©2012 Digium, The Asterisk Company 7
  • 8. Asterisk Quick Start Guide 16. Click ‘Add new SIP account’ Copyright ©2012 Digium, The Asterisk Company 8
  • 9. Asterisk Quick Start Guide 17. Enter the SIP account name that matches ‘test_phone_<RANDOM_STRING_1>’ in ‘/etc/asterisk/sip.conf’. NOTE: Do NOT use the account name exactly as seen below. Create your OWN random string. If you copy the account name below your machine will VERY LIKELY be compromised! Copyright ©2012 Digium, The Asterisk Company 9
  • 10. Asterisk Quick Start Guide 18. Enter the account information. a. ‘Domain’ must match the IP Address of the Asterisk server b. ‘Username’ must match the account name (including random string) that you created. c. ‘Password’ must match the ‘secret’ you created in ‘/etc/asterisk/sip.conf’. This should be a random string! d. ‘Caller ID Name’ can be whatever you like Copyright ©2012 Digium, The Asterisk Company 10
  • 11. Asterisk Quick Start Guide 19. Check the highlighted ‘Show advanced options’ checkbox: Copyright ©2012 Digium, The Asterisk Company 11
  • 12. Asterisk Quick Start Guide 20. Click ‘SIP options’: Copyright ©2012 Digium, The Asterisk Company 12
  • 13. Asterisk Quick Start Guide 21. Change ‘Port’ to ‘5070’. Click ‘Save’. This is only necessary if the Zoiper client is running on the host machine running Asterisk. Copyright ©2012 Digium, The Asterisk Company 13
  • 14. Asterisk Quick Start Guide Making a Test Call 22. Start the Asterisk daemon by simply issuing the ‘asterisk’ command at the terminal. You should see no message output, and are returned to a Linux prompt: root@localhost:/usr/src# asterisk root@localhost:/usr/src# You are now be able to place a test call. Dial the configured extension ‘2600’ from the softphone. This will dial to a Digium server using the IAX2 protocol and you will hear Digium’s main IVR menu. You now have a running Asterisk server and a configured phone, as well as sample configuration. The extent of what you can do with Asterisk is only limited by your imagination! Copyright ©2012 Digium, The Asterisk Company 14
  • 15. Asterisk Quick Start Guide Appendix A – The Asterisk CLI 1. Connecting to the Asterisk CLI There are many options that you can apply following the ‘asterisk’ command at the Linux terminal. A few of the most common and useful are listed and described below. You can see a detailed list of all the valid options by running ‘asterisk –h’. asterisk –r If you’ve started Asterisk using a script or by running ‘asterisk’ at the Linux terminal, you can then connect to that running instance of asterisk with the ‘-r’ option. You will be presented license and warranty information, followed by the CLI prompt: root@localhost:/usr/src# asterisk -r Asterisk 1.8.16.0, Copyright (C) 1999 - 2012 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 1.8.16.0 currently running on localhost(pid = 80085) localhost*CLI> asterisk –c Starts Asterisk in console mode. This assumes you have not already started asterisk as a background daemon process by running ‘asterisk’ (or a script). You will immediately be connected to the Asterisk CLI. Run ‘core stop now’ at the CLI to be end the process and return to the Linux prompt. Copyright ©2012 Digium, The Asterisk Company 15
  • 16. Asterisk Quick Start Guide asterisk –x This will issue a valid CLI command to Asterisk and provide the standard output to the Terminal. This should be immediately followed by the CLI command in quotes e.g. ‘asterisk –x “sip show peers”’ 2. Helpful CLI Commands core show help lists valid CLI commands. core restart now Immediately restarts Asterisk. You will exit the CLI and be returned to the Linux prompt. core stop now Immediately stops Asterisk. You will exit the CLI and be returned to the Linux prompt. sip show peers Lists all configured SIP devices. The output includes the account name used for a given device and its IP address. dialplan show Displays all of the active (in memory) dialplan. This includes, but is not limited to, the configuration contained in ‘/etc/asterisk/extensions.conf’. Copyright ©2012 Digium, The Asterisk Company 16