Caso de uso do Butler

Descobrir o que aconteceu com esta chamada

Você tem um número e talvez um horário. Precisa saber onde a chamada caiu e de quem foi a culpa. Essa é, de longe, a pergunta mais comum que fazem ao Butler.

A situação

Primeiro alguém reclamou. Quase sempre começa assim, seja um usuário final, um revendedor ou um colega em outro canal, e o que chega até você é um único identificador: um número discado, às vezes um horário, às vezes nada além de “agora há pouco”.

Responder hoje significa abrir uma ferramenta de trace, saber qual Controlador de Borda de Sessão (SBC) analisar, encontrar a chamada, ler um diagrama SIP e saber o que um 480 significa naquele contexto. O Butler reduz tudo isso a uma frase digitada na janela de chat que você já tem aberta.

As respostas

Escolha uma pergunta e leia a conversa completa

Todas estas conversas vêm de uma mesma tarde, sem edição, com os identificadores mascarados. Leia a segunda para ver o que o Butler faz quando não tem os dados que você pediu.

#voice-opsChat
EN

Engenheiro 10:19
@VI - Butler Nossa operadora nos mandou este Call-ID e diz que a chamada nunca chegou até ela: 021CC6ECFA8140000005CEAE@TS_VOIP1. O que sabemos sobre ela?
B

VI - Butler APP 10:19
vitrace_find_sessions  call_idvitrace_get_chain  session_uuid
Senhor, encontrei a chamada. O Call-ID que a operadora passou pertence a um trecho interno, um salto de trânsito entre os nossos dois SBCs, e não à chamada destinada a ela.
FLUXO DA CHAMADA13140644549 → 105112125644549 (normalizado para +1 212 564 4549) Salto 1 sbc-sut-00 recebida do cliente em DOMESTIC_ATTSalto 2 sbc-sut-01 encaminhada para DOMESTIC_VERIZON
O trecho que saiu do sbc-sut-01 em direção à operadora usa um Call-ID diferente: 021CC6ECFA8140000003107D@TS_VOIP0. O que ela passou é o link interno entre os nossos SBCs. Ela nunca poderia vê-lo.
O que realmente aconteceu

  • A chamada foi atendida às 10:16:10 UTC
  • Duração de 87 segundos, com áudio conectado nos dois sentidos
  • Desconexão normal por quem ligou, e os dois trechos indicam release_source ConnectedLeg, então o lado da operadora estava ativo e conectado quando a chamada terminou
Se a operadora diz que nunca recebeu esta chamada, eu pediria que ela procurasse o Call-ID 021CC6ECFA8140000003107D@TS_VOIP0.

Uma operadora negava ter recebido uma chamada e citava um Call-ID para provar. O Butler encontrou a chamada e depois notou o detalhe que encerra a discussão: o Call-ID citado pertence ao salto entre dois dos nossos próprios SBCs, então a operadora não poderia tê-lo visto. Ele devolveu o Call-ID que ela deveria procurar e confirmou que a chamada foi atendida e durou 87 segundos. Isso seriam vinte minutos em uma captura de pacotes, e o resultado é uma frase que você pode mandar direto para a operadora.

#voice-opsChat
EN

Engenheiro 10:19
@VI - Butler Uma chamada falhou com um 503 hoje de manhã. Preciso saber se foi do nosso lado ou do lado da operadora antes de responder ao cliente.
B

VI - Butler APP 10:19
Senhor, para encontrar a chamada preciso de um pouco mais: o número de telefone envolvido, o horário aproximado e em qual fuso horário, e por qual SBC ela passou, se souber.
EN

Engenheiro 10:24
@VI - Butler Desculpe, quem ligou foi o 13140758499, por volta das 09:40 UTC hoje de manhã. Não sei qual SBC.
B

VI - Butler APP 10:24
vitrace_find_sessions  number, 09:00 to 10:30, sip_code=503vitrace_get_chain
O 503 veio da operadora, no NAP DOMESTIC_VERIZON.
09:42 UTCentrou no sbc-sut-00 por DOMESTIC_ATT 09:42:07roteada SUT-00 → SUT-01 → SUT-02 e de voltacada trecho de saída para a operadora 503falhou após ~3 s, 13 tentativas de roteamento
As evidências

  • O release_source de cada trecho de saída é LocalLeg, com sip_final_response 503
  • O original_cause é 503_SERVICE_UNAVAIL(503)
  • O seu SBC enviou o INVITE e a operadora devolveu 503 Service Unavailable
Você pode dizer ao cliente que a falha foi do lado da operadora, não da sua plataforma.

A primeira mensagem é a que vale a pena ler. Quando perguntaram sobre “uma chamada que falhou com um 503 hoje de manhã”, o Butler não escolheu uma chamada qualquer torcendo para acertar. Pediu um número, um horário aproximado e um SBC, e depois a encontrou com um filtro no servidor pelo código de resposta, em vez de percorrer linhas. A resposta cita as evidências usadas antes de chegar à conclusão, e é isso que permite encaminhar a última linha como está.

#voice-opsChat
EN

Engenheiro 10:19
@VI - Butler O usuário final jura que o telefone nunca tocou, mas do nosso lado a chamada aparece como ocupada. Quem está certo? A mais recente que você encontrar.
B

VI - Butler APP 10:19
vitrace_find_sessions  cause=UserBusyvitrace_get_chainvitrace_get_sip_ladder
O seu lado está certo. A chamada estava realmente ocupada.
07:52:27 UTC180 Ringing ← 07:52:27.353486 Busy Here ← 07:52:27.373 (20 ms depois)
Por que o telefone nunca tocou

  • O 180 Ringing foi enviado pela central de terminação, não pelo aparelho do usuário final
  • O toque que aparece no diagrama é apenas sinalização: a outra ponta indicava que estava tentando alertar o destino
  • O 486 voltou 20 ms depois, então o aparelho quase certamente não teve tempo de tocar fisicamente
O 486 Busy Here foi real. Talvez o usuário final não tenha ouvido tocar, mas a rede tentou entregar a chamada e recebeu um sinal de ocupado do lado dele.

As duas partes estavam certas, e é por isso que a discussão não chegava a lugar nenhum. A rede tentou entregar a chamada e o telefone não tocou: vinte milissegundos explicam tudo. Repare que o Butler não escolheu um lado para defender. Ele leu o que a sinalização realmente dizia, e ela se mostrou mais precisa do que qualquer uma das partes.

#voice-opsChat
EN

Engenheiro 10:19
@VI - Butler Quanto tempo esta chamada levou para conectar, e para onde foi esse tempo? 70e68306-b1ae-41ab-a499-bf40ac150242
B

VI - Butler APP 10:19
vitrace_get_chainvitrace_get_session_legs
O tempo de conexão foi de cerca de 2,9 segundos. Veja como ele se dividiu:
FASE DURAÇÃO SIGNIFICADOAtraso pós-discagem 295 ms do INVITE até o primeiro toque: roteamento e processamento no destinoTempo de toque 2.884 ms do primeiro toque ao atendimentoTotal até conectar ~2,9 s
A chamada começou às 10:16:07.141 e foi atendida às 10:16:10.025. Os dois trechos foram atendidos quase ao mesmo tempo, então a demora foi principalmente a espera para que a pessoa chamada atendesse.

Um número que não diz nada, dividido em dois que dizem alguma coisa. De quase três segundos para conectar, 295 milissegundos foram atraso pós-discagem, ou seja, o roteamento e o processamento do próprio destino, e os outros 2,9 segundos foram a pessoa chamada sem atender. O primeiro é uma questão de plataforma e o segundo não, e confundir os dois é como se perde uma tarde investigando o sistema errado.

#voice-opsChat
EN

Engenheiro 10:18
@VI - Butler Me dê duas frases sobre a chamada com falha mais recente de hoje que eu possa colar em um chamado para o cliente. Sem jargão, a pessoa não é engenheira.
B

VI - Butler APP 10:18
vitrace_find_sessions  status=failed, limit=1vitrace_get_chain
A chamada com falha mais recente foi às 10:04 UTC hoje de manhã. Uma chamada recebida do 13140530598 para o 205112125530598 não pôde ser completada porque o número de destino não foi encontrado no sistema da operadora. A chamada terminou imediatamente com uma resposta de “número não encontrado”.

A objeção de sempre a colocar um assistente na frente de um suporte é que ele vai afogar a equipe em detalhes. Este é o contraexemplo. Por trás dessa resposta, o Butler percorreu uma cadeia de três saltos e seis trechos e depois descartou quase tudo: nada de códigos de resposta, nada de nomes de NAP, nada de topologia. Três frases simples que a pessoa que abriu o chamado consegue de fato ler.

#voice-opsChat
EN

Engenheiro 15:23
@VI - Butler Me dê um resumo de uma tentativa de chamada para o 5XX 6600 às 13:15 13:38
B

VI - Butler APP 15:23
vitrace_find_sessions  callee_number=“5XX 6600”, 13:00 to 14:00
Senhor, encontrei 6 chamadas para o 5XX 6600 entre 13:00 e 14:00. Estas são as mais próximas dos horários que o senhor indicou:
Janela das 13:1513:18:50 de 6XX XX2469 46 segundos CONCLUÍDA Janela das 13:3813:38:02 de 5XX 5202 29 segundos CONCLUÍDA13:38:42 de 5XX 5202 234 segundos CONCLUÍDA
As duas chamadas das 13:38 vieram do mesmo número. A primeira durou 29 segundos e a segunda quase 4 minutos. Todas as chamadas foram concluídas normalmente. Quer que eu traga o diagrama SIP de alguma das chamadas das 13:38, senhor?
EN

Engenheiro 15:25
@VI - Butler O usuário diz que essas chamadas falharam e foram desconectada antes da hora. Inclua por favor o diagrama SIP das duas
B

VI - Butler APP 15:26
Chamada 1: 13:38:02 (29 segundos)INVITE (198.51.100.10 → 203.0.113.20)100 Trying ←180 Ringing ←200 OK ←ACK →BYE → (Normal Clearing)200 OK ←
Desconexão iniciada por quem ligou, com encerramento normal. A chamada 2, às 13:38:42, mostra o mesmo diagrama ao longo de 3 min 54 s.
Avaliação. As duas chamadas foram concluídas com sucesso e encerradas normalmente. Nos dois casos, o BYE foi enviado por quem ligou, com Normal Clearing. Não há nenhuma falha ou desconexão prematura visível no diagrama SIP. As chamadas terminaram do lado da origem, não do destino.
EN

Engenheiro 15:33
@VI - Butler Na chamada 1; qual codec foi negociado e usado na chamada. Não quais codecs estavam disponíveis, mas qual codec foi realmente usado.
B

VI - Butler APP 15:34
Os dois trechos da chamada usaram PCMA (G.711 lei A). Isso está confirmado nos dados dos trechos de CDR da cadeia, então PCMA foi o codec negociado e efetivamente usado durante toda a chamada.

O engenheiro disse que as chamadas falharam. As evidências diziam que não, e o Butler disse isso, com o diagrama como prova. Repare também que ninguém precisou repetir nada: na terceira mensagem a pergunta é só “na chamada 1”, e o Butler ainda tem as duas chamadas em mente. Uma resposta confiável é aquela que está disposta a discordar de você.

Como pedir

Os pedidos e aonde cada um leva

Copie um e troque os números pelos seus. As perguntas seguintes importam mais do que a primeira.

O que aconteceu com a chamada para o 5XX 6600 agora há pouco?
Quando pedir

Alguém reclamou e você só tem o número. Sem horário, sem direção, sem SBC.

O que você recebe

A chamada, a causa da desconexão e qual trecho a provocou.

Depois pergunte

Mostre o diagrama em ASCIIEste é o trecho de entrada ou de saída?Houve áudio?
Preciso dos dois trechos. Por qual NAP de saída a chamada saiu, e qual foi a causa de liberação?
Quando pedir

Você está prestes a abrir um chamado com uma operadora upstream e precisa que ele seja incontestável.

O que você recebe

O NAP de entrada, o NAP de saída, a origem da liberação e a causa da desconexão, que transformam “a chamada falhou” em “ela saiu por este tronco e aquela operadora recusou”.

Depois pergunte

Ela tentou outro caminho?Gere um PDF que eu possa encaminhar
O que o 503 dizia exatamente?
Quando pedir

O código de status não é a resposta. Você quer o texto exato do cabeçalho de motivo.

O que você recebe

A frase de motivo, mais qualquer cabeçalho Reason ou Warning que a acompanhe, que é a parte que um painel não consegue mostrar.

Depois pergunte

Qual lado enviou?Quantas outras iguais a essa hoje?
Qual codec foi realmente usado, e não quais estavam disponíveis?
Quando pedir

Uma reclamação de áudio, e a oferta SDP lista cinco codecs que não dizem nada.

O que você recebe

O codec negociado em cada trecho, lido nos registros dos trechos e não na oferta.

Depois pergunte

Qual foi o MOS em cada trecho?Houve transcodificação?
Mais exemplos, para quando você ainda está localizando a chamada

Tive alguma chamada para o 4XX 9002?
Estou procurando 3 chamadas feitas em 26/08 do 6XX 2467 para o 5XX 7366. Você consegue localizar os Call-IDs?
A chamada das 08:07 UTC teve problema de áudio? O MOS aparece como zero.
No dia a dia

Como ler o que volta

Leia um MOS vazio como “sem mídia”, não como uma nota ruim. O valor só existe quando houve mídia de fato, então, em uma chamada de duração zero, o Butler o informa como ausente em vez de mostrar um zero que pareceria uma nota de qualidade. Essas são justamente as chamadas sobre as quais mais se pergunta, então este é o campo cujo comportamento vale a pena conhecer.
Deixe os Nodes detectarem e depois pergunte ao Butler por quê. Os alertas de limite são gerados de forma programática pelos Voice Intelligence Nodes, com base nas regras que você define. Traga o alerta para o chat e o Butler vai descobrir o que está por trás dele.
Peça o arquivo no aplicativo que sua equipe usa. Slack, Teams e Telegram se comportam da mesma forma para tudo o que aparece nesta página. A única diferença é a entrega: os arquivos chegam na conversa no Slack e no Telegram, e no Teams o Butler os envia por e-mail e avisa que está fazendo isso.
Casos de uso do Butler

O que aconteceu com esta chamada?

Um número e, talvez, um horário. O Butler encontra a chamada e diz de que lado ela foi encerrada.

Contagens, agrupamentos, limites e KPIs sobre um conjunto de chamadas.

Tabelas de roteamento, regex e perfis SDP em linguagem simples.

Pergunte em francês, espanhol ou português e receba a resposta com base na documentação em inglês.

Mudanças, relatórios, arquivos e e-mails, cada um esperando o seu sim.

Cole a reclamação nas palavras do cliente e deixe o Butler encontrar a chamada.

Todos os casos de uso do Butler

Pergunte ao Butler sobre a sua própria chamada com falha

Implantado em 48 horas, com contrato mensal, no aplicativo de chat que sua equipe já tem aberto.

Ao enviar este formulário, suas informações serão processadas de acordo com nossa Política de Privacidade.