Node.js

Rédigez votre réponse webhook

Lorsque Vonage reçoit un appel entrant sur votre numéro virtuel, il fait une demande à votre /webhooks/answer route. Cette route doit accepter un message HTTP GET et renvoie un Objet de contrôle d'appel Nexmo (NCCO) qui indique à Vonage comment traiter l'appel.

Votre BCN doit utiliser le text pour accueillir l'appelant, et l'action connect pour connecter l'appel à votre point de terminaison 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}`));

Les type de endpoint est websocket, le uri est le /socket où votre serveur WebSocket sera accessible et l'adresse content-type spécifie la qualité audio.