Ausführung Shell Script Asterisk extensions.conf

Hallo Ihr,

ich würde gerne auf der Asterisk ein Shell Script bei jedem eingehenden und ausgehenden Gespräch ausführen.
Ich habe einen Eintrag in der extensions.conf gemacht der wie folgt aussieht:

[v4]
exten => s,2,System(/usr/local/bin/echo.sh)

In den asterisk messages steht auch nach einem dialplan reload drin, das er die Extension registriert hat, jedoch führt er sie nicht aus. Rechte des Scriptes passen.
Die echo.sh ist zum test und schreibt einfach eine Zeile mit “Neuer Call” in ein Logfile.

Es kommt auch vor, das die extension einfach aus der extension.conf verschwindet.

Vielen Dank schonmal für eure Hilfe

Habe gesehen, das die extensions.conf anscheinend garnicht greift, daraufhin habe ich alles in die mdc_extensions.conf geschrieben, aber auch leider ohne Erfolg.
Hat jemand eine Idee?

Hallo blacksystem,

es ist nicht empfohlen, die Files unter /etc/asterisk selbst anzufassen, da diese beim Anwenden der Telefonie Konfiguration in der mobydick wieder überschrieben werden.

Wenn du ein eigenes Skript in den Dialplan einbinden willst, kannst du dies mittels Erweitert > Skripte tun.

Siehe auch hier und hier.

Grüße,
Jan

Hallo jlornez,

ok über die Skripte funktioniert es, jedoch habe ich da sgerade wie beschrieben eingetragen etc und er hat das Shell Script auch ausgeführt, jedoch gingen dann keine Telefonate mehr. Woran kann das liegen?
Ich habe als Script eingetragen:

exten => s,1,System(/usr/local/bin/echo.sh)

Wir würden gerne bei allen eingehenden und ausgehenden Gesprächen bestimmte Parameter wie CallerID und Anrufer bzw Nummer als Parameter in einem Shellscript mitgeben. Hat jemand eine Idee diese einfach auszulesen?

Guten Morgen,

wenn dein Skript über die GoSub Routine ausgeführt wird, musst du am Ende deines Skriptes noch ein

exten => s,n,Return()

einbauen.

Gruß
Markus

Danke Markus :wink:

Das habe ich mittlerweile kapiert :wink:

An welcher Stelle in dem MobyDick Commander unter den Scripts könnte ich es so einrichten, das ich am Ende eines Gespräches (nur extern -> intern und intern -> extern) die Informationen wie Gesprächsdauer auslesen kann? Gibt ja die Dialtime Variable, jedoch wird mein Script ja im Moment PRE ausgeführt und somit sind die Informationen ja nicht bekannt.

Habe es vorerst gelöst so wie gewünscht. Hab das Script in den Hangup Dialplan eingefügt.
Vielleicht kann man das noch schicker machen.