Python

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:

#!/usr/bin/env python3
from flask import Flask, request, jsonify
from flask_sock import Sock

app = Flask(__name__)
sock = Sock(app)


@app.route("/webhooks/answer")
def answer_call():
    ncco = [
        {
            "action": "talk",
            "text": "We will now connect you to the echo server, wait a moment then start speaking.",
        },
        {
            "action": "connect",
            "from": "Vonage",
            "endpoint": [
                {
                    "type": "websocket",
                    "uri": f"wss://{request.host}/socket",
                    "content-type": "audio/l16;rate=16000",
                }
            ],
        },
    ]

    return jsonify(ncco)

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.