- Mitglied seit
- 11 Jun 2005
- Beiträge
- 1,810
- Punkte für Reaktionen
- 0
- Punkte
- 36
Hallo zusammen,
der Callmonitor aus mod-0.57 war mir zu unflexibel; deswegen habe ich ihn auf meine Bedürfnisse angepasst: Das Ergebnis gibt es unten im Anhang. Vielleicht kann noch jemand von euch es gebrauchen.
Weil ich von der Mod-Reihe m4.* auf den ds-mod umgestiegen bin (und weil dieser Thread eh schon viel zu lang ist
), geht die Entwicklung als Paket für den ds-mod auf einer eigenen Seite weiter.
Was neu ist:
Viel Spaß damit,
buehmann
Achtung beim Umstieg von alten Versionen des callmonitors:
der Callmonitor aus mod-0.57 war mir zu unflexibel; deswegen habe ich ihn auf meine Bedürfnisse angepasst: Das Ergebnis gibt es unten im Anhang. Vielleicht kann noch jemand von euch es gebrauchen.
Weil ich von der Mod-Reihe m4.* auf den ds-mod umgestiegen bin (und weil dieser Thread eh schon viel zu lang ist
Was neu ist:
- Die Konfigurationsdatei callmonitors.listeners ähnelt jetzt der von cron:
- Jede Aktion ist abhängig von zwei Mustern (extended regular expressions), die auf Quell- und Ziel-Rufnummer passen müssen. Damit lassen sich z.B. bestimmte Anrufer anders (oder auch woanders) signalisieren.
Code:#Quelle Ziel Aktion ^01239876$ ^ dboxpopup dbox1 ^(0162|089) ^SIP1$ dboxmessage dbox2
- Bei der 7050 ist auch ein ausgehender Anruf (oder nur das Hörer-Abnehmen) mit ISDN-Telefonen ein eingehender Anruf ("IncomingCall from NT:"); diese Anrufe werden standardmäßig ignoriert, können aber über "NT:" (nur solche) oder "*:" (alle Anrufe) explizit überprüft werden.
Code:NT:^123$ ^ foo *:^456 ^ bar
- Als Aktionen sind nicht nur einzelne Wörter (Funktionsnamen) erlaubt, sondern beliebige Shell-Kommandos mit Argumenten, Pipes, Umleitungen, Variablenersetzungen etc. (MSISDN, CALLER und CALLED stehen als Umgebungsvariablen zur Verfügung):
Code:^ ^ dreammessage --port=8080 --password="sesame" "$(date) Anruf von $MSISDN" ^ ^ echo "$CALLER -> $CALLED" >> /var/tmp/calls
- Jede Aktion ist abhängig von zwei Mustern (extended regular expressions), die auf Quell- und Ziel-Rufnummer passen müssen. Damit lassen sich z.B. bestimmte Anrufer anders (oder auch woanders) signalisieren.
- Bei Nachrichten an Dbox, Dreambox und Co. können Benutzername und Passwort angegeben werden (Wunsch von Erkan).
- Das Verschicken von Nachrichten per GET-Request macht ein recht allgemeines "getmsg", das sich um den Zusammenbau der Nachricht inklusive URL-Kodierung kümmert. Das ersetzt die verschieden ownmessage-Funktionen und OWNGET.
Code:# Usage: getmsg [OPTION]... <HOST> <url-template> [<message>]... # getmsg [OPTION]... -t <url-template> <host> [<message>]... # Send a message in a simple HTTP GET request. # # -t, --template=FORMAT use this printf-style template to build the URL, # all following messages are URL-encoded and filled # into this template # -p, --port=PORT use a special target port (default 80) # -w, --timeout=SECONDS set connect timeout (default 3) # -v, --virtual=VIRT use a different virtual host (default HOST) # -U, --user=USER user for basic authorization # -P, --password=PASS password for basic authorization
Code:^123 ^SIP2$ getmsg myserver '/cgi-bin/mail?subject=%s&body=%s' "Anruf von $MSISDN" "$CALLER" -U ich -P geheim
Viel Spaß damit,
buehmann
Achtung beim Umstieg von alten Versionen des callmonitors:
- Die Aktion "etherwake" als alternative Schreibweise für "etherwakes" gibt es nicht mehr. Sollen also die ETHERWAKES-Zeilen in der debug.cfg ausgewertet werden: auf das "s" achten.
Anhänge
Zuletzt bearbeitet: