Navigate back to the homepage

FreeSWITCH Telefonserver (IVR)

Lars Peters

IVR (Interactive Voice Response)

IVR-Systeme (auch als Voice Portale oder Sprachdialogsysteme bezeichnet) bieten die Möglichkeit, über ein Audiomedium (in der Regel das Telefon) automatisierte Dialog- und Informationsanwendungen bereitzustellen. Die Bedienung erfolgt üblicherweise über DTMF (Tonwahl-Tasten) oder per Spracheingabe.

Beispielanwendungen:

  • Infoansagen, z.B. Nachrichten, Wetter, Sportnews
  • Customer Self-Service: Telefonkartenguthaben abfragen und aufladen, Onlinebanking
  • Call Center Vorqualifizierung, beispielsweise Auswahl: Grund des Anrufs
  • Mitarbeitereinwahl (Start eines Arbeitseinsatzes, Feedback)
  • Benachrichtigungen (aktiver Outcall im Falle eines Ereignisses)

FreeSWITCH

FreeSWITCH ist ein Softswitch oder auch Software Defined Telecom Stack. Das 2006 begonnene Open-Source-Projekt ist neben Asterisk die am weitesten verbreitete herstellerneutrale Basissoftware für Telefonieapplikationen. Das Projekt wurde von Anthony Minessale, einem ehemaligen Asterisk-Entwickler als wohlstrukturiertes Neudesign eines Telephony-Frameworks konzipiert. FreeSWITCH ist bekannt für seine Robustheit und die Kapazität, hohe parallele Anrufaufkommen zu verarbeiten. Daher bauen viele IVR/PBX-Systeme auf die FreeSWITCH-Technologie auf, z.B. FusionPBM oder SipXcom.

IVR Architekturschema (lars-peters.net)
Schematische Darstellung IVR mit FreeSWITCH und Applikationsserver

Systemarchitektur

Der modulare Aufbau von FreeSWITCH erlaubt ein breites Sprektrum von möglichen Konfigurationen. Die schematische Darstellung zeigt einen üblichen Aufbau. FreeSWITCH übernimmt das Call Handling über das Sofia-SIP-Modul mit den angeschlossenen SIP-Gateways. Die inhaltliche Behandlung der Calls wird ausgelagert an einen Applikationsserver, der mit der FSAPI verbunden ist. Eine Alternative ist die Implementierung der IVR-Corefunktionen mit einer von FreeSWITCH untersützten Sprachen (C/C++, Java, C# / .NET, Javascript, Lua, Python, Perl). Hierbei ist Lua aufgrund der guten Unterstützung und Zugänglichkeit eine empfehlenswerte Wahl.

Es gibt verschiedene Optionen, einen Applikationsserver, der für den call flow und die statistische Behandlung sorgt, zu implementieren. Eine Variante ist die Verwendung von Drupal als Backend mit zwischengeschaltetem Plivo-Applikationsserver, welcher mit Drupal per XML-REST kommuniziert und auf der anderen Seite die FreeSWITCH-API bedient.

FreeSWITCH Beratung und Entwicklung

Sie können Kontakt mit mir aufnehmen, um eigene Telefonie-Anwendungen und Lösungen — unter anderem auf Basis von FreeSWITCH — zu besprechen.

CMS-Systeme

Dynamisch vs. statisch - Überblick der beliebtesten Open Source Content-Management-Systeme

Weiterlesen >

Profil und Leistungen

Fachliche Schwerpunkte meiner Tätigkeit

Weiterlesen >
© 2020 Lars Peters - Impressum
Link to $https://twitter.com/lapeLink to $https://github.com/lape