asterisk + node
DESCRIPTION
Palestra ministrada no encontro Nodebr - The zuera never ends em 27/10/2014TRANSCRIPT
AsteriskNode
Raspberry pi
Oque é AsteriskSoftware livre que permite transformar um PC em uma central Telefônica.
Desenvolver oque com isso ?
Chamadas: Gerador de chamadas
Ura de atendimento:Auto atendimento de chamadas com integração com sistemas como ERP CRM.
Voice Captcha:Envio e chamadas para validação de senha
Hadwares
Raspberry pi:Debian, asterisk, Nodejs
Telefones IP:Yealink T22Khomp IPS 200
Asterisk Config[100]secret=100dtmfmode=rfc2833canreinvite=nocontext=discadorhost=dynamictype=friendnat=force_rport,comedianatport=5060qualify=yescallerid=100callcounter=yes
[101]secret=101dtmfmode=rfc2833canreinvite=nocontext=discadorhost=dynamictype=friendnat=force_rport,comedianatport=5060qualify=yescallerid=100callcounter=yes
Ramaismanager.conf
[general]enabled = yesport = 5038bindaddr = 0.0.0.0
[quick]secret = 123deny=0.0.0.0/0.0.0.0permit=0.0.0.0/0.0.0.0read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originatewrite = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
cdr_custom.conf
[mappings]cdr_fifo.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
Informações de chamadas
CDR - Call Detail RecordsInformações da chamada realizada ou recebida pelo sistema.
Podemos proceder de 2 formas:
1 - Rodar o node na maquina do asterisk e ficar aguardando as inserção de um novo dado em um arquivo txt configurado em: cdr_custom.conf
2 - Conectar na porta 5038 da central e aguardar um event cdr. O usuário de acesso deve ser criado em: manager.conf
Gerando chamadas Utilizando a porta 5038, pode-se gerar chamadas.
Enviando um ID para identificar a chamada.
Enviar variáveis para contextos
Determinar o tempo de duração da chamada
Conclusão
Utilizando o Nodejs e muito fácil criar aplicações interessantes utilizando chamadas telefônicas e integrações muitos poderosas que hoje no mercado custa uma boa fortuna ;)
LinksAsterisk: Software: www.asterisk.orgDicas e truques: www.voip-info.comNodejs:www.nodejs.orgPackages: keen.io, asterisk-managerRaspberry pi:www.raspberrypi.orgwww.adafruit.com