#!/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.
;)
Não é mais fácil comprar um celular?
ResponderExcluirEstou engatinhando no asterisk e compramos na empresa uma placa digum TDM2400P coloquei nela 4 FXO e 12 FXS, estou usando o SNEPlivre, o qual não possui suporte à placas digium, até aí tudo bem, baixei os pacotes do DHADI e instalei no braço googleando por aqui e ali e consegui criar os troncos DAHDI e os ramais, tudo beleza, o asterisk reconheceu eles tranquilo.
ResponderExcluirMinha dificuldade agora está nos parâmetros destes ramais analógicos. Quando disco para um ramal e o outro lado atende, a cada 5 segundos ele dá um barulho, como se fosse um flash e dá um tom, que parece com o tom da tecla 1. Testei entre todos os canais e isto ocorre em todos. Também estou com dificuldades para transferir uma ligação. Aperto *, as vezes pega, às vezes não pega, muito esquisito... aí quando pega, digito/ o ramal e ele coloca números a mais, tipo se digito 1020 ele poe 10201 (sabe aquele flash que falei que dá a cada 5 segundos).
Outra coisa é que criei no SNEP uma fila para o departamento de suporte e coloquei todos os ramais analógicos do suporte. Simplesmente eles não tocam... adicionei um ramal SIP pra fazer um teste e ele toca normalmente. Consegui configurar rotas bem interessantes tando para entrada, quanto para saída usando a interface do SNEP, com regras de horários, onde o cliente liga e se for fora do horário comercial desvia para o tronco DAHDI/4-1 que é de uma linha celular e disca para o celular de plantão, tudo transparente ao usuário, mas esse negócio dos ramais analógicos tá me desanimando...