
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.
Telefonanrufe mit Node-RED empfangen
Lesedauer: 8 Minuten
Hinweis: Einige der in diesem Artikel beschriebenen Tools oder Methoden werden möglicherweise nicht mehr unterstützt oder sind nicht mehr aktuell. Für aktualisierte Inhalte oder Support, überprüfen Sie unsere neuesten Beiträge oder kontaktieren Sie uns auf dem Vonage Community Slack
Dies ist der dritte Artikel in einer Reihe von Tutorials zum Thema "Erste Schritte mit Nexmo und Node-RED".
In den vorherigen Tutorials haben Sie gelernt, wie man mit der Nexmo SMS API SMS programmatisch sendet und empfängt und wie man Zustellungsbestätigungen handhabt.
Im nächsten Kapitel werden Sie sich mit der Nexmo Voice API beschäftigen.
Am Ende dieses Artikels werden Sie Ihren ersten eingehenden Anruf mit Node-RED bearbeitet haben.
Voraussetzungen
Bevor Sie beginnen, benötigen Sie einige Dinge:
Fakultativ: ngrok-Auffrischung mit Aarons Blogbeitrag
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.
In diesem Lernprogramm wird auch eine virtuelle Telefonnummer verwendet. Um eine zu erwerben, gehen Sie zu Rufnummern > Rufnummern kaufen und suchen Sie nach einer Nummer, die Ihren Anforderungen entspricht.
Erlangung von Berechtigungsnachweisen
Um mit der Voice API zu interagieren, müssen Sie ein paar Dinge beachten. Sobald Sie einen Nexmo Account erstellt haben, gehen Sie auf das Dashboard um Ihren API-Schlüssel und Ihr Geheimnis zu finden.
Als Nächstes benötigen Sie eine Voice-fähige virtuelle Nummer. Gehen Sie zu Numbers > Numbers kaufen um eine zu erhalten.
Einrichten des Node-RED-Editors
Zunächst müssen Sie installieren die Laufzeitumgebung und den Editor installieren. Dies kann entweder auf Ihrem lokalen Rechner, auf einem Einplatinencomputer (z. B. Raspberry Pi) oder auf einer Reihe von in der Cloud gehosteten Optionen erfolgen. In diesem Beispiel wird Ihr lokaler Rechner verwendet. Sobald Sie Node-RED global installiert haben, geben Sie einfach den folgenden Befehl in Ihr Terminal ein, um loszulegen.
Sie können dann auf den Node-RED-Editor zugreifen, indem Sie Ihren Browser auf http://localhost:1880.
Sobald Sie Ihren Editor geöffnet haben, müssen Sie die Nexmo-Knoten installieren. Dies können Sie unter der Palette verwalten tun, indem du nach dem node-red-contrib-nexmo Paket suchen und auf Installieren klicken.

Jetzt sollten Sie alle Nexmo-Knoten auf der linken Seite Ihres Bildschirms sehen, zusammen mit den anderen Standardknoten.
Eingehende Telefonanrufe mit Node-RED abwickeln
Lokalen Server für das Internet freigeben
Als Erstes müssen Sie Ihren lokalen Server für das Internet freischalten, damit Nexmo darauf zugreifen kann. Wenn Sie Node-RED auf einem öffentlichen Webserver statt auf Ihrem lokalen Rechner betreiben, können Sie diesen Schritt überspringen.
Andernfalls kann man dies bequem mit einem Tunneldienst wie ngrok.
herunterladen und installieren Sie ngrokund führen Sie es dann im Terminal aus, um einen Tunnel auf Port 1880.
Navigieren Sie zu der angezeigten URL, um Ihren Node-RED Editor zu finden.

Erstellen einer Nexmo-Anwendung
In den vorangegangenen SMS-Tutorials konnten Sie eine Telefonnummer direkt mit einem Endpunkt konfigurieren; dies ist jedoch nicht immer der Fall.
Einige der Nexmo-APIs, einschließlich der Voice API, verwenden Nexmo Applications, um Sicherheits- und Konfigurationsinformationen zu speichern, die für die Verbindung mit Nexmo-Endpunkten benötigt werden.
In der Nexmo Node-RED-Palette haben mehrere Knoten die Möglichkeit, diese Applications zu erstellen: getrecording, earmuff, mute, hangup, transfer, createcall, playaudio, playtts und playdtmf.
Ziehen Sie einen dieser Knoten in Ihren Arbeitsbereich und doppelklicken Sie dann darauf, um den Knoteneditor zu öffnen.
Neben dem Nexmo Credentialswählen Sie "Neue nexmovoiceapp hinzufügen..." aus dem Dropdown-Menü und klicken Sie auf die Schaltfläche "Bearbeiten". Füllen Sie die untenstehenden Angaben aus und klicken Sie auf Create New Application.
| KEY | DESCRIPTION |
|---|---|
Name |
Choose a name for your Voice Application, for example inbound call. |
API Key |
Your Nexmo API key, shown in your account overview. |
API Secret |
Your Nexmo API secret, shown in your account overview. |
Answer URL |
YOUR_URL/answer, you'll be hosting a Nexmo Call Control Object (NCCO) here. - more about this later on. |
Event URL |
YOUR_URL/event, you'll need to reference this when setting up the event handler. |
Node-RED erstellt dann eine neue Nexmo-Applikation auf Ihrem Account und füllt die Felder für die App-ID und den privaten Schlüssel aus, die Sie dann speichern können. Nach diesem Schritt können Sie den Nexmo-Knoten, den Sie verwendet haben, löschen, da ein nexmovoiceapp Konfigurationsknoten erstellt wurde, der alle Nexmo-Anmeldeinformationen enthält, die dieser Ablauf benötigt.

Als nächstes müssen Sie Ihre virtuelle Nummer mit dieser Anwendung verknüpfen.
Sie finden die soeben erstellte Voice Application in Ihrem Nexmo Dashboard, indem Sie zu Voice > Deine Applications.
Klicken Sie auf den Namen dieser Anwendung und dann unter dem Menüpunkt Numbers auf die Registerkarte Link neben der virtuellen Nummer, die Sie zuvor gemietet haben.
Wenn die Nummer, die Sie verwenden möchten, bereits mit einer anderen Anwendung verknüpft ist, klicken Sie alternativ auf Nummer verwalten und konfigurieren Sie sie so, dass eingehende Anrufe an Ihre App weitergeleitet werden.

Erstellen Sie das Nexmo Call Control Object (NCCO)
Nexmo-Anrufe werden gesteuert durch Nexmo Anrufsteuerungs-Objektedie auch als NCCOs bezeichnet werden. Ein NCCO definiert eine Liste von Aktionen, die bei der Bearbeitung eines Anrufs ausgeführt werden. Es stehen viele verschiedene Aktionen zur Verfügung, finden Sie die entsprechenden Knoten in der Nexmo-Palette in Ihrem Node-RED-Editor oder lesen Sie die NCCO-Referenz um mehr über sie zu erfahren.
In diesem Lernprogramm verwenden Sie die talk Aktion.
Ziehen und legen Sie den talk Knoten in Ihren Arbeitsbereich und verbinden Sie ihn dann mit einem voice webhook Eingabeknoten und einem return NCCO Ausgangsknoten.
Als nächstes wählen Sie im Knoten voice webhook Knoten, wählen Sie GET als Methode und geben Sie etwas wie /answer in das Feld Antwort-URL ein.
Gehen Sie schließlich zu den talk Knoteneigenschaften und setzen Sie das Feld Text{} auf die Nachricht, die bei der Annahme des Anrufs vorgelesen werden soll. Beachten Sie das {} Zeichen neben dem Text das anzeigt, dass dieser Wert dynamisch gesetzt werden kann, indem man Mustache Schablonierung. Sie können auch einen Voice Namewählen, siehe die Text-in-Sprache-Anleitung für die vollständige Liste der Optionen.

Einrichten eines Handlers für die Ereignis-URL
Verbinden Sie einen http Eingangsknoten mit einem http response Knoten, sowie mit einem debug Knoten, so dass Sie Ihren Lieferschein im Debug-Bereich einsehen können.
Im Knoten http Eingabeknoten, wählen Sie POST als eine Method und füllen Sie das Feld URL Feld mit etwas wie /event.
Der Knoten http response Knoten sollte den Wert 200 setzen als Status codegesetzt sein, aber keine Sorge, dies ist auch der Standardwert.
Jetzt drücken Einsetzen, rufen Sie Ihre virtuelle Nummer an und verfolgen Sie den Verlauf Ihres Anrufs in der Debug-Seitenleiste.

Nächste Schritte
In diesem Lernprogramm haben Sie gelernt, wie Sie einem Anrufer eine Text-zu-Sprache-Nachricht vorspielen können. Auf ähnliche Weise können Sie dem Anrufer auch eine Audiodatei vorspielen oder den Anruf an eine Telefonnummer weiterleiten. Wenn Sie noch einen Schritt weiter gehen möchten, können Sie das Gespräch aufzeichnen oder eine eigene Voicemail einrichten. Bleiben Sie dran und erfahren Sie, wie das geht!
Ressourcen
Mehr über die Voice API
Sehen Sie sich die NCCO-Referenz um mehr über die vielen Möglichkeiten zur Kontrolle Ihres Anrufs zu erfahren.
Werfen Sie einen genaueren Blick auf Node-RED
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.
