csg-sipagent (1): Programmierbare VoIP-Bots

Veröffentlicht am: Mi 10 Juni 2026 Translations: en

csg-sipagent in Kürze

  • Python-Bibliothek zur Entwicklung von Telefonrobotern
  • Roboter können als Telefon an IP-Telefonanlagen angemeldet werden.
  • Steuerung über Telefontastatatur mit jedem tonwahlfähigen Analog-, IP- oder Mobiltelefon
  • Menüs in beliebiger Tiefe mit Tonwahlnavigation
  • Bildschirmausgabe via Signagepost möglich
  • Lokalisierungsfunktionen ermöglichen mehrsprachige Text- und Sprachausgabe
  • Verschiedene Anzeigewidgets (Menüs, Text/Bildansichten, Video-Player) enthalten
  • Steuerung externer Systeme mit eigenem Python-Code möglich

Kurz nach den ersten Prototypen von Signagepost kam ich auf die Idee, auch Interaktionsmöglichkeiten zu meinem Schaufensterbildschirm hinzuzufügen. Da ich neben meiner Haustür ein Türtelefon mit voller Telefontastatur montiert habe, lag es nahe, hierfür eine Steuerung mit Tonwahltasten zu entwickeln. So ist schließlich csg-sipagent entstanden, eine Python-Bibliothek zur Entwicklung von Telefonrobotern.

Ein solcher Roboter braucht im Minimalfall nur wenige Zeilen Python-Code und kann sich an den meisten IP-Telefonanlagen - also unter anderem handelsüblichen Haushaltsroutern - als Telefon registriert werden. Die Featureliste ist inzwischen ziemlich lang. Sie umfasst unter anderem in beliebiger Tiefe verschachtelbare Tonwahlmenüs, kombinierte Sprachausgabe am Telefon und Textausgabe am Bildschirm, Mehrsprachigkeit, diverse Anzeigewidgets für Text und Bild, sowie das Abspielen von Video-Dateien.

Menü mit Sprachausgabe und Text, umschaltbar zwischen Deutsch und Englisch.

Abspielen eines Videos aus einer Stallüberwachungsanlage, die ich gebaut habe.

Beispielanwendung: Steuerung von Garagen- und Hoftor per Telefon.

csg-sipagent in Aktion

Da es sich um ein interaktives System handelt sagen Bilder - beziehungsweise in diesem Fall Videos - mehr als tausend Worte. In den Videos sieht man den Telefonroboter in meinem Schaufenster, der über das Türtelefon gesteuert wird. Die dargestellten Funktionen lassen sich - mit Ausnahme der simulierten Torsteuerung - mit csg-sipagent in wenigen Zeilen Python-Code umsetzen. Für gängige Funktionalitäten wie Menüs und das Bereitstellen von mehreren Sprachversionen gibt es allerlei Bibilotheksfunktionen und eine strukturierte Klassenhierarchie, die einem den Grossteil der Arbeit abnehmen.

Plattform und Hardware

csg-sipagent sollte auf den meisten aktuellen Linux-Systemen funktionieren. Derzeit verwende ich auf x86-Plattformen Ubuntu Linux 24.04 für csg-sipagcent.

Neben einer Python-Umgebung braucht es unter anderem baresip zur Interaktion mit der Telefonanlage und diverse Multimedia-Software und -Bibliotheken für die Sprachausgabe und zum Abspielen von Videos. Die meisten dieser Abhängigkeiten lassen sich aus den Ubuntu-Paketquellen erfüllen - alles andere liefere ich mit.

Andere Linux-Systeme sind prinzipiell unterstützbar, erfordern aber - kostspielige - Anpassungen an das jeweilige System. Wo das gewünscht wird, kann ich mich darum kümmern.

Entwicklungsstand und Zielgruppe

csg-sipagent befindet sich wie Signagepost in der frühen Betaphase. Dokumentation in Form von Docstrings und vielfältigen Code- und Konfigurationsbeispielen ist vorhanden, kann aber vereinzelt noch Lücken haben.

Signagepost selbst ist ein normal installierbares Python-Modul mit überschaubaren Abhängigkeiten (diverse Ubuntu-Pakete). Ein Python-Entwickler, der auf einer Linux-Plattform arbeitet sollte damit zurechtkommen, und sollte dem mal nicht so sein helfe ich gerne weiter. Da es sich um eine Bibliothek und nicht um ein fertiges Programm handelt, richtet es sich hauptsächlich an Programmierer und nicht an Endbenutzer.

Selbstverständlich entwickle ich gerne maßgeschneiderte Menü- und Anzeigesysteme für Endnutzer auf Basis von csg-sipagent und signagepost. Ich kann diese Systeme auch schlüsselfertig mit Hardware und automatisch installiertem Betriebssystem anbieten. Solange ich dabei nur Menüs erstellen und mit vom Kunden bereitgestellten Text-, Bild- und Videoinhalten füllen muss, hält sich der zeitliche Aufwand und damit die Kosten in Grenzen.

Weiterentwicklung und Anpassungen

Die Weiterentwicklung des Produkts findet kontinuierlich statt, soweit ich selbst Handlungsbedarf sehe. Darüber hinausgehende kundenspezifische Anpassungen sind zu meinem Stundensatz Tarif C (siehe Preise; zum Veröffentlichungszeitpunkt EUR 120/Stunde netto) möglich.

Der Kunde hat Zugriff auf den kompletten Quellcode des Systems und kann ihn unter zwei Bedingungen modifizieren: (1) Jegliche Unterstützung für modifizierten Code ist nicht Teil der Lizenz, (2) der Kunde muss Updates der Basisversion manuell integrieren.

Wenn Unterstützung für modifizierten Quellcode oder die Integration zukünftiger Updates in modifizierten Quellcode gewünscht wird, ist das zum selben Stundensatz wie die Entwicklung kundenspezifischer Anpassungen möglich.

Ausblick

Dies ist der erste Artikel in einer Serie von Artikeln über csg-signagepost. Im Nächsten werde ich einen intensiven Blick auf die Architektur und den Python-Code hinter dem Menü im Videobeispiel werfen.

Preise und Verfügbarkeit

  • Preis: EUR 100 netto pro Lizenz (es wird eine Lizenz pro Kombination aus laufender Instanz und SIP-Konto benötigt). Lizenzen sind unbeschränkt gültig und werden durch einmalige Zahlung des Lizenspreises erworben, es gibt also kein mit laufenden Kosten verbundenes Abonnement. Updates des Grundproduktes - ohne kundenspezifische Modifikationen - auf spätere Versionen sind in dieser Lizenz enthalten.
  • Kombinationsangebot: Eine kombinierte csg-sipagent/Signagepost-Lizenz kostet EUR 150 netto. Eine bereits bestehende csg-sipagent- oder Signagepost-Lizenz kann nicht im Nachhinein auf diese kombinierte Lizenz erweitert werden.
  • Die benötigte Hardware ist nicht inbegriffen und kann entweder vom Kunden gestellt oder bei mir erworben werden.
  • Günstigere OEM-Lizenzen für die Integration in eigene Produkte sind verhandelbar.
  • Das Produkt richtet sich primär an Geschäftskunden (B2B) und nicht an Endkunden. Im Einzelfall sind Ausnahmen für von mir persönlich betreute Systeme möglich.
  • Derzeit ist csg-sipagent nur direkt bei mir verfügbar. Bei Interesse kontaktieren Sie mich bitte unter info@computer-grassler.de oder +49 (0) 9681 670 98 68.
×