Asterisk Tutorial - [Prima Parte - Installare Asterisk 1.8 su debian]
Come prima cosa dobbiamo procurarci una copia di Debian solitamente io prediligo la versione "NetInst" che sarebbe una piccola immagine Iso di pochi MB, con la quale si installa il sistema base e poi durante l'installazione si può scegliere cosa installare che viene scaricato direttamente da internet, il link di questa immagine è QUI.
Qui non discutiamo sui modi e metodi di installazione di Debian, quindi...
Una volta avuto accesso alla nostra macchina tramite shell come utente root
iniziamo a digitare questi comandi:
apt-get install libogg-dev libvorbis-dev
la libreria curl:
apt-get install libcurl3 libcurl3-dev
programmi e librerie per compilare i sorgenti:
apt-get install bison flex wget subversion ncurses-dev gcc make zlib-bin g++ gawk libnewt-dev autoconf automake
MySQL (cliente e server):
apt-get install mysql-server mysql-client mysql-admin libmysqlclient-dev
durante l’installazione di MySQL ci sarà chiesto di configurare una password per l’utente root di MySQL
ODBC:
apt-get install unixodbc-dev unixodbc libltdl7 libltdl7-dev libmyodbc
festival con il supporto italiano:
apt-get install festival festival-dev festvox-italp16k festvox-itapc16k
Terminata questa prima parte, continuiamo con Speex:
cd /usr/src
wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
tar -xf speex-1.2rc1.tar.gz
cd speex-1.2rc1
./configure --prefix=/usr
make
make install
Lame:
cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-3.98.4.tar.gz
tar -xf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure --prefix=/usr
make
make install
Libmad:
cd /usr/src
wget http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
tar -xf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
./configure --prefix=/usr
make
make install
Il formato Wav:
cd /usr/src
wget http://www.wavpack.com/wavpack-4.60.1.tar.bz2
tar -xf wavpack-4.60.1.tar.bz2
cd wavpack-4.60.1
./configure --prefix=/usr
make
make install
e, per terminare, SoX:
cd /usr/src
wget http://ufpr.dl.sourceforge.net/sourceforge/sox/sox-14.3.1.tar.gz
tar -xf sox-14.3.1.tar.gz
cd sox-14.3.1
./configure –prefix=/usr
make
make install
(Se sox dovesse darvi problemi di installazione no problem basta digitare apt-get install sox)
Arrivati a questo punto, possiamo installare DAHDI e DAHDI-Tools:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-curr...
tar -xf dahdi-linux-current.tar.gz
cd dahdi-linux-2.4.0
make
make install
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-curr...
tar -xf dahdi-tools-current.tar.gz
cd dahdi-tools-2.4.0
./configure
make
make install
make config
(anche per dahdi è la stessa cosa di SoX - apt-get install dahdi dahdi-surce dahdi-linux)
Se vogliamo attivare il supporto FAX, dobbiamo installare SpanDSP:
apt-get install libtiff-dev libxml2-dev
cd /usr/src
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre17.tgz
tar -xf spandsp-0.0.6pre17.tgz
cd spandsp-0.0.6
./configure --prefix=/usr
make
make install
Per il modulo res_jabber (che ci permette di connetterci a qualsiasi server XMPP (Es: GoogleTalk):
apt-get install gnutls-dev gnutls-bin
cd /usr/src
wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar -xf iksemel-1.4.tar.gz
cd iksemel-1.4
./configure --prefix=/usr
make
make check
make install
Un server di posta elettronica (ho scelto SendMail):
apt-get install sendmail sendmail-cf
OpenLdap per il modulo res_ldap:
apt-get install ldap-server ldap-utils
SNMP per il modulo res_snmp:
apt-get install libsnmp libsnmp-dev libsnmp-base
e portaudio per il canale chan_console:
apt-get install portaudio19-dev
Possiamo continuare con l’installazione di Asterisk PBX:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
tar -xf asterisk-1.8-current.tar.gz
cd asterisk-1.8-current
./configure
make menuselect
Quando compare la finestra di configurazione, navighiamo tra i vari menu e controlliamo che siano selezionati i moduli che ci interessano. Salviamo le modifiche e compiliamo:
make
make install
make samples
make config
Creiamo un database, una tabella per salvare tutti i registri delle chiamate effettuate e un utente che abbia accesso (locale e remoto) al database creato:
mysql -u root -p
mysql> create database asteriskcdr;
Query OK, 1 row affected (0.00 sec)
mysql> use asteriskcdr
Database changed
mysql> CREATE TABLE cdr (
calldate datetime NOT NULL default '0000-00-00 00:00:00',
clid varchar(80) NOT NULL default '',
src varchar(80) NOT NULL default '',
dst varchar(80) NOT NULL default '',
dcontext varchar(80) NOT NULL default '',
channel varchar(80) NOT NULL default '',
dstchannel varchar(80) NOT NULL default '',
lastapp varchar(80) NOT NULL default '',
lastdata varchar(80) NOT NULL default '',
duration int(11) NOT NULL default '0',
billsec int(11) NOT NULL default '0',
disposition varchar(45) NOT NULL default '',
amaflags int(11) NOT NULL default '0',
accountcode varchar(20) NOT NULL default '',
uniqueid varchar(32) NOT NULL default '',
userfield varchar(255) NOT NULL default ''
);
Query OK, 0 rows affected (0.14 sec
mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'asterisk'@'%' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
Modifichiamo il file di configurazione del modulo che si incarica di connettersi al database appena creato:
nano /etc/asterisk/cdr_mysql.conf
aggiungiamo/modifichiamo le seguenti linee:
[global]
hostname=localhost
dbname=asteriskcdr
table=cdr
password=PASSWORD
user=asterisk
port=3306
sock=/var/run/mysqld/mysqld.sock
Salviamo le modifiche.
Iniziamo Asterisk:
service asterisk start
Entriamo nella console:
asterisk –rvvvvvvvvvvvvv
A questo punto se tutto è andato bene abbiamo il nostro Asterisk installato sulla macchina, per accedere alla console di comando bisogna digitare:
asterisk -r
Nelle prossime guide spiegheremo come configurare dei trunk un dialplan e tante altre cose.