Callmonitor 1.*

Status
Für weitere Antworten geschlossen.
Kann mir keiner weiterhelfen? Wäre euch echt dankbar dafür ansonsten war die mühe das zum Laufen zu bringen umsonst!

Danke- Gruß Bolle
 
Guten Morgen, darf ich auch helfen? ;-)

Dein Code hat zwei Probleme: Zum einen definierst du die Funktion relookmessage doppelt, d.h., die erste Version wird durch die zweite überschrieben ("wort() ..." definiert die Funktion "wort"). Zum zweiten fehlt zwischen dem "sleep" und der "2" ein Leerzeichen (das wird in deiner Log-Ausgabe angemeckert, wenn du genau hinschaust).

Mach doch einfach folgendes: Lass relookmessage unangetastet (für alle anderen: relookmessage ist im nächsten Callmonitor dabei und ist für DGStation Relook 400S gedacht) und leg eine Datei /tmp/flash/callmonitor/actions.local.d/bolle.sh an, in der du deine eigene Funktion schreibst, die relookmessage benutzt:
Code:
# Definition von Funktion "bolle"
bolle() {

  # erste Nachricht, soll 2 Sekunden dargestellt werden
  RELOOK_TIMEOUT=2 relookmessage 192.168.47.11 "$SOURCE ruft an"

  # auch auf der Fritzbox 2 Sekunden warten
  sleep 2

  # zweite Nachricht hinterher, die den Anrufernamen zeigt bzw. die ersten vierzig
  # Zeichen davon
  relookmessage 192.168.47.11 "$(echo "$SOURCE_NAME" | cut -c 1-40)"
}
Diese Funktion rufst du dann in den Listeners auf.

Viel Erfolg,
Andreas
 
Klar darfst du mir auch ehlfen!!!
Script sieht nun so aus:
bolle() {
RELOOK_TIMEOUT=2 relookmessage relook:[email protected] "$SOURCE ruft an"
sleep 2
relookmessage relook:[email protected] "$(echo "$SOURCE_NAME" | cut -c 1-40)"
}

Aber eines versteh ich nicht. Wie rufe ich das im Listener auf bzw gebe dieses ein, dass er Bolle ausführt?
 
das mit dem Eintrag in den Listener ist mir nicht klar!

Sollte es dann so aussehen?
in:request ^ ^ relookmessage bolle.sh
 
buehmann schrieb:
("wort() ..." definiert die Funktion "wort"). [...] Eine Shell-Funktion rufst du auf, indem du einfach ihren Namen hinschreibst.
"relookmessage" ist eine Shell-Funktion (deren Definition du schon mehrmals hier gezeigt hast), die wurde/wird in den Listeners (oder sonstwo) mit "relookmessage" aufgerufen.

"bolle" ist eine Shell-Funktion und wird mit "bolle" aufgerufen:
Code:
...   ...   ...   bolle

Andreas
 
Sorry ich bekomme es nicht hin. Könntest du mir bitte sagen wie es im Listener geau auszushen hat?
Vielleciht kapier ich es dann,SORRY!
 
Habe ich doch gerade. :confused: Die ersten drei mal drei Punkte deuten die ersten drei Spalten für Ereignis, Quelle und Ziel an. Da trägst du ein, was du willst und brauchst (das hat nichts mit der Aktion zu tun). Die Aktion heißt dann einfach "bolle".

Andreas
 
Ja so habe ich das auch gemacht. Aber am TV erscheint nichts.

Listenereintag:
in:request ^ ^ bolle


Das wird beim Testanruf angezeigt:
Code:
ncluding /usr/lib/callmonitor/actions.d/dboxlcd.sh
including /usr/lib/callmonitor/actions.d/dial.sh
including /usr/lib/callmonitor/actions.d/dropbear.sh
including /usr/lib/callmonitor/actions.d/mail.sh
including /usr/lib/callmonitor/actions.d/messages.sh
including /var/tmp/flash/callmonitor/actions.local.d/bolle.sh
>>> in:request ID=1 TIMESTAMP=08.07.06 10:22 SOURCE=456542 DEST=436439 EXT=4 DURATION=16 PROVIDER=
[0] EVENT=in:request SOURCE='456542' DEST='436439' SOURCE_NAME='' DEST_NAME='' ID=1 EXT=4 DURATION=16 TIMESTAMP='08.07.06 10:22' PROVIDER=
[0:0] processing rule 'in:request' '^' '^' 'bolle'
[0:0] event 'in:request' matches pattern 'in:request'
[0:0] parameter SOURCE='456542' matches pattern '^'
[0:0] parameter DEST='436439' matches pattern '^'
[0:0] SUCCEEDED
[0:0] ACTION: 'bolle'
 
bolle schrieb:
Ja so habe ich das auch gemacht. Aber am TV erscheint nichts.
Dann ist in deiner bolle-Funktion ein Fehler. Benutz vielleicht mal "set -x; bolle" statt "bolle" beim Aufruf. Dann bekommst du jeden ausgeführten Befehl angezeigt.

Andreas
 
**********************
 
Zuletzt bearbeitet:
Darin musst du auch nichts erkennen können.
Code:
+ echo GET /cgi-bin/command?printmessage&2%2051304%20ruft%20an HTTP/1.0
HTTP/1.0 200 OK

+ echo GET /cgi-bin/command?printmessage&2%20 HTTP/1.0
HTTP/1.0 200 OK
Die zwei Nachrichten ("51304 ruft an" für 2 Sekunden und "" für 2 Sekunden) wurden gesendet und erfolgreich empfangen ("OK"). Wenn daraufhin keine Nachricht angezeigt wurde, ist das ein Problem deines Relook. Auf Fritzbox-Seite ist alles in Ordnung.

Andreas
 
Gut, aber mit relookmessage funktioniert es doch.

Könnte es sein, dass der Relook das Timeout nicht versteht?
 
Zuletzt bearbeitet:
bolle schrieb:
Gut, aber mit relookmessage funktioniert es doch.
Und relookmessage wird hier zweimal verwendet. Vielleicht kommen die Aufrufe für den Relook zu schnell hintereinander und die zweite leere Nachricht überschreibt die erste ... aber das ist alles Spekulation. Nur du kannst das herausfinden, indem du z.B. mal die Timeouts variierst (mit größeren anfängst) oder in bolle() einen Aufruf auskommentierst ("#" vor die Zeile) und schaust, ob du das Problem so eingrenzen kannst.

Andreas
 
callmonitor-1.5

Hallo,

Version 1.5 des Callmonitors steht auf BerliOS bereit.

[size=+1]Behobene Fehler[/size]
  • relookmessage für DGStation Relook 400S (Geckow Web Interface); Anzeigedauer über RELOOK_TIMEOUT. Es wird leider nur eine kurze Zeile ohne Umlaute unterstützt. Vielen Dank an bolle fürs Testen.
  • Suchreihenfolge im Telefonbuch geändert: Erst dauerhaftes, dann flüchtiges Telefonbuch (fehlgeschlagene Rückwärtssuchen hatten spätere Callers-Einträge verdeckt)
[size=+1]Neuerungen[/size]
  • Die CallMonitor-Schnittstelle wird nun automatisch aktiviert.
  • Die Umkodierung von Nachrichten wird jetzt vom System übernommen. Die Nachrichten (auf der Kommandozeile oder von default_*) werden in Latin-1 erwartet.
  • Zur dial- eine hangup-Funktion hinzugefügt (zum Abbrechen von Anwahlversuchen; vgl. Webinterface)
  • Call-by-Call-Vorwahlen (010...) werden erkannt und entfernt (zur Suche im Telefonbuch)
  • callmonitor: Neues Feld PROVIDER ("SIP0" etc. oder leer) wird ausgewertet; wird zur Ermittlung eines passenden Namens für das lokale Ende einer Verbindung benutzt. (Namen werden gecachet; nach Änderungen der Einträge "username@registrar" im Telefonbuch muss der Callmonitor neugestartet werden, damit die Einträge wirksam werden).

    Gematcht wird (in den Listeners) weiterhin (seit Firmware .04.06) die MSN des Accounts, nicht mehr SIP0 etc.

Viel Spaß,
Andreas
 
buehmann schrieb:
[*] Call-by-Call-Vorwahlen (010...) werden erkannt und entfernt (zur Suche im Telefonbuch)
Grade wollt ich das vorschlagen :D

Gruß Niko
 
Ich galube ich habe zu danken!!!!
:D
Achja es lag am timeout! Habe es von 2auf 10 gestellt!!

kann ich nun eine bestimmet MSN aus dem Callmonitor ausklammern, sprich dass die Aktion bei einer MSN ausbleibt?


Gruß Bolle
 
Zuletzt bearbeitet:
Schön, dass es endlich läuft. :)
bolle schrieb:
kann ich nun eine bestimmet MSN aus dem Callmonitor ausklammern, sprich dass die Aktion bei einer MSN ausbleibt?
Ja, beim Callmonitor kannst du auch alle Nummern, die auf ein Muster passen, ausschließen, indem du dem Muster ein Ausrufezeichen voranstellst. Soll eine Regel nur auf die MSN 4711 nicht reagieren, kannst du das also so schreiben:
Code:
!^4711$
(^ passt auf den Anfang, $ auf das Ende der Nummer; ^4711$ also genau auf die Nummer 4711, !^4711$ entsprechend auf alles außer 4711.)

Andreas
 
Moin Andreas,
super es funktioniert endlich!!!Und das nur dank deiner unermüdlichen Hilfe!

Ich habe ja noch den 1.42 drauf. hat sich zur 1.5 Version was wesentliches verändert?

Gruß BOlle
 
bolle schrieb:
Ich habe ja noch den 1.42 drauf. hat sich zur 1.5 Version was wesentliches verändert?
Vergleich einfach die beiden ChangeLogs und schau, ob da etwas für dich wichtiges dabei war. Was sich zusätzlich geändert hat, ist die Längenbeschränkung der relook-Nachricht auf 40 Zeichen, über die wir gesprochen hatten.

Andreas
 
Status
Für weitere Antworten geschlossen.
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.