Anrufe tätigen

Diese Anleitung beschreibt, wie Sie mit dem Vonage Client SDK einen Anruf tätigen. Bevor Sie beginnen, stellen Sie sicher, dass Sie das SDK zu Ihrer App hinzugefügt haben und (Android, iOS, JS).

HINWEIS: Unter iOS wird erwartet, dass Sie CallKit für eingehende und ausgehende Anrufe verwenden. Bitte befolgen Sie die Ausgehende Anrufe mit iOS CallKit Blogbeitrag.

Anrufe tätigen

Die serverCall Methode können Sie einen Sprachanruf über die funktionsreiche Voice API. Wenn diese Methode aufgerufen wird, wird die answer_url Webhook die für Ihr System konfiguriert ist Vonage Anwendung ausgeführt wird. Das definiert die Logik und Fähigkeiten des Anrufs.

// After creating a session
client.serverCall({to:phoneNumberOrUsername})
    .then(callId => {
        console.log("Id of created call: ", callId);
    })
    .catch(error => {
        console.error("Error making call: ", error);
    });

Benutzerdefinierte Daten

Wenn Sie Ihre eigenen benutzerdefinierten Daten einschließen, können Sie den Kontext in einem Schlüssel-Wert-Format an Ihre answer_url Webhook-Server. Wenn Sie einen Wert mit der Option to Schlüssel, wird die oberste Ebene ausgefüllt to in der Anfrage, die Sie an Ihren Webhook-Server stellen. Andere Daten werden unter dem custom_data Objekt.

// After creating a session
client.serverCall({to:phoneNumberOrUsername, device_name: "Alice app"})
    .then(callId => {
        console.log("Id of created call: ", callId);
    })
    .catch(error => {
        console.error("Error making call: ", error);
    });

Die Daten werden über die Abfrage der Anfrage an Ihre Website verfügbar sein. answer_url Webhook-Server:

{
  "to": "447000000000",
  "from_user": "Alice",
  "conversation_uuid": "CON-8dd32088-66be-42ae-b0af-c9e12ca588ed",
  "uuid": "54c255ca-9c1c-4ecd-b175-a1d022dc7b07",
  "custom_data": {
      "to": "447000000000",
      "device_name": "Alice app"
    }
}

Auf Anrufereignisse achten

Um den aktuellen Status eines Anrufs zu erfahren, z. B. ob der andere Teilnehmer den Anruf entgegengenommen oder aufgelegt hat, sollten Sie die Ereignisse zum Beinstatus abhören.

Um den aktuellen Stand des Anrufs zu erfahren:

// After creating a session
client.on("legStatusUpdate", (callId, legId, status) => {
    console.log({callId, legId, status});
});

client.on("callInvite", (callId, from, channelType) => {
    // Answer / Reject Call
    console.log({callId, from, channelType});
});

client.on("callHangup", (callId, callQuality, reason) => {
    console.log(`Call ${callId} has hung up, callQuality:${callQuality}, reason:${reason}`);
});

client.on("sessionError", (error) => {
    console.error({error});
});

Referenz