Tätigen Sie einen ausgehenden Anruf mit einem NCCO

Dieses Codeschnipsel tätigt einen ausgehenden Anruf und spielt eine Text-to-Speech-Nachricht ab, wenn der Anruf angenommen wird. Sie müssen keinen Server betreiben, der eine answer_url um dieses Codeschnipsel auszuführen, da Sie Ihren NCCO als Teil der Anfrage

Beispiel

Ersetzen Sie die folgenden Variablen im Beispielcode:

SchlüsselBeschreibung
VONAGE_VIRTUAL_NUMBER

Your Vonage Number. E.g. 447700900000

VOICE_TO_NUMBER

The recipient number to call, e.g. 447700900002.

Voraussetzungen

Führen Sie den folgenden Befehl an Ihrer Terminal-Eingabeaufforderung aus, um die JWT für die Authentifizierung zu erstellen:

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

Schreiben Sie den Code

Fügen Sie Folgendes zu make-an-outbound-call-with-ncco.sh hinzu:

curl -X POST https://api.nexmo.com/v1/calls\
  -H "Authorization: Bearer $JWT"\
  -H "Content-Type: application/json"\
  -d '{"to":[{"type": "phone","number": "'$VOICE_TO_NUMBER'"}],
      "from": {"type": "phone","number": "'$VONAGE_VIRTUAL_NUMBER'"},
      "ncco": [
        {
          "action": "talk",
          "text": "This is a text to speech call from Vonage"
        }
      ]}'

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

sh make-an-outbound-call-with-ncco.sh

Voraussetzungen

npm install @vonage/server-sdk @vonage/voice

Erstellen Sie eine Datei mit dem Namen make-an-outbound-call-with-ncco.js und fügen Sie den folgenden Code hinzu:

const { Vonage } = require('@vonage/server-sdk');
const { NCCOBuilder, Talk } = require('@vonage/voice');

const vonage = new Vonage({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_PRIVATE_KEY,
});

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu make-an-outbound-call-with-ncco.js hinzu:

const builder = new NCCOBuilder();
builder.addAction(new Talk('This is a text to speech call from Vonage'));

vonage.voice.createOutboundCall({
  to: [
    {
      type: 'phone',
      number: VOICE_TO_NUMBER,
    },
  ],
  from: {
    type: 'phone',
    number: VONAGE_VIRTUAL_NUMBER,
  },
  ncco: builder.build(),
})
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

node make-an-outbound-call-with-ncco.js

Voraussetzungen

Fügen Sie Folgendes zu build.gradle hinzu:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Erstellen Sie eine Datei mit dem Namen OutboundTextToSpeechCallWithNcco und fügen Sie den folgenden Code in die Methode main ein:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei OutboundTextToSpeechCallWithNcco Folgendes hinzu:

val callEvent = client.voice.createCall {
    toPstn(VOICE_TO_NUMBER)
    from(VONAGE_VIRTUAL_NUMBER)
    ncco(
        talkAction("This is a text to speech call from Vonage")
    )
}

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

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

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.voice durch das Paket, das OutboundTextToSpeechCallWithNcco enthält:

gradle run -Pmain=com.vonage.quickstart.kt.voice.OutboundTextToSpeechCallWithNcco

Voraussetzungen

Fügen Sie Folgendes zu build.gradle hinzu:

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

Erstellen Sie eine Datei mit dem Namen OutboundTextToSpeechWithNcco und fügen Sie den folgenden Code in die Methode main ein:

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

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei OutboundTextToSpeechWithNcco Folgendes hinzu:

Ncco ncco = new Ncco(TalkAction.builder("This is a text to speech call from Vonage").build());

client.getVoiceClient().createCall(new Call(VOICE_TO_NUMBER, VONAGE_VIRTUAL_NUMBER, ncco.getActions()));

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

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

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.voice durch das Paket, das OutboundTextToSpeechWithNcco enthält:

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

Voraussetzungen

Install-Package Vonage

Schreiben Sie den Code

Fügen Sie Folgendes zu MakeCallWithNcco.cs hinzu:

var client = new VonageClient(creds);

var toEndpoint = new PhoneEndpoint() { Number = VOICE_TO_NUMBER };
var fromEndpoint = new PhoneEndpoint() { Number = VONAGE_VIRTUAL_NUMBER };
var extraText = "";
for (var i = 0; i < 50; i++)
    extraText += $"{i} ";
var talkAction = new TalkAction() { Text = "This is a text to speech call from Vonage " + extraText };
var ncco = new Ncco(talkAction);

var command = new CallCommand() { To = new Endpoint[] { toEndpoint }, From = fromEndpoint, Ncco = ncco };
var response = await client.VoiceClient.CreateCallAsync(command);

Vollständige Quelle anzeigen

Voraussetzungen

composer require vonage/client

Schreiben Sie den Code

Fügen Sie Folgendes zu index.php hinzu:

$keypair = new \Vonage\Client\Credentials\Keypair(
    file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
    VONAGE_APPLICATION_ID
);
$client = new \Vonage\Client($keypair);

$outboundCall = new \Vonage\Voice\OutboundCall(
    new \Vonage\Voice\Endpoint\Phone(TO_NUMBER),
    new \Vonage\Voice\Endpoint\Phone(VONAGE_NUMBER)
);
$ncco = new NCCO();
$ncco->addAction(new \Vonage\Voice\NCCO\Action\Talk('This is a text to speech call from Nexmo'));
$outboundCall->setNCCO($ncco);

$response = $client->voice()->createOutboundCall($outboundCall);

var_dump($response);

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

php index.php

Voraussetzungen

pip install vonage python-dotenv

Schreiben Sie den Code

Fügen Sie Folgendes zu make-outbound-call-ncco.py hinzu:

from vonage import Auth, Vonage
from vonage_voice import CreateCallRequest, Phone, Talk, ToPhone

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

response = client.voice.create_call(
    CreateCallRequest(
        ncco=[Talk(text='This is a text to speech call from Vonage.')],
        to=[ToPhone(number=VOICE_TO_NUMBER)],
        from_=Phone(number=VONAGE_VIRTUAL_NUMBER),
    )
)

pprint(response)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

python voice/make-outbound-call-ncco.py

Voraussetzungen

gem install vonage

Schreiben Sie den Code

Fügen Sie Folgendes zu make-outbound-call-with-ncco.rb hinzu:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

client.voice.create(
  to: [{
    type: 'phone',
    number: VOICE_TO_NUMBER
  }],
  from: {
    type: 'phone',
    number: VONAGE_VIRTUAL_NUMBER
  },
  ncco: [
    {
      'action' => 'talk',
      'text' => 'This is a text to speech call from Vonage'
    }
  ]
)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

ruby make-outbound-call-with-ncco.rb

Probieren Sie es aus

Wenn Sie den Code ausführen, wird die VOICE_TO_NUMBER wird angerufen, und wenn der Anruf entgegengenommen wird, ertönt eine Text-to-Speech-Nachricht.

Weitere Lektüre

  • Sprachbenachrichtigungen - In diesem Leitfaden erfahren Sie, wie Sie eine Liste von Personen telefonisch kontaktieren, eine Nachricht übermitteln und sehen, wer den Erhalt der Nachricht bestätigt hat. Diese sprachbasierten kritischen Benachrichtigungen sind nachhaltiger als eine Textnachricht, so dass Ihre Nachricht mit größerer Wahrscheinlichkeit wahrgenommen wird. Durch die Bestätigung des Empfängers können Sie außerdem sicher sein, dass Ihre Nachricht angekommen ist.
  • Konferenzanrufe - In diesem Leitfaden werden die beiden Concepts erläutert, die Vonage mit einem Anruf verbindet: ein Leg und ein Gespräch.
  • Sprachbot mit Google Dialogflow - Dieser Leitfaden hilft Ihnen, mit einem Dialogflow-Beispielbot zu beginnen und mit ihm über Telefonanrufe zu interagieren, indem Sie die mitgelieferten Beispiel-Referenzcodes unter Verwendung der Vonage Voice API verwenden.