Realizar una llamada saliente con un NCCO
Este fragmento de código realiza una llamada saliente y reproduce un
mensaje de texto a voz cuando se contesta la llamada. No es necesario ejecutar un servidor
servidor que aloje un answer_url para ejecutar este fragmento de código, ya que debes indicar tu
NCCO como parte de la solicitud
Ejemplo
Sustituye las siguientes variables en el código de ejemplo:
| Clave | Descripción |
|---|---|
VONAGE_VIRTUAL_NUMBER | Your Vonage Number. E.g. |
VOICE_TO_NUMBER | The recipient number to call, e.g. |
Requisitos previos
Ejecute el siguiente comando en el símbolo del sistema de su terminal para crear la dirección JWT para la autenticación:
export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)Escriba el código
Añada lo siguiente a make-an-outbound-call-with-ncco.sh:
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"
}
]}'
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/server-sdk @vonage/voiceCrea un archivo llamado make-an-outbound-call-with-ncco.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const { NCCOBuilder, Talk } = require('@vonage/voice');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});Escriba el código
Añada lo siguiente a make-an-outbound-call-with-ncco.js:
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));Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado OutboundTextToSpeechCallWithNcco y añade el siguiente código al método main:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Escriba el código
Añada lo siguiente al método main del archivo OutboundTextToSpeechCallWithNcco:
val callEvent = client.voice.createCall {
toPstn(VOICE_TO_NUMBER)
from(VONAGE_VIRTUAL_NUMBER)
ncco(
talkAction("This is a text to speech call from Vonage")
)
}Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.voice por el paquete que contiene OutboundTextToSpeechCallWithNcco:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado OutboundTextToSpeechWithNcco y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escriba el código
Añada lo siguiente al método main del archivo OutboundTextToSpeechWithNcco:
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()));Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.voice por el paquete que contiene OutboundTextToSpeechWithNcco:
Requisitos previos
Install-Package VonageEscriba el código
Añada lo siguiente a MakeCallWithNcco.cs:
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);
Requisitos previos
composer require vonage/clientEscriba el código
Añada lo siguiente a index.php:
$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);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a make-outbound-call-ncco.py:
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)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageEscriba el código
Añada lo siguiente a make-outbound-call-with-ncco.rb:
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'
}
]
)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Pruébalo
Al ejecutar el código, el VOICE_TO_NUMBER Se realizará una llamada y, si se contesta, se escuchará un mensaje de síntesis de voz.
Lecturas complementarias
- Notificaciones de voz - En esta guía, aprenderás a ponerte en contacto por teléfono con una lista de personas, a transmitir un mensaje y a comprobar quién ha confirmado haberlo recibido. Estas alertas críticas por voz son más persistentes que un mensaje de texto, lo que aumenta las posibilidades de que tu mensaje sea visto. Además, gracias a la confirmación del destinatario, podrás estar seguro de que tu mensaje ha llegado a su destino.
- Conferencias telefónicas - En esta guía se explican los dos conceptos que Vonage asocia a una llamada: «tramo» y «conversación».
- Bot de voz con Google Dialogflow - Esta guía le ayudará a empezar con un bot Dialogflow de ejemplo e interactuar con él desde llamadas telefónicas utilizando los códigos de referencia de ejemplo proporcionados utilizando Vonage Voice API.