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"'"}'Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
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();Rédiger le code
Ajouter ce qui suit à la méthode main du fichier SubscribeToDtmfEvents:
client.getVoiceClient().addDtmfListener(VOICE_CALL_ID, VOICE_EVENT_URL);Exécutez votre code
Nous pouvons utiliser le plugin Applications 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') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.voice par le paquet contenant SubscribeToDtmfEvents:
Conditions préalables
Install-Package VonageRé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);