https://d226lax1qjow5r.cloudfront.net/blog/blogposts/build-a-conference-call-with-nexmo-voice-api-and-csharp-dr/csharp-conference-call-1.png

Aufbau einer Telefonkonferenz mit der Vonage Voice API und ASP.NET Core

Zuletzt aktualisiert am December 9, 2021

Lesedauer: 5 Minuten

Dies ist der sechste Lehrgang zur Verwendung von Voice APIs mit ASP.NET. Im vorherigen Tutorial haben wir gelernt wie man einen Anruf über einen Voice-Proxy mit ASP.NET Core weiterleitet. Im heutigen Tutorial lernen wir, wie man eine Telefonkonferenz einrichtet, damit mehrere Personen am selben Anruf teilnehmen können.

Lernziele

In diesem Lernprogramm werden wir:

  • Erstellen Sie eine ASP.NET Core-Anwendung.

  • Verwenden Sie NancyFX mit ASP.NET Core.

  • Erstellen Sie eine Voice-Anwendung von Vonage.

  • Erstellung und Rückgabe von NCCOs.

  • Führen Sie den Code mit Ngrok aus und testen Sie ihn.

Voraussetzungen

  • Visual Studio 2017 oder höher.

  • Ein Projekt, das für diese Tutorial-Serie erstellt wurde, finden Sie auf Github.

  • Optional: Die Vonage CLI.

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Konfiguration

Zur Verwendung Die Vonage Voice APIzu nutzen, müssen wir eine eine Voice-Anwendung.

Die Konfigurationsschritte sind in dem Dokument Vonage Voice API mit ASP.NET beschrieben: Bevor Sie beginnen Beitrag.

Sobald die Konfiguration erfolgreich erstellt wurde, können wir mit dem Einrichten einer Telefonkonferenz fortfahren.

Aufbau einer Telefonkonferenz

Wenn ein Benutzer die Vonage Nummer anruft, stellt die Vonage Voice API eine Anfrage an die Anwendung, um herauszufinden, wie sie mit einem Vonage-Anrufsteuerungsobjekt (NCCO).

Der Benutzer wird begrüßt und nimmt dann an der Telefonkonferenz teil.

Zu diesem Zweck werden wir Folgendes verwenden NancyFX neben unserem ASP.NET Core-Projekt verwenden.

Zunächst einmal müssen wir Nancy zu unserem Projekt hinzufügen:

PM> Install-Package Nancy
PM> Install-Package Microsoft.AspNetCore.Owin

Damit Nancy alle HTTP-Anfragen bearbeiten kann, müssen wir ASP.NET Core mitteilen, dass Nancy über Owin in der Configure Methode von Startup.cs.

using Microsoft.AspNetCore.Builder;
using Nancy.Owin;

namespace NexmoVoiceASPNetCoreQuickStarts
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.UseOwin(x => x.UseNancy());
        }
    }
}

Der nächste Schritt besteht darin, ein Nancy-Modul zu erstellen, in dem wir eine Route zu /webhook/answer erstellt wird, die mit dem ncco zurückgegeben von 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);
        }
    }
}

Der obige Code bewirkt Folgendes:

Wenn ein Anruf eingeht, hört der Benutzer "Hallo. Sie werden jetzt der Telefonkonferenz hinzugefügt.", dann wird er der Telefonkonferenz hinzugefügt.

Mehrere Anrufer können der Konferenz hinzugefügt werden, bis sie alle die Verbindung getrennt haben.

Wir sind fertig! Um diese Beispielanwendung zu testen, sind noch einige Konfigurationsschritte erforderlich.

Verknüpfung Ihrer App mit Vonage

Wenn Sie uns bisher gefolgt sind, haben Sie Ihren Vonage Account bereits konfiguriert und eine Voice App erstellt, wie in diesem Beitrag. Wir müssen diese App mit einer Vonage-Telefonnummer verknüpfen, die wir anrufen wollen.

Wenn Sie noch keine Nummer haben, können Sie eine erwerben über das Dashboard oder über die Vonage CLI:

vonage numbers:search US vonage numbers:buy [NUMBER] [COUNTRYCODE]

Um die Nummer ähnlich zu verknüpfen, können Sie über das Dashboard oder die CLI verwenden:

vonage apps:link --number=VONAGE_NUMBER APP_ID

Wir müssen Vonage mitteilen, an welche URL eine Anfrage gestellt werden soll, wenn ein Anruf eingeht - dies wird die answer_url. Für mich lautet diese URL http://localhost:63286/webhook/answer und die wird nur lokal ausgeführt.

Um unsere Webhook-Antwort-URL freizulegen, werden wir Ngrok.

ngrok http 63286

Wir haben jetzt eine neue URL (meine ist http://<SUBDOMAIN>.ngrok.io), die als die answer_url für die Voice-Anwendung verwendet werden kann.

Aktualisieren Sie Ihre Bewerbung mit Ihrer neuen answer_url. Sie sollte wie folgt aussehen http://subdomain.ngrok.io/webhook/answer. Starten Sie die Anwendung und probieren Sie sie aus, indem Sie die TO_NUMBER.

Mehr erfahren

API-Referenzen und Tools

Nexmo Einführungshandbücher für ASP.NET

Teilen Sie:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Rabeb OthmaniVonage Ehemalige

Rabeb war Developer Advocate bei Nexmo, wo sie sich auf Cloud-Kommunikations-APIs konzentrierte und Entwicklern half, die bestmögliche Erfahrung bei der Entwicklung ihrer Apps zu machen. Rabeb schreibt nicht nur Code für ihren Lebensunterhalt, sondern setzt sich auch dafür ein, mehr Frauen und Minderheiten in die Technologiebranche zu bringen, und engagiert sich daher bei Women Who Code und verschiedenen Tech-Communities. Sie leitet das Women Who Code Network in Bristol.