#!/bin/bash
echo ATUALIZANDO REPOSITORIO...
apt-get update
echo INSTALANDO BIBLIOTECAS NECESSARIAS...
apt-get -y install libnewt-dev libssl0.9.8 libssl-dev zlib1g-dev libncurses5-dev libeditline0 libeditline-dev libedit2 libedit-dev readline-common linux-headers-`uname -r` libusb-dev mpg123 libtiff4 libtiff4-dev libxml2 libxml2-dev build-essential automake fakeroot debhelper autotools-dev cdbs pkg-config gcc g++ cpp doxygen ssh mc tcpdump libmysqlclient15-dev sox sysv-rc-conf rcconf vim-full
echo ATUALIZANDO SOFTWARES...
apt-get upgrade
echo INSTALANDO DAHDI-LINUX...
cd /usr/src/
wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz
tar -xvzf dahdi-linux-current.tar.gz
cd dahdi-linux*
make clean
make
make install
echo INSTALANDO DAHDI-LINUX...
cd /usr/src/
wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz
tar -xvzf dahdi-tools-current.tar.gz
cd dahdi-tools*
make clean
./configure
make menuselect
make
make install
make config
echo INSTALANDO ASTERISK...
cd /usr/src
wget -c http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
tar -xvzf asterisk-1.4-current.tar.gz
cd asterisk-1.4*
contrib/scripts/get_ilbc_source.sh #instala codec ilbc
make clean
./configure
make menuselect
make
make install
make samples
make progdocs
make config
echo INSTALANDO ADDONS...
cd /usr/src
wget -c http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
tar -xvzf asterisk-addons-1.4-current.tar.gz
cd asterisk-addons-1.4.8
make clean
./configure
make menuselect
make
make install
make samples
Esse kra vai baixar as coisas e compilá-las, observe que é só um facilitador, o addons, por exemplo, eu tive de colocar 1.4.8 no nome da pasta que tava 1.4.7...
Supondo que a placa esteja instalada e com o cabo de alimentação ligado, faça o seguinte:
#lspci |grep Digium
Isso é pra garantir que o sistema reconheceu o novo hardware, senão nem adianta começar a configurar canais, módulos e tal que não era.
Olha o meu:
root@charqueadas:~# lspci |grep Digium
00:09.0 Ethernet controller: Digium, Inc. Wildcard TDM800P 8-port analog card (rev 11)
Agora, com tudo certinho rode o seguinte comando:
#dahdi_genconf -vvvv
Ele vai gerar os arquivos de configuração para o hardware instalado, já tive que reiniciar a máquina em alguns casos para dar certo.
Depois você terá de editar o arquivo /etc/dahdi/system.conf, gerado pelo dahdi_genconf e deixar o loadzone e o defaultzone conforme o abaixo (= br).
# Autogenerated by /usr/sbin/dahdi_genconf on Tue Jul 14 04:45:12 2009
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCTDM/0 "Wildcard TDM800P Board 1" (MASTER)
fxoks=1
echocanceller=mg2,1
fxoks=2
echocanceller=mg2,2
fxoks=3
echocanceller=mg2,3
fxoks=4
echocanceller=mg2,4
fxsks=5
echocanceller=mg2,5
fxsks=6
echocanceller=mg2,6
fxsks=7
echocanceller=mg2,7
fxsks=8
echocanceller=mg2,8
# Global data
loadzone = br
defaultzone = br
Depois disso rode o comando dahdi_cfg -vvv, conforme abaixo, e uma saída muito parecida é um forte indício de que estamos indo bem.
root@charqueadas:~# dahdi_cfg -vvv
DAHDI Tools Version - 2.2.0
DAHDI Version: 2.2.0.1
Echo Canceller(s): MG2
Configuration
======================
Channel map:
Channel 01: FXO Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01)
Channel 02: FXO Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 02)
Channel 03: FXO Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 03)
Channel 04: FXO Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 04)
Channel 05: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 05)
Channel 06: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 06)
Channel 07: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 07)
Channel 08: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 08)
8 channels to configure.
Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to mg2
Setting echocan for channel 4 to mg2
Setting echocan for channel 5 to mg2
Setting echocan for channel 6 to mg2
Setting echocan for channel 7 to mg2
Setting echocan for channel 8 to mg2
Agora já falta pouco, só configurar os canais para o asterisk:
Para o resultado anterior o arquivo /etc/asterisk/chan_dahdi.conf fica da seguinte maneira:
[channels]
txgain=10.5
rxgain=10.5
echotraining=yes
context=entrada
signalling=fxo_ks
group=1
channel => 1-4
context=saida
signalling=fxs_ks
group=2
channel => 5-8
Agora reinicie o asterisk:
/etc/init.d/asterisk restart
Acesse o console do asterisk:
asterisk -vvvvvvvvvr (não precisa contar os "v" eu boto um mont para o verbose ser o máximo)
você vai acessar uma coisa chamda "cli", mais ou menos assim:
root@charqueadas:~# asterisk -vvvvvvvr
Asterisk 1.4.25.1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/etc/asterisk/asterisk.conf': Found
== Parsing '/etc/asterisk/extconfig.conf': Found
Connected to Asterisk 1.4.25.1 currently running on charqueadas (pid = 4170)
Verbosity was 0 and is now 7
-- Remote UNIX connection
charqueadas*CLI>
Na cli acompanhamos o funcionamento e as mensagens de erro das coisas, ajuda muito na configuração e manutenção.
Exemplo:
Verbosity was 0 and is now 7
-- Remote UNIX connection
-- Starting simple switch on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
-- Starting simple switch on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
charqueadas*CLI>
Isso é o resultado na CLI de eu ter tirado e colocado no gancho o telefone ligado na porta 1 da placa.
É muito importante rodar o asterisk com um usuário não privilegiado. Posto isso em breve.
;)