Installazione di Asterisk 1.6.x in Ubuntu 8.04 Desktop

Versione adatta alla stampa

Abbiamo un portatile con installato Ubuntu 8.04 Desktop e vogliamo gestire un piccolo centralino per le nostre chiamate personali. In questo articolo vedremo come installare l'ultima versione di Asterisk in un sistema di questo tipo.

Prima di tutto apriamo una finestra terminale e iniziamo con l'installazione di alcuni programmi e librerie richiesti da Asterisk:

sudo apt-get install build-essential

sudo apt-get install bison festival festival-dev libssl-dev zlib1g-dev libnewt-dev

sudo apt-get install libvorbis-dev automake mysql-server mysql-client mysql-admin libmysqlclient15-dev

sudo apt-get install php5 php5-cli php5-common php5-dev

sudo apt-get install curl libgnutls13 libgnutls-dev libtiff4-dev libtiff-tools

sudo apt-get install libasound2-dev portaudio19-dev libportaudio2 jackd

sudo apt-get install unixodbc unixodbc-bin unixodbc-dev

sudo apt-get install libbluetooth-dev

sudo apt-get install sox

sudo apt-get install sendmail dovecot-common

cd /usr/src

Installiamo il codex speex dai sorgenti:

sudo wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz

sudo tar -xf speex-1.2rc1.tar.gz

cd speex-1.2rc1

sudo ./configure --prefix=/usr

sudo make

sudo make install

sudo ldconfig -v

Continuiamo con l'installazione della libreria SpanDSP necessaria per inviare e ricevere fax con Asterisk

cd /usr/src

sudo wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.5.tgz

sudo tar -xf spandsp-0.0.5.tgz
cd spandsp-0.0.5/
sudo ./configure --prefix=/usr
sudo make
sudo make install

Attualizziamo le librerie

sudo ldconfig -v

e seguiamo con l'installazione di iksemel, indispensabile per il modulo jabber/jingle (quello che ci permetterà di connetterci a googletalk direttamente da asterisk e in questo modo ricevere e effettuare chiamate ai nostri contatti presenti in googletalk).

cd /usr/src

sudo wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz

sudo tar -xf iksemel-1.4.tar.gz
cd iksemel-1.4/
sudo ./configure --prefix=/usr

sudo make
sudo make check
sudo make install

Attualizziamo ancora le librerie

sudo ldconfig -v

Iniziamo con l'installazione di dahdi-linux indispensabile se vogliamo usare l'aplicazione MeetMe di Asterisk (permette di gestire conferenze audio) e se abbiamo l'intenzione di collegare schede telefoniche al nostro computer.

cd /usr/src

sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-curr...

sudo tar -xf dahdi-linux-current.tar.gz
cd dahdi-linux-2.2.0.2
sudo make
sudo make install

cd /usr/src

sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-curr...

sudo tar -xf dahdi-tools-current.tar.gz
cd dahdi-tools-2.2.0
sudo ./configure
sudo make
sudo make install
sudo make config

Facciamo una prova per vedere se tutto funciona perfettamente:

sudo /etc/init.d/dahdi start

Se non riceviamo nessun errore è tutto Ok.

Adesso è il momento di installare l'ultima versione di asterisk

cd /usr/src

sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.1-current.tar.gz

sudo tar -xf asterisk-1.6.1-current.tar.gz
cd asterisk-1.6.1.6
sudo ./configure
sudo make menuselect

Assicuariamoci di selezionare la casella a lato di ODBC_STORAGE (come da figura). Per salvare la modifica premiamo il tasto X o il bottone Save and Exit (a seconda dei casi)

sudo make
sudo make install
sudo make samples
sudo make config

Make config configura asterisk in modo da iniziarlo ogni volta che accediamo a Linux

Adesso possiamo installare gli addons di Asterisk (chan_mobile, il supporto MySQL e il protocollo H323)

cd /usr/src

sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6...

sudo tar -xf asterisk-addons-1.6.1-current.tar.gz
cd asterisk-addons-1.6.1.1/
sudo ./configure
sudo make menuselect

Assicuariamoci che chan_mobile sia attivato (come nella figura)

sudo make
sudo make install
sudo make samples

Adesso configuriamo un database per registrare tutte le chiamate effettuate con Asterisk

mysqladmin create asteriskcdr -u root -p

Entriamo en MySQL

mysql -u root -p

mysql> use asteriskcdr
Database changed

e creiamo la tabella per il registro delle chiamate

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 ''
    );

Diamo accesso al database all'utente root. Al posto di secret mettiamo la password che abbiamo settato al momento dell'installazione del pacchetto mysql-server

mysql> GRANT ALL PRIVILEGES ON asteriskcdr.* TO 'root'@'localhost' IDENTIFIED BY 'secret';
Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)

mysql> quit
Bye

cd /etc/asterisk

Adesso dobbiamo indicare gli stessi dati nell'archivio di configrazione di mysql per asterisk

sudo nano cdr_mysql.conf

Modifichiamo le seguenti linee come segue:

[global]
hostname=localhost        
dbname=asteriskcdr 
table=cdr
password=secret
user=root          
port=3306
sock=/var/run/mysqld/mysqld.sock

Facciamo partire Mysql

sudo /etc/init.d/mysql start

Passiamo adesso alla configurazione del modulo chan_mobile (se abbiamo un adattatore bluetooth sul nostro computer)

hcitool dev

con hcitools dev vediamo l'indirizzo fisico del nostro adattatore bluetooth

Devices:
    hci0    00:10:C6:85:E2:61

Lo andiamo a configurare nell'archivio mobile.conf (configurazione di chan_mobile)

sudo nano mobile.conf

[adapter]
id=blue
address=00:10:C6:85:E2:61

facciamo partire Asterisk

sudo /etc/init.d/asterisk start

Entriamo nella console della PBX

sudo asterisk -rvvvvvvvvvvvvvvvvv

Attiviamo il bluetooth del nostro dellulare e scriviamo il seguente comando:

CLI> mobile search
Address           Name                           Usable Type    Port
00:21:AA:00:32:5B And6300i                       Yes    Phone   13

Adesso que abbiamo i dati del cellulare li appuntiamo e usciamo dalla consola

CLI> quit

sudo nano mobile.conf

Inseriamo queste linee alla fine dell'archivio:

[And6300i]
address=00:21:AA:00:32:5B     
port=13                       
context=incoming-mobile       
adapter=blue                  
group=1                       
;nocallsetup=yes

Inizializziamo nuovamente Asterisk

sudo  /etc/init.d/asterisk restart

Entriamo nella console

sudo asterisk -rvvvvvvvvvvvvvvvvv

e vediamo se il cellulare è connesso e riconosciuto da asterisk

CLI> mobile show devices
ID              Address           Group Adapter         Connected State SMS
And6300i        00:21:AA:00:32:5B 1     blue            Yes       Free  No

Sembra di si.

Con chan_mobile possiamo effettuare chiamate dai telefoni  IP o SoftPhone usando come gateway il cellulare.

In un prossimo articolo vedremo i primi passi per la configurazione di Asterisk

Ciao