OutBound Call com Asterisk e Grandstream HT503
Acredito que possa ajudar as pessoas. Segue um rápido post de como fazer para originar chamadas do Asterisk utilizando o HT503 da Grandstream. O aparelho em questão é este:
Para fazer a conexão com o mesmo, eu segui o passo a passo do pessoal da VoIPShop Networks. (Segue o link do PDF).
Veja na imagem abaixo como verificar que está conectado no seu Asterisk com sucesso.
Primeiro vamos criar em "SIP.CONF" a conta do FXO:
[1155052424]
type=friend
username=1155052424
secret=1155052424
host=dynamic
context=from-pstn
qualify=yes
allow=all
qualify=2000
port=5060
nat=force_rport,comedia
dtmfmode=rfc2833
Criei em meu dialplan (extensions.ael)o seguinte padrão:
//---------------------------------------------------------------------
// Globals
//---------------------------------------------------------------------
globals {
TRUNK_ITSP=SIP/itsp;
TRUNK_IAX2=IAX2/itxrj;
EMBFIXO=1155052424;
EMBMOVEL=1155052424;
TOVRM=KOK;
NUMBERID=1155052424;
HORA=130;
FINANCEIRO=SIP/8012&SIP/8016;
OUVIDORIA=SIP/8005&SIP/8006;
}
//---------------------------------------------------------------------
// Contextos de Ambientes
//---------------------------------------------------------------------
context to-fixo {
h => {
//-> Registrar LE (Ligacao Encerrada)
NoOp(Lingacao encerrada por: ${HANGUPCAUSE});
Set(MOTIVO_HANGUP=${HANGUPCAUSE});
AGI(hangup_interaction.agi);
if(${MOTIVO_HANGUP} == 0)
Set(ENDCALL_REASON=OK);
else
Set(ENDCALL_REASON=LE);
AGI(/opt/telip/etc/agi-bin/custo.php,${FLUXO},${ID},${CDR(billsec)});
Hangup();
}
_[2-5]XXXXXXX => {
NoOp(Chamadas Locais via PSTN);
Set(CALLERID(num)=${NUMBERID});
Set(ARQGRAVA=${CDR(uniqueid)}-${CALLERID(num)}-${EXTEN}-${EPOCH});
Set(CDR(fluxo)=D1);
Set(FLUXO=D1);
Set(ID=${UNIQUEID});
AGI(blacklist.php,${EXTEN});
MixMonitor(${ARQGRAVA}.gsm,ba);
Dial(SIP/${EXTEN}@${EMBFIXO},40,rTtKkHhWw);
if (${DIALSTATUS} = "CONGESTION") {
PlayBack(prepaid-isbusy);
HangUp();
}
}
_0ZXZX[2-5]XXXXXXX => {
NoOp(Chamadas DDD Regional e Nacional via PSTN);
Set(CALLERID(num)=${NUMBERID});
Set(ARQGRAVA=${CDR(uniqueid)}-${CALLERID(num)}-${EXTEN}-${EPOCH});
Set(CDR(fluxo)=D2);
Set(FLUXO=D2);
Set(ID=${UNIQUEID});
AGI(blacklist.php,${EXTEN});
MixMonitor(${ARQGRAVA}.gsm,ba);
Dial(SIP/${EXTEN}@${EMBFIXO},40,rTtKkHhWw);
if (${DIALSTATUS} = "CONGESTION") {
PlayBack(prepaid-isbusy);
HangUp();
}
}
_0800. => {
NoOp(Chamadas 0800 via PSTN);
Set(CALLERID(num)=${NUMBERID});
Set(ARQGRAVA=${CDR(uniqueid)}-${CALLERID(num)}-${EXTEN}-${EPOCH});
Set(CDR(fluxo)=D0);
Set(FLUXO=D0);
Set(ID=${UNIQUEID});
AGI(blacklist.php,${EXTEN});
MxMonitor(${ARQGRAVA}.gsm,ba);
Dial(SIP/${EXTEN}@${EMBFIXO},40,rTtKkHhWw);
NoOp(${DIALSTATUS});
if (${DIALSTATUS} = "CONGESTION") {
PlayBack(prepaid-isbusy);
HangUp();
}
}
_400X. => {
NoOp(Chamadas 400X via PSTN);
Set(CALLERID(num)=${NUMBERID});
Set(ARQGRAVA=${CDR(uniqueid)}-${CALLERID(num)}-${EXTEN}-${EPOCH});
Set(CDR(fluxo)=D0);
Set(FLUXO=D0);
Set(ID=${UNIQUEID});
AGI(blacklist.php,${EXTEN});
MixMonitor(${ARQGRAVA}.gsm,ba);
Dial(SIP/${EXTEN}@${EMBFIXO},40,rTtKkHhWw);
NoOp(${DIALSTATUS});
if (${DIALSTATUS} = "CONGESTION") {
PlayBack(all-circuits-busy-now);
HangUp();
}
}
_19X => {
NoOp(Chamadas de Emergencias via PSTN);
Set(CALLERID(num)=${NUMBERID});
Set(ARQGRAVA=${CDR(uniqueid)}-${CALLERID(num)}-${EXTEN}-${EPOCH});
Set(CDR(fluxo)=D0);
Set(FLUXO=D0);
Set(ID=${UNIQUEID});
AGI(blacklist.php,${EXTEN});
MixMonitor(${ARQGRAVA}.gsm,ba);
Dial(SIP/${EXTEN}@${EMBFIXO},40,rTtKkHhWw);
NoOp(${DIALSTATUS});
if (${DIALSTATUS} = "CONGESTION") {
PlayBack(all-circuits-busy-now);
HangUp();
}
}
};
Tudo configurado vamos fazer a parte da configuração do HT503 para que tenhamos a chamada originada sendo encaminhada diretamente para a PSTN.
Para funcionar corretamente o registro deixa tal como está a imagem:
Ainda em FXO Port faça as alterações da imagem abaixo. OBS: Os produtos da Grandstream tem um bug de timeout. Então faça uma mudança e clique em "Apply" e logo depois em "Update", pois pode perder tudo que fez.
Agora o pulo do gato! em "Basic Settings":
Faça o encaminhamento final para o Dial ser enviado para a "PSTN!".
Pronto! Suas chamadas originadas do seu Asterisk já estão funcionando perfeitamente! Eu estou usando Ubuntu Server 14.04 LTS e Asterisk 12 com banco de dados PostgreSQL 9.12.16.
O que ? InBound Call ? Putz vai ficar para o próximo, pois ainda não consegui resolver isto não! kkkkkkk.
Deixe um comentário