Asterisk as ISDN signal provider

From Pruonckk.org

Conteúdo

Prefacio

Precisei realizar uma homologação de uma placa que pretendemos utilizar, então precisei pegar dois asterisk para realizar os testes necessários, um dos asterisk's estava com uma placa TE110P da Digium [1] e o outro com uma AP402 de Aligera [2], para realizar o teste, coloquei a aligera gerando sinal ISDN para o segundo, abaixo vou descrever as configurações necessárias.


Configuração do DAHDI

A Primeira placa configurada é a AP402 da aligera, vamos colocar este servidor como BOX-A e outro (com a placa digium) como BOX-B.

Para ligar os dois diretamente, será necessário um cabo crossover para E1/T1, para isso, utilize o que esta no link a frente [3] ou [4]

BOX-A

/etc/dahdi/system.conf

loadzone        = br
defaultzone     = br


span=1,1,0,ccs,hdb3,crc4
span=2,0,0,ccs,hdb3,crc4

dchan=16
bchan=1-15,17-31
dchan=47
bchan=32-46,48-62

Lembre-se que esta placa possui duas portas E1 , neste caso corrija o valor para o parametro que você necessitar.

BOX-B

/etc/dahdi/system.conf

span=1,0,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31

# Global data

loadzone        = us
defaultzone     = us

Note que a porta foi configurada para não gerar Clock de origem para a E1, isso é importante para evitar erros, o cancelamento de echo adicionado com o mg2 é opcional, coloque se achar necessário.


Configuração do chan_dahdi.conf

A Configuração do chan_dahdi é onde vamos definir o modo de operação no caso sendo pri_cpe para o cliente e pri_net para o servidor (origem).

BOX-A

/etc/asterisk/chan_dahdi.conf

[trunkgroups]

[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
switchtype=euroisdn
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
group=0
callgroup=0
pickupgroup=0
amaflags=billing
accountcode=e1test
callprogress=yes
progzone=br
mohinterpret=default
mohsuggest=default
signalling=pri_net
context=teste
channel=>1-15,17-31


BOX-B

/etc/asterisk/chan_dahdi.conf

[trunkgroups]

[channels]
;; ISDN
context=teste
switchtype=euroisdn
signalling=pri_cpe
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallinprogres=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
disallow=all
allow=ulaw
group=0
callgroup=0
pickupgroup=0
channel => 1-15
channel => 17-31


Criando um dialplan de teste

Note nas configurações foi definido o contexto como teste, então vamos abrir o arquivo extension.conf e criar um dialplan de testes

Dialplan de Teste

Vamos criar um dialplan de testes e também um ramal sip para efetivarmos o teste

BOX-A e BOX-B


extensions.conf

/etc/asterisk/extensions.conf

Adicione ao fim do arquivo o conteudo a baixo.

[teste]
exten => _X.,1,NoOp(Chamada entrando por nossa E1 de teste)
exten => _X.,n,Answer()
exten => _X.,n,Wait(2)
exten => _X.,n,PlayBack(vm-exten)
exten => _X.,n,WaitExten(4)
exten => _X.,n,PlayBack(vm-invalid)

exten => _XXXX,1,NoOp(Usuario discou ${EXTEN})
exten => _XXXX,n,Dial(SIP/${EXTEN},60,tT)
exten => _XXXX,n,Hangup()

[teste-saida]
exten => _X.,1,NoOp(Chamada saindo por nossa E1 de teste)
exten => _X.,n,Dial(DAHDI/g0/${EXTEN},60,tT)
exten => _X.,n,Hangup()

exten => _XXXX,1,NoOp(Chamada entre usuarios)
exten => _XXXX,n,Dial(SIP/${EXTEN},60,tT)
exten => _XXXX,n,Hangup()
sip.conf

/etc/asterisk/sip.conf

Adicione ao fim do arquivo o seguinte conteudo


; O dialplan foi feito com 4 digitos (XXXX) , pode colocar o numero de ramal que quiser, 
; se quiser usar menos de 4 digitos corrija no dialplan tambem
[1001]
defaultuser=1001  ; defaultuser é do asterisk 1.6 se voce esta usando 1.4 ou 1.2 troque para username
secret=teste
context=teste-saida
type=friend
host=dyanmic
qualify=yes
nat=yes ; troque para no se tiver na rede interna apenas
disallow=all
allow=ulaw,alaw

Realizando o teste

Obviamente é necessário fazer um restart no asterisk para validar todas as configurações e um dahdi_cfg -vvv para validar as configurações do dahdi, caso não tenha feito isso ainda faça agora, após o restart no asterisk, conecte seu ramal sip, um em cada servidor, disque um número qualquer e você ouvirá a gravação "Extension!", digite o numero do ramal que voce configurou na ponta sendo chamada e fale entre os dois ramais via E1 ISDN.

Como eu disse, esta é uma solução muito util para ambientes de testes e também para conexão com PABX Legado.



Voltar

Ferramentas pessoais
Inutilidades