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.

Neueste Artikel

Alles ansehen

Cisco IP-Telefone der Serien 6800, 7800 und 8800 und die Vodia-PBX

Cisco IP-Telefone der Serien 6800, 7800 und 8800 mit Multiplatform-Firmware (MPP/3PCC) können mit der Vodia-Telefonanlage in SIP-basierten Umgebungen verwendet werden. Die unterstützten Modelle umfassen Einstiegs-, Mittelklasse- und High-End-Geräte, die häufig in Unternehmen und bei Dienstanbietern eingesetzt werden. Es wird die von Cisco bereitgestellte MPP-Firmware verwendet, wobei die Firmware-Versionen und Upgrades nach der ersten Inbetriebnahme über die PBX verwaltet werden und sowohl lokale als auch Cloud-Bereitstellungen unterstützt werden.

February 19, 2026

Akustik: Wartemusik und die Vodia-Telefonanlage

Wartemusik spielt eine wichtige Rolle dabei, wie Anrufer Wartezeiten erleben und die Servicequalität wahrnehmen. Mit Vodia PBX Version 70 haben wir die Warteschleifenmusik verbessert, um neutrale, beruhigende und hochwertige Audioinhalte bereitzustellen, die Anrufer während der Wartezeit beruhigen. Diese Verbesserungen in Kombination mit flexiblen Streaming-Optionen, Notfallmeldungen und vollständiger Unterstützung für Cloud- und lokale Multi-Tenant-Umgebungen helfen Unternehmen, Anrufabbrüche zu reduzieren und eine positivere Anrufererfahrung zu schaffen, noch bevor ein Agent den Anruf entgegennimmt.

February 17, 2026

Open-Source-PBX vs. kommerzielle PBX: Was Sie wirklich verwalten

Unternehmen beginnen oft mit einer Open-Source-PBX, um flexibel zu sein. Wenn aber die Systeme von der Ersteinrichtung zum täglichen Betrieb übergehen, kommen die tatsächlichen Kosten zu Verwaltung, Wartung und langfristiger Zuverlässigkeit zum Tragen. Dieser Artikel untersucht den Unterschied zwischen dem Aufbau eines PBX-Stack aus Frameworks und dem Betrieb einer kommerziellen, integrierten PBX-Plattform, wobei der Schwerpunkt auf der Komplexität des Betriebs, der Sicherheit, Upgrades und der laufenden Wartung liegt. Er erklärt, wie eine speziell entwickelte PBX die Last von der kontinuierlichen Entwicklung auf einen stabilen Betrieb verlagert und Teams dabei hilft, Klarheit, Kontrolle und Skalierbarkeit zu priorisieren, wenn die Anforderungen wachsen.

February 12, 2026