| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | # The Asterisk(R) Open Source PBX
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | By Mark Spencer <markster@digium.com> and the Asterisk.org developer community. | 
					
						
							|  |  |  | Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders. | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ## SECURITY
 | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | It is imperative that you read and fully understand the contents of | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | the security information document before you attempt to configure and run | 
					
						
							|  |  |  | an Asterisk server. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | See [Important Security Considerations](https://docs.asterisk.org/Deployment/Important-Security-Considerations) for more information. | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ## WHAT IS ASTERISK ?
 | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Asterisk is an Open Source PBX and telephony toolkit.  It is, in a | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | sense, middleware between Internet and telephony channels on the bottom, | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | and Internet and telephony applications at the top.  However, Asterisk supports | 
					
						
							|  |  |  | more telephony interfaces than just Internet telephony.  Asterisk also has a | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | vast amount of support for traditional PSTN telephony, as well. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | For more information on the project itself, please visit the [Asterisk | 
					
						
							|  |  |  | Home Page](https://www.asterisk.org) and the official | 
					
						
							|  |  |  | [Asterisk Documentation](https://docs.asterisk.org). | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## SUPPORTED OPERATING SYSTEMS
 | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### Linux
 | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | The Asterisk Open Source PBX is developed and tested primarily on the | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | GNU/Linux operating system, and is supported on every major GNU/Linux | 
					
						
							|  |  |  | distribution. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### Others
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Asterisk has also been 'ported' and reportedly runs properly on other | 
					
						
							|  |  |  | operating systems as well, Apple's Mac OS X, and the BSD variants. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ## GETTING STARTED
 | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Most users are using VoIP/SIP exclusively these days but if you need to | 
					
						
							|  |  |  | interface to TDM or analog services or devices, be sure you've got supported | 
					
						
							|  |  |  | hardware. | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | Supported telephony hardware includes: | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | * All Analog and Digital Interface cards from Sangoma | 
					
						
							|  |  |  | * Any full duplex sound card supported by PortAudio | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | * The Xorcom Astribank channel bank | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### UPGRADING FROM AN EARLIER VERSION
 | 
					
						
							| 
									
										
										
										
											2004-01-25 05:57:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | If you are updating from a previous version of Asterisk, make sure you | 
					
						
							|  |  |  | read the Change Logs. | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | <!-- CHANGELOGS (the URL will change based on the location of this README) --> | 
					
						
							|  |  |  | [Change Logs](https://downloads.asterisk.org/pub/telephony/asterisk) | 
					
						
							|  |  |  | <!-- END-CHANGELOGS --> | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### NEW INSTALLATIONS
 | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Ensure that your system contains a compatible compiler and development | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | libraries.  Asterisk requires either the GNU Compiler Collection (GCC) version | 
					
						
							| 
									
										
										
										
											2018-01-25 02:37:32 -05:00
										 |  |  | 4.1 or higher, or a compiler that supports the C99 specification and some of | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | the gcc language extensions.  In addition, your system needs to have the C | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | library headers available, and the headers and libraries for ncurses. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | There are many modules that have additional dependencies.  To see what | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | libraries are being looked for, see `./configure --help`, or run | 
					
						
							|  |  |  | `make menuselect` to view the dependencies for specific modules. | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | On many distributions, these dependencies are installed by packages with names | 
					
						
							| 
									
										
										
										
											2015-08-22 00:37:23 -04:00
										 |  |  | like 'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel' | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | or similar.  The `contrib/scripts/install_prereq` script can be used to install | 
					
						
							|  |  |  | the dependencies for most Debian and Redhat based Linux distributions. | 
					
						
							|  |  |  | The script also handles SUSE, Arch, Gentoo, FreeBSD, NetBSD and OpenBSD but | 
					
						
							|  |  |  | those distributions mightnoit have complete support or they might be out of date. | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | So, let's proceed: | 
					
						
							| 
									
										
										
										
											2007-05-17 06:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 1. Read the documentation.<br> | 
					
						
							|  |  |  | The [Asterisk Documentation](https://docs.asterisk.org) website has full | 
					
						
							|  |  |  | information for building, installing, configuring and running Asterisk. | 
					
						
							| 
									
										
										
										
											2007-05-17 06:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 2. Run `./configure`<br> | 
					
						
							|  |  |  | Execute the configure script to guess values for system-dependent | 
					
						
							|  |  |  | variables used during compilation. If the script indicates that some required | 
					
						
							| 
									
										
										
										
											2022-03-23 22:04:13 +01:00
										 |  |  | components are missing, you can run `./contrib/scripts/install_prereq install` | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | to install the necessary components. Note that this will install all dependencies | 
					
						
							|  |  |  | for every functionality of Asterisk. After running the script, you will need | 
					
						
							| 
									
										
										
										
											2022-03-23 22:04:13 +01:00
										 |  |  | to rerun `./configure`. | 
					
						
							| 
									
										
										
										
											2007-05-17 06:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 3. Run `make menuselect`<br> | 
					
						
							|  |  |  | This is needed if you want to select the modules that will be compiled and to | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | check dependencies for various optional modules. | 
					
						
							| 
									
										
										
										
											2007-05-17 06:14:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 4. Run `make`<br> | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | Assuming the build completes successfully: | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 5. Run `make install`<br> | 
					
						
							|  |  |  | If this is your first time working with Asterisk, you may wish to install | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | the sample PBX, with demonstration extensions, etc.  If so, run: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 6. Run `make samples`<br> | 
					
						
							|  |  |  | Doing so will overwrite any existing configuration files you have installed. | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 7. Finally, you can launch Asterisk in the foreground mode (not a daemon) with | 
					
						
							|  |  |  | `asterisk -vvvc`<br> | 
					
						
							|  |  |  | You'll see a bunch of verbose messages fly by your screen as Asterisk | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | initializes (that's the "very very verbose" mode).  When it's ready, if | 
					
						
							|  |  |  | you specified the "c" then you'll get a command line console, that looks | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | like this:<br> | 
					
						
							|  |  |  | `*CLI>`<br> | 
					
						
							|  |  |  | You can type `core show help` at any time to get help with the system.  For help | 
					
						
							|  |  |  | with a specific command, type `core show help <command>`. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `man asterisk` at the Unix/Linux command prompt will give you detailed | 
					
						
							| 
									
										
										
										
											2005-10-18 19:21:16 +00:00
										 |  |  | information on how to start and stop Asterisk, as well as all the command | 
					
						
							|  |  |  | line options for starting Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### ABOUT CONFIGURATION FILES
 | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | All Asterisk configuration files share a common format.  Comments are | 
					
						
							|  |  |  | delimited by `;` (since `#` of course, being a DTMF digit, may occur in | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | many places).  A configuration file is divided into sections whose names | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | appear in `[]`'s.  Each section typically contains statements in the form | 
					
						
							|  |  |  | `variable = value` although you may see `variable => value` in older samples. | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### SPECIAL NOTE ON TIME
 | 
					
						
							| 
									
										
										
										
											2015-08-22 00:37:23 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Those using SIP phones should be aware that Asterisk is sensitive to | 
					
						
							| 
									
										
										
										
											2005-04-22 04:39:41 +00:00
										 |  |  | large jumps in time.  Manually changing the system time using date(1) | 
					
						
							|  |  |  | (or other similar commands) may cause SIP registrations and other | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | internal processes to fail.  For this reason, you should always use | 
					
						
							|  |  |  | a time synchronization package to keep your system time accurate. | 
					
						
							|  |  |  | All OS/distributions make one or more of the following packages | 
					
						
							|  |  |  | available: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * ntpd/ntpsec | 
					
						
							|  |  |  | * chronyd | 
					
						
							|  |  |  | * systemd-timesyncd | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Be sure to install and configure one (and only one) of them. | 
					
						
							| 
									
										
										
										
											2005-04-17 17:39:14 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ### FILE DESCRIPTORS
 | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Depending on the size of your system and your configuration, | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | Asterisk can consume a large number of file descriptors.  In UNIX, | 
					
						
							|  |  |  | file descriptors are used for more than just files on disk.  File | 
					
						
							|  |  |  | descriptors are also used for handling network communication | 
					
						
							|  |  |  | (e.g. SIP, IAX2, or H.323 calls) and hardware access (e.g. analog and | 
					
						
							|  |  |  | digital trunk hardware).  Asterisk accesses many on-disk files for | 
					
						
							|  |  |  | everything from configuration information to voicemail storage. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Most systems limit the number of file descriptors that Asterisk can | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | at 1024 (a common default value) Asterisk can handle approximately 150 | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | SIP calls simultaneously.  To change the number of file descriptors | 
					
						
							|  |  |  | follow the instructions for your system below: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | #### PAM-BASED LINUX SYSTEM
 | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | If your system uses PAM (Pluggable Authentication Modules) edit | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | `/etc/security/limits.conf`.  Add these lines to the bottom of the file: | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ```text | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | root            soft    nofile          4096 | 
					
						
							|  |  |  | root            hard    nofile          8196 | 
					
						
							|  |  |  | asterisk        soft    nofile          4096 | 
					
						
							|  |  |  | asterisk        hard    nofile          8196 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | (adjust the numbers to taste).  You may need to reboot the system for | 
					
						
							|  |  |  | these changes to take effect. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | #### GENERIC UNIX SYSTEM
 | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | If there are no instructions specifically adapted to your system | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | above you can try adding the command `ulimit -n 8192` to the script | 
					
						
							| 
									
										
										
										
											2005-05-02 20:24:57 +00:00
										 |  |  | that starts Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ## MORE INFORMATION
 | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | Visit the [Asterisk Documentation](https://docs.asterisk.org) website | 
					
						
							|  |  |  | for more documentation on various features and please read all the | 
					
						
							|  |  |  | configuration samples that include documentation on the configuration options. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Finally, you may wish to join the | 
					
						
							|  |  |  | [Asterisk Community Forums](https://community.asterisk.org) | 
					
						
							| 
									
										
										
										
											2004-01-12 03:23:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-19 05:26:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | Welcome to the growing worldwide community of Asterisk users! | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  |         Mark Spencer, and the Asterisk.org development community | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-17 22:33:04 -05:00
										 |  |  | --- | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-03 14:44:22 -04:00
										 |  |  | Asterisk is a trademark of Sangoma Technologies Corporation | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 12:21:45 -07:00
										 |  |  | \[[Sangoma](https://www.sangoma.com/)\]  | 
					
						
							|  |  |  | \[[Home Page](https://www.asterisk.org)\]  | 
					
						
							|  |  |  | \[[Support](https://www.asterisk.org/support)\]  | 
					
						
							|  |  |  | \[[Documentation](https://docs.asterisk.org)\]  | 
					
						
							|  |  |  | \[[Community Forums](https://community.asterisk.org)\]  | 
					
						
							|  |  |  | \[[Release Notes](https://github.com/asterisk/asterisk/releases)\]  | 
					
						
							|  |  |  | \[[Security](https://docs.asterisk.org/Deployment/Important-Security-Considerations/)\]  | 
					
						
							|  |  |  | \[[Mailing List Archive](https://lists.digium.com)\]  | 
					
						
							|  |  |  | 
 |