In my previous post I installed Asterisk on Ubuntu Server. In this post I install Asterisk 1.8.4 on Debian 6.0.1 “squeeze”.
I created a step by step guide to prevent you from the usually error messages during the installation.
After the upgrade on a fresh install, we need three packages to build up our Asterisk. Let’s install the build-essential, libxml2-dev, and ncurses-dev packages.
apt-get install build-essential libxml2-dev ncurses-dev
You can find all versions of the Asterisk at the download section. Download the latest version, and extract it!
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.3.3.tar.gz
tar zxvf asterisk-1.8.3.3.tar.gz
Then install the Asterisk, config, and the shamples.
cd asterisk-1.8.3.3/
./configure
make
make install
make config
make samples
Without the above-mentioned additional packages, you will face with these error messages during the ./configure command run.
Lack of build-essential package:
configure: error: in `/root/asterisk-1.8.3.3':
configure: error: no acceptable C compiler found in $PATH
Lack of libxml2-dev package:
checking for xml2-config... no
configure: *** XML documentation will not be available because the 'libxml2' development package is missing.
configure: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option
configure: *** or install the 'libxml2' development package.
Lack of ncurses-dev package:
configure: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)
When the installation finishes, we have a preconfigured Asterisk. To test the Asterisk with two softphones, let’s configure the sip.conf and the extensions.conf.
Here is the sip.conf file:
[general]
context = default
bindport = 5060
bindaddr = 0.0.0.0
tcpbindaddr = 0.0.0.0
tcpenable = yes
[1001]
type = friend
callerid = User One <1001>
secret = 1001
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1001
disallow = all
allow = ulaw
transport = udp
[1002]
type = friend
callerid = User Two <1002>
secret = 1002
host = dynamic
canreinvite = no
dtmfmode = rfc2833
mailbox = 1002
disallow = all
allow = ulaw
transport = udp
This config means that the Asterisk listen all IP, port 5060, and the TCP is enabled. It has two extensions defined for User One and User Two.
Here is the extensions.conf file:
[general]
static=yes
writeprotect=no
[default]
exten => 1001,1,Answer()
exten => 1001,n,Dial(SIP/1001,20,tr)
exten => 1001,n,Hangup
exten => 1002,1,Answer()
exten => 1002,n,Dial(SIP/1002,20,tr)
exten => 1002,n,Hangup.
This config means that there are two accessible extensions existing.
After configuring the Asterisk, we need to start it.
/etc/init.d/asterisk start
I use X-Lite to connect to the soft PBX. Let’s configure the X-Lite!
All data come from the sip.conf. The Account name, and the Display name are the callerid. The User ID and the Authorization name are the extension number – inside the square brackets. The Password is the sicret. The Domain is the IP address of the Asterisk server.
If all configurations are good, the X-Lite will inform you.
Let’s call from User One to User Two.
Here is the User One side:
Here is the User Two side:
Troubleshooting? We always need when we try a new thing. The firs tool is the tcpdump of course, but the asterisk have a good command line interface (Asterisk CLI) to debug the problem. To access the Asterisk CLI type
asterisk -vvvvvvr
This screen shows a successful call from 1001 to 1002.
The Asterisk works now! CU next time!
