Python

Schreiben Sie Ihre Antwort Webhook

Wenn Vonage einen eingehenden Anruf auf Ihrer virtuellen Nummer empfängt, stellt es eine Anfrage an Ihre /webhooks/answer Route. Diese Route sollte ein HTTP GET Anfrage und geben eine Nexmo Call Control Objekt (NCCO) die Vonage mitteilt, wie der Anruf behandelt werden soll.

Ihr NCCO sollte die text Aktion zur Begrüßung des Anrufers und die connect Aktion, um den Anruf mit Ihrem Webhook-Endpunkt zu verbinden:

#!/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)

Die type von endpoint ist websocketdie uri ist die /socket Route, über die Ihr WebSocket-Server erreichbar sein wird, und die content-type gibt die Audioqualität an.