#!/var/tmp/sh
# [HTML:<script>function show_title(title) { document.write("<table border='0' cellpadding='3' width='95%'><tr><td bgcolor='#cccccc'><b>" + title + "</b></td></tr></table>"); }</script>]
# [HTML:<script>function set_group(div, setting, visible_value) { document.getElementById(div).style.display=(document.getElementById(setting).value == visible_value ? 'block' : 'none') }</script>]
# [SECTION:Start]
DTMFBOX_ENABLED="1" # dtmfbox automatisch starten [OPTION:1|ja,0|nein]
DTMFBOX_SCRIPT_VERSION="v0.5.0" # dtmfbox Skriptversion (nicht ändern!) [HIDE:1]
# [SECTION:Anrufbeantworter]
GLOBAL_AM_ACTIVE="0" # <b>Anrufbeantworter</b> [OPTION:1|aktiviert,0|deaktiviert] [ONCHANGE:set_group('DIV_GLOBAL_AM_ACTIVE', 'Anrufbeantworter_GLOBAL_AM_ACTIVE', '1')]
# [HTML:<div ID='DIV_GLOBAL_AM_ACTIVE'>]
GLOBAL_AM_PIN="1234" # AB-Pin (für externe Abfrage) [WIDTH:50px] [TYPE:password]
GLOBAL_AM_MENU="menu:main" # Einstiegs-Menü (default: menu:main) [WIDTH:150px]
GLOBAL_AM_ANNOUNCEMENT_START="./play/ansage.wav" # Ansage
GLOBAL_AM_ANNOUNCEMENT_END="./play/endansage.wav" # Endansage (nach Aufnahme)
GLOBAL_AM_BEEP="1" # Piep-Ton nach Ansage? [OPTION:1|ja,0|nein]
GLOBAL_AM_RING_TIME="15" # Ringtime (in sec), bevor der AB ran geht [WIDTH:50px]
GLOBAL_AM_RECORD_TIME="30" # Aufnahmezeit (in sec) [WIDTH:50px]
GLOBAL_AM_HOOKUP_TYPE="0" # Abhebemodus [OPTION:0|Alle,1|nur Unbekannte,2|Unbekannte sofort / andere nach Ringtime]
GLOBAL_AM_RECORD_TYPE="0" # Aufnahmemodus [OPTION:0|nach Ansage aufnehmen,1|sofort aufnehmen,2|kein Aufnahme / nur Ansage]
GLOBAL_AM_SCHEDULE_START="00:00" # Anrufbeantworter aktivieren ab (HH:SS) [WIDTH:50px]
GLOBAL_AM_SCHEDULE_END="00:00" # Anrufbeantworter deaktivieren ab (HH:SS) [WIDTH:50px]
GLOBAL_AM_MAIL="0" # <b>Mailversand</b> [OPTION:1|aktiviert,0|deaktiviert] [ONCHANGE:set_group('DIV_GLOBAL_AM_MAIL', 'Anrufbeantworter_GLOBAL_AM_MAIL', '1')]
# [HTML:<div ID='DIV_GLOBAL_AM_MAIL'>]
GLOBAL_AM_MAIL_TO="" # Mail Empfänger ([email protected]) [WIDTH:250px]
GLOBAL_AM_MAIL_FROM="" # Mail Absender ([email protected]) [WIDTH:250px]
GLOBAL_AM_MAIL_SERVER="" # Mail Server (mail.foo.de) [WIDTH:250px]
GLOBAL_AM_MAIL_USERNAME="" # Mail Username [WIDTH:250px]
GLOBAL_AM_MAIL_PASSWORD="" # Mail Passwort [WIDTH:250px] [TYPE:password]
GLOBAL_AM_MAIL_DELETE_AFTER_SEND="0" # Nach Versand löschen? [OPTION:1|ja,0|nein]
# [HTML:</div><script>set_group('DIV_GLOBAL_AM_MAIL', 'Anrufbeantworter_GLOBAL_AM_MAIL', '1')</script>]
GLOBAL_AM_FTP="0" # <b>FTP-Streaming</b> [OPTION:1|aktiviert,0|deaktiviert] [ONCHANGE:set_group('DIV_GLOBAL_AM_FTP', 'Anrufbeantworter_GLOBAL_AM_FTP', '1')]
# [HTML:<div ID='DIV_GLOBAL_AM_FTP'>]
GLOBAL_AM_FTP_SERVER="" # FTP-Server (ftp.foo.de) [WIDTH:250px]
GLOBAL_AM_FTP_PORT="" # FTP-Port [WIDTH:50px]
GLOBAL_AM_FTP_PATH="" # FTP-Remote Pfad (/private) [WIDTH:250px]
GLOBAL_AM_FTP_USERNAME="" # FTP-Username [WIDTH:250px]
GLOBAL_AM_FTP_PASSWORD="" # FTP-Passwort [WIDTH:250px] [TYPE:password]
# [HTML:</div><script>set_group('DIV_GLOBAL_AM_FTP', 'Anrufbeantworter_GLOBAL_AM_FTP', '1')</script>]
# [HTML:</div><script>set_group('DIV_GLOBAL_AM_ACTIVE', 'Anrufbeantworter_GLOBAL_AM_ACTIVE', '1')</script>]
# Accountspezifische Einstellungen
#
# ACC1_AM_ACTIVE="0" # Account 1 [OPTION:1|aktiviert,0|deaktiviert]
# ACC1_AM_ANNOUNCEMENT_START="./play/acc1.wav" # Account 1 - Ansage
# ACC2_AM_ACTIVE="0" # Account 2 [OPTION:1|aktiviert,0|deaktiviert]
# ACC3_AM_ACTIVE="0" # Account 3 [OPTION:1|aktiviert,0|deaktiviert]
# ...
# [SECTION:Callthrough]
# [HTML:<script>function assist_ct(obj) { trigger_no=prompt('Bitte Trigger-Nummer eingeben, auf die der Callthrough reagieren soll.
Hinweis: Es können Regular Expressions verwendet werden, wie z.B.: .*12345'); if(trigger_no == null || trigger_no.length == 0) return; trigger_acc=prompt('Bitte Trigger-Account 1 bis 10 eingeben (optional).
Hinweis: Die Angabe der Account-Rufnummer ist ebenfalls möglich.', ""); if(trigger_acc == null) trigger_acc = ""; obj.value = trigger_no + (trigger_acc.length != 0 ? '/' + trigger_acc : ''); obj.onchange() }</script>]
CALLTHROUGH1="" # 1. Callthrough Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_ct(document.getElementById('Callthrough_CALLTHROUGH1'))">]
CALLTHROUGH2="" # 2. Callthrough Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_ct(document.getElementById('Callthrough_CALLTHROUGH2'))">]
CALLTHROUGH3="" # 3. Callthrough Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_ct(document.getElementById('Callthrough_CALLTHROUGH3'))">]
# CALLTHROUGHX="" # X. Callthrough Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_ct(document.getElementById('Callthrough_CALLTHROUGHX'))">]
# [SECTION:Callback]
# [HTML:<script>function assist_cb(obj) { trigger_no=prompt('Bitte Trigger-Nummer eingeben, auf die der Callback reagieren soll.
Hinweis: Es können Regular Expressions verwendet werden, wie z.B.: \(.*12345\)'); if(trigger_no == null || trigger_no.length == 0) return; callback_no=prompt('Bitte Rückruf-Nummer eingeben.
Hinweis: Falls die Trigger-Nummer als Regular-Expression angegeben wurde, können hier Replace-Platzhalter angegeben werden, wie z.B.: \1', ""); if(callback_no == null || callback_no.length == 0) return; trigger_acc=prompt('Bitte Trigger-Account 1 bis 10 eingeben (optional).
Hinweis: Die Angabe der Account-Rufnummer ist ebenfalls möglich.', ""); if(trigger_acc == null) trigger_acc = ''; callback_acc=prompt('Bitte Callback-Account 1 bis 10 eingeben (optional).
Hinweis: Die Angabe der Account-Rufnummer ist ebenfalls möglich.', ""); if(callback_acc == null) callback_acc = ''; obj.value = trigger_no + '/' + callback_no + '/' + trigger_acc + '/' + callback_acc; obj.onchange() }</script>]
CALLBACK1="" # 1. Callback Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_cb(document.getElementById('Callback_CALLBACK1'))">]
CALLBACK2="" # 2. Callback Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_cb(document.getElementById('Callback_CALLBACK2'))">]
CALLBACK3="" # 3. Callback Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_cb(document.getElementById('Callback_CALLBACK3'))">]
# CALLBACKX="" # X. Callback Regel [WIDTH:150px] [HTML: <input type='button' value='Assistent' onclick="javascript:assist_cb(document.getElementById('Callback_CALLBACKX'))">]
# [SECTION:Webradio]
RADIO_STREAM1="" # 1. Radiostream
RADIO_STREAM2="" # 2. Radiostream
RADIO_STREAM3="" # 3. Radiostream
RADIO_STREAM4="" # 4. Radiostream
RADIO_STREAM5="" # 5. Radiostream
RADIO_STREAM6="" # 6. Radiostream
RADIO_STREAM7="" # 7. Radiostream
RADIO_STREAM8="" # 8. Radiostream
RADIO_STREAM9="" # 9. Radiostream
# [SECTION:Rückwärtssuche]
# [HTML:<script>show_title("Pseudo Rufnummern zuordnen (nur ISDN Telefone)")</script>]
REVERS_ACC1_FAKEMSN="" # Account 1 [WIDTH:200px]
REVERS_ACC2_FAKEMSN="" # Account 2 [WIDTH:200px]
REVERS_ACC3_FAKEMSN="" # Account 3 [WIDTH:200px]
REVERS_ACC4_FAKEMSN="" # Account 4 [WIDTH:200px]
REVERS_ACC5_FAKEMSN="" # Account 5 [WIDTH:200px]
REVERS_ACC6_FAKEMSN="" # Account 6 [WIDTH:200px]
REVERS_ACC7_FAKEMSN="" # Account 7 [WIDTH:200px]
REVERS_ACC8_FAKEMSN="" # Account 8 [WIDTH:200px]
REVERS_ACC9_FAKEMSN="" # Account 9 [WIDTH:200px]
REVERS_ACC10_FAKEMSN="" # Account 10 [WIDTH:200px]
# [SECTION:Anti-Callcenter]
# [HTML:<script>show_title("Weiterleitungen zuordnen")</script>]
ANTICC_ACC1_RELAYNO="" # Account 1 [WIDTH:200px]
ANTICC_ACC2_RELAYNO="" # Account 2 [WIDTH:200px]
ANTICC_ACC3_RELAYNO="" # Account 3 [WIDTH:200px]
ANTICC_ACC4_RELAYNO="" # Account 4 [WIDTH:200px]
ANTICC_ACC5_RELAYNO="" # Account 5 [WIDTH:200px]
ANTICC_ACC6_RELAYNO="" # Account 6 [WIDTH:200px]
ANTICC_ACC7_RELAYNO="" # Account 7 [WIDTH:200px]
ANTICC_ACC8_RELAYNO="" # Account 8 [WIDTH:200px]
ANTICC_ACC9_RELAYNO="" # Account 9 [WIDTH:200px]
ANTICC_ACC10_RELAYNO="" # Account 10 [WIDTH:200px]
# [SECTION:eSpeak]
ESPEAK_INSTALLED="0" # <b>eSpeak-Modus</b> [OPTION:0|Webstream,1|Installiert,2|Beep] [ONCHANGE:document.getElementById('DIV_ESPEAK_INSTALLED').style.display=(document.getElementById('eSpeak_ESPEAK_INSTALLED').value == '2' ? 'none' : 'block');]
# [HTML:<div ID='DIV_ESPEAK_INSTALLED'>]
ESPEAK_LANG="de" # Language (default: de) [OPTION:de|de]
ESPEAK_TYPE="f1" # Typ [OPTION:m0|m0,m1|m1,m2|m2,m3|m3,m4|m4,m5|m5,f0|f0,f1|f1,f2|f2,f3|f3,f4|f4|,f5|f5]
ESPEAK_VOLUME="100" # Lautstärke (0-200, default: 100) [WIDTH:50px]
ESPEAK_SPEED="200" # Geschwindigkeit (80-370, default: 170) [WIDTH:50px]
ESPEAK_PITCH="50" # Pitch (0-99, default: 50) [WIDTH:50px]
# [HTML:</div><script>document.getElementById('DIV_ESPEAK_INSTALLED').style.display=(document.getElementById('eSpeak_ESPEAK_INSTALLED').value == '2' ? 'none' : 'block');</script>]
# [SECTION:Programme & Pfade]
MADPLAY_PATH="/var/dtmfbox/extras" # Pfad zu madplay
ESPEAK_PATH="/var/dtmfbox/extras" # Pfad zu eSpeak (ESPEAK_INSTALLED="1")
CHECKMAILD_PATH="/var/dtmfbox/extras" # Pfad zu CheckMailD
DTMFBOX_PATH="/var/dtmfbox" # dtmfbox [HIDE:1]
DTMFBOX="$DTMFBOX_PATH/dtmfbox" # [HIDE:1]
DIFF="/var/dtmfbox/busybox-tools diff" # [HIDE:1]
DU="/var/tmp/busybox-tools du" # [HIDE:1]
FTPPUT="/var/tmp/busybox-tools ftpput" # [HIDE:1]
GZIP="/var/tmp/busybox-tools gzip" # [HIDE:1]
GUNZIP="/var/tmp/busybox-tools gunzip" # [HIDE:1]
HEAD="/var/tmp/busybox-tools head" # [HIDE:1]
HTTPD="/var/tmp/busybox-httpd httpd" # [HIDE:1]
MKFIFO="/var/tmp/busybox-tools mkfifo" # [HIDE:1]
NC="/var/tmp/busybox-tools nc" # [HIDE:1]
PATCH="/var/dtmfbox/busybox-tools patch" # [HIDE:1]
TAIL="/var/tmp/busybox-tools tail" # [HIDE:1]
TAR="/var/tmp/busybox-tools tar" # [HIDE:1]
UUDECODE="/var/tmp/busybox-tools uudecode" # [HIDE:1]
UUENCODE="/var/tmp/busybox-tools uuencode" # [HIDE:1]
# [SECTION:Webphone]
WEBPHONE_REM_RTP_HOST="fritz.box" # Remote Host (dtmfbox) [WIDTH:100]
WEBPHONE_REM_RTP_PORT="4062" # Remote RTP-Port (+1 RTCP Port) [WIDTH:100]
WEBPHONE_LOC_RTP_PORT="4060" # Lokaler RTP-Port (+1 RTCP Port) [WIDTH:100]
# [SECTION:Webinterface]
PATCHDIFF="1" # Speicherverhalten [OPTION:1|Diff + Patch + GZip,0|GZip]
DIRECT_EDIT="0" # "Text-Editor Modus" standardmäßig [OPTION:1|aktiviert,0|deaktiviert]
TEXTAREA_ROWS="25" # Zeilen im Editor [WIDTH:50px]
TEXTAREA_WRAP="off" # Automatischer Zeilenumbruch [OPTION:on|an,off|aus]
-n