Inscreva-se para receber eventos DTMF em tempo real

Este trecho de código registra um ouvinte para receber entradas DTMF assíncronas de uma chamada.

Isso se aplica apenas a Entrada NCCO eventos com o mode definir como asynchronous.

Exemplo

Substitua as seguintes variáveis no código de exemplo:

ChaveDescrição
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.

Pré-requisitos

Execute o seguinte comando no prompt do terminal para criar o arquivo ` JWT ` para autenticação:

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

Escreva o código

Adicione o seguinte ao arquivo ` 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"'"}'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

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

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

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

Crie um arquivo chamado ` SubscribeToDtmfEvents ` e adicione o código a seguir ao método ` main `:

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SubscribeToDtmfEvents `:

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

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

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

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.voice ` pelo pacote que contém ` SubscribeToDtmfEvents`:

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

Pré-requisitos

Install-Package Vonage

Escreva o código

Adicione o seguinte ao arquivo ` 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);

Ver código-fonte completo