Crear un servidor webhook
Cuando se recibe una llamada entrante, Vonage realiza una solicitud a una URL de acceso público de tu elección, que denominamos answer_url. Necesitas crear un servidor webhook que sea capaz de recibir esta petición y devolver un OCN que contiene un connect que desviará la llamada al Número de teléfono RTPC. Para ello, extraiga el número de destino de la lista to y devolverlo en su respuesta.
Nuevo proyecto
Cree un nuevo directorio de proyecto en un destino de su elección y cambie a él:
Dentro de la carpeta, inicializa un nuevo proyecto Node.js ejecutando este comando:
Añadir dependencias
A continuación, instale las dependencias necesarias:
Crear el archivo del servidor
Dentro de la carpeta del proyecto, cree un archivo llamado server.js y añadir el código como se muestra a continuación - por favor, asegúrese de reemplazar NUMBER con tu número de Vonage (en E.164 ), así como SUBDOMAIN con un valor real. El valor utilizado formará parte de las URL que establecerás como webhooks en el siguiente paso.
NOTA: Recuerde sustituir SUBDOMAIN con una cadena aleatoria de su elección de entre 4 y 20 caracteres alfanuméricos (letras y números, no guiones bajos ni guiones) y NUMBER con tu número de Vonage en E.164 (por ejemplo, 447700900000).
Hay 2 partes en el código del servidor anterior:
El servidor Express
La primera parte crea un Express y lo hace disponible localmente en el puerto 3000. El servidor expone 2 rutas:
/voice/answeres elanswer_urlque mencionamos antes. Devuelve unJSONque contiene el número de destino de la llamada.Obsérvese que el
numberse extrae delreq.query.toque Vonage envía como parte de la solicitud. Luego, la NCCO creada dinámicamente reenvía la llamada al teléfono de destino utilizando unconnectacción.La segunda,
/voice/eventestablecerás como destino que Vonage te notifique todo lo que ocurra durante la llamada, lo que llamamos elevent_url.
En localtunnel integración
La segunda parte del código del servidor anterior, expone la función Express para que sea accesible por los servidores de Vonage.
NOTA: localtunnel es una librería JavaScript que expone tu localhost al mundo para que puedas probarlo y compartirlo sin problemas. No hay necesidad de meterse con DNS o desplegar para que otros prueben sus cambios.
Iniciar el servidor
Ahora puede iniciar el servidor ejecutando, en el terminal, el siguiente comando:
Aparecerá un aviso indicándole que el servidor ya está disponible:
Tenga a mano la ventana del terminal, ya que necesitará la URL en el siguiente paso.
Hacer una llamada de voz dentro de la aplicación
Realiza una llamada de voz desde una aplicación web a un teléfono utilizando el SDK JavaScript Client.