Como configurar o GoIP-1/4/8 (GSM VoIP Gateway) como um Gateway de tronco para o Asterisk® SCF™ (P3).
Então se você chegou aqui, eu estou, dando continuidade à este assunto. Aqui tem a primeira parte, recomendo que primeira realize os procedimentos que descrevo nele.
Somente para concluir, veja como está chegando a informação em seu Dialplan (Imagem 01) , ou seja o equipamento de fato está tentando fazer um registro em nosso Asterisk® SCF™. Foi assim que concluímos a segunda parte.
Hoje vamos fazer a seção de registro do nosso sistema GoIP bem como o contexto de tratamento das chamadas inbound. Antes somente uma explicação necessária, o termo GoIP é a abreviatura de G => GSM (Global System for Mobile Communications, ou "Sistema Global para Comunicações Móveis" é uma tecnologia móvel para telefones celulares. A tecnologia GSM é utilizada por mais de um bilhão de pessoas em mais de 200 países.), o = over (é um advérbio, que significa sobre em português do acordo ortográfico.), IP => Internet Protocol (Um Endereço de Protocolo da Internet, do inglês Internet Protocol address, é um rótulo numérico atribuído a cada dispositivo conectado a uma rede de computadores que utiliza o Protocolo de Internet para comunicação.). Então, isto é que significa a sigla GoIP, o equipamento de fato é um Gateway GoIP, assim como temos Gateway ToIP (Alígera, Khomp, Rhino, Sangoma, etc.).
Vamos editar o arquivo PJSIP.CONF, aqui não tenho como objetivo de explicar cada linha de configuração do mesmo, e sim, fazer as configurações de registro e tratamento do fluxo da chamada, caso queira de fato aprender sobre o PJSIP.CONF recomendo que leia o livro da Novatec Asterisk Guia Definitivo: Telefonia de código aberto para empresas.
# cd /etc/asterisk/
# mkdir pbx
# > pjsip.conf
# vim pjsip.conf
Inicio do arquivo PJSIP.CONF:
;========================================================
;== Exemplo de configuração PJSIP e Referência Rápida ==
;========================================================
[global]
type=global
user_agent=RK2222
[pbx-lan]
type=transport
protocol=udp
bind=0.0.0.0:5060
allow_reload=no
[pbx-default](!)
;suppress_q850_reason_headers=no
allow_subscribe=yes
subscribe_context=presence-blf
disallow=all
allow=alaw,ulaw,gsm,h263,h264,vp8
language=br
moh_suggest=espera
dtmf_mode=rfc4733
direct_media=no
force_rport=yes
rtp_symmetric=yes
rewrite_contact=yes
transport=pbx-lan
[pbx-interno](pbx-default,!)
type=endpoint
context=interno
[pbx-externo](pbx-default,!)
type=endpoint
context=externo
[pbx-itsp](pbx-default,!)
type=endpoint
context=from-itsp
[pbx-goip](pbx-default,!)
type=endpoint
context=from-itsp
[auth-user-pass](!)
type=auth
auth_type=userpass
[aors-user-register](!)
type=aor
max_contacts=1
remove_existing=yes
qualify_frequency=30
#include /etc/asterisk/pbx/pjsip_endpoints.conf
#include /etc/asterisk/pbx/pjsip_trunks.conf
;========================================================
Final do arquivo PJSIP.CONF.
# cd pbx
# > pjsip_endpoints.conf
# > pjsip_trunks.conf
# mkdir trunks
# mkdir endpoints
# vim pjsip_endpoints.conf
Inicio do arquivo PJSIP_ENDPOINTS.CONF:
;========================================================
;== Exemplo de configuração PJSIP_ENDPOINTS ==
;========================================================
#include /etc/asterisk/pbx/endpoints/1001.conf
;========================================================
Final do arquivo PJSIP_ENDPOINTS.CONF.
# vim pjsip_trunks.conf
Inicio do arquivo PJSIP_TRUNKS.CONF:
;========================================================
;== Exemplo de configuração PJSIP_TRUNKS ==
;========================================================
#include /etc/asterisk/pbx/trunks/6686.conf
;========================================================
Final do arquivo PJSIP_TRUNKS.CONF.
# cd trunks
# > 6686.conf
# vim 6686.conf
Inicio do arquivo 6686.CONF (Trunk para o GTW GoIP):
;========================================================
;== Exemplo de configuração PJSIP TRUNKS para o GoIP ==
;========================================================
[6686]
type=endpoint
context=from-goip
disallow=all
allow=ulaw
outbound_auth=6686
auth=6686
aors=6686
transport=pbx-lan
from_user=6686
send_diversion=yes
send_pai=yes
send_rpid=yes
trust_id_inbound=yes
trust_id_outbound=yes
[6686]
type=aor
contact=sip:192.168.0.2:5060
qualify_frequency=200
max_contacts=1
remove_existing=yes
[6686]
type=auth
auth_type=userpass
username=6686
password=944676686
[6686]
type=identify
endpoint=6686
match=192.168.0.2
;========================================================
Final do arquivo 6686.CONF (Trunk para o GTW GoIP).
OBS: no item send_diversion=yes, envia o cabeçalho de desvio transmitindo as informações de desvio ao agente do usuário chamado (default: "yes").
Já send_pai=yes envia o cabeçalho "P" identidade assertada (default: "no").
E trust_id_inbound=yes, aceita as informações de identificação recebidas deste terminal (default: "no"), deixamos yes, porque necessitamos das informações o GTW GoIP para fazer tratamentos de desvios de fluxo no Dialplan.
# cd ../endpoints/
# > 1001.conf
# vim 1001.conf
Inicio do arquivo 1001.CONF (Extensão Telefônica):
;========================================================
;== Exemplo de configuração PJSIP ENDPOINTS EXTENSION ==
;========================================================
[1001](pbx-externo)
type=endpoint
accountcode=1001
mailboxes=1001@default
voicemail_extension=1001
callerid=1001 <1001>
call_group=1
pickup_group=1
named_call_group=Engenharia
named_pickup_group=Engenharia
auth=1001
aors=1001
[1001](auth-user-pass)
type=auth
password=pbx1001
username=1001
[1001](aors-user-register)
type=aor
mailboxes=1001@default
voicemail_extension=1001
[1001]
type=identify
endpoint=1001
match=pbx.lan
;========================================================
Final do arquivo 1001.CONF (Extensão Telefônica).
Com estes arquivos configurados já estamos prontos para validar as autenticações de nossa Extensão Telefônica 1001, e de nosso Trunk 6686 com o GTW GoIP. Execute os comandos abaixo:
# rasterisk -x"reload"
# rasterisk -x"pjsip show endpoints"
Veja o resultado na imagem 02 a seguir:
Como, você pode ver, já estamos com uma extensão telefônica (soft-phone Grandstream WAVE em um Smartphone) em nosso Softswitch PBX IP (Baseado em Asterisk® SCF™) e nosso equipamento GTW GoIP do fabricante DBL Technology.
Nosso próximo passo, é fazer o tratamento do desvio de chamadas inbound com origem de nosso GTW GoIP para a Extensão Telefônica 1001, em nosso Smartphone, fazendo uso do soft-phone Grandstream WAVE.
# cd /etc/asterisk
# > extensions.conf
# > extensions.ael
# > extensions.lua
# vim extensions.conf
Inicio do arquivo EXTENSIONS.CONF:
;========================================================
;== Exemplo de configuração EXTENSIONS.CONF ==
;========================================================
[general]
static=yes
writeprotect=yes
autofallthrough=yes
extenpatternmatchnew=yes
clearglobalvars=no
;========================================================
Final do arquivo EXTENSIONS.CONF.
# vim extensions.ael
Inicio do arquivo EXTENSIONS.AEL:
//========================================================
//== Exemplo de configuração EXTENSIONS.AEL ==
//========================================================
#include "/etc/asterisk/pbx/exten_presence.ael"
#include "/etc/asterisk/pbx/exten_recursos.ael"
globals {
}
context interno {
includes {
ddr;
}
}
context externo {
includes {
ddr;
ddl;
ddd;
ddm;
ddi;
}
}
context ddr {
includes {
parkedcalls;
recursos;
}
_1XXX => {
verbose(Chamadas Internas);
Set(RECORDCALL=${UNIQUEID}-ORIG${CALLERID(num)}-para-R${EXTEN});
MixMonitor(${RECORDCALL}.wav,ba);
Dial(PJSIP/${EXTEN},15,rTtKkHh);
HangUp();
}
h => {
Verbose(Chamada encerrada);
}
}
context ddl {
}
context ddd {
}
context ddm {
}
context ddi {
}
context from-pots {
}
context from-pstn {
}
context from-itsp {
}
context from-goip {
_6686 => {
Verbose(Inbound GTW GoIP);
Answer();
Set(language=br);
Playback(call-fwd-unconditional&call-thankyou&call-goodbye);
StartMusicOnHold(mohpark);
Wait(30);
StopMusicOnHold();
goto ddr|1001|1;
HangUp();
}
}
//========================================================
Final do arquivo EXTENSIONS.AEL.
Imagem 03, Inbound Call for GTW GoIP:
Como pode ver em nossa última imagem deste post, já estamos com as chamadas Inbound do GTW GoIP sendo recebidas e procedendo com o devido desvio de fluxo para a Extensão Telefônica 1001.
Continua...
Deixe um comentário