Node.js

Escriba su webhook de respuesta

Cuando Vonage reciba una llamada entrante en tu número virtual, realizará una solicitud a tus /webhooks/answer ruta. Esta ruta debe aceptar una dirección HTTP GET y devuelve un Objeto de control de llamadas Nexmo (NCCO) que le indica a Vonage cómo manejar la llamada.

Su OCN debe utilizar el text para saludar a la persona que llama, y la acción connect para conectar la llamada a su punto final webhook:

'use strict'

const express = require('express');
const WaveFile = require('wavefile').WaveFile;
const fs = require('fs');

const app = express();
const expressWs = require('express-ws')(app);
const port = 3000;

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.get('/webhooks/answer', (req, res) => {
    let nccoResponse = [
        {
            "action": "talk",
            "text": "Please wait while we connect you to the echo server"
        },
        {
            "action": "connect",
            "from": "NexmoTest",
            "endpoint": [
                {
                    "type": "websocket",
                    "uri": `wss://${req.hostname}/socket`,
                    "content-type": "audio/l16;rate=16000",
                }
            ]
        }
    ]

    res.status(200).json(nccoResponse);
});

app.listen(port, () => console.log(`Listening on port ${port}`));

En type de endpoint es websocketEl uri es el /socket ruta donde su servidor WebSocket será accesible y el content-type especifica la calidad de audio.