DevSecOps

3 set, 2009

Instalando o Asterisk no CentOS 5.3

Publicidade

Uma orientação para a instalação e preparação de um servidor para rodar um PBX IP completo através do Asterisk, que por sua vez já estará pronto e com suporte a placas TDM (E1, FXS, FXO) através de placas que podem ser instaladas em seu computador.

Embora o foco aqui seja na distribuição CentOS, seus procedimentos se aplicam a todas as outras distribuições.

1. Etapas Iniciais

Vamos criar o diretório onde iremos baixar os arquivos necessários para a instalação.

mkdir -p /diversos/Asterisk

cd /diversos/Asterisk

Para instalar os pacotes, usaremos o diretório /usr/local/src

2. Download de Pacotes

No momento de escrita deste artigo, estas eram as versões atuais. Você pode livremente substituir por versões mais novas, para tanto confira no site oficial do Asterisk

  • wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.0.10.tar.gz
  • wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.1.0.4.tar.gz
  • wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.1.0.2.tar.gz
  • wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.10.tar.gz
  • wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.0.2.tar.gz

3. Instalando os Pacotes

3.1 – dahdi-linux

Como anunciado em 2008, Digium renomeou o projeto de interface de telefonia Zaptel para DAHDI (Digium Asterisk Hardware Device Interface – Interface de Hardware para Asterisk da Digium) para acomodar os desejos dos proprietários da marca Zaptel para fins de telefonia.

[root@matheus ~]# cd /usr/local/src/

[root@matheus src]# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/dahdi-linux-2.1.0.4.tar.gz

[root@matheus src]# cd dahdi-linux-2.1.0.4/

[root@matheus dahdi-linux-2.1.0.4]# make

[root@matheus dahdi-linux-2.1.0.4]# make install

Durante este passo, o instalador irá baixar da internet alguns firmwares para que sejam utilizados na com placas TDM.

Se esta etapa for finalizada com sucesso, você deverá ver a tela abaixo:

###################################################

###

### DAHDI installed successfully.

### If you have not done so before, install the package

### dahdi-tools.

###

###################################################

3.2 – dahdi-tools

Este é um pacote de ferramentas para gerenciar, detectar e configurar as placas de telefonia instaladas em seu PBX IP.

[root@matheus dahdi-linux-2.1.0.4]# cd ..

[root@matheus src]# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/dahdi-tools-2.1.0.2.tar.gz

[root@matheus src]# cd dahdi-tools-2.1.0.2/

[root@matheus dahdi-tools-2.1.0.2]# ./configure

configure:

dahdi-tools build successfully configured

[root@matheus dahdi-tools-2.1.0.2]# make

[root@matheus dahdi-tools-2.1.0.2]# make install

Se tudo tiver dado certo, a mensagem abaixo será exibida.

###################################################

###

### DAHDI tools installed successfully.

### If you have not done so before, install init scripts with:

###

### make config

###

###################################################

[root@matheus dahdi-tools-2.1.0.2]# make config

I think that the DAHDI hardware you have on your system is:

pci:0000:01:05.0 wcfxo- 1057:5608 Wildcard X100P

[root@matheus dahdi-tools-2.1.0.2]#

No meu caso, possuo uma X100P instalada, o comando acima mostra a correta detecção da mesma.

3.3 – Libpri

Este pacote tem por finalidade instalar bibliotecas para suportar interfaces T1/E1/J1 PRI(Primary Rate) ISDN.

[root@matheus dahdi-tools-2.1.0.2]# cd ..

[root@matheus src]# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/libpri-1.4.10.tar.gz

[root@matheus src]# cd libpri-1.4.10/

[root@matheus libpri-1.4.10]# make

[root@matheus libpri-1.4.10]# make install

3.4 – Asterisk

Este é o pacote que irá instalar o software do Asterisk.

[root@matheus libpri-1.4.10]# cd ..

[root@matheus src]# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/asterisk-1.6.0.10.tar.gz

[root@matheus src]# cd asterisk-1.6.0.10/

[root@matheus asterisk-1.6.0.10]# ./configure

Se a verificação for concluída com sucesso, a tela a ser vista deverá ser:

configure: creating ./config.status

config.status: creating build_tools/menuselect-deps

config.status: creating makeopts

config.status: creating channels/h323/Makefile

config.status: creating include/asterisk/autoconfig.h

.$$=..

.$7$7.. .7$7:.

.$:. ,$7.7

.$7. 7$ .$77

..$. $ .$7

..7$ .?. $ .?. 7$.

$.$. .$7. $7 .7$. .$.

.777. .$77$77$7. $,

$~ .7$$7. .$.

.$7 .7$7: ?$.

$ ?7$$I .$7

$ .7$$ :$.

$ $7$$ .$.

$ $ 7$7 .$ .$.

$ $7 .$.

7$7 7$ 7$

$ $

$7. $ (TM)

$. .7$ $

$$7$$.$

$$.

configure: Package configured for:

configure: OS type : linux-gnu

configure: Host CPU : i686

configure: build-cpu:vendor:os: i686 : pc : linux-gnu :

configure: host-cpu:vendor:os: i686 : pc : linux-gnu :

[root@matheus asterisk-1.6.0.10]# make

+——— Asterisk Build Complete ———+

+ Asterisk has successfully been built, and +

+ can be installed by running: +

+ +

+ make install +

+——————————————-+

[root@matheus asterisk-1.6.0.10]# make install

+—- Asterisk Installation Complete ——-+

+ +

+ YOU MUST READ THE SECURITY DOCUMENT +

+ +

+ Asterisk has successfully been installed. +

+ If you would like to install the sample +

+ configuration files (overwriting any +

+ existing config files), run: +

+ +

+ make samples +

+ +

+—————– or ———————+

+ +

+ You can go ahead and install the asterisk +

+ program documentation now or later run: +

+ +

+ make progdocs +

+ +

+

Note

This requires that you have +

+ doxygen installed on your local system +

+——————————————-+

Caso você esteja fazendo uma nova instalação e deseje que sejam instalados arquivos de exemplo, rode o comando abaixo. Caso você esteja apenas atualizando o seu Asterisk, o comando abaixo não será necessário.

[root@matheus asterisk-1.6.0.10]# make samples

3.5 – Asterisk-addons

Este pacote possui módulos adicionais para o Asterisk que, por alguma razão, não foram incluídos na distribuição base do Asterisk. Neste módulo, destaco o suporte à gravação de CDR’s diretamente no mysql.

[root@matheus asterisk-1.6.0.10]# cd ..

[root@matheus src]# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/asterisk-addons-1.6.0.2.tar.gz

[root@matheus src]# cd asterisk-addons-1.6.0.2/

[root@matheus asterisk-addons-1.6.0.2]# ./configure

[root@matheus asterisk-addons-1.6.0.2]# make

[root@matheus asterisk-addons-1.6.0.2]# make install

[root@matheus asterisk-addons-1.6.0.2]# make samples

4. Configurações finais

Configurar o script para gerenciar o daemon do asterisk. Basta copiá-lo da pasta contrib (instalação do asterisk) para a pasta /etc/init.d

[root@matheus asterisk-addons-1.6.0.2]# cd ..

[root@matheus src]# cd asterisk-1.6.0.10/contrib/init.d/

[root@matheus init.d]# cp rc.redhat.asterisk /etc/init.d/asterisk

Carregando os modulos DAHDI para detecção de placas TDM

[root@matheus init.d]# /etc/init.d/dahdi start

Loading DAHDI hardware modules:

wct4xxp: [ OK ]

wcte12xp: [ OK ]

wct1xxp: [ OK ]

wcte11xp: [ OK ]

wctdm24xxp: [ OK ]

wcfxo: [ OK ]

wctdm: [ OK ]

wcb4xxp: [ OK ]

wctc4xxp: [ OK ]

xpp_usb: [ OK ]

No hardware timing source found in /proc/dahdi, loading dahdi_dummy

Running dahdi_cfg: [ OK ]

[root@matheus init.d]#

Vamos iniciar o asterisk

[root@matheus init.d]# /etc/init.d/asterisk start

Starting asterisk: [ OK ]

[root@matheus init.d]#

Agora podemos nos conectar ao console do asterisk e verificar a correta detecção da placa FXO.

[root@matheus init.d]# asterisk -rvvv

matheus*CLI>

matheus*CLI> dahdi show status

Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO

Wildcard X100P Board 1 OK 0 0 0 CAS Unk YEL 0 db (CSU)/0-133 feet (DSX-1)

Vamos configurar o asterisk para que seja carregado durante o Boot. O DAHDI já vem por padrão configurado para iniciar nos runlevels 3, 4 e 5 automaticamente:

[root@matheus init.d]# chkconfig –level 35 asterisk on

[root@matheus ~]# chkconfig –list | grep dahdi

dahdi 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não

Em um próximo artigo, explicarei como configurar o Asterisk.