Technik

Servergesteuerte Prompts und Anrufflüsse durch IVR

Published on:

14.3.2025

Die IVR von Vodia ist durch die JavaScript-Steuerung noch leistungsfähiger geworden und ermöglicht dynamische Eingabeaufforderungen und Anpassungen des Anrufablaufs direkt von einem Server aus. Durch die Nutzung von HTTP-Anfragen kann die IVR Antworten in Echtzeit abrufen und so individuelle Begrüßungen, Ansagen und Anrufweiterleitungen basierend auf den Eingaben des Anrufers ermöglichen. So können beispielsweise per DTMF eingegebene Kundencodes über einen Server validiert werden, wodurch personalisierte Antworten ausgelöst und Anrufe an das entsprechende Ziel weitergeleitet werden.

Die Vodia IVR ist durch die Javascript-Steuerung und den Anrufablauf noch leistungsfähiger und intuitiver geworden.

Außer, abgesondert, ausgenommen Kommunikation mit KI (über Sprache) und einen leistungsstarken Anruffluss (der in einem anderen Blog behandelt wird), kann es auch auf vielfältige andere Weise viel flexibler (dank Javascript) verwendet werden. Eine davon besteht darin, die Ansagen und den Anruffluss vom Server aus zu steuern.

IVR-Einrichtung

Um einen Vodia IVR-Knoten für die Verwendung von Javascript einzurichten, wählen Sie einfach „Javascript“ aus dem Dropdown-Menü in den IVR-Knoteneinstellungen und speichern Sie. Es wird ein Textbereich angezeigt, in den Sie Ihren Javascript-Code eingeben können. Wenn Sie etwas mit dem Anruf tun möchten, der mit diesem IVR-Knoten verbunden ist (z. B. von einer externen Rufnummer, die in diesem IVR-Knoten gelandet ist), verwenden Sie das Anrufobjekt wie unten gezeigt.

Ansagen von einem Server abspielen

Um einen Prompt abzuspielen, können Sie Text to Speech im Anrufobjekt verwenden. Um zum Beispiel jemanden in einem mit dem IVR verbundenen Anruf zu begrüßen, rufen Sie einfach die Funktion „say“ des Anrufobjekts auf:

call.say(“Hallo, Sie haben die Firma ABC erreicht. Wie kann ich Ihnen heute helfen?”)

Der obige Text wird in Sprache umgewandelt und dem Anrufer vorgespielt.

Ebenso kann dieser Text von einem Server als Antwort auf eine HTTP-Anfrage basierend auf verschiedenen Situationen stammen, z. B. welcher Code (über DTMF) der Anrufer als Kunde angegeben hat usw.

HTTP-Beispiel

Hier sehen Sie, wie Sie eine HTTP-Anfrage an einen Server (ersetzen Sie SERVER_URL durch Ihre Server-URL) mit einem Textkörper mit einigen Zahlen posten. Es akzeptiert eine Javascript-Funktion als Rückruf, die aufgerufen wird, wenn eine Antwort vom Server mit dem Code, der Antwort und den Kopfzeilen empfangen wird - wie Sie unten sehen können. In diesem Beispiel liegt die Antwort im JSON-Format vor, so dass sie für die Nachricht geparst wird und die Nachricht dem Anrufer mit call.say(res.message) vorgespielt wird.

  var body = “123456  var args = {
    'method':'POST',
    'url': 'https://SERVER_UTL',
    'header': [ { name: 'Content-Type', value: 'text/plain'} ],
    'callback': callback
  }
  if (body) {
    args.body = body
  }
  system.http(args)

  function callback(code, response, headers) {
    console.log("IVR response:" + code.toString())
    var res = JSON.parse(response)
    if (res.message) call.say(res.message)
  }

Steuerung des Anrufflusses von einem Server aus

Wenn Sie den mit dem IVR verbundenen Anruf an eine andere Nebenstelle, Gruppe, IVR oder einen anderen Ort weiterleiten möchten, rufen Sie einfach die Weiterleitungsfunktion des Anrufobjekts mit dem Ziel auf. Zum Beispiel, um an eine andere IVR 87 zu übergeben:

call.transfer(“87”)

Ähnlich wie im obigen Beispiel kann dieses Ziel vom Server als Antwort auf eine HTTP-Anfrage kommen.

Ein einfaches Beispiel

Angenommen, wir möchten den Kunden auffordern, einen Kundencode einzugeben, diesen an einen Server zu senden und, falls er gefunden wird, eine Aufforderung zu geben, gefolgt von einer Weiterleitung an die Kundendienstabteilung, sagen wir Konto 42. Wenn der Code nicht gefunden wird, wird eine andere Aufforderung gegeben, gefolgt von einer Weiterleitung zu einem anderen IVR (sagen wir 70).

'use strict';

call.say('Welcome to company ABC. Please enter your 8 digit customer number.')

var digits = ''
call.dtmf(ondtmf)
function ondtmf(digit) {
  digits += digit
  if (digits.length == 8) {
    send(digits)
    digits = ''
  }
}

function send(digits) {
  var body = digits
  var args = {
    'method':'POST',
    'url': 'https://SERVER_URL',
    'header': [ { name: 'Content-Type', value: 'text/plain'} ],
    'callback': callback
  }
  if (body) {
    args.body = body
  }
  system.http(args)

  function callback(code, response, headers) {
    console.log("IVR response:" + code.toString())
    var res = JSON.parse(response)
    if (res.message) call.say(res.message)
    if (res.transfer) setTimeout(function(){
      call.transfer(res.destination)
    }, 5000)  
  }
}

Dies ist natürlich nur ein Beispiel. Dies kann auf unterschiedliche Weise und mit geeigneten Kontrollen und Logs usw. erreicht werden.

Die Funktion call.ondtmf() nimmt eine Funktion als Callback, die jedes Mal aufgerufen wird, wenn eine Ziffer (DTMF) gedrückt wird, wobei der Wert der Ziffer als Argument übergeben wird. In diesem Beispiel werden die Ziffern zu einer Zeichenkette verkettet und schließlich an den Server gesendet. In diesem Beispiel antwortet der Server mit einer JSON-Antwort mit einer Nachricht (zum Abspielen als Sprache) und einem Ziel (wohin der Anruf nach dem Abspielen der Nachricht weitergeleitet werden soll).

Wenn also die Nummer gefunden wird, könnte sie etwa Folgendes zurückgeben:

{

  “message”:“Danke, Herr Jones für die Nummer. Ich werde Sie jetzt an den Kundendienst weiterleiten.”

  “Destination”:“42”

}

Wenn die Nummer nicht gefunden wird, könnte sie etwa Folgendes zurückgeben:

{

  “message”:“Entschuldigung. Die von Ihnen angegebene Nummer existiert nicht.”

  “Destination”:“70”

}

Wenn die Antwort empfangen und analysiert wird, wird die Nachricht abgespielt und der Anruf dann an das Ziel weitergeleitet. Die Weiterleitung erfolgt nach einer Zeitüberschreitung von 5 Sekunden (5000 ms), damit die Nachricht vor der Weiterleitung des Anrufs vollständig abgespielt werden kann.

if (res.message) call.say(res.message)
if (res.transfer) setTimeout(function(){
  call.transfer(res.destination)
}, 5000)

Das IVR-System von Vodia mit JavaScript-Steuerung bietet Unternehmen mehr Flexibilität und Leistung und ermöglicht es ihnen, den Anruffluss dynamisch zu verwalten, Prompts zu personalisieren und Echtzeit-Serverantworten zu integrieren. Durch die Nutzung von HTTP-Anfragen und die Verarbeitung von DTMF-Eingaben kann das IVR-System maßgeschneiderte Interaktionen anbieten und so die Effizienz des gesamten Kundenservices verbessern. Ob es um die Überprüfung von Kundeninformationen oder die Weiterleitung von Anrufen auf der Grundlage von Serverantworten geht, die Lösung von Vodia verbessert das IVR-Erlebnis und ermöglicht es Unternehmen, intelligentere, reaktionsschnellere Kommunikationssysteme zu schaffen. Für weitere Informationen kontaktieren Sie uns unter sales@vodia.com oder rufen Sie uns an unter +49 (30) 55578749.

Neuste Artikel

Alles ansehen

Kommunikation am Puls der Zeit: Wie die Hotellerie mit Gästeerwartungen Schritt hält

Hotels in Deutschland bereiten sich aktuell auf die Sommersaison vor. Um ihren Gästen einen größtmöglichen Komfort zu bieten, möchten daher einige Unterkünfte auch ihre Kommunikation auf den aktuellen Stand bringen. Das noch oft verwendete klassische Zimmertelefon erachten viele Gäste dabei als Mindeststandard. Mit einer modernen und effizienteren Lösung können sich Hotels jedoch vor Beginn des Sommers entscheidende Wettbewerbsvorteile verschaffen. Vodia entwickelt individuelle Kommunikationssysteme für Betriebe, von der sowohl Personal als auch Gäste profitieren. CEO Dr. Christian Stredicke erklärt, wie intelligent vernetzte Systeme, App-Steuerung und KI-Integration für mehr Effizienz und Komfort sorgen.

April 23, 2025

Übertragen Sie Gesprächsdaten und -aufzeichnungen direkt in die Cloud!

Vodia bietet fortschrittliche Lösungen für die Verwaltung von Anrufdatensätzen (CDRs) und Anrufaufzeichnungen, die es Unternehmen ermöglichen, Daten effizient zu verwalten. Traditionell wurden CDRs lokal in CSV-Dateien gespeichert, was eine manuelle Übertragung an entfernte Standorte erforderte, die für Unternehmen mit großen Datenmengen zeitaufwändig sein kann. Vodia vereinfacht diesen Prozess, indem es CDRs in Echtzeit über Protokolle wie WebCDR, JSONS, TCP und MongoDB streamt, was eine sofortige Analyse und die Erstellung individueller Berichte ermöglicht. Darüber hinaus lässt sich Vodia in Cloud-Speicherdienste wie AWS, DigitalOcean, Linode und Wasabi integrieren, wodurch die manuelle Synchronisierung und lokale Speicherung überflüssig wird.

April 16, 2025

Vodia ist für die Connect Professional Awards nominiert – Stimmen Sie für uns!

Die Connect Professional Awards gehen in die 17. Runde, und Vodia wurde in der Kategorie Cloud-Telefonie nominiert! Diese renommierten Auszeichnungen würdigen jährlich herausragende Innovationen in der ITK-Branche, und wir sind stolz darauf, in diesem Jahr als Teil der nominierten Unternehmen wieder dabei zu sein. Mit dieser Nominierung möchten wir nicht nur unsere fortschrittlichen Cloud-Telefonielösungen feiern, sondern auch den wichtigen Beitrag zur Weiterentwicklung der Kommunikationstechnologien in Unternehmen hervorheben. Die Connect Professional Awards sind ein bedeutender Wettbewerb, bei dem die besten Lösungen in verschiedenen Kategorien ausgezeichnet werden.

April 15, 2025