Sei sulla pagina 1di 12

Manual de Configuração do Asterisk Como Gateway

de Voz Utilizando Placa de Voz Fxo


Versão: 2.0

Thiago Maluf Resende


Março de 2007

Este Manual descreve um passo a passo de como configurar o Asterisk como gateway de Voz através
de uma placa de voz fxo no projeto do fone@RNP
Sumário

1. Instalação da Placa TDM400P ........................................................................................................... 3


2. Carga do Driver da Placa Digium ....................................................................................................... 4
3. Configuração do Canal Zap................................................................................................................ 5
4. Configuração do Canal OH323........................................................................................................... 6
5. Configuração do Plano de Numeração............................................................................................... 7
6. Passos Finais ....................................................................................................................................10

Manual de Configuração do Asterisk como gateway de voz FXO 2


1.
Instalação da Placa TDM400P

Com a máquina devidamente desligada da energia elétrica, abra o servidor Dell na qual estará sendo
executado o software Asterisk como gateway de voz, efetuando assim a interligação do VoIP com a
telefonia tradicional.

Instale cuidadosamente a placa de voz FXO Digium TDM400P no slot pci. Atenção: Não conecte o
plug de força da fonte na placa FXO.

Ligue a máquina, e após a carga do sistema operacional utilize o utilitário lspci para verificar se a
placa FXO instalada está sendo reconhecida.

root@maq2:~# lspci

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365


[KT133/KM133] (rev 03)
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133
AGP]
0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
South] (rev 40)
0000:00:07.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 1a)
0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB
1.1 Controller (rev 1a)
0000:00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super
ACPI] (rev 40)
0000:00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686
AC97 Audio Controller (rev 50)
0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-
8139/8139C/8139C+ (rev 10)
0000:00:0d.0 Network controller: Tiger Jet Network Inc. Tiger3XX
Modem/ISDN interface
0000:01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS]
300/305 PCI/AGP VGA Display Adapter (rev 90)0000:00:0d.0 Ethernet
controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev
10)
0000:01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS]
300/305 PCI/AGP VGA Display Adapter (rev 90)

Verifique se a placa FXO é impressa no comando lspci conforme exibido acima.

Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface

Manual de Configuração do Asterisk como gateway de voz FXO 3


2.
Carga do Driver da Placa Digium

O próximo passo é carregar os drivers da placa da Telefonia Digium, os drivers devem ser carregados
usando o comando modprobe.

root@maq2# modprobe wctdm


root@maq2# modprobe zaptel

Verifique se os módulos foram carregados através do comando lsmod.

root@maq2# lsmod | grep zaptel


zaptel 223620 2 wctdm
crc_ccitt 5888 1 zaptel,hisax

Edite o arquivo /etc/zaptel.conf para que reflita a placa Digium TDM400P com 4 módulos FXO.

fxsks=1-4
loadzone = us
defaultzone=us

Carregue a configuração especificada através do utilitário ztcfg.

root@maq1# ztcfg -vvvd

Zaptel Configuration
======================
Channel map:

Channel 01: FXS Kewlstart (Default) (Slaves: 01)


Channel 02: FXS Kewlstart (Default) (Slaves: 02)
Channel 03: FXS Kewlstart (Default) (Slaves: 03)
Channel 04: FXS Kewlstart (Default) (Slaves: 04)

O utilitário zttool pode ser utilizado para verificar se a placa foi identificada e configurada
corretamente. Se as informações da sua placa TDM400P aparecem na janela do aplicativo ZTTOOL,
ela está configurada e funcionando corretamente.

Manual de Configuração do Asterisk como gateway de voz FXO 4


3.
Configuração do Canal Zap

Edite o arquivo /etc/asterisk/zapata.conf para refletir as interfaces instaladas no servidor e a


sinalização utilizada por essas interfaces.

Como há a necessidade de identificar se a chamada que chega do PABX para uma porta FXO é de
um ramal interno ou de um telefone público, a instituição deve ter dois ramais chave. O primeiro será
utilizado para quem originar a chamada da rede pública, e o segundo, para quem originar chamadas
de ramais internos. É importante que o segundo número seja restrito e não possa receber chamadas
da rede pública. Estes números chave devem então ser associados a ramais físicos que serão
conectados às portas FXO. Das portas FXO disponíveis, normalmente 4 portas, uma parte será
reservada para receber chamadas externas, que só poderão alcançar telefones IP ou ramais de outras
instituições, e outra parte reservada para receber chamadas internas, que poderá também discar para
rede pública a partir de outra instituição. Normalmente está reservada uma porta para ligações
externas e três para as internas.

Na configuração do arquivo zapata.conf, os canais associados ao primeiro número chave serão


encaminhadas para um contexto, enquanto que os outros serão encaminhados para um contexto
diferente. Desta forma, poderão ser dados tratamentos diferentes às chamadas no plano de discagem.
No exemplo abaixo, o contexto from-pabx será usado para tratar chamadas originadas de ramais
internos, e o contexto from-pstn para tratar das originadas da rede pública.

A menos que os ramais no PABX associados às FXO tenham restrições diferentes, todos os canais
devem ser associados a um único grupo. O grupo criado será usado para o encaminhamento de
chamadas do Asterisk para o PABX.

[trunkgroups]
[channels]
context=from-pstn
signalling=fxs_ks
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
busydetect=yes
busycount=6
group => 1
channel => 1

context=from-pabx
signalling=fxs_ks
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
busydetect=yes
busycount=6
group => 1
channel => 2-4

Manual de Configuração do Asterisk como gateway de voz FXO 5


4.
Configuração do Canal OH323

Para que o Asterisk possa se registrar no GK da instituição é necessário inicialmente configurar o


GnuGK na MAQ1. Inserir uma linha representando o Asterisk na seção RasSrv::RRQAuth do arquivo
gnugk.ini, conforme apresentado abaixo. Vale lembrar que já devem existir outras linhas nesta seção,
as quais devem ser mantidas.

[RasSrv::RRQAuth]
gw-pabxnome=sigip:xxx.xxx.xxx.xxx  nome da instituição / IP

Verifique se a regra regex em [GKStatus::Auth] inclui o IP do servidor MAQ2 (máquina onde estará
sendo executada o asterisk gateway de voz). Após este passo, é necessário reiniciar o software
gnugk.

root@maq1# killall gnugk


root@maq1# gnugk -c /etc/gnugk.ini &

Após configurado o GNUGK da MAQ1, deve ser feita a configuração do Asterisk na MAQ2, onde está
instalada a placa FXO. Configurar canal oh323 através do arquivo /etc/asterisk/oh323.conf . Nesta
configuração deve ser indicado o endereço IP do gatekeeper, no caso o IP da MAQ1, o ID do registro
e os prefixos que serão registrados. Deve se ter cuidado para que o ID indicado no arquivo seja
exatamente igual ao ID indicado na configuração do gatekeeper.

[general]

listenAddress=xxx.xxx.xxx.xxx  use o IP da MAQ2


listenPort=1720
tcpStart=10000
tcpEnd=20000
udpStart=10000
udpEnd=20000
fastStart=yes
h245Tunnelling=yes
jitterMax=100
h245inSetup=yes
jitterMin=20
jitterMax=100
ipTos=none
outboundMax=100
inboundMax=100
simultaneousMax=100
wrapLibTraceLevel=0
libTraceLevel=0
libTraceFile=stdout
gatekeeper= xxx.xxx.xxx.xxx  use o IP da MAQ1
gatekeeperTTL=600
userInputMode=STRING
amaFlags=default

Manual de Configuração do Asterisk como gateway de voz FXO 6


accountCode=H323
language=en
musiconhold=default
context=from-voip

[register]
alias=gw-pabxnome  nome da instituição
gwprefix=NNNN  Prefixo do PABX
gwprefix=0XX  Código da cidade da instituição

[codecs]
codec=G711U
frames=20
codec=G711A
frames=20

5.
Configuração do Plano de Numeração

Agora que as configurações associadas aos canais ZAP e OH323 já foram realizadas, deve ser
definido o plano de numeração que será utilizado no Asterisk. Este plano é especificado no arquivo
/etc/asterisk/extensions.conf.

Ao configurar o seu arquivo, use o código de DDD correspondente à cidade da sua instituição.

[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=yes

[globals]

[from-voip]
include => to-pabx
include => to-pstn

[from-pabx]
include => inicial
include => semum0
include => semum55
include => internacional

[from-pstn]
include => inicial
include => comum0
include => comum55

Manual de Configuração do Asterisk como gateway de voz FXO 7


[inicial]
exten => s,1,Answer()
exten => s,n,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=45)
exten => s,n,Background(ivr/bemvindo)
exten => s,n,WaitExten(10)
exten => t,1,Hangup()
exten => i,1,Hangup()
exten => h,1,Hangup()

include => pbx-block


include => colocalizados
include => ip
include => local-block

[pbx-block]
exten => _YYYYXXXX,1,Hangup() ; YYYY => prefixo associado ao PABX
exten => _0DDYYYYXXXX,1,Hangup() ; DD => código de área da cidade
exten => _0055DDYYYYXXXX,1,Hangup()
; YYYYXXXX => YYYY[INTERVALO DE RAMAIS]
; Caso a instituição tenha vários prefixos
; associados aos ramais, devem ser criads
; extensões especificas para estes prefixos

[colocalizados]
exten => _PPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _PPPPXXXX,n,Hangup()
exten => _0DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0DDPPPPXXXX,n,Hangup()
exten => _0055DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0055DDPPPPXXXX,n,Hangup()
; PPPPXXXX => PPPP[INTERVALO DE RAMAIS] / PPPP => Prefixo do PABX
; repetir configuração para cada instituição colocalizada

[ip]
exten => _1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _1XXXXXXX,n,Hangup()
exten => _0XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0XX1XXXXXXX,n,Hangup()
exten => _0055XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0055XX1XXXXXXX,n,Hangup()

[local-block]
exten => _0DDNXXXXXXX,1,Hangup()
exten => _0055DDNXXXXXXX,1,Hangup()

[semum0]
exten => _0XXNXXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0XXNXXXXXXX,n,Hangup()

Manual de Configuração do Asterisk como gateway de voz FXO 8


[comum0]
exten => _0XXNXXXXXXX,1,SetVar(prefixo=${EXTEN:0:3})
exten => _0XXNXXXXXXX,n,Dial(OH323/${prefixo}1${EXTEN:3},60,rtT)
exten => _0XXNXXXXXXX,n,Hangup()

[internacional]
exten => _00XXXXXXXXX.,1,Dial(OH323/${EXTEN},60,rtT)
exten => _00XXXXXXXXX.,n,Hangup()

[semum55]
exten => _0055XXNXXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0055XXNXXXXXXX,n,Hangup()

[comum55]
exten => _0055XXNXXXXXXX,1,SetVar(prefixo=${EXTEN:0:6})
exten => _0055XXNXXXXXXX,n,Dial(OH323/${prefixo}1${EXTEN:6},60,rtT)
exten => _0055XXNXXXXXXX,n,Hangup()

[to-pabx]
exten => _YYYYXXXX,1,Dial(ZAP/g1/${EXTEN:4},60,rtT)
exten => _YYYYXXXX,n,Hangup()
; YYYYXXXX => YYYY[INTERVALO DE RAMAIS]
; YYYY => Prefixo do Ramal da instituição
; fazer isto para cada prefixo do ramal do PABX

[to-pstn]
exten => _0DDNXXXXXXX,1,Dial(ZAP/g1/0${EXTEN:3},60,rtT)
exten => _0DDNXXXXXXX,n,Hangup()
; DD => Código da cidade
; 0 => Dígito usado para pegar uma linha externa
; :3 => Exclui os 3 primeiros digitos, no caso do PABX tiver
; aceitando somente os 8 digitos do numero

Contextos definidos:

• From-voip – trata as chamadas recebidas do canal oh323. O nome do contexto deve ser o
mesmo que o definido no arquivo oh323.conf;
• From-pabx – trata as chamadas provenientes do PABX originadas de ramais internos. O
nome do contexto deve ser o mesmo que o definido no arquivo zapata.conf para os canais
que receberão chamadas internas;
• From-pstn – trata as chamadas provenientes do PABX originadas da rede pública. O nome
do contexto deve ser o mesmo que o definido no arquivo zapata.conf para os canais que
receberão chamadas externas;
• Inicial – apresenta mensagem de voz para o usuário e coleta os dígitos do telefone
chamado;
• Pbx-block – evita que o usuário disque de volta para os ramais da instituição. Não faz
sentido um usuário ligar para um ramal conectado ao Asterisk e discar para um ramal do
PABX. Isto deve ser evitado, pois ocuparia duas linhas desnecessariamente;
• Colocalizados – cria regras que permitem o encaminhamento das chamadas para
instituições localizadas na mesma cidade que compartilham o mesmo código de área. Este
contexto só deve ser definido se a instituição estiver configurada para encaminhar chamadas
para a rede pública. Caso contrário é desnecessário. Objetiva o encaminhamento das

Manual de Configuração do Asterisk como gateway de voz FXO 9


chamadas para estas instituições através da rede IP, e não através da rede de telefonia
pública;
• IP – encaminha chamadas para telefones IP, números iniciados com 1, para o gatekeeper via
canal oh323;
• Local-block – não permite que chamadas originadas do PABX sejam encaminhadas para a
rede pública da cidade local, evitando a ocupação de duas linhas do PABX;
• To-pabx – Encaminha chamadas originadas do VoIP para ramais da instituição. Ao passar a
chamada para o PABX são enviados os somente os dígitos relativos ao ramal, 4 no exemplo;
• To-pstn - Encaminha chamadas originadas do VoIP para telefones da rede pública. Ao
passar a chamada para o PABX é enviado o digito utilizado para obter uma linha externa, no
exemplo o digito 0, e depois o número do telefone chamado retirando o código de área;
• Comum0 e Comum55 – chamadas originadas da rede pública, tendo como destino um
telefone tradicional alcançado através de outra instituição, são encaminhadas para o
gatekeeper através do canal oh323. Insere o digito 1 entre o código de área e o número do
telefone, para que chamadas originadas da rede pública não possam ser encaminhadas para
a rede pública;
• Semum0 e Semum55 – chamadas originadas de ramais internos, tendo como destino um
telefone tradicional alcançado através de outra instituição, são encaminhadas para o
gatekeeper através do canal oh323. As chamadas podem ser encaminhadas para a rede
pública;
• Intercional – Chamadas originas no pabx com destinos internacional.

Copie o arquivo de áudio que será tocado quando da chegada de uma chamada à porta FXO de seu
gateway Asterisk. Este arquivo pode ser obtido da RNP no site http://voip4ll.rnp.br usando o usuário
fornecido pela RNP.

root@maq2# mkdir /var/lib/asterisk/sounds/ivr


root@maq2# cd /var/lib/asterisk/sounds/ivr
root@maq2# cp bemvindo.gsm /var/var/lib/asterisk/sounds/ivr

6.
Passos Finais

Configure nas máquinas 1 e 2 para não habilitar canais não utilizados. Para isto, edite o arquivo
/etc/asterisk/modules.conf conforme o quadro abaixo.

[modules]
autoload=yes

noload => pbx_gtkconsole.so


noload => pbx_kdeconsole.so
noload => app_intercom.so
noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_phone.so

Manual de Configuração do Asterisk como gateway de voz FXO 10


noload => chan_modem_i4l.so
noload => chan_unicall.so
noload => chan_alsa.so
noload => chan_skinny.so
noload => chan_mgcp.so
noload => chan_iax2.so
noload => chan_oss.so
noload => chan_agent.so
noload => app_queue.so
noload => app_enumlookup.so
noload => app_voicemail.so
noload => app_ices.so
noload => pbx_dundi.so
noload => cdr_csv.so
noload => cdr_custom.so
noload => cdr_manager.so
noload => cdr_pgsql.so
noload => pbx_ael.so

[global]

Na máquina 2 apenas, adicione a linha abaixo no arquivo /etc/asterisk/modules.conf:

noload => chan_sip.so

Inicialize o Asterisk nas duas máquinas com tela de comando, e utilize o comando zap show
channels para visualizar os canais configurados e o contexto associado a cada canal.

root@maq2# asterisk -vvvc


...
maq2*ClI> zap show channels
Chan Extension Context Language MusicOnHold
pseudo from-pabx
1 from-pabx
2 from-pabx
3 from-pabx

• Garantir que todas as interfaces FXO entregues sejam instaladas e todos os canais estejam
operando.

Manual de Configuração do Asterisk como gateway de voz FXO 11


Exemplo para o primeiro canal da placa FXO depois de executar “asterisk -vvvvr”

maq2 *CLI> zap show channel 1 <= “1” é o número do canal

Channel: 1
File Descriptor: 9
Span: 1
Extension:
Dialing: no
Context: from-pstn
Caller ID:
Calling TON: 0
Caller ID name:
Destroy: 0
InAlarm: 0
Signalling Type: FXS Kewlstart
Radio: 0>
Owner: <None>
Real: <None>
Callwait: <None>
Threeway: <None>
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: ulaw
Fax Handled: no
Pulse phone: no
Echo Cancellation: 128 taps, currently OFF
Actual Confinfo: Num/0, Mode/0x0000
Actual Confmute: No
Hookstate (FXS only): Offhook

Deve aparecer a informação “Hookstate (FXS only): Offhook”, que foi mostrado em negrito no
exemplo acima. Repetir este comando para todos os canais, ou seja, em “zap show channel 1” no
exemplo acima, alterar o número 1 pelo número do canal que será verificado.

Manual de Configuração do Asterisk como gateway de voz FXO 12

Potrebbero piacerti anche