Asterisk 1.6.x + Dahdi + Libpri + SpanDSP + Addons
Para instalação de nosso PABX IP utilizaremos a versão 1.6.x do Asterisk.
O pacote DADHI (Digium Asterisk Hardware Device Interface) nos permite carregar os drivers e configurar diversos tipos de placas de telefonia (para conectar telefones analógicos, linhas telefônicas, linhas digitais e outros).
A biblioteca Libpri será instalada para que tenhamos suporte aos canais PRI (ISDN E1, T1).
O pacote SpanDSP nos dará suporte a FAX.
O Addons é um pacote que adiciona 3 funcionalidades para nossa central Asterisk:
- A possibilidade de termos os registros das chamadas em uma base de dados MySQL.
- Utilização de arquivos mp3 para música de espera.
- Adicionar o protocolo H323. (versão proprietária)
Vídeo-aula de instalação Asterisk 1.6.x:
Download do Asterisk e manual de instalação
Nessa sessão temos toda a documentação e procedimentos executados em nossa vídeo-aula.
# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.1.0.4.tar.gz
# tar zxvf dahdi-linux-2.1.0.4.tar.gz
# cd dahdi-linux-2.1.0.4
# make
# make install
Seguimos com dadhi-tools:
# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.1.0.2.tar.gz
# tar zxvf dahdi-tools-2.1.0.2.tar.gz
# cd dahdi-tools-2.1.0.2
# ./configure
# make
# make install
Para que inicie no boot do
Linux:
# make config
Para iniciá-lo manualmente:
# /etc/init.d/dahdi start
Para ter suporte a fax teremos que instalar o
SPANDSP e suas dependências:
# apt-get install libgraphics-magick-perl libgraphicsmagick++1 libgraphicsmagick++1-dev libgraphicsmagick1 libgraphicsmagick1-dev libtiff-doc libtiff-opengl libtiff-tools libtiff4 libtiff4-dev libtiffxx0c2
# cd /usr/src
# wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.5.tgz
# tar zxvf spandsp-0.0.5.tgz
# cd spandsp-0.0.5
# ./configure --prefix=/usr
# make
# make install
# ldconfig -v
Instalando a Libpri:
# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.10.tar.gz
# tar zxvf libpri-1.4.10.tar.gz
# cd libpri-1.4.10
# make
# make install
Agora podemos iniciar a instalação do Asterisk (versão 1.6.X). Primeiro descarregamos o programa:
# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.0.15.tar.gz
Descomprimimos:
# tar zxvf asterisk-1.6.0-current.tar.gz
Entramos no diretório:
# cd asterisk-1.6.0.15
O nome do diretório pode ser outro de acordo com a versão.
# ./configure
# make menuselect
Aparecerá algo parecido com:
Nesse menu podemos selecionar todos os módulos que desejamos que o Asterisk instale. Para sair pressionamos a tecla "ESC". Podemos navegar entre os vários menus para selecionar/desmarcar os módulos.
Agora podemos compilar e instalar o Asterisk:
# make
# make install
Instalamos os exemplos dos arquivos de configuração:
# make samples
Se decidirmos que o Asterisk deve iniciar com o boot do Linux:
# make config
Antes de instalar o Asterisk-Addons precisamos configurar nossa base de dados MySQL.
Criamos uma senha para o usuário root conectar-se no MySQL:
# mysqladmin -u root password secret
Download do Asterisk addons no diretório /usr/src:
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.0.3.tar.gz
Descomprimimos:
# tar zxvf asterisk-addons-1.6.0.3.tar.gz
Entramos no diretório criado:
# cd asterisk-addons-1.6.0.3
E compilamos:
# ./configure
# make
# make install
Criaremos os arquivos de exemplo:
# make samples
Agora, para que nossa central tenha o registro de todas as chamadas no MySQL, teremos que seguir o procedimento abaixo.
Criando o database:
# mysqladmin create asteriskcdr -u root -p secret
Conectando o cliente do MySQL com o usuário root e a senha:
# mysql -u root -pXXXXX
Agora criaremos a tabela para registrar as chamadas no database:
mysql>
use asteriskcdr
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 ''
);
Criaremos um novo usuário e daremos todos os direitos para gerenciar o database:
mysql>
GRANT ALL PRIVILEGES ON asteriskcdr.* TO asterisk IDENTIFIED BY 'secret';
mysql>
flush privileges;
mysql>
quit
Você pode utilizar um nome de usuário qualquer, fica a seu critério.
Agora o única item que nos falta é adicionar essas linhas no arquivos de configuração do Asterisk. Utilizaremos o editor de texto "vim":
# vim /etc/asterisk/cdr_mysql.conf
Colar as seguintes linhas:
[global]
hostname=127.0.0.1
dbname=asteriskcdr
table=cdr
password=secret
user=asterisk
port=3306
sock=/var/lib/mysql/mysql.sock
Salvar e sair do arquivo.
Para verificar se está tudo funcionando iniciaremos o Asterisk e verificaremos a conexão com o banco de dados:
# /etc/init.d/asterisk start
# asterisk -rvvvvv
*CLI>
cdr mysql status
Deve aparecer algo parecido com:
Connected to asteriskcdr@localhost, port 3306 using table cdr for 45 seconds.
Wrote 0 records since last restart.
Pronto! Agora temos nosso PABX instalado.