Flujo de llamadas
Visión general
Toda interacción vocal comienza con una llamada. Esta guía describe cómo se procesan las llamadas en diferentes escenarios.
Entrada Las llamadas se realizan a la plataforma de Vonage mediante uno de los siguientes métodos:
- a un Número de Vonage desde un teléfono normal,
- a un Dominio SIP asignado a la aplicación desde PBX o cualquier software/hardware con capacidad SIP,
- desde una aplicación cliente mediante la función Client SDK.
Salida son llamadas realizadas desde la plataforma de Vonage a
- un número de teléfono normal,
- un punto final SIP,
- aplicación cliente, o
- WebSocket servidor.
Las llamadas salientes suelen iniciarse en respuesta a una solicitud realizada a través de la API REST para crear una nueva llamada. Las llamadas salientes también pueden realizarse desde dentro del flujo de llamadas de una llamada existente (ya sea entrante o saliente) utilizando la función connect acción dentro del OCN. Este escenario se utiliza generalmente para el desvío de llamadas.
Hay dos tipos diferentes de llamada en términos de flujo de llamadas:
- "Llamada "guionizadacuando el flujo está determinado por una secuencia de pasos (acciones) pregunta-respuesta;
- Conversación en directoque conecta a dos o más participantes en una conversación.
Véanse los dos conceptos descritos a continuación, entre ellos conmutación entre uno y otro.
Llamada con guión
Tanto las llamadas entrantes como las salientes siguen inicialmente el mismo flujo de llamadas una vez contestadas. Este flujo de llamadas está controlado por una OCNC. Una NCCO es un guión de acciones que se ejecutan en el contexto de la llamada. Las acciones se ejecutan en el orden en que aparecen en el guión, iniciándose la siguiente acción cuando la anterior ha terminado de ejecutarse. Para obtener más información sobre las OCNN, consulte la sección Referencia OCNC.
Cuando la plataforma API de Vonage recibe una llamada en tu número de Vonage, realiza una solicitud HTTP a la answer_url proporcionado. Para las llamadas entrantes, el answer_url está configurado en su Aplicaciones de voz. Para las llamadas salientes, se proporciona un answer_url en la solicitud de API que crea la llamada.
Inbound call
Puede elegir proporcionar su OCNN como parte de la solicitud que envía para crear una convocatoria en lugar de proporcionar un answer_url. Esto se hace proporcionando un ncco en el objeto NCCO de su solicitud.
Outbound call with embedded NCCO
Durante la llamada, Vonage realiza solicitudes de devolución de llamada a la aplicación en el event_urlLa llamada de retorno se establece en la configuración de la aplicación o en la acción NCCO, si se proporciona una en la NCCO. Existen dos tipos de retrollamadas:
- notificaciones, por ejemplo, un cambio de estado de llamada;
- solicitud de instrucciones, por ejemplo, en un
inputonotifydevolución de llamada: para estos eventos, Vonage espera que la aplicación proporcione una nueva OCN para el procesamiento, lo que permite implementar diferentes flujos de llamadas lógicas.
Las llamadas establecidas con éxito pasan por los siguientes estados:
startedringingansweredcompleted
La plataforma de Vonage envía las correspondientes devoluciones de llamada de eventos para cada estado. Puedes encontrar más detalles en Referencia de Webhooks.
NCCO y webhooks permiten programar la llamada como una serie de mensajes y preguntas al usuario, lo que es aplicable a notificaciones por voz, IVR, asistentes de voz y otros escenarios con una lista predefinida de posibles eventos. Con una NCCO, la aplicación puede indicar a la plataforma de Vonage que reproduzca el mensaje de audio (texto a voz o pregrabado) y luego esperar la entrada del usuario con DTMF o discurso. Cuando el usuario ha realizado una selección de menú, su aplicación recibe una notificación y es capaz de dirigir la llamada adecuadamente proporcionando nuevas instrucciones de llamada en forma de NCCO.
Typical IVR flow
Conversación en directo
En algunos casos, por ejemplo comunicación de voz privada desea conectar a dos o más participantes para establecer una conversación en directo. Cada llamada, entrante o saliente, se añade automáticamente a la nueva conversación entre bastidores. Para conectarla a otra llamada con una OCN, la aplicación puede
Crear una nueva llamada saliente con el botón
connectse unirá automáticamente a la misma conversación;Mover la llamada a una conversación con nombre existente (o nueva) con el botón
conversationacción.
Durante la conversación, la llamada ya no sigue una secuencia de acciones, ahora es una interacción en vivo entre dos o más miembros. Para controlar la llamada durante la conversación, por ejemplo, para silenciar/activar el sonido de un miembro, la aplicación debe utilizar la función API REST.
Live conversation flow
Utilizando una secuencia de connect la aplicación puede añadir otros miembros a la conversación (hasta un total de 50 participantes en la conversación).
Dado que cualquier tipo de terminal de voz podría utilizarse en el connect acción, el segundo miembro no es necesariamente un humano: puede ser un bot de voz que habla con el usuario utilizando los medios pasados por el WebSocket conexión.
Cambio entre llamada guionizada y conversación en directo
Los IVR suelen tener una o varias opciones para hablar con un agente, un comercial o un técnico. Además, en algunos casos una conversación en directo puede acabar con algunas partes guionizadas. Por ejemplo, una encuesta de satisfacción del cliente. La Voice API permite pasar de una forma de interacción a otra, de modo que el flujo de llamadas puede constar de tres partes (o más en casos complejos):
IVR inicial, controlado con NCCO y webhooks; termina con
connectoconversationacción →Conversación en directo con una persona (o conferencia multipartita), controlada con REST API; finaliza con
PUT /calls/{id}Llamada a la API REST contransferacción →La encuesta, controlada con NCCO
Switching from scripted call to live conversation and back
El escenario descrito anteriormente es un ejemplo típico; sin embargo, la aplicación puede tener cualquier combinación de partes con guión y en vivo dependiendo de un determinado caso de uso. Véase la Tutorial de ampliación del Contact Center para aprender a aplicar paso a paso el escenario descrito.