[Erledigt] Skript aufrufen und Wert aus Skript an Asterisk übergeben

AstKBost

Neuer User
Mitglied seit
30 Sep 2016
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte in meiner Asterisk-TA die Voicemail in verschiedenen Kategorien einteilen, so soll an einem Feierteg eine bstimme Ansage erfolgen. Dazu möchte ich in der extensions.conf zuerst ein Skript aufrufen, in dem das aktuelle Datum mit den Feiertagen abgeglichen wird. Entspricht das Datum einem Feiertag soll Wert 0 sonst der Wert 1 an Asterisk übergeben werden. Bei Wert 0 geht (GotoIf) Asterisk zur Voicemailansage, bei Wert 1 stellt Asterisk auf die entsprechende Nebenstelle um.

Die Formel zur Berechnung des Ostersonntag und der davon abhängigen Feiertage habe ich. Was mir fehlt ist der Aufruf des Skripts in Asterisk und wie es dann weitergeht in Asterisk (Wertübernahme). In welcher Sprache soll/kann das Skript verfasst werden?

Freue mich über jede Hilfe!!!

Vielen Dank.

:doof:
 
Zuletzt bearbeitet:
Moin & Willkommen im Forum

Nimm: SHELL()
Code:
same  => n,SET(MYVAR=${SHELL(/etc/asterisk/cmdret arg)})
same  => n,NoOp(${MYVAR})
/etc/asterisk/cmdret (ausführbar)
Code:
if [ ${#} -ne 0 ]
then
 echo -n 0
else
 echo -n 1
fi

Anderes Beispiel: Die Extension ruft cmdret mit Argument ${EPOCH} auf, cmdret verarbeitet das Argument mittels date und liefert das Ergebnis mittels echo zurück...
Ausgabe in der Konsole (asterisk -rvvvvv)
Code:
[Oct  1 12:59:03]     -- Executing [500@osmc:3] Set("SIP/1003-0000000a", "MYVAR=Sat Oct 1 12:59:03 CEST 2016") in new stack
[Oct  1 12:59:03]     -- Executing [500@osmc:4] NoOp("SIP/1003-0000000a", "Sat Oct 1 12:59:03 CEST 2016") in new stack
Die Extensionkommandos...
Code:
same  => n,SET(MYVAR=${SHELL(/etc/asterisk/cmdret ${EPOCH})})
same  => n,NoOp(${MYVAR})
...und cmdret..
Code:
if [ ${#} -ne 0 ]
then
 echo -n $(date --date=\@${@})
else
 echo -n 1
fi
http://das-asterisk-buch.de/1.6/functions-shell.html
 
Zuletzt bearbeitet:
Hallo koyaanisqatsi ,

vielen herzlichen Dank für die schnelle und sehr ausführliche Antwort. Werde es gleich mal ausprobieren.

Grüße
KBost
 
So, habs jetzt umgesetzt und es funktioniert wie gewünscht. An dieser Stelle nochmal allerherzlichsten Dank!!!!!

:groesste:
 
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.