Callmonitor 1.13 und höher: Ankündigungen und Bedienung

hallo buehmann,

wie krieg ich die neue Version drauf?
Oder muss ich ein neues Image mit der aktuellen Version erstellen?

Gruss
-uragan-
 
Habs mir schon gedacht.
Vielen Dank für die Rückmeldung!
 
Hallo zusammen,

ich suche nach einer möglichkeit das Callmonitor mir eine Textdatei erstellt und dort die Anzahl der vorliegenden (noch nicht abgehörten) AB Nachrichten angibt. Es würde reichen wenn Callmonitor nur die Zahl einträgt. Auf den AB zu triggern habe ich schon lösungen im Forum gefunden. Nur an der dynamischen Ausgabe in eine Textdatei hapert es noch.
Ebenso suche ich noch eine Möglichkeit per ferne eine schon vorhandene Rufumleitung einzuschalten und wieder auszuschalten. Hätte noch 2 Rufnummern frei die ich zum Triggern nutzen könnte. Problem ist hier das ich nichts an FON1 angeschlossen habe, und nur noch ein Mobilteil per DECT dran habe. Somit muss ich zum aktivieren folgende Kombination im Mobilteil angeben damit es funktioniert: *21*Nummer*Nummer#

Deswegen funktioniert auch die normale Rufumleitungseinrichtung per Callmonitor wie im Wiki beschrieben bei mir nicht.


Durchgestricherner Text hat sich erledigt, war wohl ein klassisches KKK. Fehlt nur noch eine Baustelle.
 
Zuletzt bearbeitet von einem Moderator:
Hallo ht81,
ich suche nach einer möglichkeit das Callmonitor mir eine Textdatei erstellt und dort die Anzahl der vorliegenden (noch nicht abgehörten) AB Nachrichten angibt.
das ist dann aber eher ein Programmierung-/Shell-Skripting-Problem als eines des Callmonitors, oder verstehe ich dich falsch? Bislang klingt es so, als wüsstest du schon, wie du auf einen AB-Anruf mit dem Callmonitor reagierst; dir fehlt nur noch ein Zählskript, dass die Zahl in einer Datei erhöht. (Oder kommt die absolute Anzahl der AB-Nachrichten aus einer anderen Quelle?)

Gruß,

Andreas
 
Das weiß ich auch noch nicht so genau. Ich habe ja das Verzeichnis in dem die Dateien liegen. Dort könnte ich ja jeweils die Dateien einfach mit wc zählen lassen, jedoch löscht meine Frau manche Nachrichten nicht. So würde in der Textausgabe z.B. 3 Nachrichten stehen, obwohl bereits alle schon angehört worden sind. Jedoch habe ich die schwierigkeit zu erkennen, ob es sich um eine noch nicht abgehörte Datei handelt. Ich dachte evtl. könnte da Callmonitor etwas abfangen? Oder irgendwie auf die LED reagieren? Dann hätte man zumindest mal eine garantierte Zuordnung das es keine ungehörten Nachrichten gibt.
 
Wie soll der Callmonitor auf das Blinken deiner LED reagieren? Und vor allem wie soll er reagieren, wenn im Webinterface vllt. Blinken bei aktivmen DECT eingestellt wurde oder so etwas?
Also, mal ehrlich: Du weisst, wie du mit dem Callmonitor ein Shellscript aufrufst, oder? Fehlt dir wirklich nur, wie mit einem Shellscript gezählt wird und das Ergebnis irgendwohin geschrieben wird?
 
hallo habe den callmonitorr 1.19.2 auf zwei boxen, aber auf keiner kann ich per telnet rawmsg aufrufen. also auch nicht als action. ist das nicht beim callmonitor dabei? habe ich (zufällig) ein notwendiges paket nicht mitgefreezt?
 
ok. danke.
so gehts. zwischenzeitlich gehts natürlich auch mit echo + nc. aber war das mit rawmsg nicht auch mal direkt möglich? hatte so den eindruck.
aber egal, danke für den hinweis (warum hab`ich das nicht geschnallt - zu schnell im wiki gelesen?), hat mir jetzt allerdings klarheit gebracht. werde wieder umstellen. nochmal: danke.
 
Das weiß ich auch noch nicht so genau. Ich habe ja das Verzeichnis in dem die Dateien liegen. Dort könnte ich ja jeweils die Dateien einfach mit wc zählen lassen, jedoch löscht meine Frau manche Nachrichten nicht. So würde in der Textausgabe z.B. 3 Nachrichten stehen, obwohl bereits alle schon angehört worden sind. Jedoch habe ich die schwierigkeit zu erkennen, ob es sich um eine noch nicht abgehörte Datei handelt. Ich dachte evtl. könnte da Callmonitor etwas abfangen? Oder irgendwie auf die LED reagieren? Dann hätte man zumindest mal eine garantierte Zuordnung das es keine ungehörten Nachrichten gibt.
vor dem gleichen Problem stehe ich auch, das einzige was ich bisher raus gefunden habe ist, dass die meta0 datei geändert wird bzw. das änderungsdatum neu gesetzt wird der hinhalt bleibt gleich !!! es muss doch irgendwo was reingeschrieben werden welche nachrichten neu sind!?!

hat jmd hinweise drauf gefunden?

[EDIT]
So ich habe mal ein script zusammen gebastelt
Code:
#!/bin/sh
# refresh infoframe für AB Nachrichten
# meta0 = AB1
# meta1 = AB2
# usw.
# rec.0 = AB1
# rec.1 = AB2
# usw.

MSGPATH="/var/media/ftp/uStor01/fritz/voicebox/rec" # Pfad zu AB-Dateien auf USB
MSGPATHmeta="/var/media/ftp/uStor01/fritz/voicebox" # Pfad zu AB-Dateien auf USB

[ -d $MSGPATH ] || MSGPATH="/var" # Pfad, falls der AB Anrufe intern speichert
MSGPATH="${MSGPATH}/rec.0.???" # Dateiname der aufgezeichneten Nachrichten

# die vorhandenen Nachrichten zählen
MSGS=$( echo $MSGPATH | grep -v "?" | wc -w )

# falls Nachrichten vorliegen, das Datum der neusten Datei kompakt formatieren
[ $MSGS -gt 0 ] && LAST=$( date -r $( ls -td1 $MSGPATH | head -n 1 ) "+%a %R %d.%m.%Y" |
                 cut -c 1-2,4- | sed "s/Tu/Di/; s/We/Mi/; s/Th/Do/; s/Su/So/" );

[ $MSGS -gt 0 ] && lastmsg=$( date -r $( ls -td1 $MSGPATH | head -n 1 ) "+%s" );  # Unix Timestamp letzte Nachricht
[ $MSGS -gt 0 ] && lastmsgmeta=$( date -r $MSGPATHmeta"/meta0" "+%s" );  # Unix Timestamp meta0

# $TXT enthält den auszugebenden Text, im Format wie der Yahoo Aktienkurs-Ticker
case $MSGS in
        (0) TXT="" ;; # hier könnte man natürlich noch einiges andere einbauen
        (1) TXT="AB,1,\"Anruf - ${LAST}\"";;
        (*) TXT="AB,${MSGS},\"Anrufe - ${LAST}\"";;
esac;

echo $TXT;

echo "Letzte Nachricht Timestamp: "$lastmsg; # letzte Nachricht UNIX Timestamp
echo "Meta0 Timnestamp: "$lastmsgmeta;  # meta0 UNIX Timestamp

if [ $lastmsg -ge $lastmsgmeta ] # Wenn $lastmsg größer oder gleich $lastmsgmeta
 then
  echo "Mind. eine neue Nachricht vorhanden";
else
 echo "Keine neue Nachricht";
fi

gruß olli
 
Zuletzt bearbeitet:
Ist es möglich, dass der Source Name und die Source Adresse getrennt angezeigt werden. Im Wiki steht dies zwar, aber wenn ich Beispielsweise eine Rückwärtssuche duzrchgeführt wird, wird alles in eine Zeile geschrieben , nur durch komma getrennt. Ich wollte dass der Name in einer Zeiel steht, die Adresse in einer weiteren etc.... durch $LF ..

Aktuell habe ich die Version 1.18.8 drauf. Gibt es einen Changelog für die neueren VErsionen?
 
SOURCE_NAME und SOURCE_ADDRESS sollten Name und Adresse getrennt enthalten (siehe auch http://freetz.org/wiki/packages/callmonitor/listeners#Ereignis-InformationenfürAktionen). Falls die Adresse mit in SOURCE_NAME steckt, ist das ein Fehler bei der Rückwärtssuche, der mir gemeldet werden sollte.

Wo wird bei dir alles in eine Zeile geschrieben? Welche Aktion verwendest du?

Das Changelog ist im ersten Beitrag dieses Threads verlinkt (habe den Link gerade korrigiert).

Viele Grüße,

Andreas
 
Im Callers werden die Einträge durch Komma getrennt..

Und dann passiert noch das hier:

Code:
    SOURCE_NAME='Blume Gaststätte, Weinstr. 160, 77654 Offenburg, (07 81) 3 36 66, function cookieExist(id) {, var mC = $.cookies.get(id), if (mC != null){, //alert("Value:" + mC.ratingValue), }, }, 0 Bewertungen 1, var ccc = $.cookies.get('cook1748745'), var newAvg = 0.0, var newAnz = 0, var newAvg0 = 0, if (newAnz > 0){, newAvg0 = newAvg0/newAnz, }, var sumGoloAnz = 0, if (ccc != null){, // vgl., ob Rating Id schon aus Suchmaschine, var myId = "," + ccc.ratingId + ",", var searchIds = '', var found = searchIds.indexOf(myId), if (found == -1){, newAvg = (0)+ccc.ratingValue, newAvg = newAvg/1, sumGoloAnz++, newAvg0 = newAvg, newAvg = Math.round(newAvg*2)/2, newAnz = 1, }, else {, // id schon von Suchmasch., cookie delete, $.cookies.del('cook1748745'), }, }, // Varta?, if (0.0 > 0){, if (newAnz > 1){, newAvg = (0.0 + newAvg0)/2, }, else {, newAvg = 0.0 + newAvg0, }, if (sumGoloAnz == 0){, newAvg = 0.0, }, newAvg = Math.round(newAvg*2)/2, //newAnz++, }, var halfStar = newAvg + "", halfStar = halfStar.indexOf(".5"), var firstHalf = 0, var cidx = 0, var outRat = 0, //alert("COOKIE: alteAnz:" + '0' + " alteAVG:" + '0.0'), if (newAnz > 0){, /*, for(i = 1, i = i){, document.write(' '), }, if (newAvg '), outRat = 1, }, if ((halfStar == -1), (firstHalf == 1)){, if (outRat == 0){, document.write(' '), }, }, }, outRat = 0, }, */, }, //$(document).ready(function() {, var addHtml = "", var bew = " Bewertungen", if (newAnz == 1){, bew = " Bewertung", }, if (newAnz == 0){, //alert("newAnz index_0:" + newAnz + "/" + '0'), addHtml = "", addHtml+= " ", addHtml+= " Jetzt bei golocal bewerten! ", $("#gl_table_0").attr("class","empfehlung_no_entries"), $("#newRat_0").html(addHtml), tb_init('a.thickb0, area.thickb, input.thickb'), }, else {, var myStar = "", for(i = 1, i = i){, myStar += ' ', }, if (newAvg ', outRat = 1, }, if ((halfStar == -1), (firstHalf == 1)){, if (outRat == 0){, myStar +=' ', }, }, }, outRat = 0, }, $("#newRates_0").html(myStar), addHtml = "", //alert("newAnz index:" + newAnz + "/" + '0'), addHtml+= " ", addHtml+=" " + newAnz + " " + bew + " 1 ", addHtml+= " ", $("#gl_table_0").attr("class","empfehlung"), $("#newRat_0").html(addHtml), //$("#newAnz_0").html(addHtml), }, //alert("addHtml:" + addHtml), //}), var myID = 0, var ratType = 0, var myUrl = "", var indx = 0, var goloId = 0, function new_info(url, id, rat, index, glId){, myID = id, ratType = rat, myUrl = url, indx = index, goloId = glId, myUrl = "http://www.go-local.com/jsonp/getReviews/", $(document).ready(function(){, var golocalUrl = 'http://www2.dasoertliche.de/' + "?form_name=golocalrating&page=" + '78' +, "&context=" + '11' + "&action=84&kw=" + glId + "&layout=1&recFrom=" +, index + "&buc=" + glId + "&ph=", var addHtml = "", addHtml+= " ", addHtml+=" " + newAnz + " " + 'Bewertungen' + " 1 ", addHtml+= " ", $("#newRat_"+index).html(addHtml), tb_init('a.thickbox, area.thickbox, input.thickbox'), //url = "http://koeln.go-local.com/locations/immobilien-immobilienmakler-ee6ccf75ce31d5e9a44b0ed2891b5bcb/", //alert("Parent TREFFERLISTE new_info glReload url:" + url), var ajaxOptions = {, url: "http://www.golocal.de/jsonp/getReviews/", dataType: 'jsonp', async: false, success: callbackSuccess, data: {id: glId, callbackName: 'callbackSuccess'}, }, $.ajax(ajaxOptions), }), }, function callbackSuccess(data){, var firstArray = data['ratings'], var secArray = data['authors'], $(document).ready(function(){, var cDate = new Date(), var tag = cDate.getDate(), var mon = cDate.getMonth(), var year = cDate.getFullYear(), //year += 1900, tag+=1, var newOptions = {, expiresAt: new Date(year, mon, tag), }, $.cookies.setOptions(newOptions), var cookieItem = {, ratingId : firstArray[0].ratingId, date : firstArray[0].date, authorId: firstArray[0].authorId, author: secArray[0].name, text: firstArray[0].text, ratingValue: firstArray[0].ratingValue, points: secArray[0].points, tags: firstArray[0].tags, }, var idCookie = "cook" + myID, //alert("idCookie:" + idCookie), $.cookies.set(idCookie, cookieItem), var mC = $.cookies.get(idCookie), //alert("Cookie gesetzt im Parent TEXT:" + mC.text), //alert("ratingV:" + firstArray[0].ratingValue), // TEST: location.reload(), setGolocalRatings("http://www.golocal.de/jsonp/getReviews/", "http://www2.oe-static.de/img", ratType,myUrl,"", "1", myID, indx, goloId, 0, "0"), //alert("Cookie Text:" + mC.text), }), }, #tooltip{, position:absolute, display:none, }, $(document).ready(function() {, $('body').data('myDetail'+0, 'http://www2.dasoertliche.de/?id=0552002011452188942614&recuid=QDP6IZ7R3PKUZHPMVLWWGASWF5LZA7IVHZC42AI&action=58&pagePos=1&dar=1&kw=&form_name=detail&lastFormName=search_inv&ph=078133666&ci=Offenburg&recFrom=1&hitno=0&backbuab=78100001&orderby=name&ttforderby=rel&buc=552&verlNr=1123&la=&page=78&context=11&arkey='), }), Zugehrige Eintrge ausblenden, Zugehrige Eintrge einblenden'

Ich verwende folgende Aktion:

Code:
in:*      ^           ^/var/tmp/infoframe/refresh.sh "action=call&event=$EVENT&src_name=$(urlencode "$SOURCE_NAME")&src_address=$(urlencode "$SOURCE_ADDRESS")&src_numb=$SOURCE&dst_name=$(urlencode "$DEST_NAME")&dst_address=$(urlencode "$DEST_ADDRESS")&dst_numb=$DEST&duration=$DURATION"
 
Zuletzt bearbeitet:
Oh je … schaue ich mir bei Gelegenheit mal an. Leider ändert DasÖrtliche die Seitenstruktur wie die Unterhosen; das ist einer der instabilsten Anbieter.

PS: Probier bitte vorher Version 1.19.3 des Callmonitors aus; wie ich sehe, habe ich mich dort um das Örtliche gekümmert: "dasoertliche.sh: (schon wieder) Anpassung an geändertes Format"
 
Tip: Auto-Tests schreiben, welche die relevanten Fälle ein-, zweimal am Tag abklappern und Dich per E-Mail warnen, wenn einer rot wird.
 
Danke für die 1.19.3..Funzt wieder alles...
 
;oin bevor das neue Jahr los geht, hätte ich doch noch ne Frage...

Sobald ein Anruf eingeht lass ich mir das mit dream2meassge signalisieren. Anruf wird angezeigt....legt der Anrufer dann auf, ohne das ich das Gespräch angenommen habe erscheint erneut die Meldung...

Woran liegt das?!

Code:
in:*    ^         ^xxxxx DREAM_TIMEOUT=10 dream2message 192.168.178.4 "Anrufer für xxx&xxx:$LF $LF${SOURCE_NAME} $LF${SOURCE_ADDRESS}$LF $LF${TIMESTAMP}"

Erledigt liegt an dem * hinter dem in!!

Frohes NEUES und GUTEN RUTSCH....muss mich jetztt auch mal richten ;-)
 
Zuletzt bearbeitet:
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.