Tuesday, January 13, 2009

Asterisk Installation

Asterisk is known to be the leading open source IP PBX. It has been the best choice alternative to expensive and proprietary

type of PBX server. What's nice about Asterisk is that it is open source and it is free!!! When we say open source this

software has been made by collaborating ideas of different developers around the globe. So expect the cool stuff that can be

done with it. The other nice thing about it, is that it is customizable, flexible and cross platform.

Asterisk can be obtained from various sources. You can have it in a installable CD (ISO) or you could have it from other

communities out there who have developed friendly UI where you could tweak the server easily. If I were to ask I would prefer

to have it from source. Why? Cause templated Asterisk though user friendly can't be extended the way you wish it.

So let us have the Asterisk (raw) and install it on Linux (preferably CentOS).

Before you can compile Asterisk you need the following stuffs on Linux.

Linux Requirements

GCC 3.x
ncurses-devel
libtermcap-devel
Kernel Development Headers
Kernel Development Headers (SMP)
GCC C++ 3.x
bison
OpenSSL (optional)
newt-devel (optional)
zlib-devel (optional)
libtool (optional; recommended)
GNU make (version 3.80 or higher)
libnewt

Here is how we can have them

Install command

yum install -y gcc
yum install -y ncurses-devel
yum install -y libtermcap-devel
yum install -y kernel-devel
yum install -y kernel-smp-devel
yum install -y gcc-c++
yum install -y bison
yum install -y openssl-devel
yum install -y newt-devel
yum install -y zlib-devel
yum install -y libtool
yum install -y make
yum install -y libnewt

Once done we can get the sources from asterisk.org using wget.

# wget http://downloads.digium.com/pub/libpri/releases/libpri(version)tar.gz
# wget http://downloads.digium.com/pub/libpri/releases/dahdi-linux(version)tar.gz
# wget http://downloads.digium.com/pub/libpri/releases/dahdi-tools(version)tar.gz
# wget http://downloads.digium.com/pub/libpri/releases/asterisk(version)tar.gz
# wget http://downloads.digium.com/pub/libpri/releases/asterisk-addons(version)tar.gz

then extract each of the packages

# tar xvzf (packagename)

then compile each packages

for libri and dahdi-linux

# make
# make install

for dahdi-tools

# ./configure
# make
# make install
# make config

for asterisk

# ./configure
# make menuselect ;this is optional but when run just save the default settings, in my case I used to issue it to check out the different options available
# make
# make install
# make samples
# make config

for asterisk-addons (this is important if you want to have some applications like DB, WakeUp Call, streaming audio/video)
# ./configure
# make
# make install
# make samples

To start asterisk the first time (for debugging purposes)

/usr/sbin/asterisk -vvvvgc

If you did not receive any errors stop asterisk and then start asterisk the normal way

/sbin/service asterisk start

to enter the asterisk console issue this command

for root

asterisk -r

for non-root

/usr/sbin/asterisk -r

Now you have a running Asterisk IP PBX

Note: If you want to recompile asterisk say you want to upgrade then recompile asterisk-addons after that as well because sometimes a recompiled asterisk will not load the asterisk-addons module.

BTW there are also other addons / extensions available out there that works with Asterisk like the app_conference (an alternative for MeetMe, capable for doing video conferencing), app_mp4 from sip.fontventa (for recording mp4 video)


Hope you find these helpful. Thanks, Cheers and God Bless!!!!

No comments: