FÓRUM DigiVoice

Fórum de Suporte Digivoice

Você não está logado.

#1 13/04/2012 17:54:28

quasar
Membro

ATENDIMENTO FALSO

Olá Pessoal!!

Seguindo os exemplos encontrados aqui, coloquei o comando EnableAnswerDetection na função OnAfterDial, mas isso tem provocando a detecção de atendimento falso por timeout, quando a ligação demora a se completar. Isso me parece ser um caso comum e a solução também me parece simples. Pensei em colocar o comando de detecção de atendimento na função OnCalling. Isso evitaria o problema. A questão é, se a demora para completar uma ligação é comum, esse problema também deve ser comum a outras pessoas, portanto, porque ninguém reclamou do problema aqui no forum? Será que só acontece em minha região? Qual o problema poderia ocasionar a detecção do atendimento no OnCalling e não no OnAfterDial?

Offline

 

#2 16/04/2012 14:33:24

PattyC
Visitante

Re: ATENDIMENTO FALSO

Olá quasar,

Nós não falamos disto no tópico "PROBLEMAS COM DETECÇÃO DE ATENDIMENTO ATRAVES DE INTERFACE
"?

No aguardo.

 

#3 16/04/2012 18:10:06

quasar
Membro

Re: ATENDIMENTO FALSO

Olá Patty!! O problema com a detecção de Caixa Postal foi resolvido, aliás, brilhantemente, com a dica que você me deu. O outro problema, que eu me esqueci de dar continuidade, não consegui resolver. Vc sugeriu aumentar a pausa após a discagem no método Dial(Port, Number,PauseAfterDial,DialType), mas essa pausa maior pode não ser suficiente em alguns casos. Se ela for grande demais, acredito que vá complicar quando o atendimento for imediato. O que pensei foi acionar a detecção de atendimento (EnableAnswerDetection) na função OnCalling, após o primeiro "ring". Não tive tempo de testar ainda. O que você acha dessa solução??

Offline

 

#4 16/04/2012 18:44:21

quasar
Membro

Re: ATENDIMENTO FALSO

Patty, testei minha idéia apresentada na resposta anterior e vi que não funciona muito bem, porque nem sempre a VoicerLib identifica o "ring" logo na primeira chamada. As vezes o telefone toca umas 3 vezes antes do sistema identificar o primeiro "chamando". Portanto, se a pessoa atender a chamada antes do sistema identificar que já esta chamando, a função OnCalling não é acionada, e consequentemente, o comando EnableAnswerDetection também não é acionado. Resultado... nada acontece. As opções então passam a ser as seguintes, ou eu derrubo a chamada se for atendido por timeout e ligo novamente ou se for possível, você me ensina uma configuração para melhorar a sensibilidade do sistema em perceber que está chamando logo no primeiro "ring". O que você sugere???

Offline

 

#5 17/04/2012 08:36:59

PattyC
Visitante

Re: ATENDIMENTO FALSO

Oi,

Você chegou a fazer as alterações que te sugeri no outro post?

--------------------------------------------------------------------------------------------------------------------------------
"Neste ambiente (placa FXO e interface celular) o ideal é reconhecer a inversão de polaridade das interfaces celulares, porém não temos este recurso disponível para a placa FXO.

O que deve estar acontecendo é que a operadora está enviando um som antes do tom de chamando
que a Voicerlib está interpretando como atendimento.

Para amenizar este problema, você pode aumentar a pausa após a discagem no método
Dial(Port, Number,PauseAfterDial,DialType) para evitar que ocorra atendimento por timeout. (Vi sua resposta dizendo que tentou esta alternativa)

Também é necessário gravar a ligação, identificar as frequências deste tom da operadora e
configura-lo no arquivo cp_default.cfg (\Arquivos de Programas\Voicerlib4) no campo
tone4, para que este tom não seja interpretado como atendimento.

Exemplo:

Em 'tone4' coloque o par de frequências do tom da operadora.

Dica: Para descobrir a frequência do tom, utilize o software Audacity (download free)."

----------------------------------------------------------------------------------------------------------------------------------

No aguardo.

 

#6 17/04/2012 16:34:19

quasar
Membro

Re: ATENDIMENTO FALSO

Patty, aumentar a pausa não funcionou. O tempo de demora para completar a ligação varia muito. Se aumentar muito esse tempo, atrasa o serviço e prejudica quando o atendimento é imediato. O problema está acontecendo também com ligações para fixo e na OI da nossa região, não existe nenhum sinal. Sei disso pois estou monitorando a ligação através do áudio. O problema é simplesmente o atraso em completar a ligação. Ou seja, tem acontecido de ficar até 30 segundos em silêncio antes de começar a chamar. Nesse intervalo, o sistema atende por TimeOut. Como disse nas respostas anteriores, pensei em acionar a Detecção de atendimento só depois que começar a chamar, mas as vezes, começa o telefone de destino começa a chamar e o sistema só percebe que isso está chamando depois de 03 ou 04 toques, portanto não funciona, pois se a pessoa atender no primeiro ou segundo toque, o sistema não será acionado. Qual sua dica?

Offline

 

#7 17/04/2012 17:14:48

PattyC
Visitante

Re: ATENDIMENTO FALSO

Oi Quasar,

Dúvida: Você tem certeza que quando você monitora não vem nenhum áudio entre o "pós discagem" (quando terminou de discar) e o primeiro tom de chamando?

No aguardo.

 

#8 18/04/2012 18:34:45

quasar
Membro

Re: ATENDIMENTO FALSO

CERTEZA ABSOLUTA PATTY. O atendimento é por TimeOut não por áudio.

Offline

 

#9 19/04/2012 16:12:40

PattyC
Visitante

Re: ATENDIMENTO FALSO

Quasar,

A thread de CallProgress da VoicerLib, monitora os eventos de áudio, checando as frequências (tons ou áudio) e a cadência para discriminar os tons.

Isto é parametrizado no arquivo cp_default.cfg. No seu caso uma alternativa seria você não acionar o CallProgress até pegar um evento de tom válido (veja no manual da VoicerLib) o evento OnAudioSignalDetected, lá explica o que é cada coisa. Assim você não terá atendimento por timeout.

Você só precisa ficar verificando se veio um áudio (0x21) para detectar atendimento antes do tom de chamando (0x22). Se pegar um tom, habilite o callprogress com detecção de atendimento e tudo deve funcionar...

Tente isso.

 

Rodapé do fórum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson