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

Überwachen Ihrer Vodia-PBX: Sicherstellung einer kontinuierlichen Kommunikation

Die Vodia- PBX ist mit leistungsstarken integrierten Überwachungswerkzeugen und Integrationsoptionen ausgestattet, um eine nahtlose, ununterbrochene Kommunikation zu gewährleisten. Von Echtzeit-Systemgrafiken und Syslog-Analysen bis hin zu Paketaufzeichnungen und detaillierten CDRs ermöglicht Vodia eine proaktive Problemerkennung, Leistungsoptimierung und verbesserte Anrufqualität. Mit der Unterstützung von SNMP, Prometheus und externen Diensten wie Pingdom und Site24x7 können Sie alles überwachen, von Registrierungsanomalien bis hin zur Nutzung von Systemressourcen und SIP-Konnektivität über mehrere Server hinweg - alles in einer umfassenden Lösung.

May 15, 2025

Schnell und einfach: Vodia Prepaid Cloud mit Microsoft Azure

Die Prepaid-Cloud-PBX-Lösung von Vodia für Microsoft Azure ermöglicht es Firmen, schnell und ohne die Komplexität herkömmlicher Installationen ein voll lizenziertes Telefonsystem in Enterprise-Qualität einzusetzen. Das auf Geschwindigkeit, Skalierbarkeit und Benutzerfreundlichkeit ausgelegte Angebot unterstützt Pakete für bis zu 80 Nutzer und umfasst einen Teams-zertifizierten Session Border Controller (SBC), der die nahtlose Integration von Vodia- PBX-Funktionen - wie automatische Vermittlungsplätze, Anrufwarteschlangen und intelligentes Routing - direkt in Microsoft Teams ermöglicht. Egal, ob Sie ein KMU oder ein größeres Unternehmen sind, die Vodia-PBX ist eine leistungsstarke und flexible Lösung, die sich leicht skalieren lässt, wenn sich Ihr Geschäft weiterentwickelt.

May 12, 2025

Schnelles Freischalten der Kommunikation: Vodia Prepaid-Vorteil mit der DigitalOcean Cloud!

Das Prepaid-Angebot von Vodia auf DigitalOcean bietet Firmen eine schnelle und flexible Möglichkeit, eine vollständig lizenzierte PBX einzusetzen. Unsere maßgeschneiderten Pläne beinhalten Optionen für SBC-Funktionen, die für MS Teams zertifiziert sind und die nahtlose Integration fortschrittlicher PBX-Funktionen wie intelligentes Call-Routing, automatisierte Vermittlungsplätze und Voicemail ermöglichen, während gleichzeitig eine sichere, hochqualitative Sprachkommunikation gewährleistet wird. Mit der erweiterungsbasierten Lizenzierung können Unternehmen ihr System problemlos von 10 auf 80 Nebenstellen skalieren, was die Bereitstellung einfach und schnell macht. Ganz gleich, ob Sie ein Neuling im Bereich PBX-Systeme oder ein erfahrener Entwickler sind, unser Installationsvideo und die Dokumentation führen Sie Schritt für Schritt durch den Einrichtungsprozess.

May 7, 2025