menu

segunda-feira, 10 de fevereiro de 2014

#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.







Um comentário: