Hacer una llamada

Visión general

Esta guía cubre las funcionalidades de tu aplicación cliente de Vonage para iniciar llamadas de voz dentro de la aplicación o administradas por el servidor.

Antes de empezar, asegúrese de que ha añadido el SDK a su aplicación.

Iniciar una llamada desde la aplicación

La forma más rápida de iniciar una llamada in-app es realizar una llamada in-app a in-app, es decir, entre dos usuarios.

new NexmoClient()
    .createSession(USER_JWT)
    .then(application => {
        ...
        application.inAppCall(userName);
    })

Las posibles capacidades de voz son muy limitadas, ya que no utiliza la Voice API. Este método se recomienda sobre todo para el onboarding. Más adelante, se recomienda utilizar una llamada gestionada por servidor.

Iniciar una llamada gestionada por el servidor

Este método le permite realizar llamadas dentro de la aplicación, así como llamadas telefónicas, aprovechando al mismo tiempo la riqueza de la aplicación. Funciones de Voice API.

Cuando la aplicación cliente llama a este método, el answer_url webhook que está configurado para su Aplicación de Vonage se ejecutará. Esto define el lógica y capacidades de la llamada.

En el lado del cliente, inicie la llamada como tal:

new NexmoClient()
    .createSession(USER_JWT)
    .then(application => {
        ...
        application.callServer(phoneNumber);
    })

Datos personalizados

El método de llamada al servidor tiene un parámetro para datos personalizados. Esto le permite pasar contexto adicional, en un formato clave-valor, a su answer_url servidor webhook.

new NexmoClient()
    .createSession(USER_JWT)
    .then(application => {
        ...
        application.callServer(phoneNumber, "phone", {"device_name": "Alice app"});
    })

Los datos estarán disponibles en la consulta de la solicitud realizada a su answer_url servidor webhook:

{
  "to": "447000000000",
  "from_user": "Alice",
  "conversation_uuid": "CON-8dd32088-66be-42ae-b0af-c9e12ca588ed",
  "uuid": "54c255ca-9c1c-4ecd-b175-a1d022dc7b07",
  "custom_data": {
      "device_name": "Alice app"
    }
}

Escuchar eventos de llamada

Para ver información actualizada sobre el estado de una llamada, por ejemplo, para saber si el otro miembro ha contestado o ha colgado la llamada, debes escuchar los eventos de llamada.

Para ver información actualizada sobre el estado de la convocatoria y sus miembros:

application.on("call:status:changed",(call) => {
    ...
});

Referencia