Node.js

Escreva seu webhook de resposta

Quando a Vonage receber uma chamada no seu número virtual, ela enviará uma solicitação ao seu /webhooks/answer rota. Essa rota deve aceitar uma solicitação HTTP GET solicitar e devolver um Objeto de Controle de Chamadas da Nexmo (NCCO) que indica à Vonage como lidar com a chamada.

Seu NCCO deve usar o text ação para cumprimentar a pessoa que está ligando, e o connect ação para conectar a chamada ao seu endpoint de 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}`));

O type de endpoint é websocket, o uri é o /socket roteiro pelo qual seu servidor WebSocket estará acessível e o content-type especifica a qualidade do áudio.