Recibir una llamada entrante
En este fragmento de código se muestra cómo recibir una llamada entrante.
Ejemplo
Requisitos previos
npm install expressEscriba el código
Añada lo siguiente a receive-an-inbound-call.js:
const Express = require('express');
const app = new Express();
const onInboundCall = (request, response) => {
const from = request.query.from;
const fromSplitIntoCharacters = from.split('').join(' ');
const ncco = [
{
action: 'talk',
text: `Thank you for calling from ${fromSplitIntoCharacters}`,
},
];
response.json(ncco);
};
app.get('/webhooks/answer', onInboundCall);
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
Escriba el código
Añada lo siguiente al método main del archivo ReceiveInboundCall:
embeddedServer(Netty, port = 8000) {
routing {
get("/webhooks/answer") {
val from = call.request.queryParameters["from"]?.replace("", "")
call.response.header("Content-Type", "application/json")
call.respond(
Ncco(
talkAction("Thank you for calling from $from")
).toJson()
)
}
}
}.start(wait = true)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:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.voice por el paquete que contiene ReceiveInboundCall:
Requisitos previos
Añada lo siguiente a build.gradle:
Escriba el código
Añada lo siguiente al método main del archivo InboundCall:
/*
* Route to answer incoming call.
*/
Route answerRoute = (req, res) -> {
String from = req.queryParams("from").replace("", " ");
TalkAction message = TalkAction
.builder(String.format("Thank you for calling from %s", from))
.build();
res.type("application/json");
return new Ncco(message).toJson();
};
/*
* Route to print out call event info.
*/
Route eventRoute = (req, res) -> {
System.out.println(req.body());
return "";
};
Spark.port(3000);
Spark.get("/webhooks/answer", answerRoute);
Spark.post("/webhooks/events", eventRoute);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:
Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.voice por el paquete que contiene InboundCall:
Requisitos previos
Install-Package VonageRequisitos previos
composer require slim/slim:^3.8 vonage/clientEjecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenv fastapi[standard]Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install sinatra sinatra-contribEscriba el código
Añada lo siguiente a inbound_tts_call.rb:
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
JSON.parse(request.body.read)
end
end
before do
content_type :json
end
route :get, :post, '/webhooks/answer' do
from = params['from'] || parsed_body['from']
from_split_into_characters = from.split('').join(' ')
[{
action: 'talk',
text: "Thank you for calling from #{from_split_into_characters}"
}].to_json
end
set :port, 3000Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Pruébalo
Cuando llames a tu número de Vonage, escucharás un mensaje de texto a voz.
Lecturas complementarias
- Respuesta de voz interactiva (IVR) - Construye un sistema telefónico automatizado para que los usuarios introduzcan información con el teclado y escuchen una respuesta hablada.
- 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.
- Llamada enmascarada - Permite que los usuarios se llamen entre sí, manteniendo en privado sus números reales.
- Conferencias telefónicas - Esta guía explica los dos conceptos que Vonage asocia con una llamada, una etapa y una conversación.
- Seguimiento de llamadas - Mantén un registro de qué campañas están funcionando bien usando diferentes números para cada una y rastreando las llamadas entrantes. Esta guía te muestra cómo manejar las llamadas entrantes, conectarlas a otro número y rastrear los números de teléfono que llamaron a cada uno de tus números de Vonage.