Wiki source code of STARFACE

Version 5.1 by Sebastian Marsching on 2022/04/03 23:05

Show last authors
1 {{toc/}}
2
3 Diese Seite fasst Erfahrungen zusammen, die ich beim Einrichten unserer [STARFACE-Telefonanlage](http://www.starface.de/) sammeln konnte.
4
5 # ISDN-Rufumleitung in der Vermittlungsstelle
6
7 Normalerweise erfolgt die Umsetzung einer vom Benutzer eingerichteten Umleitung in der STARFACE-Telefonanlage, d.h. bei einer Umleitung auf eine externe Nummer wird durch die STARFACE eine Verbindung zu dieser Nummer hergestellt und auf die eingehende Verbindung geschaltet.
8
9 Diese Lösung hat zwei Nachteile:
10
11 * Am Endgerät, an das der Anruf weitergeleitet wurde, sieht man nur die Nummer der Telefonanlage und nicht die des Anrufers.
12 * Bei einem Anruf über ISDN werden zwei B-Kanäle (einer für den eingehenden und einer für den ausgehenden Anruf) benötigt.
13
14 ISDN bietet allerdings auch die Möglichkeit eine Rufumleitung in der Vermittlungsstelle zu veranlassen (CD-PR, Call Deflection Partial Routing). Dies muss die Telefonanlage allerdings entsprechend signalisieren, was bei der STARFACE in der Standard-Konfiguration nicht der Fall ist.
15
16 Ich habe deshalb ein kleines Modul geschrieben, das eine entsprechende Signalisierung übernimmt. In der aktuellen Version funktioniert das Modul allerdings nur für Umleitungen vom Typ "Immer" und "Besetzt". Umleitungen bei Zeitüberschreitungen werden aufgrund von Beschränkungen durch die für das Modul verfügbaren Funktionen weiterhin durch die Standard-Funktion der STARFACE-Anlage übernommen.
17
18 Damit das Modul korrekt funktioniert, müssen in der Konfiguration alle Leitungen eingetragen werden, für die es aktiv sein soll. Dies sind normalerweise alle externen ISDN-Leitungen. Je nach Anschlusstyp (Mehrgeräte- oder Anlagen-Anschluss) muss zwischen dem SrxDeflect- und SrxReroute-Kommandos gewählt werden (siehe [Referenz](http://www.voip-info.org/wiki/view/Asterisk+cmd+SrxDeflect)). Bei einigen Tests funktionierte SrxReroute an einem Vodafone/Arcor-Anlagenanschluss.
19
20 ## Download
21
22 Das Modul wird kostenlos zur Verfügung gestellt, entsprechend gibt es keine Gewähr für korrekte Funktionsweise und die Nutzung erfolgt auf eigene Gefahr. Es wird unter den Bedingungen der [GNU General Public License Version 3](http://www.gnu.org/licenses/lgpl.html) zur Verfügung gestellt.
23
24 * [ISDNUmleitung_v92.sfm](https://sebastian.marsching.com/wiki/Netzwerk/STARFACE?action=AttachFile&do=view&target=ISDNUmleitung_v92.sfm) (für STARFACE ab Version 6.4.2)
25 * [ISDNUmleitung_v91.sfm](https://sebastian.marsching.com/wiki/Netzwerk/STARFACE?action=AttachFile&do=view&target=ISDNUmleitung_v91.sfm) (für STARFACE ab Version 6.1)
26 * [ISDNUmleitung_v89.sfm](https://sebastian.marsching.com/wiki/Netzwerk/STARFACE?action=AttachFile&do=view&target=ISDNUmleitung_v89.sfm) (für STARFACE ab Version 5.1)
27 * [ISDNUmleitung_v88.sfm](https://sebastian.marsching.com/wiki/Netzwerk/STARFACE?action=AttachFile&do=view&target=ISDNUmleitung_v88.sfm) (für ältere STARFACE Versionen)
28
29 # QEMU Guest Agent installieren
30
31 Wenn die STARFACE als VM auf einem QEMU/KVM (z.B. mit libvirt) Host läuft, will man, dass sie heruntergefahren wird, wenn der VM-Host heruntergefahren wird. Dummerweise reagiert die STARFACE standardmäßig nicht auf ein einzelnes ACPI-Shutdown-Event, sondern braucht drei solcher Events innerhalb von 30 Sekunden, was die normalen Shutdown-Skripte von libvirt nicht unbedingt sicherstellen.
32
33 Der einfachste Weg das zu lösen ist den QEMU Guest Agent in der STARFACE-VM zu installieren (und in der VM-Konfiguration auf dem Host einen Channel für dem QEMU Guest Agent anzulegen). Dann erfolgt das Herunterfahren über den Guest-Agent statt per ACPI-Event.
34
35 Die ausführliche Anleitung für die Installation des QEMU-Guest-Agent ist bei [RedHat](https://access.redhat.com/solutions/732773) zu finden. Hier sind die wesentlichen Schritte:
36
37 ```bash
38 yum install qemu-guest-agent
39 chkconfig qemu-ga on
40 service qemu-ga start
41 ```
42
43 Sollte STARFACE irgendwann von CentOS 6 auf eine neuere Version wechseln, wären die Schritte wie folgt anzupassen:
44
45 ```bash
46 yum install qemu-guest-agent
47 systemctl start qemu-guest-agent
48 systemctl enable qemu-guest-agent
49 ```
50
51 Vom VM-Host aus, kann das Funktionieren der Verbindung mit dem Guest Agent wie folgt überprüft werden:
52
53 ```bash
54 virsh qemu-agent-command <guest-name> '{"execute":"guest-info"}'
55 ```
56
57 # TLS-Zertifikat austauschen
58
59 Das TLS-Zertifikat für Tomcat und der zugehörige private Schlüssel ist in Java-Keystore unter `/usr/share/tomcat6/ssl/tomcat.keystore` gespeichert. Das Passwort für den Keystore lautet „changeit“. Falls nicht nur ein neues Zertifikat hochgeladen werden soll (was über die Webserver-Oberfläche möglich ist), sondern auch der private Schlüssel ausgewechselt werden soll, kann diese Datei mit der Software [KeyStore Explorer](https://keystore-explorer.org/) bearbeitet werden.