#Tutorial-Elastix
com numero de protocolo
Atualmente, a
maioria das empresas prestadoras de serviços possui um serviço de atendimento
ao cliente, também conhecido como SAC.
Esse tipo de serviço tem se mostrado essencial nos últimos tempos, para
empresas de diversos seguimentos, inclusive as empresas que vendem produtos.
De acordo com
a determinação da ANATEL (Agência
Nacional de Telecomunicações), que regulamenta o serviço de call-center no Brasil, é necessário que
a empresa informe ao cliente, no início do atendimento, um número de protocolo
referente aquela ligação.
Como o ELASTIX nativo não possui essa
funcionalidade em seu receptivo resolvemos desenvolver e criar esse passo a
passo.
1°Passo
Criar um
contexto personalizado como mostra abaixo:
extensions_custom.conf
[numero-de-protocolo]
exten => s,1,Answer ;;atende ligação
exten => s,n,Gosub(protocolo,s,1);; envia ligação para
contexto que gera protocolo
exten => s,n,Dial(SIP/1147,30,Tt) ;;envia para o destino
exten =>
s,n,Hangup
[protocolo]
exten => s,1,NoOP(Protocolo);;escreve no console
exten =>
s,n,set(Protocolo=${STRFTIME(${EPOCH},GMT-3,%C%y%m%d%H%M%S)})
;;gera a variável protocolo
exten => s,n,SayDigits(${Protocolo});;fala o numero do protocolo
exten => s,n,Set(CDR(accountcode)=${Protocolo});;salva variável
no banco de dados
exten => s,n,Set(CALLERID(name)=${Protocolo});; envia o protocolo
no callerid da ligação
exten => s,n,Return ;;volta para numero-de-protocolo
obs: Esse contexto somente um exemplo para melhorar podemos inserir uma gravaçao por exemplo"bem vindo a empresa .... seu numero de protocolo e...."
exten => s,n(play),Background(custom/BemVindo,nm)
exten => s,n,SayDigits(${Protocolo})
2°Passo
Personalizar modulo reports para mostra numero de protocolo
no CDR.
No caminho /var/www/HTML fica todo os códigos da interface
web.
No caminho /var/www/html/modules/cdrreport fica todo os códigos
do modulo cdrreports
No arquivo /var/www/html/modules/cdrreport/índex.php
deve-se alterar as linhas 118,251 e 292 abaixo.
Linha 118
De:
"accountcode" => _tr("Account Code
"),
Para:
"accountcode"
=> _tr("Numero de Protocolo "),
Linha 251
De:
$arrColumns
= array(_tr("Date"), _tr("Source"), _tr("Ring
Group"), _tr("Destination"), _tr("Src.
Channel"),_tr("Account Code "),_tr("Dst.
Channel"),_tr("Status"),_tr("Duration"));
Para:
$arrColumns
= array(_tr("Date"), _tr("Source"), _tr("Ring
Group"), _tr("Destination"), _tr("Src.
Channel"),_tr("Numero
de Protocolo "),_tr("Dst.
Channel"),_tr("Status"),_tr("Duration"));
Linha 291
De:
$arrColumns
= array(_tr("Date"), _tr("Source"), _tr("Ring
Group"), _tr("Destination"), _tr("Src.
Channel"),_tr("Account Code"),_tr("Dst.
Channel"),_tr("Status"),_tr("Duration"));
Para:
$arrColumns =
array(_tr("Date"), _tr("Source"), _tr("Ring
Group"), _tr("Destination"), _tr("Src.
Channel"),_tr("Numero
de Protocolo "),_tr("Dst.
Channel"),_tr("Status"),_tr("Duration"));
CDR Report:
Field:
Assim facilita quando tiver que recuperar informações de uma ligação pelo numero de protocolo como mostra a imagem acima.
3°Passo
Enviar
ligação receptiva para o contexto [numero-de-protocolo]
extensions_custom.conf
;;MCDU 5356
exten =>
5356,1,Set(__FROM_DID=${EXTEN})
exten =>
5356,n,Gosub(app-blacklist-check,s,1)
exten => 5356,n,ExecIf($[
"${CALLERID(name)}" = "" ]
?Set(CALLERID(name)=${CALLERID(num)}))
exten =>
5356,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten =>
5356,n,Set(CALLERPRES()=allowed_not_screened)
exten
=> 5356,n(dest-ext),Goto(numero-de-protocolo,s,1)
4°Passo
Como mostra a imagem abaixo quando enviamos o numero do protocolo como callerid ele chega no visor do softfone junto com o numero do cliente.