Main Packages For Installing An Asterisk Program Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

For our project only main asterisk program is used because it is a voip based project.zapata is used when we are using analog or digital system hardwares and pri libraries is mainly for ISDN PRI interfaces and it is like an optional case. And other package we should install is asterisk-sounds. It will prolong the number of professionary recorded prompts for use with our asterisk system.

-for the compilation of the asterisk we need to install the GCC compiler .the needed version 2.96 can be loaded for the certain time limit and further it can be neglected and for the functionality of the asterisk a program called bison is generated,it is mainly for replacing yace and n curses.

-to obtain the source code

We can obtain source code from FTP or CVS. Mean while /usr/src/directory is used to extract and compile the asterisk source and to implement the files we need root access . the source code can be obtained using wget command

# cd/usr/src/

# wget -passive-ftp ftp. -/* . tar .gz

#wget -passive -ftp ftp. Digium .com/pub/asterisk/asterisk-sounds -* .tar .gz

#wget -passive -ftp. /pub/zaptel/zaptel -*.tar.gz

#wget -passive -ftp /pub/libpri/libpri -*.tar.gz

-to extract the source code

We need to extract the source code before compiling and by using these commands a simple process can be achieved .the commands will extract the packages and source code to their represented directories.

#cd /usr/src/

#tar zxvf zaptel -*.tar.gz

#tar zxvf asterisk -*.tar.gz

#tar zxvf asterisk -sounds *.tar . gz

Compiling the asterisk

Standard installation

-these is compiled with GCC through which we can make use of GNU. To run a program for the compilation of asterisk , we can run the following commands.

# cd /usr/src/asterisk - version

# make clean

# make

# make install

# make samples.

By these commands we can install the default configuration . by this asterisk system is set up and can run faster.


-these are some of the useful make arguments for the compilation process.

Make clean

It is used to remove the compiled binaries through the source directory . these should be done before the recompilation process.

Make update

It is used to update the existing code from cvs server.

Make upgrade

It is mainly used to manually delete the version file before running make and make install.

Make webv mail (web voice mail script)

It is used to give a graphical interface to your voice mail account, by which we can manage and interact with our voice mail remotely from a web server.

Make prog docs

It is used to create documentation via d oxygen software from the comments placed through source code by developers. We need to have the proper software installed in our system ,so that it can work.

Make config

It will install red hat - style initialization scripts and it is only useful in red hat -based system.

Updating source code.

The process of updating can be done without deleting the sources and by updating the files from the last files.we can do these by changing in to the directory of which containing the files and update the files and run the make update command .


#make update

#make clean

#make upgrade

-these code is only used with cvs method .the make upgrade command is used only in asterisk source directory .

Issues of compilation regarding asterisk

-# c compilers can nit create executables #

-the above error indicates when the asterisk is attempted to compile. So,we need to install the gcc compiler and their dependencies.

-in gcc we require packages like glibc -kern headers,cpp etc… and it can be installed manually by copying the files of our disk.

-#/usr/bin/id :can not find -/ss/ #

-these error occurs when the open ssl development packages are not install these library we require dependencies like open ssl -devel,zlib-devel etc

-asterisk can be loaded easily by running the binary file directly from the linux command - line interface .the best possible way is via the safe -aster - isk.script.

-cli commands

-these are the set of commands used to connect the asterisk. and it is useful to explore the options because,if the asterisk crashes down then it will be used.

-c- console- it connects to the asterisk cli

-v-verbosity-it is used to set the amount of out put for cli debugging.

-g-core dump-it is most important command because when asterisk crashes down then it causes a core file to be created for later tracing with gdg.

-t-remote -this is used to reconnect the running asterisk process.

-ix-"restart now" - it allows to execute a cli command without need to connect to cli and we can do it manually.

Different directories used by asterisk

These directories are mainly considered for the usage of several system architecture like voice mail recordings, voice prompts etc… these are done during installation and configuration.


These directory contains asterisk configuration files.asterisk makes use of hardware technology like Zapata hardware


-these directory maintains all the asterisk loadable modules. The various sections are present in the directory like codecs,formats,channels etc. are used by asterisks. These modules are vital in all cases and if it is not present then it will cause an error at start up.


These directory contains the astd b file and various sub directories .these files contains the local asterisk database information.

List of various sub directories

-agi - bin/

-firm ware/






-it contains several subdirectories like outgoing /,qcall/,voice mail/,etc…


In these directory the asterisk logs information is stored.we can control the information being logged to various files.


It contains the process ID information for all active processes on the system. It contains the information of asterisk as well.


-dial plan consists of mainly 4 parts





-dial plan is the most vital thing in asterisk ,as it shows how in bound and out bound calls are handled .actually we can create our own dial plan with customized structure.


-the dial plan are separated in to various sections called contexts. it is referred as group of extensions, this is done due to intercollision of dial plan with one another.

-contexts are indicated by using square brackets() in which the name context can be added inside it.these is done up to the next context is specified. In contexts there are two main contexts like [general] and [global]. The main reason for using the context is to provide security, because if we don't design our dial plan carefully then it will lead to misleading of our system by frauds.


-in context we define one or more extensions . it is nothing but an instruction to the asterisk to follow and regulate the incoming call to the particular context. It is mainly used for phone extensions.


-every set of extensions can have multiple steps called priorities. These priorities executes one specific application.


In dial plan application plays the vital role and it is regarded as the backbone of dial plan .it performs certain set of actions on the channels .there are many applications like answer() and hang up() etc.. these application performs different tasks regarding to their specified position and some requires additional information.

-the set of arguments are passed to application to vary their performance. These are placed between the parenthesis to follow application names.

-in extension there is a special extension calleds. It handles the calls which are entering the context without destination extension.

Creating a dial plan

-the dial plan is established and all the applications are filled in it. The answer() application is used to answer a channel.which is ringing and the initial set up is done for the incoming call

-the play back() application is used for the old sound file to a channel.file name is specified as arguments in these application.

-hang up() application is used to end the current call and the dialer will receive an indication about the call hang up there are no arguments in it.

-by these creating a dial plan and actively used to built a call connection to short dial plan and now we will add a logic to the dial plan.

Logical applications

-the asterisk system can be build using the back ground () application .these is done by playing a sound files,asterisk will intempt the sound file and forwards the call to the extension when the caller presses a key in his keypad,it is used for creating voice menus.

-there is another useful application goto(). These connects the call to other context or extension,by this the call is forwarding to destination context with out any interchange of calls.

-the process of our dial plan menu is completed and we look four other sections to concentrate ,first we should handle invalid enteries and time outs.

-for this we need to have more extensions like I extension and T extension .I extension are used when the caller does not press any key before the time span .(;usually t=10 seconds). These makes our dial plan more accurate and user friendly to the callers.

How to use dial () application

Asterisks connects different callers to one another. The syntax of commands used for dial() is based on 4 arguments . the first compromising to destination of the call and the technology used for it, a slash indicator and remote resource we can deal with a example


Let us think that we want to call a port channel named port/1.these is a FXS channel with analog phone connected to it. The technology is port and the resource is 1.if we would like to ring the port/1 channel whose extension 678 is reached in dial plan,the extension would be:

Exten=>678,1,dial (port/1)

When these is done then asterisk will ring the port/1 channel with phone connected. The phone is accepted and asterisk will bridge the in bound call with the particular port/1 these we can also dial multiple channel at one time by using the ampersand (&) command.

Usage of variables

Variables are used in asterisk dial plan to minimize typing, add clarity to dial plan.there are 3 types of variables in dial plan

-global variables.

-channel variables.

-environment variables .

Global variables

These implies to all extension in all the contexts. These global variables are used to maximize the readability and manageability. In these type of variables we can declare context at the beginning of the file.

Channel variables

These type of variables is used to associate only to a particular call. The channel variables are confined only for the duration of current call and represent to the channel participating in that call.

Environment variables

These are used for accessing unix. Environmental variables from inside the asterisk.

-there are basic expressions involved in the dial plan. These expressions like variables ,operators,can test the values and perform mathematical calculations. The gotolf() application evaluate an expression and sends the caller to a defined destination . these depends on the structure of the expression.

Asterisk based voice mail

-asterisk consists of voice mail system and it provides different features like:

-password protection for voice mail boxes

-default greeting settings

-multiple number of mailboxes.

-broadcasting and voice mail forwarding

-message directory.

-asterisk create mail boxes inside every voice mail context .mail box consists of password,name,email,page _email,different options etc..

-the most important feature in dial plan is macros. These macros are helpful in avoiding repetition in the dial plan .it can be used as application refered to macro() application .these are used to call the specified macros and passes the required arguments.