[Frage] Auto-Start von Asterisk auf Freetz?

nellieNashorn

Neuer User
Mitglied seit
23 Jun 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich setze Freetz auf einer Fritz!Box 7390 primär ein, um Asterisk in einer reinen SIP-Umgebung bereit zu stellen.

Mein Stand ist r14743. Ich würde gerne Asterisk automatisch starten, habe auch in der Freetz-Weboberfläche den entsprechenden Radio-Button gesetzt, allein, es funktioniert nicht. Manuell Starten über die Freetz-Weboberfläche funktioniert problemlos. Ich vermute die Ursache darin, dass das USB-Laufwerk nicht "früh genug" gemountet ist bzw. Freetz versucht, Asterisk "zu früh" automatisch zu starten, habe aber zugegebenermassen nicht versucht, in irgendwelchen Logfiles nachzugucken.

Wie kann ich Asterisk automatisch starten (das muss nicht zwingend per Freetz-Weboberfläche sein)? Mir geht es v. a. darum, dass nicht gleich nach einem Stromausfall o. dgl. ein Experte Asterisk wieder manuell starten muss.

Beste Grüsse
nellieNashorn
 
Via cron
Code:
@reboot
würde ich mal testen, ob der Asterisk dann zur rechten Zeit gestartet wird...
 
Vooorsicht ... die BusyBox kennt diese "special times" erst seit der Version 1.28.0 (https://git.busybox.net/busybox/tree/miscutils/crond.c?h=1_28_0#n38) und Freetz verwendet eine 1.27.2 (https://github.com/Freetz/freetz/bl...b1f0e93d30278ec431e8f/make/busybox/busybox.mk), bei der das noch nicht enthalten ist (https://git.busybox.net/busybox/tree/miscutils/crond.c?h=1_27_2#n25).

Das geht also nicht so ohne weiteres ... was nicht heißen soll, daß es unmöglich wäre.

Ich würde hier ohnehin irgendwo ein "verzögertes" Skript starten, welches erst dann die "asterisk"-Instanz anschiebt, wenn alle anderen Voraussetzungen (sofern da SIP-Accounts nach extern registriert werden, sogar erst, wenn die Box "online" ist) erfüllt sind - eine davon dürfte z.B. eine gültige Uhrzeit sein ... diese sollte - nur nebenbei bemerkt - auch für den Start des "crond" bereits korrekt gesetzt sein und das geschieht bei den meisten FRITZ!Boxen in freier Wildbahn sicherlich erst dann, wenn die online sind. Es sei denn, man hat selbst einen NTP-Server oder -Proxy in seinem Netz oder einen Server, der vom "rdate"-Applet in der BusyBox genutzt werden kann - das benutzt den "daytime"-Service - und man ruft dieses Applet dann selbst auf. Aber die FRITZ!Boxen haben eben keine RTC und ihr "Zeitsprung" nach dem Setzen der Uhrzeit über "multid" und "chronyc" kann andere Software mit Zeitbezug schon mal verwirren - gerade der "crond" ist da bei mir immer wieder ein Kandidat, daher hat der bei mir auch vor seinem Start eine "Zeitabfrage", z.B. etwas in dieser Art: https://github.com/PeterPawn/YourFritz/blob/master/tools/waittimeset

Die beste Stelle, um ansonsten solche Dienste zu verwalten, die vom "Online-Zustand" abhängig sind, ist immer noch "onlinechanged" ... ich weiß nicht genau, wie weit da Freetz mit der korrekten Auswertung der verschiedenen Kombinationen (IPv4 vs. IPv6, online vs. offline) inzwischen ist bzw. ob es da im "Framework" überhaupt einen passenden Hook gibt (und ich sehe jetzt auch nicht nach). Aber man kann einfach selbst passende Skript-Dateien in das Verzeichnis "/etc/onlinechanged" einbinden, die werden dann bei einer Zustandsänderung von "/bin/onlinechanged" (auch ein Shell-Skript, das aber vom "multid" (oder "kdsld", das ist schwer zu trennen) angestoßen wird) der Reihe nach abgearbeitet.
 
  • external in menuconfig einschalten, einschalten reicht, es ist nicht zwingend notwendig, irgendetwas zu external'isieren
  • im Freetz-Web-If unter "Freetz/Einstellungen" im Bereich external unter "Diese selbst definierten Dienste behandeln" asterisk eintragen
Dann wird asterisk erst dann gestartet, wenn external gestartet wurde und external wiederum wird erst dann gestartet, wenn das USB-Medium gemountet wurde. Nicht schön, aber funktioniert.
 
  • Like
Reaktionen: nellieNashorn
Vielen Dank! Bitte entschuldigt die sehr späte Antwort, erst jetzt kam ich dazu, den jüngsten der o. g. Vorschläge zu befolgen - mit Erfolg! Ergänzen möchte ich, dass dabei erstens in der Tat beim Konfigurieren von Freetz wirklich alle anderen Einstellungen, die die "external"-Funktionalität betreffen, abgewählt werden können, selbst wenn die zunächst eingeschaltet worden sein sollten, dass zweitens der Starttyp von Asterisk in der Weboberfläche auf "Automatisch" gestellt sein muss, sonst wird Asterisk auch von "external" nicht gestartet - es erscheint eine entsprechende Fehlermeldung im "external.log" -, und dass drittens der Pfad auf das "external"-Verzeichnis existieren muss, auch wenn der Inhalt des betreffenden Verzeichnisses durchaus leer sein darf - in meinem Fall hat mir die Weboberfläche ein nicht-existentes Verzeichnis vorgeschlagen (uStor01 statt 01 oder so), und prompt startete "external" nicht und damit Asterisk erst recht nicht. Etwas verwirrend fand ich, dass zeitweilig Asterisk aus der Weboberfläche verschwand, das liess sich dann dadurch beheben, dass ich "asterisk" aus "Diese selbst definierten Dienste behandeln" wieder entfernt und neu gebootet habe. Danach erschien "Asterisk" wieder im Oberflächenmenu, und ich konnte es wieder bei "Diese selbst definierten Dienste behandeln" eintragen, und mit dem richtigen Pfad funktioniert der Autostart nun auch. Nochmals herzlichen Dank!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.