System() im Asterisk Dialplan

awo

Neuer User
Mitglied seit
8 Mai 2007
Beiträge
123
Punkte für Reaktionen
0
Punkte
0
Hi

ich brächte mal kurz hilfe.
Undzwar würde ich gerne über den dialplan ein command über die Linux CLI inder Asterisk CLI ausführen hierzu haben ich folgenden dialplan angelegt.

Code:
exten => 40,1,System(/usr/sbin/asterisk -rx sip show peers)

leider sehe ich nicht ob dieser befehl ausgeführt wird.

was mache ich falsch?

oder ist es besser mit dem dialplan command shell zu arbeiten?


Gruß

Alex
 
Wenn ich es richtig verstanden habe, willst du es in der Konsole (nicht CLI) ausgegeben haben?
Wie wäre es mit
Code:
exten => 40,1,System(/usr/sbin/asterisk -rx "sip show peers" > /dev/pts/0)
 
Hi Mantis,

so in etwa ich möchte halt sehen das der befehl der durch System() ausgeführt wird auch würklich ausgeführt wird da ich den befehl System() später zum versenden von sms nutzen möchte.

Gruß

Alex
 
Hallo Alex,

dazu muss Dein SMS Tool einen Rückgabewert liefern. Dann könntest Du ein Bash-Skript als AGI ausführen, dort das SMS Tool aufrufen, und den Rückgabewert in eine Dialplan Variable schreiben.

Oder kennt jemand eine einfachere Lösung?

Svenja
 
Hi Svenja,

da ich von scripten 0 plan habe wollte ich das so lösen.

Ich kann mit asterisk -rx einen befehl von der linux console absetzen damit die sms gesendet wird.
Ich bekomm dan auch als ausgabe wohin er die sms sendet mit welchem text etc

Nun möchte ich das automatisiert machen damit eine sms mit dem text.
"Der Anrufer "Callerid" hat versucht Sie zu erreichen" gesendet wird.



Gruß

Alex
 
Du willst den Umweg über System(asterisk -rx ...) nur dazu machen, um zu sehen ob eine Benachrichtigungs-SMS über einen entgangenen Anruf verschickt wurde?! Also das würde ich mir echt sparen. Wenn das Ding einmal sauber konfiguriert ist, dann werden die SMS auch künftig ziemlich sicher erstellt. Und wenn nicht, dann nützt es Dir in dem Fall auch nichts das im Dialplan zu wissen. Weil wie möchtest Du dann reagieren?

Trotzdem noch ein Gedanke dazu: Die Ausgabe von asterisk -rx mit der Codezeile von PsychoMantis nicht auf die Konsole, sondern in eine Datei schicken, deren Name die eindeutige Channel-ID beinhaltet. Kurz warten und den Inhalt der Datei dann prüfen. Aber auch hierfür wirst Du ein Skript (Bash, PHP, Perl, sonstwas) brauchen.

Damit bleibt aber immer noch das Problem, dass Du nur siehst, ob das SMS Tool richtig durchgelaufen ist. Ob die SMS richtig ans SMSC übermittelt wurde, bleibt bis zu ihrer Ankunft auf dem Handy ein Geheimnis.

Svenja
 
Hi Svenja,

das hast du natürlich recht.

Wie schwer ist es den shell script zu schreiben?

Das sollte doch normal ausreichen.

Gruß

Alex
 
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.