Interligando o Asterisk com o callcenter

Pessoal, neste artigo vou passar um breve experiência que tive na tarefa de interligar o asterisk com o callcenter da empresa.

[ Hits: 21.616 ]

Por: Luis Viscardo Saqueto em 06/05/2008


O artigo



Pessoal, o intuito desse artigo é ajudar a quem já conhece basicamente o asterisk a adicionar uma função muito desejada em empresas, que é o reconhecimento do cliente através de bina.

Antigamente usavam a porta serial do pabx para fazer essa tarefa, como hoje já é dispensável o pabx para quem tem um bom servidor asterisk, vou ensinar como fazer isso com esse servidor que está revolucionando a telefonia!

Ao escrever esse artigo eu suponho que quem vá ler já conhece os princípios básicos do asterisk, shell e mysql.

Configurando o MySQL

Vou fazer da forma mais simples possível, ficando fácil de cada um adaptar no seu sistema.

Vamos ao banco:
  Campo     Tipo     
  codigo    int(11)   (PK) Auto increment           
  data      varchar(100)                
  telefone  varchar(100)                
  ramal     varchar(100)                
  flag      char(1)     

O banco é bem simples, só vou registrar um código, a data e hora da ligação do telefone, o ramal que atendeu e uma marcação pra ver se já foi visualizada essa chamada pelo atendente.

Configuração do Asterisk

No Asterisk não tem muito segredo também, o grande lance é você gravar no banco de dados as informações do atendimento no momento em que a chamada é atendida.

Extension.conf

[globals]

Ramal1=SIP/36
Ramal2=SIP/35

[atendimento]

;Aqui é aonde caem todas minhas ligações, no exemplo eu coloquei 2 ramais, percebam que eu executo uma macro no momento do atendimento.
exten => s,1,Dial(${Ramal1}&${Ramal2},${TOQUE},TtmM(gravabanco,${CALLERIDNUM},${TIMESTAMP}))

[macro-gravabanco]
exten => s,1,System(mysql -u usuario -h localhost -e "INSERT INTO ligacoes(codigo\,data\,telefone\,ramal\,flag) VALUES(NULL\,\'${ARG2}\'\,\'${ARG1}\'\,\'${CHANNEL}\'\,\'0\')" --password=senhasecreta dbtest)

;Assim toda vez que for executado um atendimento vai ser executada essa linha de comando no Linux, adicionando o registro ao banco.

Agora é simples, basta você buscar no banco através de um php ou qualquer outra linguagem esse registro no momento que ele for adicionado ou quando o atendente quiser buscar e comparar com o telefone que você possui no seu banco de dados.

Não tem segredo, qualquer dúvida entrem em contato!

   

Páginas do artigo
   1. O artigo
Outros artigos deste autor

Configurando o bind 9 no Debian

OSPF + quagua + CentOS 5.3

Leitura recomendada

Instalando o Debian (ilustrado)

Desmistificando o Linux Loader (LILO)

Montando um servidor WAP

Servidor Jabber com Openfire + MySQL + Debian Lenny

Configuração da placa wireless LinkSys WUSB54G com drivers de Linux

  
Comentários
[1] Comentário enviado por pop_lamen em 06/05/2008 - 16:53h


[2] Comentário enviado por antonioclj em 06/05/2008 - 16:57h

Boa tarde Luis. Você disse que estava fazendo um bina mas o próprio sistema Asterisk já reconhece a ligação. E o que você fez foi gravar todas as ligações que chegam em um banco de dados desta forma eu chamaria isto de histórico de ligações. Agora falta mostrar um sistema implementado usando os dados do seu banco de dados coisa para o próximo artigo né :-). No mais valeu por compartilhar os seus conhecimentos aqui no site.

[3] Comentário enviado por viscardo em 06/05/2008 - 16:58h

Pop_lamem ,Obrigado pela sugestão mais não é bem a o intuito do artigo, vc pode encontrar sobre mysql no site, uma vez q é um assunto bem comum, sobre o extension vc pode encontrar no site da voip-info, lá tem diversas dicas.

Criei o artigo com intuito de ensinar algo que não se encontra em artigos na internet e receitinhas de bolo, bom proveito para todos.

Quanto ao mysql qq dia desses crio um artigo para vc entender melhor como funciona !! valew !

[4] Comentário enviado por viscardo em 06/05/2008 - 17:01h

Olá antonio, o sistema de bina do asterisk funciona sim, mais ele não tem ligação com o sistema financeiro nativamente, e o relatório do asterisk tb já existe chama-se CDR, mais ele só registra após a conclusão da ligação, assim não tem como verificar no sistema qual o cliente no momento em que você está falando com ele, da forma como eu passei vc consegue gravar esse registro no momento do atendimento.

Da forma como está é só vc buscar isso no banco de dados, isso seria mais com o php e fugiria um pouco do foco, qualquer coisa me mande um email ou poste aki que eu lhe ajudo a implementar essa parte !

[5] Comentário enviado por antonioclj em 07/05/2008 - 23:53h

E ai blz? Espero que sim. Se você puder mandar o código que você usou para buscar as informações no banco de dados fico agradecido. Até mais.

antonioclj em gmail.com

[6] Comentário enviado por marcos_bazzo em 06/04/2009 - 17:46h

Cara to precisando de uma ajuda.

Como faço para fazer uma rota de saida do seguite modo:
tenho 10 troncos.

Exemplo dos troncos 1,2,3 estiverem cheios, e ele tera que sair pelo 4, e assim na sequencia.

Se puder me ajudar eu agradeço, é para o meu TCC.

Obrigado

[7] Comentário enviado por Allthe em 10/12/2010 - 19:34h

Olá a todos,

Eu alterei o meu código assim:

exten => xxxx,1,Answer ;
exten => xxxx,n,Set(DB(test/count)=1234)
exten => xxxx,n,Set(COUNT=${DB(test/count)})
exten => xxxx,n,Authenticate(${COUNT}) ;

A questão é a seguinte como carreguei a variável test/count=1234. Como posso agora encontrá-la no Mysql de modo a altera-la via Mysql?

Alguém pode dar uma ajuda?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts