Fluxo de chamadas
Visão geral
Qualquer interação por voz começa com uma chamada. Este guia descreve como as chamadas são processadas em diferentes cenários.
Entrada As chamadas são feitas para a plataforma da Vonage por meio de um dos seguintes métodos:
- para um Número da Vonage de um telefone comum,
- para um Domínio SIP atribuído à aplicação a partir do PBX ou de qualquer software/hardware compatível com SIP,
- a partir de um aplicativo cliente usando o Client SDK.
Saída chamadas são aquelas feitas a partir da plataforma da Vonage para
- um número de telefone comum,
- um terminal SIP,
- aplicativo cliente, ou
- WebSocket servidor.
As chamadas de saída geralmente são iniciadas em resposta a uma solicitação feita por meio da API REST para criar uma nova chamada. As chamadas de saída também podem ser feitas a partir do fluxo de uma chamada existente (seja de entrada ou de saída) usando o connect ação dentro do NCCO. Esse cenário é geralmente utilizado para o encaminhamento de chamadas.
Existem dois tipos diferentes de chamadas em termos de fluxo de chamadas:
- Chamada “programada”: quando o fluxo é determinado por uma sequência de etapas de pergunta e resposta (ações);
- Conversa ao vivo: que conecta dois ou mais participantes em uma conversa.
Veja os dois Concepts descritos a seguir, incluindo comutação de forma contínua entre um e outro.
Chamada com roteiro
Tanto as chamadas recebidas quanto as efetuadas seguem inicialmente o mesmo fluxo de chamada assim que são atendidas. Esse fluxo de chamada é controlado por um NCCO. Um NCCO é um script de ações a serem executadas no contexto da chamada. As ações são executadas na ordem em que aparecem no script, com a próxima ação sendo iniciada assim que a execução da ação anterior for concluída. Para obter mais informações sobre NCCOs, consulte o Referência NCCO.
Quando a plataforma de API da Vonage recebe uma chamada no seu número da Vonage, ela envia uma solicitação HTTP para o answer_url fornecido. Para chamadas recebidas, o answer_url está configurado no seu Aplicativo de voz. Para chamadas de saída, você fornece um answer_url na solicitação da API que gera a chamada.
Inbound call
Você pode optar por fornecer seu NCCO como parte da solicitação que enviar para criar uma chamada, em vez de fornecer um answer_url. Isso é feito fornecendo um ncco atributo no objeto NCCO da sua solicitação.
Outbound call with embedded NCCO
Durante a chamada, a Vonage está enviando solicitações de retorno de chamada para o aplicativo no event_url, definido na configuração do aplicativo ou na ação do NCCO, caso haja uma definida no NCCO. Existem dois tipos de callbacks:
- notificações, por exemplo, uma alteração no status de uma chamada;
- solicitação de instruções, por exemplo, sobre um
inputounotifycallback — para esses eventos, a Vonage espera que o aplicativo forneça um novo NCCO para processamento, o que permite implementar diferentes fluxos lógicos de chamadas.
As chamadas estabelecidas com sucesso passam pelos seguintes estados:
startedringingansweredcompleted
A plataforma da Vonage envia callbacks de eventos correspondentes para cada status. Você pode encontrar mais detalhes no Referência sobre Webhooks.
O NCCO e os webhooks permitem programar o fluxo de atendimento como uma série de mensagens e perguntas ao usuário, o que se aplica a notificações por voz, IVR, assistentes de voz e outros cenários com uma lista predefinida de eventos possíveis. Com um NCCO, o aplicativo pode instruir a plataforma da Vonage a reproduzir a mensagem de áudio (conversão de texto em fala ou pré-gravado) e, em seguida, aguardar a entrada do usuário, seja com DTMF ou discurso. Quando o usuário faz uma seleção no menu, seu aplicativo é notificado e pode direcionar a chamada adequadamente, fornecendo novas instruções de chamada na forma de um NCCO.
Typical IVR flow
Conversa ao vivo
Em alguns cenários, por exemplo, um comunicação privada por voz Nesse caso de uso, você deseja conectar dois ou mais participantes para iniciar uma conversa ao vivo. Cada chamada, seja recebida ou efetuada, é automaticamente adicionada à nova conversa em segundo plano. Para conectá-la a outra chamada por meio de um NCCO, o aplicativo pode:
-
Crie uma nova chamada de saída com o
connectação — ela será automaticamente incluída na mesma conversa; -
Mover a chamada para uma conversa nomeada existente (ou nova) com o
conversationação.
Durante a conversa, a chamada não segue mais uma sequência de ações; agora é uma interação em tempo real entre dois ou mais participantes. Para controlar a chamada durante a conversa — por exemplo, para silenciar ou ativar o áudio de um participante —, o aplicativo deve usar o API REST.
Live conversation flow
Utilizando uma sequência de connect Com essas ações, o aplicativo pode adicionar outros participantes à conversa (até 50 participantes no total).
Como qualquer tipo de terminal de voz pode ser utilizado no connect ação, o segundo participante não é necessariamente um ser humano: pode ser um bot de voz que se comunica com o usuário por meio da mídia transmitida através do WebSocket conexão.
Alternar entre uma chamada com roteiro e uma conversa ao vivo
O IVR geralmente oferece uma ou mais opções para falar com um atendente ao vivo, com a equipe de vendas ou com o suporte técnico. Além disso, em alguns casos, uma conversa ao vivo pode incluir partes padronizadas. Por exemplo, uma pesquisa de satisfação do cliente. A Voice API permite alternar de uma forma de interação para outra, de modo que o fluxo da chamada possa consistir em três (ou mais, em casos complexos) partes:
-
IVR inicial, controlada pelo NCCO e por webhooks; termina com
connectouconversationação → -
Conversa ao vivo com uma pessoa (ou conferência com várias pessoas), controlada por meio da API REST; termina com
PUT /calls/{id}Chamada à API REST comtransferação → -
A pesquisa, conduzida em cooperação com a NCCO
Switching from scripted call to live conversation and back
O cenário descrito acima é um exemplo típico; no entanto, o aplicativo pode apresentar qualquer combinação de partes programadas e ao vivo, dependendo de um determinado caso de uso. Consulte o Tutorial sobre ampliação de centrais de atendimento para aprender como implementar o cenário descrito, passo a passo.