
Compartir:
Rabeb fue defensora de los desarrolladores en Nexmo, centrándose en las API de comunicación en la nube y ayudando a los desarrolladores a obtener la mejor experiencia posible al crear sus aplicaciones. Además de escribir código para ganarse la vida, Rabeb aboga por atraer a más mujeres y minorías a la tecnología, de ahí su participación en Women Who Code y en diferentes comunidades tecnológicas. Dirige la red Women Who Code en Bristol.
Crear una multiconferencia con la Voice API de Vonage y ASP.NET Core
Tiempo de lectura: 6 minutos
Este es el sexto tutorial sobre cómo utilizar Voice API con la serie ASP.NET. En el tutorial anterior, aprendimos cómo desviar una llamada a través de un proxy de voz con ASP.NET Core. En el tutorial de hoy, aprenderemos cómo configurar una llamada de conferencia para que varias personas puedan unirse a la misma llamada.
Objetivos de aprendizaje
En este tutorial, vamos a:
Cree una aplicación ASP.NET Core.
Utilice NancyFX con ASP.NET Core.
Crea una aplicación de voz de Vonage.
Crear y devolver NCCOs.
Ejecuta y prueba el código utilizando Ngrok.
Requisitos previos
Visual Studio 2017 o superior.
Un proyecto que fue creado para esta serie de tutoriales, que se puede encontrar en Github.
Opcional: El CLI de Vonage.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Configuración
Para utilizar Voice API de Vonagenecesitamos crear una aplicación de voz.
Los pasos de configuración se detallan en Voice API de Vonage con ASP.NET: Antes de comenzar post.
Una vez creada correctamente la configuración, podemos pasar a establecer una multiconferencia.
Creación de una teleconferencia
Cuando un usuario llama al número de Vonage, la Voice API de Vonage hará una solicitud a la aplicación para averiguar cómo responder usando un objeto de control de llamadas de Vonage (NCCO).
El usuario será recibido y se unirá a la multiconferencia.
Para ello, vamos a utilizar NancyFX junto con nuestro proyecto ASP.NET Core.
En primer lugar, tenemos que añadir Nancy a nuestro proyecto:
PM> Install-Package Nancy
PM> Install-Package Microsoft.AspNetCore.Owin
Para permitir que Nancy gestione cualquier petición HTTP, necesitamos decirle a ASP.NET Core que utilice Nancy a través de Owin en el método Configure de Startup.cs.
using Microsoft.AspNetCore.Builder;
using Nancy.Owin;
namespace NexmoVoiceASPNetCoreQuickStarts
{
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseOwin(x => x.UseNancy());
}
}
}
El siguiente paso es crear un módulo Nancy en el que crearemos una ruta a /webhook/answer que responderá con el ncco devuelto por GetConferenceCallNCCO()
using Nancy;
using Vonage.Voice.Nccos;
namespace NexmoDotnetCodeSnippets.Modules
{
public class ConferenceCallModule : NancyModule
{
public ConferenceCallModule()
{
Get("/webhook/answer/", x => {
var response = GetConferenceCallNCCO();
response.ContentType = "application/json";
return response;
});
Post("/webhook/event", x => Request.Query["status"]);
}
private Response GetConferenceCallNCCO()
{
var ncco = new Ncco();
ncco.Actions.Add(new TalkAction
{
Text = "Hello. You will now be added to the conference call.",
Language = "en-US",
Style = 2
});
ncco.Actions.Add(new ConversationAction
{
Name = "conference-call"
});
return Response.AsJson(ncco);
}
}
}
El código anterior hará lo siguiente:
Cuando se reciba una llamada, el usuario oirá "Hola. Ahora se le añadirá a la multiconferencia" y, a continuación, se le añadirá a la multiconferencia.
Se pueden añadir varias personas a la conferencia hasta que todas se hayan desconectado.
Ya hemos terminado. Para probar esta aplicación de ejemplo, se requieren algunos pasos más de configuración.
Cómo vincular tu aplicación a Vonage
Si nos has seguido hasta ahora, ya habrás configurado tu cuenta de Vonage y creado una aplicación de voz como se muestra en esta publicación. Necesitamos vincular esta aplicación a un número de teléfono de Vonage al que vamos a llamar.
Si no tiene número, puede adquirir uno utilizando el tablero de mandos o usando la CLI de Vonage:
Del mismo modo, para vincular el número, puede utilizar el cuadro de mandos o la CLI:
Tenemos que decirle a Vonage a qué URL hacer una solicitud cuando se recibe una llamada - esto se llama el archivo answer_url. En mi caso, esta URL es http://localhost:63286/webhook/answer y sólo se ejecuta localmente.
Para exponer la URL de respuesta de nuestro webhook, utilizaremos Ngrok.
Ahora tenemos una nueva URL (la mía es http://<SUBDOMAIN>.ngrok.io) que se puede utilizar como answer_url para la aplicación de voz.
Actualice su solicitud con su nuevo answer_url. Debería verse como http://subdomain.ngrok.io/webhook/answer. Ejecute la aplicación y pruébela llamando a la función TO_NUMBER.
Más información
Referencias y herramientas API
Guías de iniciación Nexmo para ASP.NET
Compartir:
Rabeb fue defensora de los desarrolladores en Nexmo, centrándose en las API de comunicación en la nube y ayudando a los desarrolladores a obtener la mejor experiencia posible al crear sus aplicaciones. Además de escribir código para ganarse la vida, Rabeb aboga por atraer a más mujeres y minorías a la tecnología, de ahí su participación en Women Who Code y en diferentes comunidades tecnológicas. Dirige la red Women Who Code en Bristol.
