S'abonner aux événements DTMF en temps réel

Cet extrait de code enregistre un récepteur pour recevoir les entrées DTMF asynchrones d'un appel.

Cette disposition ne s'applique qu'aux Entrée NCCO avec l'outil mode fixé à asynchronous.

Exemple

Remplacez les variables suivantes dans le code de l'exemple :

CléDescription
VOICE_CALL_ID

The UUID of the call leg.

VOICE_EVENT_URL

The URL (wrapped in an array) to send DTMF events to, as a POST request.

Conditions préalables

Exécutez la commande suivante à l'invite de votre terminal pour créer le site JWT pour l'authentification :

export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)

Rédiger le code

Ajouter ce qui suit à subscribe-dtmf-real-time-events.sh:

curl -X PUT https://api.nexmo.com/v1/calls/$VOICE_CALL_ID/input/dtmf \
  -H "Authorization: Bearer $JWT"\
  -H "Content-Type: application/json"\
  -d '{"event_url": "'"VOICE_EVENT_URL"'"}'

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

bash subscribe-dtmf-real-time-events.sh

Conditions préalables

Ajouter ce qui suit à build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Créez un fichier nommé SubscribeToDtmfEvents et ajoutez le code suivant à la méthode main:

VonageClient client = VonageClient.builder()
        .applicationId(VONAGE_APPLICATION_ID)
        .privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
        .build();

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier SubscribeToDtmfEvents:

client.getVoiceClient().addDtmfListener(VOICE_CALL_ID, VOICE_EVENT_URL);

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.voice par le paquet contenant SubscribeToDtmfEvents:

gradle run -Pmain=com.vonage.quickstart.voice.SubscribeToDtmfEvents

Conditions préalables

Install-Package Vonage

Rédiger le code

Ajouter ce qui suit à SubscribeDtmfRealTimeEvents.cs:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);
await client.VoiceClient.SubscribeRealTimeDtmf(VOICE_CALL_ID, VOICE_EVENT_URL);

Voir la source complète