|
|
@ -1,21 +1,35 @@
|
|
|
|
The Asterisk(R) Open Source PBX
|
|
|
|
===============================================================================
|
|
|
|
by Mark Spencer <markster@digium.com>
|
|
|
|
=== The Asterisk(R) Open Source PBX
|
|
|
|
and the Asterisk.org developer community
|
|
|
|
===
|
|
|
|
|
|
|
|
=== by Mark Spencer <markster@digium.com>
|
|
|
|
|
|
|
|
=== and the Asterisk.org developer community
|
|
|
|
|
|
|
|
===
|
|
|
|
|
|
|
|
=== Copyright (C) 2001-2008 Digium, Inc.
|
|
|
|
|
|
|
|
=== and other copyright holders.
|
|
|
|
|
|
|
|
===============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- SECURITY ------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
Copyright (C) 2001-2006 Digium, Inc.
|
|
|
|
|
|
|
|
and other copyright holders.
|
|
|
|
|
|
|
|
================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* SECURITY
|
|
|
|
|
|
|
|
It is imperative that you read and fully understand the contents of
|
|
|
|
It is imperative that you read and fully understand the contents of
|
|
|
|
the security information file (doc/security.txt) before you attempt
|
|
|
|
the security information document before you attempt to configure and run
|
|
|
|
to configure and run an Asterisk server.
|
|
|
|
an Asterisk server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you downloaded Asterisk as a tarball, see the security section in the PDF
|
|
|
|
|
|
|
|
version of the documentation in doc/tex/asterisk.pdf. Alternatively, pull up
|
|
|
|
|
|
|
|
the HTML version of the documentation in doc/tex/asterisk/index.html. The
|
|
|
|
|
|
|
|
source for the security document is available in doc/tex/security.tex.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- WHAT IS ASTERISK ? --------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* WHAT IS ASTERISK ?
|
|
|
|
|
|
|
|
Asterisk is an Open Source PBX and telephony toolkit. It is, in a
|
|
|
|
Asterisk is an Open Source PBX and telephony toolkit. It is, in a
|
|
|
|
sense, middleware between Internet and telephony channels on the bottom,
|
|
|
|
sense, middleware between Internet and telephony channels on the bottom,
|
|
|
|
and Internet and telephony applications at the top. For more information
|
|
|
|
and Internet and telephony applications at the top. However, Asterisk supports
|
|
|
|
on the project itself, please visit the Asterisk home page at:
|
|
|
|
more telephony interfaces than just Internet telephony. Asterisk also has a
|
|
|
|
|
|
|
|
vast amount of support for traditional PSTN telephony, as well. For more
|
|
|
|
|
|
|
|
information on the project itself, please visit the Asterisk home page at:
|
|
|
|
|
|
|
|
|
|
|
|
http://www.asterisk.org
|
|
|
|
http://www.asterisk.org
|
|
|
|
|
|
|
|
|
|
|
@ -24,42 +38,44 @@ community on this Wiki:
|
|
|
|
|
|
|
|
|
|
|
|
http://www.voip-info.org/wiki-Asterisk
|
|
|
|
http://www.voip-info.org/wiki-Asterisk
|
|
|
|
|
|
|
|
|
|
|
|
There is a book on Asterisk published by O'Reilly under the
|
|
|
|
There is a book on Asterisk published by O'Reilly under the Creative Commons
|
|
|
|
Creative Commons License. It is available in book stores as well
|
|
|
|
License. It is available in book stores as well as in a downloadable version on
|
|
|
|
as in a downloadable version on the http://www.asteriskdocs.org
|
|
|
|
the http://www.asteriskdocs.org web site.
|
|
|
|
web site.
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* SUPPORTED OPERATING SYSTEMS
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- SUPPORTED OPERATING SYSTEMS -----------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
== Linux ==
|
|
|
|
--- Linux
|
|
|
|
The Asterisk Open Source PBX is developed and tested primarily on the
|
|
|
|
The Asterisk Open Source PBX is developed and tested primarily on the
|
|
|
|
GNU/Linux operating system, and is supported on every major GNU/Linux
|
|
|
|
GNU/Linux operating system, and is supported on every major GNU/Linux
|
|
|
|
distribution.
|
|
|
|
distribution.
|
|
|
|
|
|
|
|
|
|
|
|
== Others ==
|
|
|
|
--- Others
|
|
|
|
Asterisk has also been 'ported' and reportedly runs properly on other
|
|
|
|
Asterisk has also been 'ported' and reportedly runs properly on other
|
|
|
|
operating systems as well, including Sun Solaris, Apple's Mac OS X, and
|
|
|
|
operating systems as well, including Sun Solaris, Apple's Mac OS X, and
|
|
|
|
the BSD variants.
|
|
|
|
the BSD variants.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* GETTING STARTED
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- GETTING STARTED -----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
First, be sure you've got supported hardware (but note that you don't need
|
|
|
|
First, be sure you've got supported hardware (but note that you don't need
|
|
|
|
ANY special hardware, not even a sound card) to install and run Asterisk.
|
|
|
|
ANY special hardware, not even a sound card) to install and run Asterisk.
|
|
|
|
|
|
|
|
|
|
|
|
Supported telephony hardware includes:
|
|
|
|
Supported telephony hardware includes:
|
|
|
|
|
|
|
|
|
|
|
|
* All Wildcard (tm) products from Digium (www.digium.com)
|
|
|
|
* All Analog and Digital Interface cards from Digium (www.digium.com)
|
|
|
|
* QuickNet Internet PhoneJack and LineJack (http://www.quicknet.net)
|
|
|
|
* QuickNet Internet PhoneJack and LineJack (http://www.quicknet.net)
|
|
|
|
* any full duplex sound card supported by ALSA or OSS
|
|
|
|
* any full duplex sound card supported by ALSA, OSS, or PortAudio
|
|
|
|
* any ISDN card supported by mISDN on Linux (BRI)
|
|
|
|
* any ISDN card supported by mISDN on Linux (BRI)
|
|
|
|
* The Xorcom AstriBank channel bank
|
|
|
|
* The Xorcom AstriBank channel bank
|
|
|
|
* VoiceTronix OpenLine products
|
|
|
|
* VoiceTronix OpenLine products
|
|
|
|
|
|
|
|
|
|
|
|
The are several drivers for ISDN BRI cards available from third party sources.
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
Check the voip-info.org wiki for more information on chan_capi and
|
|
|
|
|
|
|
|
zaphfc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* UPGRADING FROM AN EARLIER VERSION
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- UPGRADING FROM AN EARLIER VERSION -----------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
If you are updating from a previous version of Asterisk, make sure you
|
|
|
|
If you are updating from a previous version of Asterisk, make sure you
|
|
|
|
read the UPGRADE.txt file in the source directory. There are some files
|
|
|
|
read the UPGRADE.txt file in the source directory. There are some files
|
|
|
@ -67,29 +83,34 @@ and configuration options that you will have to change, even though we
|
|
|
|
made every effort possible to maintain backwards compatibility.
|
|
|
|
made every effort possible to maintain backwards compatibility.
|
|
|
|
|
|
|
|
|
|
|
|
In order to discover new features to use, please check the configuration
|
|
|
|
In order to discover new features to use, please check the configuration
|
|
|
|
examples in the /configs directory of the source code distribution.
|
|
|
|
examples in the /configs directory of the source code distribution. For a
|
|
|
|
To discover the major new features of Asterisk 1.2, please visit
|
|
|
|
list of new features in this version of Asterisk, see the CHANGES file.
|
|
|
|
http://edvina.net/asterisk1-2/
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* NEW INSTALLATIONS
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- NEW INSTALLATIONS ---------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
Ensure that your system contains a compatible compiler and development
|
|
|
|
Ensure that your system contains a compatible compiler and development
|
|
|
|
libraries. Asterisk requires either the GNU Compiler Collection (GCC) version
|
|
|
|
libraries. Asterisk requires either the GNU Compiler Collection (GCC) version
|
|
|
|
3.0 or higher, or a compiler that supports the C99 specification and some of
|
|
|
|
3.0 or higher, or a compiler that supports the C99 specification and some of
|
|
|
|
the gcc language extensions. In addition, your system needs to have the C
|
|
|
|
the gcc language extensions. In addition, your system needs to have the C
|
|
|
|
library headers available, and the headers and libraries for OpenSSL,
|
|
|
|
library headers available, and the headers and libraries for ncurses.
|
|
|
|
ncurses and zlib.
|
|
|
|
|
|
|
|
On many distributions, these files are installed by packages with names like
|
|
|
|
There are many modules that have additional dependencies. To see what
|
|
|
|
'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel' or similar.
|
|
|
|
libraries are being looked for, see ./configure --help, or run
|
|
|
|
|
|
|
|
"make menuselect" to view the dependencies for specific modules.
|
|
|
|
|
|
|
|
|
|
|
|
So let's proceed:
|
|
|
|
On many distributions, these dependencies are installed by packages with names
|
|
|
|
|
|
|
|
like 'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel'
|
|
|
|
|
|
|
|
or similar.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
So, let's proceed:
|
|
|
|
|
|
|
|
|
|
|
|
1) Read this README file.
|
|
|
|
1) Read this README file.
|
|
|
|
|
|
|
|
|
|
|
|
There are more documents than this one in the doc/ directory.
|
|
|
|
There are more documents than this one in the doc/ directory. You may also
|
|
|
|
You may also want to check the configuration files that contain
|
|
|
|
want to check the configuration files that contain examples and reference
|
|
|
|
examples and reference guides. They are all in the configs/
|
|
|
|
guides. They are all in the configs/ directory.
|
|
|
|
directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2) Run "./configure"
|
|
|
|
2) Run "./configure"
|
|
|
|
|
|
|
|
|
|
|
@ -98,8 +119,8 @@ variables used during compilation.
|
|
|
|
|
|
|
|
|
|
|
|
3) Run "make menuselect" [optional]
|
|
|
|
3) Run "make menuselect" [optional]
|
|
|
|
|
|
|
|
|
|
|
|
This is needed if you want to select the modules that will be
|
|
|
|
This is needed if you want to select the modules that will be compiled and to
|
|
|
|
compiled and to check modules dependencies.
|
|
|
|
check dependencies for various optional modules.
|
|
|
|
|
|
|
|
|
|
|
|
4) Run "make"
|
|
|
|
4) Run "make"
|
|
|
|
|
|
|
|
|
|
|
@ -107,21 +128,14 @@ compiled and to check modules dependencies.
|
|
|
|
|
|
|
|
|
|
|
|
5) Run "make install"
|
|
|
|
5) Run "make install"
|
|
|
|
|
|
|
|
|
|
|
|
Each time you update or checkout from the repository, you are strongly
|
|
|
|
|
|
|
|
encouraged to ensure all previous object files are removed to avoid internal
|
|
|
|
|
|
|
|
inconsistency in Asterisk. Normally, this is automatically done with
|
|
|
|
|
|
|
|
the presence of the file .cleancount, which increments each time a 'make clean'
|
|
|
|
|
|
|
|
is required, and the file .lastclean, which contains the last .cleancount used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If this is your first time working with Asterisk, you may wish to install
|
|
|
|
If this is your first time working with Asterisk, you may wish to install
|
|
|
|
the sample PBX, with demonstration extensions, etc. If so, run:
|
|
|
|
the sample PBX, with demonstration extensions, etc. If so, run:
|
|
|
|
|
|
|
|
|
|
|
|
6) "make samples"
|
|
|
|
6) "make samples"
|
|
|
|
|
|
|
|
|
|
|
|
Doing so will overwrite any existing config files you have.
|
|
|
|
Doing so will overwrite any existing configuration files you have installed.
|
|
|
|
|
|
|
|
|
|
|
|
Finally, you can launch Asterisk in the foreground mode (not a daemon)
|
|
|
|
Finally, you can launch Asterisk in the foreground mode (not a daemon) with:
|
|
|
|
with:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# asterisk -vvvc
|
|
|
|
# asterisk -vvvc
|
|
|
|
|
|
|
|
|
|
|
@ -134,20 +148,22 @@ like this:
|
|
|
|
|
|
|
|
|
|
|
|
You can type "help" at any time to get help with the system. For help
|
|
|
|
You can type "help" at any time to get help with the system. For help
|
|
|
|
with a specific command, type "help <command>". To start the PBX using
|
|
|
|
with a specific command, type "help <command>". To start the PBX using
|
|
|
|
your sound card, you can type "dial" to dial the PBX. Then you can use
|
|
|
|
your sound card, you can type "console dial" to dial the PBX. Then you can use
|
|
|
|
"answer", "hangup", and "dial" to simulate the actions of a telephone.
|
|
|
|
"console answer", "console hangup", and "console dial" to simulate the actions
|
|
|
|
Remember that if you don't have a full duplex sound card (and Asterisk
|
|
|
|
of a telephone. Remember that if you don't have a full duplex sound card
|
|
|
|
will tell you somewhere in its verbose messages if you do/don't) then it
|
|
|
|
(and Asterisk will tell you somewhere in its verbose messages if you do/don't)
|
|
|
|
won't work right (not yet).
|
|
|
|
then it won't work right (not yet).
|
|
|
|
|
|
|
|
|
|
|
|
"man asterisk" at the Unix/Linux command prompt will give you detailed
|
|
|
|
"man asterisk" at the Unix/Linux command prompt will give you detailed
|
|
|
|
information on how to start and stop Asterisk, as well as all the command
|
|
|
|
information on how to start and stop Asterisk, as well as all the command
|
|
|
|
line options for starting Asterisk.
|
|
|
|
line options for starting Asterisk.
|
|
|
|
|
|
|
|
|
|
|
|
Feel free to look over the configuration files in /etc/asterisk, where
|
|
|
|
Feel free to look over the configuration files in /etc/asterisk, where you
|
|
|
|
you'll find a lot of information about what you can do with Asterisk.
|
|
|
|
will find a lot of information about what you can do with Asterisk.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* ABOUT CONFIGURATION FILES
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- ABOUT CONFIGURATION FILES -------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
All Asterisk configuration files share a common format. Comments are
|
|
|
|
All Asterisk configuration files share a common format. Comments are
|
|
|
|
delimited by ';' (since '#' of course, being a DTMF digit, may occur in
|
|
|
|
delimited by ';' (since '#' of course, being a DTMF digit, may occur in
|
|
|
@ -163,7 +179,7 @@ asterisk. For example, in zapata.conf, one might specify:
|
|
|
|
|
|
|
|
|
|
|
|
switchtype=national
|
|
|
|
switchtype=national
|
|
|
|
|
|
|
|
|
|
|
|
in order to indicate to Asterisk that the switch they are connecting to is
|
|
|
|
In order to indicate to Asterisk that the switch they are connecting to is
|
|
|
|
of the type "national". In general, the parameter will apply to
|
|
|
|
of the type "national". In general, the parameter will apply to
|
|
|
|
instantiations which occur below its specification. For example, if the
|
|
|
|
instantiations which occur below its specification. For example, if the
|
|
|
|
configuration file read:
|
|
|
|
configuration file read:
|
|
|
@ -174,7 +190,7 @@ configuration file read:
|
|
|
|
switchtype = dms100
|
|
|
|
switchtype = dms100
|
|
|
|
channel => 25-47
|
|
|
|
channel => 25-47
|
|
|
|
|
|
|
|
|
|
|
|
the "national" switchtype would be applied to channels one through
|
|
|
|
The "national" switchtype would be applied to channels one through
|
|
|
|
four and channels 10 through 12, whereas the "dms100" switchtype would
|
|
|
|
four and channels 10 through 12, whereas the "dms100" switchtype would
|
|
|
|
apply to channels 25 through 47.
|
|
|
|
apply to channels 25 through 47.
|
|
|
|
|
|
|
|
|
|
|
@ -182,8 +198,10 @@ apply to channels 25 through 47.
|
|
|
|
parameters. For example, the line "channel => 25-47" creates objects for
|
|
|
|
parameters. For example, the line "channel => 25-47" creates objects for
|
|
|
|
the channels 25 through 47 of the card, obtaining the settings
|
|
|
|
the channels 25 through 47 of the card, obtaining the settings
|
|
|
|
from the variables specified above.
|
|
|
|
from the variables specified above.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* SPECIAL NOTE ON TIME
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- SPECIAL NOTE ON TIME ------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
Those using SIP phones should be aware that Asterisk is sensitive to
|
|
|
|
Those using SIP phones should be aware that Asterisk is sensitive to
|
|
|
|
large jumps in time. Manually changing the system time using date(1)
|
|
|
|
large jumps in time. Manually changing the system time using date(1)
|
|
|
@ -206,8 +224,10 @@ on UTC. UTC does not use daylight savings time.
|
|
|
|
|
|
|
|
|
|
|
|
Also note that this issue is separate from the clocking of TDM
|
|
|
|
Also note that this issue is separate from the clocking of TDM
|
|
|
|
channels, and is known to at least affect SIP registrations.
|
|
|
|
channels, and is known to at least affect SIP registrations.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* FILE DESCRIPTORS
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- FILE DESCRIPTORS ----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
Depending on the size of your system and your configuration,
|
|
|
|
Depending on the size of your system and your configuration,
|
|
|
|
Asterisk can consume a large number of file descriptors. In UNIX,
|
|
|
|
Asterisk can consume a large number of file descriptors. In UNIX,
|
|
|
@ -220,11 +240,13 @@ everything from configuration information to voicemail storage.
|
|
|
|
Most systems limit the number of file descriptors that Asterisk can
|
|
|
|
Most systems limit the number of file descriptors that Asterisk can
|
|
|
|
have open at one time. This can limit the number of simultaneous
|
|
|
|
have open at one time. This can limit the number of simultaneous
|
|
|
|
calls that your system can handle. For example, if the limit is set
|
|
|
|
calls that your system can handle. For example, if the limit is set
|
|
|
|
at 1024 (a common default value) Asterisk can handle approxiately 150
|
|
|
|
at 1024 (a common default value) Asterisk can handle approximately 150
|
|
|
|
SIP calls simultaneously. To change the number of file descriptors
|
|
|
|
SIP calls simultaneously. To change the number of file descriptors
|
|
|
|
follow the instructions for your system below:
|
|
|
|
follow the instructions for your system below:
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
== PAM-based Linux System ==
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- PAM-based Linux System ----------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
If your system uses PAM (Pluggable Authentication Modules) edit
|
|
|
|
If your system uses PAM (Pluggable Authentication Modules) edit
|
|
|
|
/etc/security/limits.conf. Add these lines to the bottom of the file:
|
|
|
|
/etc/security/limits.conf. Add these lines to the bottom of the file:
|
|
|
@ -242,21 +264,29 @@ these changes to take effect.
|
|
|
|
If there are no instructions specifically adapted to your system
|
|
|
|
If there are no instructions specifically adapted to your system
|
|
|
|
above you can try adding the command "ulimit -n 8192" to the script
|
|
|
|
above you can try adding the command "ulimit -n 8192" to the script
|
|
|
|
that starts Asterisk.
|
|
|
|
that starts Asterisk.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
* MORE INFORMATION
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
--- MORE INFORMATION ----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
See the doc directory for more documentation on various features. Again,
|
|
|
|
See the doc directory for more documentation on various features. Again,
|
|
|
|
please read all the configuration samples that include documentation on
|
|
|
|
please read all the configuration samples that include documentation on
|
|
|
|
the configuration options.
|
|
|
|
the configuration options.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If this release of Asterisk was downloaded from a tarball, then some
|
|
|
|
|
|
|
|
additional documentation should have been included.
|
|
|
|
|
|
|
|
* doc/tex/asterisk.pdf --- PDF version of the documentation
|
|
|
|
|
|
|
|
* doc/tex/asterisk/index.html --- HTML version of the documentation
|
|
|
|
|
|
|
|
|
|
|
|
Finally, you may wish to visit the web site and join the mailing list if
|
|
|
|
Finally, you may wish to visit the web site and join the mailing list if
|
|
|
|
you're interested in getting more information.
|
|
|
|
you're interested in getting more information.
|
|
|
|
|
|
|
|
|
|
|
|
http://www.asterisk.org/support
|
|
|
|
http://www.asterisk.org/support
|
|
|
|
|
|
|
|
|
|
|
|
Welcome to the growing worldwide community of Asterisk users!
|
|
|
|
Welcome to the growing worldwide community of Asterisk users!
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
Mark Spencer
|
|
|
|
--- Mark Spencer, and the Asterisk.org development community
|
|
|
|
|
|
|
|
|
|
|
|
----
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
Asterisk is a trademark belonging to Digium, inc
|
|
|
|
Asterisk is a trademark of Digium, Inc.
|
|
|
|