diff --git a/.env.example b/.env.example index b1c2b54..73226cb 100644 --- a/.env.example +++ b/.env.example @@ -54,6 +54,12 @@ LEITSTAND_USER=praxis LEITSTAND_PASS= # --- Telefonanlage (nur Stufe 2) --- +# Event-Socket-Port von FreeSWITCH. Muss zu listen-port in +# autoload_configs/event_socket.conf.xml passen, sonst antwortet fs_cli nicht +# und telefon/starten.sh sieht den Trunk nie als registriert. +FS_PORT=8099 +# Konfigurationsverzeichnis von FreeSWITCH (Apple Silicon: /opt/homebrew/...) +FS_ETC=/opt/homebrew/etc/freeswitch # Log von FreeSWITCH; der Leitstand liest daraus die Anruf-Ereignisse. # Apple Silicon: /opt/homebrew/... , Intel-Mac: /usr/local/... #FREESWITCH_LOG=/opt/homebrew/var/log/freeswitch/freeswitch.log diff --git a/telefon/starten.sh b/telefon/starten.sh index 5734b95..5bc2b82 100755 --- a/telefon/starten.sh +++ b/telefon/starten.sh @@ -5,6 +5,19 @@ set -uo pipefail PROJEKT="$(cd "$(dirname "$0")/.." && pwd)" cd "$PROJEKT" +# Werte aus der .env uebernehmen (FS_PORT, FS_ETC, OLLAMA_URL, LEITSTAND_PORT). +# Wie in pipe/config.py gewinnt eine bereits gesetzte Umgebungsvariable - so +# bleibt ein einmaliges "FS_PORT=8021 ./telefon/starten.sh" moeglich. +if [ -f .env ]; then + while IFS= read -r zeile; do + case "$zeile" in ''|'#'*) continue ;; *=*) : ;; *) continue ;; esac + schluessel="${zeile%%=*}" + wert="${zeile#*=}" + wert="${wert%\"}"; wert="${wert#\"}" + [ -n "${!schluessel:-}" ] || export "$schluessel=$wert" + done < .env +fi + fehler=0 melde() { printf ' %-38s %s\n' "$1" "$2"; }