Wie funktioniert CapiSuite, wie wird es konfiguriert und gestarted

Lassen Sie uns zuerst anfangen mit einer kurzen Einführung, was CapiSuite wirklich ist und wie es funktioniert. Danach wird die Konfiguration und das Starten von CapiSuite kurz erklärt.

Wie funktioniert CapiSuite?

CapiSuite ist ein Daemon (Programm, das im Hintergrund läuft), dessen Hauptaufgabe es ist, darauf zu warten, dass ein Anruf ankommt. Wenn das passiert, startet er ein spezielles Python-Skript - das Incoming-Skript - und macht, was dieses Skript ihm sagt, z.B. einen Sprachanruf aufzeichnen, um einen Anrufbeantworter zu implementieren.

Für ausgehende Rufe gibt es ein weiteres Skript, das regelmäßig aufgerufen wird - das Idle-Skript. Es kann alle Resourcen prüfen, um Anweisungen zum Durchführen eines Anrufs zu erhalten - es ist z.B. vorstellbar, einen speziellen Mail-Account zu prüfen oder spezielle Verzeichnisse zu beobachten, in die der Anwender bestimmte Aufträge ablegen kann.

Es werden also alle für den Benutzer sichtbaren Aktionen und das Verhalten von CapiSuite über diese beiden Skripte definiert.

Sie müssen nun zwei Dinge tun:

  • die Skripte zur Verfügung stellen, indem Sie entweder

    • die Standard-Skripte, die mit CapiSuite geliefert werden, benutzen und anpassen oder

    • Ihre eigenen Skripte schreiben (vielleicht, indem Sie die Standard-Skripte als Vorlage verwenden)

  • CapiSuite selbst konfigurieren und ihm sagen, wo die beiden Skripte zu finden sind

Diese Seite konzentriert sich auf die allgemeine Konfiguration von CapiSuite - diese besteht hauptsächlich aus Optionen, die festlegen, welche Skripte verwendet werden und wo und wie die Aktivitäten protokolliert werden. Danach werden einige Details zum Starten von CapiSuite beschrieben.

Die nächste Seite gibt dann eine Einführung zu den Standard-Skripten, die Sie bereits zusammen mit CapiSuite installiert haben und zeigt Ihnen, wie der Anrufbeantworter und die Fax-Funktionen genutzt werden können.

Die Details, wie Sie eigene Skripte schreiben können, werden in einem anderen Teil der Dokumentation (Kapitel 2, Users Guide) behandelt.

Konfiguration von CapiSuite

CapiSuite verwendet eine allgemeine Konfigurationsdatei für die Kernfunktionen. Diese Datei sollte unter /etc/capisuite/capisuite.conf oder /usr/local/etc/capisuite/capisuite.conf liegen (hängt davon ab, wie Sie CapiSuite installiert haben).

Die meisten Optionen sind für die Verwendung der Standard-Skripte bereits mit brauchbaren Voreinstellungen belegt - wenn Sie wollen, können Sie diesen Abschnitt also überspringen und im „Start von CapiSuite“ weiterlesen.

Die Optionen werden hier kurz vorgestellt - für weitere Details schauen Sie sich bitte die Kommentare in der Konfigurationsdatei selbst an.

Optionen in capisuite.conf

incoming_script="/path/to/incoming.py"

Diese Option sagt CapiSuite, welches Skript bei eingehenden Anrufen ausgeführt werden soll. ändern Sie dies nur, wenn Sie Ihr eigenes Skript verwenden möchten.

idle_script="/path/to/idle.py"

Diese Option gibt den Pfad und den Namen des Idle-Skripts wider. Dieses Skript wird in regelmäßgien Intervallen aufgerufen, um zu prüfen, ob ein ausgehender Ruf getätigt werden soll. Wie oben sollten auch hier die Voreinstellungen OK sein, wenn Sie nicht Ihr eigenes Skript verwenden wollen.

idle_script_interval="30"

Hier können Sie festlegen, wie oft das Idle-Skript ausgeführt werden soll. Die angegebene Zahl ist das Intervall zwischen zwei Aufrufen in Sekunden. Kleinere Zahlen resultieren in einer schnelleren Reaktion auf abgesetzte Jobs, aber auch in einer höheren Systemlast. Die Voreinstellung sollte in den meisten Fällen OK sein.

log_file="/path/to/capisuite.log"

Diese Datei wird verwendet für alle "normalen" Meldungen, die von CapiSuite ausgegeben werden und die Ihnen mitteilen, was CapiSuite gerade macht. Fehlermeldungen werden in ein spezielles Log geschrieben (siehe unten).

log_level="1"

Sie können festlegen, wie detailliert die Protokollierung von CapiSuite sein soll. Die Voreinstellung gibt ein paar informative Meldungen für jeden eingehenden und ausgehenden Ruf und sollte im Normalfall ausreichen. Ich empfehle, den Werte nur zu erhöhen, wenn Probleme auftreten. Logs mit höherem Level sind hauptsächlich für Entwickler gedacht. Sie sollten Sie also nur verwenden, wenn Sie ein Problem melden wollen oder sich ein bisschen mit der CAPI-Schnittstelle und den Internas von CapiSuite auskennen.

log_error="/path/to/capisuite.error"

Alle Fehler, die CapiSuite intern und in Ihren Skripten feststellt, landen hier. Sie werden in eine extra Datei geschrieben, sodass sie nicht im normalen Log untergehen. Bitte schauen Sie sich dieses Log regelmäßig an - insbesondere, wenn Probleme auftreten. Bitte schicken Sie alle Meldungen, die Sie nicht verstehen und die nicht durch Ihre eigenen änderungen an den Skripten verursacht wurden, an das CapiSuite-Team.

DDI_length="0"

Wenn Ihre ISDN-Karten mit einem Anlagenanschluss verbunden ist, benutzen Sie normalerweise auch DDI. DDI heißt, Sie haben nur eine Hauptrufnummer und können Ihre Durchwahlen nach Belieben selbst festlegen. In diesem Fall müssen Sie die Länge Ihrer Durchwahlen hier festlegen. Wenn Sie zum Beispiel 1234-000 bis 1234-999 benutzen, dann ist Ihre DDI_length 3. Wenn hier 0 gesetzt ist, dann ist DDI deaktiviert.

Sollten Sie jetzt nur Bahnhof verstanden haben, dann haben Sie vermutlich kein DDI und können die Einstellung so belassen, wie sie ist.

DDI_base_length="0"

Diese Option wird nur benutzt, wenn DDI_length nicht 0 ist. Hier wird die Länge der Basisrufnummer festgelegt - im obigen Beispiel wäre das 4.

DDI_stop_numbers=""

Wenn Sie ülicherweise Durchwahlen einer bestimmten Länge verwenden, aber auch einige kürzere Ausnahmen haben (beispielsweise die "-0" für die Zentrale), dann können Sie diese Ausnahmen hier durch Kommata getrennt auflisten.

Start von CapiSuite

Da CapiSuite ein Daemon ist, wird es normalerweise beim Systemstart aktiviert. Sie müssen lediglich den Aufruf von

/path/to/capisuite -d

in Ihre Start-Skripte einfügen. In LSB-konformen Linux-Distributionen finden Sie die Start-Skripte unter /etc/init.d. Für eine detaillierte Beschreibung, wie dort ein Service hinzu gefügt wird, schauen Sie bitte in der Dokumentation Ihrer Distribution nach. Ein Beispiel eines Start-Skripts für SUSE-Linux ist in der Source-Distribution enthalten (see rc.capisuite). Dieses sollte (hoffentlich) auch mit anderen LSB-komformen Distributionen funktionieren. Wenn Sie es anpassen müssen, würde ich mich über Ihr Feedback freuen und würde hier gerne Anleitungen für andere Distributionen aufnehmen.

Wenn Sie die richtigen RPM-Pakete von CapiSuite verwenden, sollten die benötigten Skripte bereits enthalten sein. Bitte verwenden Sie das Konfigurations-Tool Ihres Distributors, um sie zu aktivieren. Wenn Sie das RPM verwenden, das mit SUSE-Linux geliefert wird, und Sie bei den Standard-Skripten bleiben wollen, sollte alles "out of the box" funktionieren. Sobald Sie die Standard-Skripte konfiguriert haben, rufen Sie einfach rccapisuite restart auf.

Zu Debug-Zwecken können Sie CapiSuite auch jederzeit manuell starten, indem Sie

/path/to/capisuite

aufrufen

Es gibt auch noch ein paar weitere Kommandozeilen-Optionen:

Kommandozeilen-Optionen von CapiSuite

--help, -h

Zeigt eine kurze Zusammenfassung der Kommandozeilen-Optionen an

--config=file, -c file

Verwendet eine benutzerdefinierte Konfigurationsdatei anstelle von /etc/capisuite/capisuite.conf oder /usr/local/etc/capisuite/capisuite.conf.

--daemon, -d

Läuft als Daemon (verwendet im Start-Skript, siehe oben)

CapiSuite kann theoretisch von jedem Benutzer aufgerufen werden. Es braucht lediglich read/write-Zugriffsrechte auf /dev/capi20. Wenn Sie jedoch die Standard-Skripte verwenden, muss CapiSuite als root ausgeführt werden.