Manual de Configuração do Asterisk Como Gateway de Voz

Transcrição

Manual de Configuração do Asterisk Como Gateway de Voz
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. RTL8139/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
crc_ccitt
223620
5888
2 wctdm
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]
nome da instituição / IP
gw-pabxnome=sigip:xxx.xxx.xxx.xxx
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
gwprefix=NNNN
nome da instituição
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
root@maq2#
root@maq2#
cd /var/lib/asterisk/sounds/ivr
cp bemvindo.gsm /var/var/lib/asterisk/sounds/ivr
/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
pseudo
1
2
3
•
Context
Language
MusicOnHold
from-pabx
from-pabx
from-pabx
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

Documentos relacionados

Como configurar um ramal SIP/IAX em um servidor Asterisk

Como configurar um ramal SIP/IAX em um servidor Asterisk Onde teríamos as seguintes especificações: o ramal 200 pertence ao usuário Alex, que está no contexto interno e se loga de qualquer host (opção dynamic) com a senha x200y300 e pode efetuar a recebe...

Leia mais