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

Transcrição

Manual de Configuração do Asterisk Como Gateway de Voz
1.
Instalação da Placa TE110P
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 (máquina 2), efetuando assim a interligação do
mundo VoIP com o mundo da telefonia tradicional.
Instale cuidadosamente a placa de voz E1 digium TE110P no slot PCI.
Ligue a máquina, e após a carga do sistema operacional utilize o utilitário lspci para verificar se a
placa E1 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 E1 é impressa no comando lspci conforme exibido acima.
Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
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 wcte11xp
root@maq2# modprobe zaptel
Verifique se os módulos foram carregados através do comando lsmod.
root@maq2# lsmod | grep zaptel
zaptel
224260 1 wcte11xp
crc_ccitt
5888
1 zaptel
Edite o arquivo /etc/zaptel.conf para que reflita a placa E1 Digium TE110P. O canal 16 do canal E1
será utilizado para sinalização e os outros 30 para transporte de mídia. Note que a identificação
destes canais pode variar conforme a quantidade de placas de telefonia instaladas no servidor
No exemplo a seguir é apresentada a configuração de uma placa TE110P onde será utilizada
sinalização ISDN.
span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
dchan=16
loadzone = us
Caso seja utilizada sinalização E1/R2 deve ser usada a configuração abaixo.
span=1,1,0,cas,hdb3
bchan=1-15,17-31
dchan=16
loadzone = us
Carregue a configuração especificada através do utilitário ztcfg.
root@maq1# ztcfg -vvvd
Zaptel Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
Channel map:
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
Channel
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
D-channel (Default) (Slaves: 16)
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
Clear channel (Default) (Slaves:
01)
02)
03)
04)
05)
06)
07)
08)
09)
10)
11)
12)
13)
14)
15)
17)
18)
19)
20)
21)
22)
23)
24)
25)
26)
27)
28)
29)
30)
31)
31 channels configured.
O utilitário zttool pode ser utilizado para verificar se a placa foi identificada e configurada
corretamente.
3.
Configuração do Canal Zap
A configuração a ser seguida se for utilizada sinalização ISDN, caso a instituição vá utilizar E1/R2
siga as instruções do capítulo 4.
Edite o arquivo /etc/asterisk/zapata.conf para refletir as interfaces instaladas no servidor e a
sinalização utilizada por essas interfaces.
[channels]
context=default
switchtype=qsig
signalling=pri_cpe
ajuste de acordo com o adotado pelo PABX
usecallerid=yes
group=1
context=> from-pabx
channel=> 1-15,17-31
4.
Configuração do Canal Unicall
Caso a instituição vá utilizar a sinalização E1/R2, edite o arquivo /etc/asterisk/modules.conf e
comente a linha noload => chan_unicall.so, caso exista.
Edite o arquivo /etc/asterisk/unicall.conf para refletir as interfaces instaladas no servidor e a
sinalização utilizada.
[channels]
context=from-pabx
usecallerid=yes
hidecallerid=no
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no
protocolclass=mfcr2
protocolvariant=br,20,7
protocolend=cpe
group = 3
channel => 1-15
channel => 16-31
ajustar de acordo com o PABX
5.
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 da MAQ2
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
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
gatekeeperTTL=600
userInputMode=STRING
amaFlags=default
accountCode=H323
language=en
musiconhold=default
context=from-voip
[register]
alias=gw-pabxnome
gwprefix=NNNN
gwprefix=0XX
[codecs]
codec=G711U
frames=20
6.codec=G711A
frames=20
Configuração
do Plano de Numeração
use o IP da MAQ2
use o IP da MAQ1
<- este contexto deve ser from-voip
nome da instituição
Prefixo do PABX
Código da cidade da instituição
6.
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]
exten => 25983000,1,Answer()
exten => 25983000,n,Set(TIMEOUT(digit)=5)
exten => 25983000,n,Set(TIMEOUT(response)=10)
exten => 25983000,n,Background(ivr/welcome)
exten => t,1,Hangup()
exten => i,1,Hangup()
exten => h,1,Hangup()
include
include
include
include
include
=>
=>
=>
=>
=>
internacional
colocalizados
ip
local-block
identifica-origem
[internacional]
exten => _00XXXXXXX.,1, Dial(OH323/${EXTEN},60,rtT)
[colocalizados]
exten => _PPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _55DDPPPPXXXX,1,Dial(OH323/${EXTEN},60,rtT)
; PPPP => prefixo do ramal do PABX
; DD => código da instituição
; fazer isto para cada ramal e para cada instituição colocalizada
[ip]
exten => _1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _0XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
exten => _55XX1XXXXXXX,1,Dial(OH323/${EXTEN},60,rtT)
[local-block]
exten => _0DDNXXXXXXX,1,Hangup()
exten => _55DDNXXXXXXX,1,Hangup()
; DD => código para instituição
[identifica-origem]
exten => _0XXNXXXXXXX,1,SetGlobalVar(destino=${EXTEN})
exten => _0XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum0|_0XX.|1)
...
; repetir esta linha, substituindo por todos os prefixos o seu PABX
...
; YYYY => prefixo do PABX
exten => _0XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“
]?semum0|_0XX.|1:comum0|_0XX.|1)
exten => _55XXNXXXXXXX,1,SetGlobalVar(destino=${EXTEN})
exten => _55XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“ ]?semum55|_55XX.|1)
...
; repetir esta linha, substituindo por todos os prefixos o seu PABX
...
; YYYY => prefixo do PABX
exten => _55XXNXXXXXXX,n,GotoIf($[ ${CALLERID(num)} : "YYYY“
]?semum55|_55XX.|1:comum55|_55XX.a|1)
[comum0]
exten => _0XXNXXXXXXX,1,SetVar(prefixo=${destino:0:3})
exten => _0XXNXXXXXXX,n,Dial(OH323/${prefixo}1${destino:3},60,rtT)
[comum55]
exten => _55XXNXXXXXXX,1,SetVar(prefixo=${destino:0:4})
exten => _55XXNXXXXXXX,n,Dial(OH323/${prefixo}1${destino:4},60,rtT)
[semum0]
exten => _0XXNXXXXXXX,1,Dial(OH323/${destino},60,rtT)
[semum55]
exten => _55XXNXXXXXXX,1,Dial(OH323/${destino},60,rtT)
[to-pabx]
exten => _YYYYXXXX,1,Dial(CHANNEL/g1/${EXTEN:4},60,rtT)
exten => _YYYYXXXX,n,Hangup()
; YYYY => Prefixo do Ramal da instituição
; fazer isto para cada prefixo do ramal do PABX, supondo que o seu PABX
; reconheça o telefone do seu PABX pelos seus últimos 4 dígitos.
; CHANNEL => Nome da sinalização usada
; – se ISDN, usar ZAP
; – se R2, usar UNICALL
[to-pstn]
exten => _0DDNXXXXXXX,1,Dial(CHANNEL/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
; CHANNEL => Nome da sinalização usada
; – se ISDN, usar ZAP
; – se R2, usar UNICALL
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 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.
• Identifica-Origem – identifica se a origem da chamada é um ramal interno ou um telefone da
rede pública. Usa contextos diferentes para tratar o encaminhamento da chamada de acordo
com a origem e o número discado.
• 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.
Copie o arquivo de áudio que será tocado quando da chegada de uma chamada através do tronco E1
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#
root@maq2#
root@maq2#
mkdir /var/lib/asterisk/sounds/ivr
cd /var/lib/asterisk/sounds/ivr
wget http://www.voip.nce.ufrj.br/download/bemvindo.gsm
Inicialize o Asterisk 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 -vvvvc
...
maq2*ClI> zap show channels
Chan Extension Context
pseudo
from-pabx
1
from-pabx
2
from-pabx
3
from-pabx
4
from-pabx
5
from-pabx
6
from-pabx
7
from-pabx
8
from-pabx
9
from-pabx
10
from-pabx
11
from-pabx
12
from-pabx
13
from-pabx
14
from-pabx
15
from-pabx
17
from-pabx
18
from-pabx
19
from-pabx
20
from-pabx
21
from-pabx
22
from-pabx
23
from-pabx
24
from-pabx
25
from-pabx
26
from-pabx
27
from-pabx
28
from-pabx
29
from-pabx
30
from-pabx
31
from-pabx
Language MusicOnHold

Documentos relacionados

Configuração do ASTERISK

Configuração do ASTERISK Um dos mecanismos que aumentam a segurança, é a hipótese de não se ter que correr o asterisk com a conta de um utilizador com permissões elevadas (eg. root). Um pequeno tutorial sobre como se por a...

Leia mais