| 
									
										
										
										
											2025-08-28 15:11:49 +00:00
										 |  |  | <html><head><title>Readme for asterisk-22.5.2</title></head><body> | 
					
						
							| 
									
										
										
										
											2025-03-20 18:34:12 +00:00
										 |  |  | <h1>The Asterisk(R) Open Source PBX</h1> | 
					
						
							|  |  |  | <pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community. | 
					
						
							|  |  |  | Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders. | 
					
						
							|  |  |  | </code></pre> | 
					
						
							|  |  |  | <h2>SECURITY</h2> | 
					
						
							|  |  |  | <p>It is imperative that you read and fully understand the contents of | 
					
						
							|  |  |  | the security information document before you attempt to configure and run | 
					
						
							|  |  |  | an Asterisk server.</p> | 
					
						
							|  |  |  | <p>See <a href="https://docs.asterisk.org/Deployment/Important-Security-Considerations">Important Security Considerations</a> for more information.</p> | 
					
						
							|  |  |  | <h2>WHAT IS ASTERISK ?</h2> | 
					
						
							|  |  |  | <p>Asterisk is an Open Source PBX and telephony toolkit.  It is, in a | 
					
						
							|  |  |  | sense, middleware between Internet and telephony channels on the bottom, | 
					
						
							|  |  |  | and Internet and telephony applications at the top.  However, Asterisk supports | 
					
						
							|  |  |  | more telephony interfaces than just Internet telephony.  Asterisk also has a | 
					
						
							|  |  |  | vast amount of support for traditional PSTN telephony, as well.</p> | 
					
						
							|  |  |  | <p>For more information on the project itself, please visit the <a href="https://www.asterisk.org">Asterisk | 
					
						
							|  |  |  | Home Page</a> and the official | 
					
						
							|  |  |  | <a href="https://docs.asterisk.org">Asterisk Documentation</a>.</p> | 
					
						
							|  |  |  | <h2>SUPPORTED OPERATING SYSTEMS</h2> | 
					
						
							|  |  |  | <h3>Linux</h3> | 
					
						
							|  |  |  | <p>The Asterisk Open Source PBX is developed and tested primarily on the | 
					
						
							|  |  |  | GNU/Linux operating system, and is supported on every major GNU/Linux | 
					
						
							|  |  |  | distribution.</p> | 
					
						
							|  |  |  | <h3>Others</h3> | 
					
						
							|  |  |  | <p>Asterisk has also been 'ported' and reportedly runs properly on other | 
					
						
							|  |  |  | operating systems as well, Apple's Mac OS X, and the BSD variants.</p> | 
					
						
							|  |  |  | <h2>GETTING STARTED</h2> | 
					
						
							|  |  |  | <p>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.</p> | 
					
						
							|  |  |  | <p>Supported telephony hardware includes: | 
					
						
							|  |  |  | * All Analog and Digital Interface cards from Sangoma | 
					
						
							|  |  |  | * Any full duplex sound card supported by PortAudio | 
					
						
							|  |  |  | * The Xorcom Astribank channel bank</p> | 
					
						
							|  |  |  | <h3>UPGRADING FROM AN EARLIER VERSION</h3> | 
					
						
							|  |  |  | <p>If you are updating from a previous version of Asterisk, make sure you | 
					
						
							|  |  |  | read the Change Logs.</p> | 
					
						
							|  |  |  | <!-- CHANGELOGS (the URL will change based on the location of this README) --> | 
					
						
							| 
									
										
										
										
											2025-08-28 15:11:49 +00:00
										 |  |  | <p><a href="ChangeLogs/ChangeLog-22.5.2.html">Change Logs</a></p> | 
					
						
							| 
									
										
										
										
											2025-03-20 18:34:12 +00:00
										 |  |  | <!-- END-CHANGELOGS --> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <h3>NEW INSTALLATIONS</h3> | 
					
						
							|  |  |  | <p>Ensure that your system contains a compatible compiler and development | 
					
						
							|  |  |  | libraries.  Asterisk requires either the GNU Compiler Collection (GCC) version | 
					
						
							|  |  |  | 4.1 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 | 
					
						
							|  |  |  | library headers available, and the headers and libraries for ncurses.</p> | 
					
						
							|  |  |  | <p>There are many modules that have additional dependencies.  To see what | 
					
						
							|  |  |  | libraries are being looked for, see <code>./configure --help</code>, or run | 
					
						
							|  |  |  | <code>make menuselect</code> to view the dependencies for specific modules.</p> | 
					
						
							|  |  |  | <p>On many distributions, these dependencies are installed by packages with names | 
					
						
							|  |  |  | like 'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel' | 
					
						
							|  |  |  | or similar.  The <code>contrib/scripts/install_prereq</code> 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.</p> | 
					
						
							|  |  |  | <p>So, let's proceed:</p> | 
					
						
							|  |  |  | <ol> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Read the documentation.<br> | 
					
						
							|  |  |  | The <a href="https://docs.asterisk.org">Asterisk Documentation</a> website has full | 
					
						
							|  |  |  | information for building, installing, configuring and running Asterisk.</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Run <code>./configure</code><br> | 
					
						
							|  |  |  | Execute the configure script to guess values for system-dependent | 
					
						
							|  |  |  | variables used during compilation. If the script indicates that some required | 
					
						
							|  |  |  | components are missing, you can run <code>./contrib/scripts/install_prereq install</code> | 
					
						
							|  |  |  | to install the necessary components. Note that this will install all dependencies | 
					
						
							|  |  |  | for every functionality of Asterisk. After running the script, you will need | 
					
						
							|  |  |  | to rerun <code>./configure</code>.</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Run <code>make menuselect</code><br> | 
					
						
							|  |  |  | This is needed if you want to select the modules that will be compiled and to | 
					
						
							|  |  |  | check dependencies for various optional modules.</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Run <code>make</code><br> | 
					
						
							|  |  |  | Assuming the build completes successfully:</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Run <code>make install</code><br> | 
					
						
							|  |  |  | If this is your first time working with Asterisk, you may wish to install | 
					
						
							|  |  |  | the sample PBX, with demonstration extensions, etc.  If so, run:</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Run <code>make samples</code><br> | 
					
						
							|  |  |  | Doing so will overwrite any existing configuration files you have installed.</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | <li> | 
					
						
							|  |  |  | <p>Finally, you can launch Asterisk in the foreground mode (not a daemon) with | 
					
						
							|  |  |  | <code>asterisk -vvvc</code><br> | 
					
						
							|  |  |  | You'll see a bunch of verbose messages fly by your screen as Asterisk | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | like this:<br> | 
					
						
							|  |  |  | <code>*CLI></code><br> | 
					
						
							|  |  |  | You can type <code>core show help</code> at any time to get help with the system.  For help | 
					
						
							|  |  |  | with a specific command, type <code>core show help <command></code>.</p> | 
					
						
							|  |  |  | </li> | 
					
						
							|  |  |  | </ol> | 
					
						
							|  |  |  | <p><code>man asterisk</code> at the Unix/Linux command prompt will give you detailed | 
					
						
							|  |  |  | information on how to start and stop Asterisk, as well as all the command | 
					
						
							|  |  |  | line options for starting Asterisk.</p> | 
					
						
							|  |  |  | <h3>ABOUT CONFIGURATION FILES</h3> | 
					
						
							|  |  |  | <p>All Asterisk configuration files share a common format.  Comments are | 
					
						
							|  |  |  | delimited by <code>;</code> (since <code>#</code> of course, being a DTMF digit, may occur in | 
					
						
							|  |  |  | many places).  A configuration file is divided into sections whose names | 
					
						
							|  |  |  | appear in <code>[]</code>'s.  Each section typically contains statements in the form | 
					
						
							|  |  |  | <code>variable = value</code> although you may see <code>variable => value</code> in older samples.</p> | 
					
						
							|  |  |  | <h3>SPECIAL NOTE ON TIME</h3> | 
					
						
							|  |  |  | <p>Those using SIP phones should be aware that Asterisk is sensitive to | 
					
						
							|  |  |  | large jumps in time.  Manually changing the system time using date(1) | 
					
						
							|  |  |  | (or other similar commands) may cause SIP registrations and other | 
					
						
							|  |  |  | 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:</p> | 
					
						
							|  |  |  | <ul> | 
					
						
							|  |  |  | <li>ntpd/ntpsec</li> | 
					
						
							|  |  |  | <li>chronyd</li> | 
					
						
							|  |  |  | <li>systemd-timesyncd</li> | 
					
						
							|  |  |  | </ul> | 
					
						
							|  |  |  | <p>Be sure to install and configure one (and only one) of them.</p> | 
					
						
							|  |  |  | <h3>FILE DESCRIPTORS</h3> | 
					
						
							|  |  |  | <p>Depending on the size of your system and your configuration, | 
					
						
							|  |  |  | 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.</p> | 
					
						
							|  |  |  | <p>Most systems limit the number of file descriptors that Asterisk can | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | at 1024 (a common default value) Asterisk can handle approximately 150 | 
					
						
							|  |  |  | SIP calls simultaneously.  To change the number of file descriptors | 
					
						
							|  |  |  | follow the instructions for your system below:</p> | 
					
						
							|  |  |  | <h4>PAM-BASED LINUX SYSTEM</h4> | 
					
						
							|  |  |  | <p>If your system uses PAM (Pluggable Authentication Modules) edit | 
					
						
							|  |  |  | <code>/etc/security/limits.conf</code>.  Add these lines to the bottom of the file:</p> | 
					
						
							|  |  |  | <pre><code class="language-text">root            soft    nofile          4096 | 
					
						
							|  |  |  | root            hard    nofile          8196 | 
					
						
							|  |  |  | asterisk        soft    nofile          4096 | 
					
						
							|  |  |  | asterisk        hard    nofile          8196 | 
					
						
							|  |  |  | </code></pre> | 
					
						
							|  |  |  | <p>(adjust the numbers to taste).  You may need to reboot the system for | 
					
						
							|  |  |  | these changes to take effect.</p> | 
					
						
							|  |  |  | <h4>GENERIC UNIX SYSTEM</h4> | 
					
						
							|  |  |  | <p>If there are no instructions specifically adapted to your system | 
					
						
							|  |  |  | above you can try adding the command <code>ulimit -n 8192</code> to the script | 
					
						
							|  |  |  | that starts Asterisk.</p> | 
					
						
							|  |  |  | <h2>MORE INFORMATION</h2> | 
					
						
							|  |  |  | <p>Visit the <a href="https://docs.asterisk.org">Asterisk Documentation</a> website | 
					
						
							|  |  |  | for more documentation on various features and please read all the | 
					
						
							|  |  |  | configuration samples that include documentation on the configuration options.</p> | 
					
						
							|  |  |  | <p>Finally, you may wish to join the | 
					
						
							|  |  |  | <a href="https://community.asterisk.org">Asterisk Community Forums</a></p> | 
					
						
							|  |  |  | <p>Welcome to the growing worldwide community of Asterisk users!</p> | 
					
						
							|  |  |  | <pre><code>        Mark Spencer, and the Asterisk.org development community | 
					
						
							|  |  |  | </code></pre> | 
					
						
							|  |  |  | <hr> | 
					
						
							|  |  |  | <p>Asterisk is a trademark of Sangoma Technologies Corporation</p> | 
					
						
							|  |  |  | <p>[<a href="https://www.sangoma.com/">Sangoma</a>]  | 
					
						
							|  |  |  | [<a href="https://www.asterisk.org">Home Page</a>]  | 
					
						
							|  |  |  | [<a href="https://www.asterisk.org/support">Support</a>]  | 
					
						
							|  |  |  | [<a href="https://docs.asterisk.org">Documentation</a>]  | 
					
						
							|  |  |  | [<a href="https://community.asterisk.org">Community Forums</a>]  | 
					
						
							|  |  |  | [<a href="https://github.com/asterisk/asterisk/releases">Release Notes</a>]  | 
					
						
							|  |  |  | [<a href="https://docs.asterisk.org/Deployment/Important-Security-Considerations/">Security</a>]  | 
					
						
							|  |  |  | [<a href="https://lists.digium.com">Mailing List Archive</a>] </p> | 
					
						
							|  |  |  | </body></html> |