
Partager:
Rabeb était un défenseur des développeurs chez Nexmo, se concentrant sur les API de communication dans le nuage et aidant les développeurs à obtenir la meilleure expérience possible lors de la création de leurs applications. Outre le fait d'écrire du code pour gagner sa vie, Rabeb milite pour que davantage de femmes et de minorités accèdent à la technologie, d'où son engagement auprès de Women Who Code et de différentes communautés technologiques. Elle dirige le réseau Women Who Code à Bristol.
Créer une conférence téléphonique avec l'API Voice de Vonage et ASP.NET Core
Temps de lecture : 6 minutes
Il s'agit du sixième tutoriel sur l'utilisation des Voice API avec la série ASP.NET. Dans le tutoriel précédent, nous avons appris comment transférer un appel via un proxy vocal avec ASP.NET Core. Dans le tutoriel d'aujourd'hui, nous allons apprendre à mettre en place une conférence téléphonique afin que plusieurs personnes puissent se joindre au même appel.
Objectifs d'apprentissage
Dans ce tutoriel, nous allons :
Créer une application ASP.NET Core.
Utilisez NancyFX avec ASP.NET Core.
Créez une application vocale Vonage.
Créer et renvoyer les BCN.
Exécuter et tester le code à l'aide de Ngrok.
Conditions préalables
Visual Studio 2017 ou une version plus récente.
Un projet créé pour cette série de tutoriels, que vous pouvez trouver sur Github.
En option : L'interface CLI de Vonage.
Configuration
Pour utiliser l'API Voice de Vonagede Vonage, nous devons créer une application Voice.
Les étapes de configuration sont détaillées dans le document API Voice de Vonage avec ASP.NET : Avant de commencer avant de commencer.
Une fois la configuration créée avec succès, nous pouvons passer à la mise en place d'une conférence téléphonique.
Mise en place d'une conférence téléphonique
Lorsqu'un utilisateur appelle le numéro de Vonage, l'API Voice de Vonage demande à l'application de déterminer comment répondre à l'aide d'un objet de contrôle d'appel de Vonage (NCCO). objet de contrôle d'appel de Vonage (NCCO).
L'utilisateur est accueilli puis rejoint la conférence téléphonique.
Pour ce faire, nous allons utiliser NancyFX avec notre projet ASP.NET Core.
Tout d'abord, nous devons ajouter Nancy à notre projet :
PM> Install-Package Nancy
PM> Install-Package Microsoft.AspNetCore.Owin
Pour permettre à Nancy de traiter toutes les requêtes HTTP, nous devons indiquer à ASP.NET Core d'utiliser Nancy via Owin dans la méthode Configure de la méthode Startup.cs.
using Microsoft.AspNetCore.Builder;
using Nancy.Owin;
namespace NexmoVoiceASPNetCoreQuickStarts
{
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseOwin(x => x.UseNancy());
}
}
}
L'étape suivante consiste à créer un module Nancy dans lequel nous créons une route vers /webhook/answer qui répondra avec le ncco renvoyée par 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);
}
}
}
Le code ci-dessus permet d'obtenir les résultats suivants :
Lorsqu'il reçoit un appel, l'utilisateur entend "Hello. You will now be added to the conference call" (Bonjour, vous allez être ajouté à la conférence téléphonique), puis il sera ajouté à la conférence téléphonique.
Plusieurs appelants peuvent être ajoutés à la conférence jusqu'à ce qu'ils se déconnectent tous.
Nous avons terminé ! Pour tester cet exemple d'application, quelques étapes de configuration supplémentaires sont nécessaires.
Lier votre application à Vonage
Si vous avez suivi jusqu'ici, vous avez déjà configuré votre Account Voice et créé une application vocale comme indiqué dans ce billet. Nous devons lier cette application à un numéro de téléphone Vonage que nous allons appeler.
Si vous n'avez pas de numéro, vous pouvez en acheter un en utilisant le tableau de bord ou en utilisant la CLI de Vonage:
De même, pour lier le numéro, vous pouvez utiliser le tableau de bord ou le CLI :
Nous devons indiquer à Vonage l'URL à laquelle adresser une requête lorsqu'un appel est reçu - c'est ce qu'on appelle l'URL answer_url. Pour moi, cette URL est http://localhost:63286/webhook/answer et elle n'est exécutée que localement.
Pour exposer l'URL de réponse de notre webhook, nous utiliserons Ngrok.
Nous avons maintenant une nouvelle URL (la mienne est http://<SUBDOMAIN>.ngrok.io) qui peut être utilisée comme answer_url pour l'application vocale.
Mettez à jour votre application avec votre nouveau answer_url. Elle devrait ressembler à http://subdomain.ngrok.io/webhook/answer. Lancez l'application et essayez-la en appelant la fonction TO_NUMBER.
En savoir plus
Références et outils API
Guides de démarrage Nexmo pour ASP.NET
Partager:
Rabeb était un défenseur des développeurs chez Nexmo, se concentrant sur les API de communication dans le nuage et aidant les développeurs à obtenir la meilleure expérience possible lors de la création de leurs applications. Outre le fait d'écrire du code pour gagner sa vie, Rabeb milite pour que davantage de femmes et de minorités accèdent à la technologie, d'où son engagement auprès de Women Who Code et de différentes communautés technologiques. Elle dirige le réseau Women Who Code à Bristol.