| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | The Asterisk Open Source PBX | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | by Mark Spencer <markster@digium.com> | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | Copyright (C) 2001-2005 Digium, Inc. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | ================================================================ | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | * SECURITY | 
					
						
							|  |  |  |   It is imperative that you read and fully understand the contents of | 
					
						
							|  |  |  |   the SECURITY file before you attempt to configure an Asterisk server. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | * WHAT IS ASTERISK | 
					
						
							|  |  |  |   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.  For more information | 
					
						
							|  |  |  | on the project itself, please visit the Asterisk home page at: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  |            http://www.asterisk.org | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | In addition you'll find lots of information compiled by the Asterisk | 
					
						
							| 
									
										
										
										
											2004-01-25 05:57:43 +00:00
										 |  |  | community on this Wiki: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |            http://www.voip-info.org/wiki-Asterisk | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | * LICENSING | 
					
						
							| 
									
										
										
										
											2005-04-01 17:00:01 +00:00
										 |  |  |   Asterisk is distributed under GNU General Public License and is also | 
					
						
							|  |  |  | available under alternative licenses negotiated directly with Digium, Inc. | 
					
						
							|  |  |  | If you obtained Asterisk under the GPL, then the GPL applies to all | 
					
						
							|  |  |  | loadable modules used on your system as well, except as defined below. | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Digium, Inc. (formerly Linux Support Services) retains copyright and/or a | 
					
						
							|  |  |  | sufficient license to all components of the core Asterisk system, and therefore | 
					
						
							|  |  |  | can grant, at its sole discretion, the ability for companies, individuals, or | 
					
						
							|  |  |  | organizations to create proprietary or Open Source (but non-GPL'd) modules | 
					
						
							|  |  |  | which may be dynamically linked at runtime with the portions of Asterisk which | 
					
						
							|  |  |  | fall under our copyright/license umbrella, or are distributed under more | 
					
						
							|  |  |  | flexible licenses than GPL.   | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   If you wish to use our code in other GPL programs, don't worry -- there | 
					
						
							| 
									
										
										
										
											2005-04-01 17:00:01 +00:00
										 |  |  | is no requirement that you provide the same exception in your GPL'd | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  | products (although if you've written a module for Asterisk we would | 
					
						
							| 
									
										
										
										
											2005-04-01 17:00:01 +00:00
										 |  |  | strongly encourage you to make the same exception that we do). | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Specific permission is also granted to OpenSSL and OpenH323 to link with | 
					
						
							| 
									
										
										
										
											2002-04-19 21:17:35 +00:00
										 |  |  | Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  |   If you have any questions, whatsoever, regarding our licensing policy, | 
					
						
							|  |  |  | please contact us. | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Modules that are GPL-licensed and not available under Digium's  | 
					
						
							|  |  |  | licensing scheme are added to the Asterisk-addons CVS module. | 
					
						
							| 
									
										
										
										
											2001-08-23 17:57:10 +00:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | * OPERATING SYSTEMS | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | == Linux == | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   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. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | == Others == | 
					
						
							|  |  |  |   Asterisk has also been 'ported' and reportedly runs properly on other | 
					
						
							|  |  |  | operating systems as well, including Sun Solaris, Apple's Mac OS X, and | 
					
						
							|  |  |  | the BSD variants. | 
					
						
							| 
									
										
										
										
											1999-12-04 22:05:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | * GETTING STARTED | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   First, be sure you've got supported hardware (but note that you don't need | 
					
						
							|  |  |  | ANY special hardware, not even a soundcard) to install and run Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Supported telephony hardware includes: | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | 	* All Wildcard (tm) products from Digium (www.digium.com) | 
					
						
							| 
									
										
										
										
											2001-12-08 16:51:03 +00:00
										 |  |  | 	* QuickNet Internet PhoneJack and LineJack (http://www.quicknet.net) | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 	* any full duplex sound card supported by ALSA or OSS | 
					
						
							| 
									
										
										
										
											2000-12-29 15:31:50 +00:00
										 |  |  | 	* ISDN4Linux compatible ISDN card | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |         * VoiceTronix OpenLine products | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-25 05:57:43 +00:00
										 |  |  | Hint: CAPI compatible ISDN cards can be run using the add-on channel chan_capi. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Second, ensure that your system contains a compatible compiler and development | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | the gcc language extensions.  In addition, your system needs to have the C | 
					
						
							|  |  |  | library headers available, and the headers and libraries for OpenSSL and zlib. | 
					
						
							|  |  |  | On many distributions, these files are installed by packages with names like | 
					
						
							|  |  |  | 'libc-devel', 'openssl-devel' and 'zlib-devel' or similar. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   So let's proceed: | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 1) Run "make" | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Assuming the build completes successfully: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 2) Run "make install" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Each time you update or checkout from CVS, you are strongly encouraged  | 
					
						
							| 
									
										
										
										
											2005-01-17 04:48:51 +00:00
										 |  |  | 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.  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   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: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | 3) "make samples" | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Doing so will overwrite any existing config files you have. If you are lacking a | 
					
						
							|  |  |  | soundcard you won't be able to use the DIAL command on the console, though. | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Finally, you can launch Asterisk with: | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | # asterisk -vvvc | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   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 | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | like this: | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | *CLI> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   You can type "help" at any time to get help with the system.  For help | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | 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 | 
					
						
							|  |  |  | "answer", "hangup", and "dial" to simulate the actions of a telephone. | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | Remember that if you don't have a full duplex sound card (and Asterisk | 
					
						
							|  |  |  | will tell you somewhere in its verbose messages if you do/don't) then it | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | won't work right (not yet). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Feel free to look over the configuration files in /etc/asterisk, where | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | you'll find a lot of information about what you can do with Asterisk. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | * ABOUT CONFIGURATION FILES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   All Asterisk configuration files share a common format.  Comments are | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | delimited by ';' (since '#' of course, being a DTMF digit, may occur in | 
					
						
							|  |  |  | many places).  A configuration file is divided into sections whose names | 
					
						
							|  |  |  | appear in []'s.  Each section typically contains two types of statements, | 
					
						
							|  |  |  | those of the form 'variable = value', and those of the form 'object => | 
					
						
							|  |  |  | parameters'.  Internally the use of '=' and '=>' is exactly the same, so  | 
					
						
							|  |  |  | they're used only to help make the configuration file easier to | 
					
						
							|  |  |  | understand, and do not affect how it is actually parsed. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Entries of the form 'variable=value' set the value of some parameter in | 
					
						
							|  |  |  | asterisk.  For example, in zapata.conf, one might specify: | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	switchtype=national | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | in order to indicate to Asterisk that the switch they are connecting to is | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | of the type "national".  In general, the parameter will apply to | 
					
						
							|  |  |  | instantiations which occur below its specification.  For example, if the | 
					
						
							|  |  |  | configuration file read: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	switchtype = national | 
					
						
							|  |  |  | 	channel => 1-4 | 
					
						
							|  |  |  | 	channel => 10-12 | 
					
						
							|  |  |  | 	switchtype = dms100 | 
					
						
							|  |  |  | 	channel => 25-47 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | the "national" switchtype would be applied to channels one through | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | four and channels 10 through 12, whereas the "dms100" switchtype would | 
					
						
							|  |  |  | apply to channels 25 through 47. | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   The "object => parameters" instantiates an object with the given | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | parameters.  For example, the line "channel => 25-47" creates objects for | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  | the channels 25 through 47 of the card, obtaining the settings | 
					
						
							| 
									
										
										
										
											2001-04-14 20:14:33 +00:00
										 |  |  | from the variables specified above. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * MORE INFORMATION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   See the doc directory for more documentation. | 
					
						
							| 
									
										
										
										
											2004-01-12 03:23:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Finally, you may wish to visit the web site and join the mailing list if | 
					
						
							| 
									
										
										
										
											2000-01-07 11:02:42 +00:00
										 |  |  | you're interested in getting more information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  |    http://www.asterisk.org/index.php?menu=support | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-01 04:38:12 +00:00
										 |  |  |   Welcome to the growing worldwide community of Asterisk users! | 
					
						
							| 
									
										
										
										
											2004-01-13 04:34:09 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Mark Spencer |