Pure Monitor [extrem schlanker Anrufmonitor als PE]

Sorry Leute,

erst Urlaub und dann 'ne Grippe eingefangen. Nächste Woche gehts wieder frisch ans Werk. Die neuste ß Firmware habe ich auch noch nicht auf meiner FritzBox! daher kann ich dazu leider noch nichts sagen.

Bis bald
Turin
 
PureMonitor unter Windows XP

Ich habe mir den aktuellen PureMonitor geladen und richtig eingestellt.
Für bestimmte Zeit ca. 20-30 Minuten funktioniert er auch und dann nicht
mehr. Nur ein Neustart löst das Problem. :confused:

Ich benutze Windows XP SP2 und mit aktuellen Updates.
Meine "tcpip.sys" ist auf 50 gleichzeitige Verbindungen manipuliert.
(-> EvID4226Patch223d).

Gibt es eine Lösung für den Knoten?
 
ZakMcCrack schrieb:
Ich habe mir den aktuellen PureMonitor geladen und richtig eingestellt.
Für bestimmte Zeit ca. 20-30 Minuten funktioniert er auch und dann nicht
mehr. Nur ein Neustart löst das Problem. :confused:

Ich benutze Windows XP SP2 und mit aktuellen Updates.
Meine "tcpip.sys" ist auf 50 gleichzeitige Verbindungen manipuliert.
(-> EvID4226Patch223d).

Gibt es eine Lösung für den Knoten?

Ok, jetzt antworte ich mir selbst. ;)
Es lagt an der Firewall "Kerio Personal Firewall 4.2.3.912".
Nach der Deinstallation und Verwendung einer anderen Firewallsoftware funktioniert es wieder. :p
 
ZakMcCrack schrieb:
Ok, jetzt antworte ich mir selbst. ;)
Es lagt an der Firewall "Kerio Personal Firewall 4.2.3.912".
Nach der Deinstallation und Verwendung einer anderen Firewallsoftware funktioniert es wieder. :p

Das Problem wurde bereits von mir angesprochen:

http://www.ip-phone-forum.de/showpost.php?p=582460&postcount=55

Bei mir lief es auch nach langem Ausprobieren sämtlicher Einstellungen der KPF. Leider hab ich das Produkt inzwischen nicht mehr installiert und kann mich auch nicht mehr daran erinnern, welche Einstellung es letzendlich war, die das Problem verursacht hat.
 
Update für Benutzer aus der Schweiz

Pure Monitor liegt in der Version 0.8 nun auch für Schweizer Benutzer vor:

V0.8.ch

- Wegfall Inverssuche Deutschland

+ Inverssuche Schweiz
+ Schweizer Flagge im INIEditor :)

Anleitung: Falls vorhanden, alte INI löschen, neue INI durch mitgelieferten INIEditor erstellen.

Implementiert für und auf Wunsch von mr-deamon ( http://www.ip-phone-forum.de/member.php?u=103692 )


http://lordturin.de/file_download/7
 
Zuletzt bearbeitet:
Turin schrieb:

Die TCPIP.SYS habe ich schon angepasst. ;)

Bei mir lief es auch nach langem Ausprobieren sämtlicher Einstellungen der KPF. Leider hab ich das Produkt inzwischen nicht mehr installiert und kann mich auch nicht mehr daran erinnern, welche Einstellung es letzendlich war, die das Problem verursacht hat.

Dann werde ich mal den Hersteller Sunbelt fragen.
 
Turin schrieb:
Es gibt wohl ein Perl Skript - schön, nur soll ich mir als Windows Benutzer extra den Perl Interpreter installieren, um dann den Anrufer in einer Dos-Box zu sehen?

Hallo Turin,

versuch's mal hiermit: Windows Skript als HTA ( HyperText Application ) sollte mit allen Windows Versionen ab 95 funktionieren.

Es ist noch ein wenig experimentell, aber die Verbindung von Browser als UI und Skript mit Programmeigenschaften hat was.

Einfach als .hta abspeichern. Alles notwendige ist im Code enthalten.

cjp


Code:
<html>
<head>
<title></title>
<HTA:Application Icon ="favicon.ico"
 Applicationname ="Fritz!Box Call Monitor"
 Border ="thin" | "dialog" | "none"  | "thick"
 Borderstyle = "normal" | "complex" | "static" | "sunken" | "raised"
 Caption = "yes" Contextmenu="yes" 
 ID="cjpApp" Sysmenu="yes" Version="cjp 5.0.4"
 Innerborder = "no" Maximizebutton="no" Minimizebutton="yes"
 Navigable = "no" Scroll="no" Scrollflat="no"
 Selection = "no" Showintaskbar="yes" Singleinstance="yes"
 Windowstate = "normal" | "maximize" | "minimize"
 >
 
<!--
     [url]http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/reference/properties[/url]
-->

<style id="myStyle" type="text/css">

body {filter:progid:DXImageTransform.Microsoft.Gradient (GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')}

#myDataReceived {font-family: verdana; font-size: 8px;background-color: rgb(255,255,255)}

input {font-family: verdana; font-size: 10px; background-color: rgb(255,255,255);border-style:none}
#myIP {width:100px }
#myPort {width:30px}
#myLogfile {width:340px}

span {font-family: verdana; font-size: 10px; background-color: rgb(255,255,255); border-style: none; padding:2px; height:7px; width:80px}
span#SocketStatus {width:478px; cursor:pointer}

</style>

<!--
     [url]http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dynstyle/style_sheets.asp[/url]
-->

</head>
<body>

<script type="text/vbscript">
'Copyright© 2006. cjp Productions. All rights reserved.
'**Start Encode**

Option Explicit

Const protTCP = "0", protUDP = "1", NumLines = 16, _
      CallType1 = "IC", CallType2 = "IF", CallType3 = "OC", CallType4 = "OF"

Dim iTimerID, sBuffer, aBuffer(), aCallID(32), aCommandline, myLogfilename, sHeader

myLogfileName = ReplaceStr("callog"&now&".csv",":",".")
sHeader = "Call-Type;Call-ID;Date;Start-Time;Disconnect-After;Connect-After;Duration;Remote Number;Local Number;Line used;Extension"

Redim aBuffer(NumLines-1)

'

'  Sub Window_onLoad is the event handler for window setup, this is where everything starts

'

Sub Window_onLoad 

  window.resizeTo 510,300
  document.title=cjpApp.Applicationname&" "&cjpApp.Version&" © 2006 Casual J. Programmer"
  If not oWinsock.State = 0 Then oWinsock.Close
  UpdateStatus
  iTimerID = window.setInterval("UpdateStatus", 100)
  
  myLogfile.value = ReplaceStr(left(cjpApp.commandline,InStrRev(cjpApp.commandline, "\")),"""","")&myLogfileName
' Extract the pathname for FBFCallMonitor and remove the leading " from the path and add the logfile name

  myLogfile.style.color=rgb(0,0,255)

  aCommandline=split((right(cjpApp.commandline, Len(cjpApp.commandline)-InStrRev(cjpApp.commandline, "/"))))
  
  If aCommandline(0) = "connect" Then
  
    myIP.value = aCommandline(1)
    myPort.value = aCommandline(2)
    ChangeState
    
  End If
  
  myIP.title = "Enter the remote IP address,"&chr(13)&"then doubleclick to connect / disconnect." 
  myPort.title = "Enter the remote Port number."
  myLogfile.title = "Enter the Logfile path & name,"&chr(13)&"then doubleclick to turn on / off logging."

End Sub

Sub Window_onUnload

    Erase aBuffer
    Erase aCallID
    oWinsock.Close

End Sub


'
'  Sub ChangeState is the event handler for the connect function of the myIP Input field

Sub ChangeState

  If oWinsock.State = 0 Then
    
    myIP.style.color=rgb(0,255,0)
    oWinsock.Protocol=protTCP
    oWinsock.Connect myIP.value, myPort.value
   
  Else 
        
    myIP.style.color=rgb(0,0,255)
    If not oWinsock.State = 0 Then oWinsock.Close
  
  End If

End Sub

'
' Sub DoExit is the event handler for the exit button, housekeeping and exit
'

Sub DoExit

  window.close()
  
End Sub

'
'  Sub DisplayData is displaying the last 10 raw Call Monitor messages, and shifting the
'  display up by one line when it is filled up
'

Sub DisplayData

  Dim iBuffer
  
  aBuffer(NumLines-1) = sBuffer      '
  
  For iBuffer = 0 to NumLines-2
  
    aBuffer(iBuffer) = aBuffer(iBuffer + 1)
      
  Next
  
  aBuffer(Numlines-1) = ""
  myDataReceived.innerhtml = ""
  
  For iBuffer = 0 to NumLines - 1
  
    If len(aBuffer(iBuffer)) > 0 Then
    
      myDataReceived.style.width = "478px"
      myDataReceived.innerhtml = myDataReceived.innerhtml&aBuffer(iBuffer)&"<br>"
     
    End If
    
  Next
  
End Sub

'
' Sub UpdateStatus is called by the window timer and displays the socket status
'

Sub UpdateStatus

  Dim aStr
  
  aStr= split("Socket Inactive, Status: Closed;"& _
              "Socket Active, Status: Open;"& _
              "Socket Active, Status: Listening;"& _
              "Socket Active, Status: Connection Pending;"& _
              "Socket Active, Status: Resolving Host;"& _
              "Socket Active, Status: Host Resolved;"& _
              "Socket Active, Status: Connecting;"& _
              "Socket Active, Status: Connected;"& _
              "Socket Active, Status: Closing;"& _
              "Socket Inactive, Status: Error",";")

  SocketStatus.innerhtml = date()&time()&" - "&aStr(oWinsock.State)
  SocketStatus.title = document.title&chr(13)&date()&time()&chr(13)&cjpApp.commandline
  
  Erase aStr
  
End Sub

'
'  Sub DecodeMessage gets handed over the Call Monitor string and saves it concatenated per CallID
'  CR gets removed, CALL message string gets a ";" added for equality of strings.
'  When DISCONNECT is detected, the complete string is processed and stored in the logfile.
'

Sub DecodeMessage (sMessage)

  Const OutgoingConnect = 15, OutgoingFailed  = 10, IncomingConnect  = 14, IncomingFailed   = 9 'number of data elements -1
  
  Dim aMessage, sOutstring, aOutstring
  
  aMessage = Split(sMessage,";")								'make message items accessible, (2) is Call ID
  
  aCallID(aMessage(2)) = aCallID(aMessage(2))&ReplaceStr(sMessage,vbCRLF,"")			'remove CRLF from message
  If aMessage(1) = "CALL" Then aCallID(aMessage(2)) = aCallID(aMessage(2))&";"		        'add trailing semicolon to "CALL" message
  
  If InStr(sMessage,"DISCONNECT") > 0 Then							'call terminated
    
    aCallID(aMessage(2)) = Left(aCallID(aMessage(2)),Len(aCallID(aMessage(2)))-1)		'remove trailing semicolon
    
    aOutstring = Split(aCallID(aMessage(2)),";")
    
    Select Case Ubound(aOutstring)
    
      Case IncomingConnect
      
           sOutstring = sOutstring&"IC"&concatenate(aOutstring,"2,0,11,6,14,3,4,5,9")
           sOutString = CompactFields(sOutstring)

      Case IncomingFailed
      
           sOutstring = sOutstring&"IF"&concatenate(aOutstring,"2,0,6,x,9,3,4,5,x")
           sOutString = CompactFields(sOutstring)
      
      Case OutgoingConnect
      
           sOutstring = sOutstring&"OC"&concatenate(aOutstring,"2,0,12,7,15,5,4,6,3")
           sOutString = CompactFields(sOutstring)
      
      Case OutgoingFailed
      
           sOutstring = sOutstring&"OF"&concatenate(aOutstring,"2,0,7,x,10,5,4,6,3")
           sOutString = CompactFields(sOutstring)

      Case Else
      
           sOutstring = "Error, aOutstring has "&Ubound(aOutstring)&" Elements"
      
    End Select
    
    If ReportFileStatus(myLogfile.value) = False Then 
    
      WriteLogfile sHeader&vbCRLF, myLogfile.value
      
    End If
    
    WriteLogfile sOutstring&vbCRLF, myLogfile.value					        'write to logfile
    aCallID(aMessage(2)) = ""                                                                   'cleanup array entry
    sOutstring = ""
    Erase aOutstring
    Erase aMessage
    
  End If        ' Disconnect
  

End Sub		' DecodeMessage

'
' Function concatenate for use by Sub DecodeMessage, aX is an array containing the complete set of strings from 
' Call Monitor ( CALL/RING, CONNECT, DISCONNECT ) iX is a commadelimited string of indices pointig to the
' elements to concatenate. If an Element is named 'x' instead of an array index, aplaceholder will be generated.
' ";" for insertion in the csv output string. The resulting string is the return value.
'

Function concatenate(aX, iX)

  Dim aIndex, zIndex
  
  aIndex = split(iX, ",")
  
  For zIndex=0 to Ubound(aIndex)
  
    If aIndex(zIndex) = "x" Then 
    
      concatenate=concatenate&";"
      
    Else 
    
      concatenate=concatenate&";"&aX(aIndex(zIndex))
      
    End If
    
  Next
  
  Erase aIndex
  
End Function

'
' ReplaceStr replaces every occurence of string 'sb' within string 'sa', if found,  with string 'sc'. 
' If string 'sc' is an empty string (""), the search string is deleted.
'

Function ReplaceStr(sa,sb,sc)

  While InStr(sa,sb) > 0
  
    sa = Left(sa,InStr(sa,sb)-1)&sc&Right(sa,Len(sa)-InStr(sa,sb)-Len(sb)+1)
  
  Wend

  ReplaceStr=sa

End Function

'
' CompactFields is very Fritz!Box Call Monitor specific. The strings generated for the possible events
' ( 'RING', 'CALL', 'CONNECT' and 'DISCONNECT' ) are laid out in different length and sequence.
' This function places data items from the received string in an output string in a more suitable
' sequence. Duplicate data is removed. As every event carries a timestamp ( dd.mm.yy hh:mm:ss ), they 
' are resolved to: 'Date;Time;diff1;diff2', likewise the duration given in seconds is converted to
' a hh:mm:ss format

Function CompactFields(sOut)

  Dim aOut, aDateTime
  
  aOut = Split(sOut,";")
  aOut(5) = CStr(TimeSerial(0,0,aOut(5)))
  aOut(3) = CStr(TimeSerial(0,0,DateDiff("s",aOut(2),aOut(3))))
  If CStr(aOut(4)) <> "" Then aOut(4) = CStr(TimeSerial(0,0,DateDiff("s",aOut(2),aOut(4))))
  aDateTime = Split(aOut(2)," ")
  aOut(2)=aDateTime(0)&";"&aDateTime(1)
  CompactFields = Join(aOut,";")
  Erase aOut
  Erase aDateTime
  
End Function

Function ReportFileStatus(sLogfile)

   Dim oFile
   
   Set oFile = CreateObject("Scripting.FileSystemObject")
   If (oFile.FileExists(sLogfile)) Then
   
      ReportFileStatus = True
      
   Else
   
      ReportFileStatus = False
      
   End If
   
   Set oFile = Nothing
   
End Function

Sub WriteLogfile (sLogstring, sLogfile)
      
      Dim oFile, logFile
      
      Set oFile = CreateObject("Scripting.FileSystemObject")
      Set logFile = oFile.OpenTextFile(sLogfile,8, True)
      logFile.write (sLogstring)
      logFile.Close
      Set logFile = Nothing
      Set oFile = Nothing
      
End Sub

Sub LogToggle


' IE 6.0.2900.2180.xpsp_sp2_gdr.050301-1519 the style.background property accepts input
' as uppercase Hex ( #FFFFFF ), lowercase Hex ( #ffffff ) and decimal ( rgb(255,255,255 )
' readout is only lowercase Hex

' also the colors red and blue are in reverse sequence in function rgb(x,x,x), they are
' rather rgb(b,g,r) than rgb(r,g,b)

  If myLogfile.style.color = "#ff0000" Then
  
    myLogfile.style.color = rgb(0,255,0) 
  
  Else 
  
    myLogfile.style.color=rgb(0,0,255)
  
  End If

End Sub

'
' DoHelp creates a new browser window and fills it with data from <div id="HelpText"> below.
' This has to be refined further
'

Sub DoHelp
  
  Dim sHelp, sHelpH, sHelpF, myWindow
  
  sHelpH = "<html><head></head><title>"&document.title&"</title><body style=""font-family:verdana;font-size:10px;font-color:rgb(0,0,0)"">"
  sHelpF = "</body></html>"
  sHelp = sHelpH&mid(HelpText.innerhtml,5,(len(HelpText.innerhtml)-9))&sHelpF
            
   Set myWindow = window.open ("", "newwindow", "width=500,height=300,scrollbars=no,toolbar=no,menubar=no,resizable=no,location=no,directories=no,status='test'")
   myWindow.document.write(sHelp)

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Winsock event handlers
'''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub oWinsock_Connect()

End Sub

Sub oWinsock_DataArrival(bytesTotal)

  sBuffer=""
  oWinsock.GetData sBuffer
  WriteLogFile sBuffer, left(myLogfile.value,InStrRev(myLogfile.value, "\"))&"call.log"
  If myLogfile.style.color="#00ff00" Then DecodeMessage (sBuffer)
  DisplayData
  
End Sub

Sub oWinsock_Close()

  If oWinsock.State <> 0 Then oWinsock.Close
  myIP.style.color=rgb(0,0,255)
  
End Sub

Sub oWinsock_Error(Number,Description,Scode,Source,HelpFile,HelpContext,CancelDisplay)
  
  oWinsock.Close
  myIP.style.color=rgb(0,0,255)
  Alert("Socket - Error " & Number & " - " & Description)
  
End Sub

</script>

<object id="oWinsock" classid="clsid:248DD896-BB45-11CF-9ABC-0080C7E7B78D"></object>

<!--
    [url]http://www.vbcodesource.org/downloads/mswinsck.zip[/url]
    [url]http://www.ostrosoft.com/oswinsck/oswinsck_vbscript.asp[/url]
-->
<input id="myIP" ondblclick="ChangeState" value="192.168.0.1"></input>&nbsp;<input id="myPort" value="1012"></input>&nbsp;<input id="myLogfile" ondblclick="LogToggle" value="D:\WUTemp\callog.csv"></input>
<br>
<span id="SocketStatus" onclick="DoHelp" ondblclick="DoExit"></span>&nbsp;
<br>
<div id="myDataReceived"></div>
<div id="test" style="background-color:rgb(255,255,255)"</div>

<div id="HelpText">
<!--
<p>This is a Hypertext Application ( HTA ) done in VBScript, to receive the <a href=""http://www.avm.de"">AVM</a> 
FRITZ!Box Call Monitor generated information.</p><p>It is based on ideas found in the <a href=""http://www.ip-
phone-forum.de"">IP Phone Forum </a>, <a href=""http://www.microsoft.com/technet/scriptcenter/"">Microsoft® Techn
et</a>, <a href=""http://www.ostrosoft.com/oswinsck.asp"">OstroSoft® Winsock Component</a> and, last but not least
<a href="http://www.interclasse.com/scripts/pixyportmanager.php">Jean-Luc Antoine</a></p>
-->
</div>

</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Inverssuche - Barrierefreiheit

Für alle die es noch nicht mitbekommen haben: Die Inverssuche funktioniert nicht mehr. Den Grund dafür könnt ihr hier bei dasoertliche.de nachlesen.

Die Einstellungen, die man in der ini Datei selbst unter den Expertenoptionen vornehmen kann, reichen leider nicht aus, um das Problem selbst zu beheben.

Ich sehe mir die neue Suche jetzt an, glaube aber nicht, dass sie PureMonitor vor ein größeres Problem stellen werden.

[EDIT 22:00Uhr]

Nachdem sich dasoertliche.de dazu entschlossen hat, den barrierefreien Weg zu gehen, waren einige kleine Anpassungen nötig, um PureMonitor wieder zur Inverssuche zu bewegen.

Die Dateigrößen der beiden Programme sind unverändert, da die 1KB verbrauchende Inverssuche bereits von Anfang an sehr anpassungsfähig ausgegearbeitet wurde. PureMonitor v 0.81 steht jetzt im Downloadbereich zur Verfügung.

Version 0.81

PureMonitor
+ Inverssuche Deutschland auf das "barrierefreie" dasoertliche.de angepasst

PureIE
+ Ein Eintrag in der INI musste angepasst werden, damit die Inverssuche wieder funktioniert

Bitte die alte INI beim Update löschen, sonst funktioniert die Inverssuche nicht richtig
 
Zuletzt bearbeitet:
PureMonitor auf dem Notebook

Schon seit längerem suche ich einen Anrufmonitor für meine Fritzbox; ich möchte gern am Schreibtisch sitzend die Nummer des Anrufers sehen und nicht extra zum Telefon rennen müssen. Die Funktion des damalis gern genutzten ISDN-Tools habe ich bisher leider noch nicht gefunden. Gegenüber JAVA-Boliden wie JFritz gefällt mir Dein Progrämmchen sehr viel besser; natürlich finde ich kleine Programmdateien sexy (Das "Betriebssystem" meines ersten Computers mußte in 256 Byte (Byte!) passen). Leider funktioniert es bei mir nicht sauber.

Daß unkommentiertes Schließen per rechte Maustaste unpraktisch ist, weißt Du aus der eigenen Handhabung. Mir passiert das dauernd, und etwas ärgerlich ist das schon (rechte Maustaste liegt bei mir im Trackpadbereich). Ich könnte mir hierfür eine andere Lösung vorstellen, meinetwegen einen Knopf "Programm beenden" -äh- "Terminate program" im Hauptfenster.

Bei mir kommen viele Leute mit Nummer, die nicht im Telefonbuch stehen. Das kennst Du von Dir sicher auch. Ich staune sehr darüber, wie gut die Rückwärtssuche funktioniert und daß sie Dich nur 1000 Bytes Code gekostet hat; für die genannten Leute geht die Abfrage aber ins Leere. Es kann kein Hexenwerk sein, für "eigene Nummern" eine simpel formatierte ASCII-Datei einzulesen (Ziffer in der ersten Spalte -> Nummerneintrag, der so formatiert ist "123123;Name", anderes Zeichen in der ersten Spalte -- Kommentar). Das Einlesen, prüfen und die Abfrageroutine sollte in 500 Bytes machbar sein, dazu kommt Deine Laufzeitkompression, also wären es vermutlich in der .exe-Datei weniger).

Die LED-Anzeige kann ich sehr schlecht lesen, vor allem deswegen, weil die Ziffern sehr eng gestellt sind und die Hilfslinien mich optisch verwirren. Ich weiß natürlich, daß die Gestaltung dieser Anzeige voller künstlerischem Herzblut steckt (wie generell das Layout und die Farbwahl), dennoch fände ich als präseniler Anwender normale Zahlen in einem normalen, normalgefärbten Fenster besser. Ich selbst habe hier die LED-Anzeige abgeschaltet. "BubbleCrap" finde ich (trotz wesentlich geringer Größe) erheblich besser zu lesen.

Die durchweg englischen Meldungen, die Gestaltung des Programms "PureIE" mit der hüpfenden Schrift und der Musik, die gänzlich fehlende Dokumentation und die .exe-Verschlüsselung erinnern mich sehr an meine eigenen hAKkOR-Tage; ob ich das Programm wohl mit einem guten Disassembler wohl noch auseinandergenommen bekäme? Wahrscheinlich nicht, ich könnte mir vorstellen, daß Du mächtig Gehirnschmalz ins Obfuszifizieren gesteckt hat. Ich habe dafür volles Verständnis, schließlich habe ich das früher auch so gemacht. Mittlerweile ist die Anglomanie allerdings verflogen und ich hätte gern deutsche Texte in den Dialogen. Normalerweise ist es kein Problem, sich diesbezüglich selbst zu helfen und deutsche Texte einzupatchen, in Deinem Fall aber gehts leider nicht. Ich könnte mir vorstellen, daß ich nicht der einzige Anwender von PureMonitor bin, der gern deutsche Texte hätte.

Das alles war Kür und Nice-to-have.

Nun kommt das Feature, der das Programm bei mir praktisch unbrauchbar macht: Ich sitze hier an einem Notebook mit WLAN, das seiner Natur entsprechend immer mal wieder der Verbindung verliert und sie wieder aufbaut. Puremonitor merkt beim Laden, daß keine Verbindung besteht und macht sich nicht resident, wenn nicht. Wenn das Programm aber erst einmal geladen ist, wird die LAN-Funktion wohl nicht sinnvoll überwacht. Manchmal funktioniert PM einfach nicht mehr (und das unvorhersehbar); beim Ausschalten des WLANs habe ich aber auch schon mal einen Programmende-Dialog provoziert. Ich brauche die Anrufliste nicht (die beim Programmende verlorengeht), aber es ist für einen Notebooknutzer schon etwas unglücklich, daß der entsprechende Dialog keinen "Wiederholen"-Knopf aufweist. Es kann sein, daß beim Einstecken des Netzteils ein Profil geladen wird, bei dem WLAN ausgeschaltet ist. Spätestens beim nächsten Internetzugriff merkt man das und schaltet es wieder ein, aber deswegen müssen eigentlch keine Trayprogramme den Schluckauf kriegen.

In jedem Fall stellt PureMonitor seine Funktion ein, wenn der Rechner zwischendurch im Standby oder Ruhezustand war, und das kommt bei meinem regelmäßig vor. In diesem Fall bleibt PureMonitor geladen und funktioniert einfach nicht mehr. Schön fände ich, wenn das Programm den Verlust der Verbindung signalisierte (z.B. durch Farbänderung des Icons) und in diesem Betriebszustand von sich aus versuchte, die Verbindung wiederzufinden. Wenn das aber nicht geht, ist es allemal besser, das Programm meldet sich ab anstatt daß es ohne Funktion geladen bleibt. Nach jedem Standby daran zu denken, daß man PureMonitor einmal entladen und wieder laden muß, halte ich nicht für praktikabel (Nein, keine Firewall geladen, das ist es nicht).

PureMonitor tut offenbar das, was das Programm für Dich tun muß, wohl deswegen hast Du kein Interesse mehr an einer Weiterentwicklung. Ich finde das bedauerlich, weil ich PureMonitor für ein sehr erfreuliches Programm halte, dem nur noch Kleinigkeiten fehlen, und es bereits sehr nahe an dem ist, was ich gern hätte.

Vielleicht meldest Du Dich einfach dazu.
 
Um mich als weiteren Fan zu outen: Ich nutze auch noch den PureMonitor!

Insgeheim warte ich aber immer noch auf einige Verbesserungen und Änderungen, die ich vor Monaten schon mal angesprochen hatte. Natürlich kann ich aber auch verstehen, dass du ggf. nichts mehr dran getan hast, weil dir das Programm so ausreichte.

Hast du vielleicht schon mal darüber nachgedacht den Source-Code freizugeben? Ich hätte durchaus Interesse daran. Zumindest eine Übersetzung dürfte mir keine Probleme machen. Einige meiner Wünsche könnte ich vielleicht auch umsetzen. Und wenns nur für mich wäre, wenns kein anderer haben will.
Nur alles von Null an zu schreiben - dazu habe ich leider nicht die Zeit und momentan auch nicht das Wissen.
Auf etwas vorhandenem aufzubauen ist ja immer einfacher :)

Gruß
 
Hallo ippmat,

vielen Dank für deine wohl formulierte Kritik und Auflistung aller bekannten Schwachstellen PureMonitors. Ich fasse noch einmal zusammen:

  • Unglückliches Beenden über die rechte Maustaste
  • Kein eingebautes Telefonbuch
  • LED schlecht lesbar
  • Nicht komplett eingedeutscht
  • Magelhafte Dokumentation
  • Verschlüsselung der PE
  • Keine Überprüfung auf bestehende Verbindung im laufenden Betrieb
  • Anrufliste soll beim Beenden verloren gehen?

PureMonitor tut offenbar das, was das Programm für Dich tun muß, wohl deswegen hast Du kein Interesse mehr an einer Weiterentwicklung. Ich finde das bedauerlich, weil ich PureMonitor für ein sehr erfreuliches Programm halte, dem nur noch Kleinigkeiten fehlen, und es bereits sehr nahe an dem ist, was ich gern hätte.

Damit, daß PureMonitors derzeitiger Entwicklungsstand für mich und meine persönlichen Bekannten vollkommen ausreicht, hast du sicherlich recht. Dennoch hege ich nach wie vor großes Interesse daran, PM weiter nach dem KISS Prinzip auszubauen.
Meine Ausrede für die "scheinbare" Entwicklungsschleppe meines Programms ist sehr trivial, und daher wahrscheinlich wenig glaubhaft: Wer beruflich acht Stunden täglich vorm Monitor verbringt, hat in seiner Freizeit noch andere notwendige Dinge zu erledigen als die Entwicklung eines Anrufmonitors für die FritzBox.

Scheinbar in Anführung, da es hinter den Kulissen noch einen Linux Port gibt, der nahezu fertiggestellt ist. Ausserdem hat PM (trotz TAPI) inzwischen über 1000 Downloads; ich beantworte jede eintreffende Supportanfrage von Hand, auch wenn ich auf meiner Webseite darum gebeten habe, mich nicht mehr anzuschreiben. Weiterhin gibt es zahlreiche "custom Patches", wie die Inverssuche für die Schweiz, die nun öffentlich ist, Versionen ohne Ton und eine unkomprimierte Version um Fehlalarme von Virenscannern zu vermeiden. Wenn du mich wegen den englischen Strings angeschrieben hättest, wärst du inzwischen sicher längst im Besitz einer komplett eingedeutschten Version.
Übrigens finde ich es sehr nett, dass du es erst mit einem Ressourcen-Patcher versucht hast. Ich gehe davon aus, dass du mich, trotz praktisch nicht vorhandener Dokumentation, nicht unnötig "belästigen" wolltest.

Nun zu den von dir angesprochenen Kritikpunkten. Ich liste in der Reihenfolge [leicht behebbar - schwer/unmöglich]

-Magelhafte Dokumentation

Ich bin gerade dabei dies zu ändern. In der Dokumentation werde ich auch die von dir genannten Schwachstellen mit aufzählen.

-Verschlüsselung der PE

Sollte für den Normalanwender kein Problem darstellen und ist ein (netter) Nebeneffekt der Komprimierung. Die ersten Versionen waren mit UPX gepackt und damit auch wieder entpackbar. Als PM das erste Mal die 50 KB Grenze überschritt, habe ich mich auf die Suche nach Alternativen begeben...
(PureMonitor ist unkomprimiert übrigens 111 KB groß.)

-Anrufliste geht beim Beenden verloren

Stimmt so nicht. Die Anrufliste umfasst "einfach" nur die letzen 20 eingehenden Gespräche. Diese Liste bleibt jedoch beim Beenden erhalten und sollte beim nächsten Neustart automatisch wieder aus der Datei mit der Endung .lv neu geladen werden.
Sobald die Liste jedoch voll ist wird sie verworfen, da man die komplette History jederzeit in der FritzBox selbst abrufen kann. Mehr als 20 Einträge halte ich für Überflüssig.
(Die ersten Versionen des Programms hatten ein LOG, das alle Aktionen festhielt.)

-Unglückliches Beenden über die rechte Maustaste

Sobald PM überwacht, wird die GUI nicht mehr abgefragt. Daher kann ich ohne größeren Aufwand keinen Button zum Beenden dort plazieren. Ein Tray-Menu schluckt zu viel Speicherplatz für die eine Funktion, die es bieten würde, daher kommt auch das nicht in Frage. Was ich aber machen kann ist eine zusätzliche Sicherheitsabfrage oder das Umlegen der rechten Maustaste auf "doppelt rechts"...

-LED schlecht lesbar

PureMonitor basiert auf dieser Anzeige. Hast du mal die alternativ Farbwerte, die als Kommentar in der INI stehen, ausprobiert? Auch könnte man es mit schwarzen Ziffern auf weißem Hintergrund oder umgekehrt versuchen.
In der nächsten Version werde ich noch weitere schlichte Beispielkonfigurationen in der INI mit angeben.

Eine Funktion die "einfach nur" einen String auf dem Bildschirm ausgibt, ist nicht eingebaut. Was das ganze verbrauchen würde kann ich leider überhaupt nicht einschätzen, ohne es testweise einzubauen. Das einzige Problem, was ich dabei sehe ist: Falls ich so etwas einbaue müßte es auch weitere Einstellungsmöglichkeiten in der INI (Hintergrundfarbe, Schriftfarbe, Schriftgröße) und zusätzliche Abfragen (was passiert, wenn LED und Normalanzeige gleichzeitig aktiv sind?) geben, was mit Aufwand verbunden ist, der anderweitig mehr vonnöten ist, z.B. beim Telefonbuch.

Tipp: Benutze einen schwarzen Hintergrund mit schwarzer Umrandung und weißen Ziffern, dann sieht die Anzeige aus wie ein Normaltext. Wenn du zusätzliche Änderungen an der Größe benötigst, schreib mich einfach an.

-Kein eingebautes Telefonbuch

Darüber brauchen wir nicht mehr zu diskutieren. Da von Seiten AVM nichts in der Richtung gekommen ist, was mir übrigens völlig unverständlich ist, werde ich es einbauen. Da ich keine DLL zum Parsen von XML Dateien beilegen möchte, werde ich wahrscheinlich die von dir vorgeschlagene ASCII Methode nutzen, auch wenn XML heutzutage das einzig Richtige wäre.
Einen Konverter vom JFritz Telefonbuch zu "Plaintext" gibt es wahrscheinlich schon.

-Nicht komplett eingedeutscht

Die Wörter, die bisher noch nicht übersetzt erscheinen sind hardcoded und daher aus Faulheit von mir noch nicht berücksichtigt. Falls bei dir jedoch die Überschriften der Anrufliste noch auf englisch erscheinen, kannst du das Problem beheben, indem du die LV Datei löschst. Sie wird dann beim nächsten Start von PM automatisch neu erzeugt.
Hintergrund: Auch wenn es kein Problem wäre, baut PureMonitor keine anderen Verbindungen als zur FritzBox und zu "dasoertliche.de" auf; außerdem löscht PureMonitor keine Dateien. Der Grund hierfür dürfte dir klar sein ;)

Zum Thema Szene-mäßiger INI-Editor und "zu viel Englisch": Die Idee zu PM ist bei einer Kneipentour entstanden. Meine alte Siemens Feststation hat die Clip Funktion meines Gigasets Pocket nicht unterstützt, daher dachte man sich nach einigen Bier, dass es "cool" wäre, wenn die Nummer des Anrufers auf dem Monitor angezeigt würde, wie damals zu ISDN Zeiten.
Englische Begriffe zu benutzen war keine böse Absicht von mir. Mir fällt es leichter auf englisch zu kommentieren, da man dann nicht ständig wieder umdenken muß. Außerdem nahmen die englischen Begriffe in der GUI weniger Platz ein. Die wenigen Begriffe die noch nicht übersetzt sind werden sicher bald folgen.

Der INI Editor ist ein netter Bonus der aus einem anderen Projekt entstanden ist. Eine Textdatei editieren Leute wie du doch sicherlich sowieso lieber von Hand, oder nicht? :)

-Keine Überprüfung auf bestehende Verbindung im laufenden Betrieb

Das Problem ist, dass PureMonitor eben keine Verbindung aufbaut, die es überwachen könnte. PM lauscht nur auf dem Port und wartet auf eingehende Daten.
Da dies dein dringenstes Problem ist tut es mir leid hier keine näheren Auskünfte geben zu können. Den Netzwerkcode hab ich mir seitem er läuft nicht mehr angesehen.
Meine Vermutung bei dieser Art von Problem ist, dass nach einer gewissen Zeit keine Daten mehr eingehen, genau wie beim Problem mit Kerio/Emule/Torrent.
Als "QuickFix" für Notebooks oder Computer, die ab und an in den Ruhezustand wechseln könnte ich nur anbieten das Programm nach jeweils 15 Minuten neu starten zu lassen.

Viele Grüße und Danke für die offene Kritik,
Turin
 
Zuletzt bearbeitet:
["Foren"-Software ist maximal krampfig, speziell unterstützt sie das Zitieren nur sehr marginal. Ich hoffe, man kann das alles lesen und zuordnen]

> Vielen Dank für deine wohlformulierte Kritik und Auflistung aller
> bekannten Schwachstellen PureMonitors.

Ich weiß nicht, ob man sich dafür bedanken sollte. :)

Manches des genannten ist Dir längst als Mißstand bekannt; man geht so etwas am einfachsten an, indem man es beseitigt. Dann spart man sich die Zeit für die Erläuterung des Mißstands :)

>Ich fasse noch einmal zusammen:
> * Unglückliches Beenden über die rechte Maustaste

> Sobald PM überwacht, wird die GUI nicht mehr abgefragt. Daher
> kann ich ohne größeren Aufwand keinen Button zum Beenden dort
> plazieren. Ein Tray-Menu schluckt zu viel Speicherplatz für
> die eine Funktion, die es bieten würde, daher kommt auch das
> nicht in Frage. Was ich aber machen kann ist eine zusätzliche
> Sicherheitsabfrage oder das Umlegen der rechten Maustaste
> auf "doppelt rechts"...

Es ist Dein sportlicher Ehrgeiz, Dein Programm so klein wie irgend möglich zu halten. Wie schon gesagt; ich kann diesen Grund nachvollziehen, für mich als Anwender aber ist das störend und ärgerlich, weil es mir nämlich den Weg dazu verbaut, mir selbst zu helfen. Dieser Rechner hier ist der erste, bei dem ich die Festplatte so schnell nicht vollkriegen werde -- und ob eine Programmdatei dann 40 KB oder 110 KB groß ist, ist für mich völlig nachgeordnet.

Das Beenden eines Programmes sollte eine willkürliche Aktion sein, die man nicht versehentlich auslösen kann. Wenn Dir das Kontextmenü zuviel Speicher kostet, dann bau doch in die Anrufliste einen passenden Button ein. Wer das Programm dann beenden will, muß die Anrufliste öffnen, findet dort den Knopf, drückt drauf -- und weg ist das Programm. Was soll bei dieser Lösung das Problem sein? Eine Sicherheitsabfrage auf Rechtsklick ginge natürlich; ein Doppelklick wäre angesichts Deiner spärlichen Doku kritisch. Ich kenne kein anderes Programm, das man so beendet. Von der Softwareergonomie her ist es günstig, Funktionen dort anzuordnen, wo ein Anwender sie finden kann, und sie so zu gestalten, daß sie intuitiv bedienbar sind. Ein beschrifteter Knopf ist diesbezüglich tausendmal besser als ein nicht-dokumentierter Rechts-Doppelclick.


> PE-Komprimierung
> Sollte für den Normalanwender kein Problem darstellen

Ich glaube, das verkennst Du völlig.

Für Dich ist es alltägliche Kenntnis zu wissen, welches Programm "man" nimmt, um "PE"s zu komprimieren oder auszupacken. Ich weiß das nicht (mehr), bin diesbezüglich also hilflos. Klar, ich könnte danach googlen und würde das Verfahren vielleicht herausbekommen. Wer sagt mir, daß die Sache erledigt ist, wenn ich _einen_ Dekomprimierer gefunden habe? Es wäre nicht das erste Mal, daß ein Programm mehrere Schalen hätte.


> * Kein eingebautes Telefonbuch

[Willst Du erwägen]


> * LED schlecht lesbar

> PureMonitor basiert auf dieser Anzeige.

Die LED-Anzeige ist eine Ausgaberoutine, PM hat eine zweite, nämlich über "BubbleScrap". Ich beispielsweise finde die erheblich besser und auch leichter zu lesen, aber Geschmäcker sind natürlich verschieden. Wenn es nur um mich ginge (geht es gottseidank nicht!), könnte die LED-Anzeige komplett weg.


> Hast du mal die alternativ Farbwerte, die als Kommentar in der INI stehen, ausprobiert?

Nein, ich verspreche mir auch nichts davon. Das Hauptproblem ist ja, daß die Zahlen zu dicht stehen, das würde mit anderen Farben nicht besser. Außerdem ist es ohne Dokumentation eine ziemliche Prokelei.


> Tipp: Benutze einen schwarzen Hintergrund mit schwarzer
> Umrandung und weißen Ziffern, dann sieht die Anzeige
> aus wie ein Normaltext. Wenn du zusätzliche Änderungen
> an der Größe benötigst, schreib mich einfach an.

Ich bin vorgestern natürlich erstmal auf Deiner Internetseite gewesen, die war wenig einladend noch hellgrau auf dunkelgrau gehalten. An der mußt Du die letzten beiden Tage fleißig gestrickt haben; jetzt sieht sie erheblich weniger abweisend aus -- aber das vorgeschriebene Impressum hat sie immer noch nicht. Klar, man kann die Info von DENIC holen; in Deinem Fall steht dort ja ein Klarname. Obs der Deine ist? Keine Ahnung.

Wer möchte, daß man mit ihm leicht Kontakt aufnehmen kann, signalisiert das durch entsprechende Gestaltung auf seiner Seite. Ich habe auch jetzt nicht den Eindruck, daß es Dir auf Deiner Seite darum geht, die Kontaktaufnahme zu erleichtern. Eine E-Mail-Adresse gibst Du jedenfalls nicht an (wäre eine vertrauensbildende Maßnahme). So ein E-Mail-Fensterchen ist da kein Ersatz. Man weiß bekanntlich nie, was passiert, wenn man irgendwas in so ein Fensterchen schreibt.

Ehrlich gesagt habe ich überhaupt nicht mit einer Antwort auf meinen letzten Text gerechnet. Deine Aussage "Programm wird nicht mehr weiterentwickelt" schien mir eine klare An- (bzw. Ab-)sage zu sein.


> * Nicht komplett eingedeutscht
> Die Wörter, die bisher noch nicht übersetzt erscheinen
> sind hardcoded und daher aus Faulheit von mir noch
> nicht berücksichtigt.

Hättest Du die .exe-Datei nicht komprimiert, hätte man einiges selber machen können -- und wenn man nach einem C-String noch etliche NUL-Bytes einfügt, kann man auch dann noch erfolgreich patchen, wenn die deutsche Übersetzung etwas länger ist als der englische Text.


> * Mangelhafte Dokumentation

Ich sag dazu mal nichts, habe schließlich selber mal programmiert :)


> * Verschlüsselung der PE

Die gehört meines Erachtens schlichtweg weg. Und wenn Du partout nicht darauf verzichten magst, dann leg doch für Normalanwender einfach ein unkomprimiertes .exe dazu.


> * Keine Überprüfung auf bestehende Verbindung im laufenden Betrieb

Das ist für allgemeine Anwendung ein wunder Punkt, und für Dich wahrscheinlich am schwierigsten zu beheben.

Ich möchte -- ganz nach Deinem Motto "KISS" -- einen ganz einfachen Anrufmonitor. Mir persönlich würde die Textblase als Signalisierung des letzten Anrufs reichen, ich bräuchte nicht einmal eine Anrufliste (die -- wenn man sie schon vorsieht -- vielleicht besser als Ringpuffer realisiert). Andere Leute haben vielleicht andere Präferenzen.

Eins aber ist nicht diskutabel: Der Anrufmonitor muß gnadenlos Anrufe melden, wenn er geladen ist. Daß er sich -- wie jetzt -- irgendwann sang- und klanglos abmeldet oder nach dem Wiedererwachen aus dem Standby einfach den Dienst verweigert, das geht natürlich nicht.

> Das Problem ist, dass PureMonitor eben keine Verbindung
> aufbaut, die es überwachen könnte. PM lauscht nur auf
> dem Port und wartet auf eingehende Daten.

> Da dies dein dringendstes Problem ist,

Nicht nur meins; andere Anwender haben davon ja auch schon berichtet.

>tut es mir leid hier keine näheren Auskünfte geben zu können.
>Den Netzwerkcode hab ich mir, seitem er läuft, nicht mehr angesehen.

Ich weiß nicht, was softwaremäßig passiert, wenn eine WLAN-Verbindung zusammenbricht und wieder aufgebaut wird. Es erscheint mir schon denkbar, daß abhängige Programme in diesem Fall die Softwareschnittstelle re-initialisieren müssen. Wenn Du kein Notebook hast, hast Du das Problem ja nicht.

> Meine Vermutung bei dieser Art von Problem ist, dass nach einer
> gewissen Zeit keine Daten mehr eingehen, genau wie beim Problem
> mit Kerio/Emule/Torrent. ls "QuickFix" für Notebooks oder
> Computer, die ab und an in den Ruhezustand wechseln könnte ich
> nur anbieten, das Programm nach jeweils 15 Minuten neu starten
> zu lassen.

Was auch immer das heißt. Regelmäßige Statusabfragen und ggf. folgende Re-Initialisierung von Schnittstellen sind heute Software-Standardmethode, das braucht man überall. Denk einfach mal an USB-Geräte, aber auch an jede Form der Kommunikation. Wenn über eine Leitung länger nichts kommt, muß man nachprüfen, ob die noch lebt, wenn nicht, den Schnittstellenprozeß neu anstoßen. Ich weiß nicht, wie Du das in Deinem Programm realisiert hast, ich habe allerdings den Eindruck, daß der entsprechende Programmteil nicht robust genug ist.


> * Anrufliste soll beim Beenden verloren gehen?

Das stimmt nicht. Mein Fehler. Ich weiß nicht, wie ich darauf gekommen bin.

Es wäre übrigens erfreulich, wenn die Anrufliste unverschlüsselt gespeichert würde. Das Verschlüsseln allgemein scheint Deine große Freude zu sein. Ich finde sie vor allem hinderlich.


> Meine Ausrede für die "scheinbare" Entwicklungsschleppe
> meines Programms ist sehr trivial und daher wahrscheinlich
> wenig glaubhaft: Wer beruflich acht Stunden täglich vorm
> Monitor verbringt, hat in seiner Freizeit noch andere
> notwendige Dinge zu erledigen als die Entwicklung
> eines Anrufmonitors für die FritzBox.

Du bist keinem hier eine Erklärung schuldig (und auch mir nicht). Davon abgesehen muß jeder ein "ich habe keine Zeit" akzeptieren (auch, wenn das eigentlich "ich habe keine Lust" heißen sollte). Das ist ganz Deine Sache und auch Deine Entscheidung. Du hast Dich damals allerdings hingesetzt und hast dieses Progrämmchen geschrieben, erstmal für Dich. Dann hast Du es im Freundeskreis verteilt, und Deine Freunde haben es gut gefunden. Positive Rückmeldung kann die Weiterentwicklung schon befeuern, das kenne ich von mir.

Ich möchte gern einen Anrufmonitor für meine Fritzbox haben, und zwar ein möglichst einfaches Programm, das schlichtweg nur funktioniert, eins allerdings, bei dem ich vorzugsweise nicht irgendwelche kaum dokumentierten Firmwarepatches durchführen muß. Ich bin (siehe oben) kein Freund von "Foren", weil ich sie ausgesprochen schlecht zu bedienen finde. Dennoch habe ich mich hier durchgeklickt (angeblich gibts ja hunderte von Anrufmonitoren für die Fritzbox). Leider war nichts für mich dabei.

Bedauerlich ist, daß AVM selbst für diesen naheliegenden Zweck nichts zur Verfügung stellt. Für ihre ISDN-Fritzkarten hatten sie etwas (auch alle anderen Hersteller von IDSN-Karten hatten solche Programme). Für eine Fritzbox über WLAN gibts verblüffenderweise so etwas nicht.

Dein Programm ist von den verfügbaren am nächsten dran an dem, was ich mir vorstelle. Die meiste Arbeit scheint getan zu sein (hoffe ich. Ich hoffe, die Sache mit dem Standby erweist sich nicht als schwarzes Loch), also frage ich halt. Ich fände es schade, daß man sagen müßte -- PureMonitor war der hoffnungsvollste Ansatz, aber er ist wenige Meter vor dem Ziel versandet.

Ob Du nun was machst (und was), das ist gänzlich Deine Sache. Du kannst die Schotten dicht machen, Du kannst Dich ans Werk machen, Du kannst den Quelltext veröffentlichen etc. Ich hätte natürlich gern, daß Du Dich ans Werk machst, weil Du den Quelltext und Dein Programm am besten kennst. Du machst das, wenn Du es machst, natürlich nur um die Ehre. Eine Bezahlung durch die Anwender Deines Programms beispielsweise läßt sich nicht darstellen. PureMonitor ist ein kleines Utility; dafür gibt man nicht viel Geld aus. Was ein einzelner für ein solches Programm vernünftigerweise springen läßt, ist für den Programmierer kein "Lohn". Gebe ich Dir einen Zehner dafür, dann freust Du Dich vielleicht darüber, aber das allein bringt Dich nicht auf die Hufe. Einen Betrag, der das bewirkt (der dann mindestens drei- besser vierstellig ist), ist mir das Programm nicht wert. Zu überlegen wäre, AVM direkt anzusprechen. Deren Beta-Programm ist nicht so ganz das Wahre (FB-Paßwort im Klartext!), die könnten Dir einen Betrag dafür geben, der zumindest etwas mit Entlohnung zu tun hat. Früher mal wäre das Know-How, was in Deinem Programm steckt, etwas für die c't gewesen, aber die Zeiten sind, glaube ich, vorbei. Wenngleich: Probieren könntest Du es, kostet ja auch nur eine E-Mail.

:)
 
@ippmat:
Beim PureMonitor geht es ja nicht darum möglichst wenig Speicher auf der Festplatte zu belegen sondern um ein möglichst Resourcen-sparendes Programm während der Laufzeit.
Und das ist genau der Punkt, davon gibt es außer PureMonitor keine mir bekannten Anrufmonitore für die FBF.

Falls es dir egal ist, dass ein Anrufmonitor resourcenhungrig ist (z.B. weil er in Java geschrieben ist und somit die JVM benötigt), solltest du dir vielleicht mal FBFwatch ansehen (http://www.the-construct.com/?p=software weiter unten auf der Seite). Falls du das noch nicht getan hast...

Einige der Funktionen aus FBFwatch wünsche ich mir für den PureMonitor (siehe älteres Posting).
 
> Beim PureMonitor geht es ja nicht darum, möglichst wenig
> Speicher auf der Festplatte zu belegen, sondern um ein
> möglichst Resourcen-sparendes Programm während der
> Laufzeit.

Die Beanspruchung von Ressourcen zur Laufzeit hat mit dem Packen des .exe nichts zu tun. Zur Laufzeit dürften gepackte und ungepackte Version gleich groß sein.

> Falls es dir egal ist, dass ein Anrufmonitor resourcenhungrig ist

Das ist mir nicht egal, aber ich nehme es zur Not in Kauf.

> solltest du dir vielleicht mal FBFwatch ansehen
> (http://www.the-construct.com/?p=software weiter unten auf der Seite).
> Falls du das noch nicht getan hast...

Das habe ich getan, nachdem das Programm allerdings eine Beta-Version der Java-Runtime voraussetzt, habe ich auf weiteres Anschauen verzichtet.

[verlorene Verbindung nach dem Aufwachen aus dem Standby]
Gerade habe ich mit Schmunzeln gelesen, daß JFritz das gleiche Problem hat: Auch JFritz (zumindest die Version vom März des Jahres) funktioniert nach dem Wiederaufwachen nicht. Ich bin der Sache nicht nachgegangen, da mir JFritz allgemein zu dick ist. Ich weiß also nicht, ob eine Folgeversion das Problem gelöst hat.

@turin

Eine kleine Bitte hätte ich noch: Gerade ist ein Anruf ohne Nummer hereingekommen. Das Systray-Icon von PM hat sich (richtig) verwandelt, geklingelt hat es auch, aber eine Textblase ist nicht hochgekommen. Ich fände schön, wenn das auch in Fällen ohne Nummer passieren würde. Es kann ja "Nummer unbekannt" oder "-?-" statt der Nummer im Text stehen.
 
In Version 0.8 werden mir "Anrufe ohne Nummer" problemlos angezeigt.
Angezeigt wird bei mir "from:" und
in der nächsten Zeile "identified as -> ?"

Das Problem ist also eigentlich zumindest nicht dauerhaft oder nur bei dir.


Bezüglich der Nicht-Funktion nach einem Standby wird vermutlich der Grund sein, dass die Programme erneut an Windows melden müssten, dass sie wieder auf bestimmten Ports auf Daten warten. Windows vergisst das anscheinend durch den Standby.
 
Hallo ippmat,

einfacher zitieren kannst du mit
PHP:
[quote]Zitat[/quote]

> PE-Komprimierung
> Sollte für den Normalanwender kein Problem darstellen

Ich glaube, das verkennst Du völlig...

Hier haben wir uns wohl etwas mißverstanden. Mit "für den Normalanwender kein Problem" meinte ich natürlich, dass man das Programm in der Regel nicht disassemblieren oder patchen sollte.
PureMonitor ist mit PeCompact komprimiert und überprüft beim Start seine Checksumme. Ich möchte einfach nicht, dass das Programm evtl. mit einem Keylogger/Trojaner infiziert und weitergegeben wird, weil das letzendlich auf mich zurückfallen würde.


... aber das vorgeschriebene Impressum hat sie immer noch nicht. Klar, man kann die Info von DENIC holen; in Deinem Fall steht dort ja ein Klarname. Obs der Deine ist? Keine Ahnung.

Wer möchte, daß man mit ihm leicht Kontakt aufnehmen kann, signalisiert das durch entsprechende Gestaltung auf seiner Seite. Ich habe auch jetzt nicht den Eindruck, daß es Dir auf Deiner Seite darum geht, die Kontaktaufnahme zu erleichtern. Eine E-Mail-Adresse gibst Du jedenfalls nicht an (wäre eine vertrauensbildende Maßnahme). So ein E-Mail-Fensterchen ist da kein Ersatz. Man weiß bekanntlich nie, was passiert, wenn man irgendwas in so ein Fensterchen schreibt.

Bitte um Nachsicht, die Homepage ist erst einen Tag "alt". In der Navigation ist kein Platz mehr fürs Impressum aber ich werde unten noch eine kleine Linkleiste einbauen.
Ich mag keine direkten EMail Links auf Webseiten, da sich bei einem versehentlichen Klick dann i.d.R. das Mailprogramm öffnet. Das Kontaktformular funktioniert einwandfrei und schützt gleichzeitig vor Spidern. Meine Email Adresse ist turin74(at)gmx.de .

...und wenn man nach einem C-String noch etliche NUL-Bytes einfügt, kann man auch dann noch erfolgreich patchen...

Und was passiert, wenn man versehentlich NULL mitten in den String patched? PM hat absichtlich so wenig Sicherheitsabfragen wie nur irgend möglich eingebaut. Das ist auch der Grund dafür, dass die Anrufliste komprimiert und nicht als Reintext gespiechert wird. Der Inhalt wird direkt für die GUI benutzt und NICHT mehr validiert. Wenn man beim Editieren einen Fehler einbauen würde, hätte das bestenfalls eine Schutzverletzung zur Folge.

Um noch deutlicher zu werden: Angenommen jemand käme auf die Idee, die Anrufliste, die dann später direkt ins Programm gelesen wird, mit Microsoft Word zu bearbeiten...
Die Rich Text Datei wird eingelesen und das Programm verursacht einen Bluescreen. Der Anwender benutzt noch FAT32 und sein Windows fährt nicht mehr hoch. Wird derjenige sich die Schuld wohl selbst zuschreiben, oder würde er hier im Forum mir die Schuld für sein zerschossenes Windows zuschieben?
Um das zu vermeiden hatte ich die Wahl Sicherheitsabfragen, wie in jedem anderen 0815 Programm einzubauen, oder kritische Dateien, zumindest sehr leicht, gegen Fremdeinwirkung abzusichern.

> * Keine Überprüfung auf bestehende Verbindung im laufenden Betrieb

Das ist für allgemeine Anwendung ein wunder Punkt, und für Dich wahrscheinlich am schwierigsten zu beheben.

Ja leider, wahrscheinlich ist die Lösung ganz einfach, man muß nur erst einmal darauf kommen. Hoffentlich fällt mir in der Hinsicht bald eine Lösung ein. Vielleicht ein Timer der alle 60 Sekunden reinitialisiert. Allerdings weiss ich nicht, wie sich das auf die CPU Last auswirken würde. Mal sehen...

...Wenn über eine Leitung länger nichts kommt, muß man nachprüfen, ob die noch lebt, wenn nicht, den Schnittstellenprozeß neu anstoßen. Ich weiß nicht, wie Du das in Deinem Programm realisiert hast, ich habe allerdings den Eindruck, daß der entsprechende Programmteil nicht robust genug ist...

Den entsprechenden Programmteil gibt es nicht :) Alle Checks passieren am Anfang. Falls dann das OK zurückkommt gibt es keine weiteren Kontrollen bis der nächste Anruf ein / aus-geht.

...angeblich gibts ja hunderte von Anrufmonitoren für die Fritzbox). Leider war nichts für mich dabei.

Das kommt mir bekannt vor ;)

Bedauerlich ist, daß AVM selbst für diesen naheliegenden Zweck nichts zur Verfügung stellt. Für ihre ISDN-Fritzkarten hatten sie etwas (auch alle anderen Hersteller von IDSN-Karten hatten solche Programme). Für eine Fritzbox über WLAN gibts verblüffenderweise so etwas nicht.

Auch wenn es quasi Antiwerbung für PureMonitor ist: Mittlerweile funktioniert (ohne viel Aufwand) jede TAPI Lösung. Der direkteste Weg bleibt jedoch PureMonitor. Eine dritte Möglichkeit bietet die Verbindung über Telnet, die allerdings die lästige knallrote Warnmeldung auf der Startseite der FritzBox entstehen lässt.

Gebe ich Dir einen Zehner dafür, dann freust Du Dich vielleicht darüber, aber das allein bringt Dich nicht auf die Hufe.

Danke, aber darum geht es mir nicht. Ich gehe arbeiten um Geld zu verdienen. [off topic]Wenn mehr Leute so denken würden, gäbe es nicht so viel lächerliche und sinnlose Werbung im Internet.[/off topic]

Viele Grüße,
Turin
 
> einfacher zitieren kannst du mit PHP-Code:
>

Einfacher schreiben als in einem kleinen Bildschirmfensterchen kann ich ohne Frage in meinem eigenen Editor.

Das habe ich auch getan. Danach habe ich meinen Text in dieses Winzfenster übertragen und dann abgeschickt.

"Ätsch", sagte die Forumsoftware. Du bis ja überhaupt nicht angemeldet. Und weg war der Text.

Du wirst nachvollziehen können, daß ich recht froh bin, daß ich ihn noch in der Zwischenablage hatte. Ich mag diese "Foren" einfach nicht. Grauenhaft unbequem.

>> PE-Komprimierung
>> Sollte für den Normalanwender kein Problem darstellen

> Ich glaube, das verkennst Du völlig...

> Hier haben wir uns wohl etwas mißverstanden. Mit "für den
> Normalanwender kein Problem" meinte ich natürlich, dass
> man das Programm in der Regel nicht disassemblieren oder
> patchen sollte.

Wie gesagt, ich kenne Deine Überlegungen von meinen eigenen Taten. Ich bin davon weggekommen. Wenn Du mäßig böswilliges Patchen verhindern willst, bau eine Checksum-Routine ein, die die Strings dann allerdings herauslassen sollte. Gegen einen mächtig böswilligen Patcher kannst Du auch mit einem guten Kompressor nichts machen, denn der kennt den auch.

> Bitte um Nachsicht, die Homepage ist erst einen Tag "alt".
> In der Navigation ist kein Platz mehr fürs Impressum aber
> ich werde unten noch eine kleine Linkleiste einbauen.
> Ich mag keine direkten EMail Links auf Webseiten, da sich
> bei einem versehentlichen Klick dann i.d.R. das Mailprogramm
> öffnet.

Wäre das schlimm?

>Das Kontaktformular funktioniert einwandfrei und schützt
>gleichzeitig vor Spidern. Meine Email Adresse ist turin74(at)gmx.de .

Du hattest sie irgendwo mal genannt. Wie schon geschrieben: Bildschirmfensterchen sind erheblich unkomfortabler als der eigene Editor oder das eigene Mailprogramm. Außerdem hat man im Falle eines E-Mail-Fensterchens keine automatische Ausgangskopie. Ja klar, kann man alles irgendwie managen, ist aber halt unbequem.

Es gibt Methoden, eine Mailadresse clickbar zu halten, aber so, daß sie spidersicher ist, zur Not kann man auch ein Bild einbinden.

> ...und wenn man nach einem C-String noch etliche NUL-Bytes einfügt, kann man auch dann noch erfolgreich patchen ...

> Und was passiert, wenn man versehentlich NULL mitten in den String patched?

Dann ist der String vorzeitig zu Ende. C fängt an der vorgegebenen Stelle an und zeigt dann solange Zeichen an, bis ein NULL-Zeichen kommt.

> PM hat absichtlich so wenig Sicherheitsabfragen wie nur irgend möglich eingebaut.

Klar. Das Programm soll ja so klein sein wie irgend möglich.

> Das ist auch der Grund dafür, dass die Anrufliste komprimiert
> und nicht als Reintext gespeichert wird. Der Inhalt wird direkt
> für die GUI benutzt und NICHT mehr validiert.

Dabei wäre das Validieren nicht besonders aufwendig.
Man liest eine Zeile und schaut sich das erste Zeichen an. Wenn es eine Ziffer oder ein + ist (eventuell Länderkennung) wird die Zeile weiter interpretiert, wenn nicht, liest man die nächste Zeile ein. Man muß natürlich Sorge tragen, daß man kein ungültiges Zeichen einliest. Erstmal müssen Ziffern kommen (ASCII 30 bis 39), das erste Nichtzifferzeichen bricht ab. Der Telefonnummernstring ist jetzt fertig. Das Nichtziffernzeichen hast Du noch geladen. Du verwirfst es und kopierst das folgende Zeichen in den Namensstring, wobei nur ASCII-Werte >=20 <=z und die Umlaute erlaubt sind. Grütze (illegale Zeichen) verwirfst Du oder ersetzt sie durch ein *. #10 wird überlesen #13 beendet eine Zeile.

Ja klar, braucht Code, braucht aber nicht viel Code.

> Wenn man beim Editieren einen Fehler einbauen würde, hätte
> das bestenfalls eine Schutzverletzung zur Folge.

Nein. Wenn Du das so machst wie beschrieben, passiert das nicht.

> Um noch deutlicher zu werden: Angenommen jemand käme auf
> die Idee, die Anrufliste, die dann später direkt ins
> Programm gelesen wird, mit Microsoft Word zu bearbeiten...

... dann macht er sie unbrauchbar, nachdem eine Basisvalidierung aber einfach ist, stört das nicht. Der macht nur einfach seine Anrufliste kaputt. Mehr passiert dann nicht.

>>> * Keine Überprüfung auf bestehende Verbindung im laufenden Betrieb

>> Das ist für allgemeine Anwendung ein wunder Punkt, und für Dich
>> wahrscheinlich am schwierigsten zu beheben.

> Ja leider, wahrscheinlich ist die Lösung ganz einfach, man muß
> nur erst einmal darauf kommen. Hoffentlich fällt mir in der
> Hinsicht bald eine Lösung ein. Vielleicht ein Timer der alle
> 60 Sekunden reinitialisiert. Allerdings weiss ich nicht, wie
> sich das auf die CPU Last auswirken würde. Mal sehen...

Wie geschrieben hat JFritz das gleiche Problem. Es muß dafür Standardlösungen geben. Jedes Treiberprogramm steht vor dieser Schwierigkeit.

>> ...Wenn über eine Leitung länger nichts kommt, muß man
>> nachprüfen, ob die noch lebt, wenn nicht, den
>> Schnittstellenprozeß neu anstoßen. Ich weiß nicht, wie
>> Du das in Deinem Programm realisiert hast, ich habe
>> allerdings den Eindruck, daß der entsprechende Programmteil
>> nicht robust genug ist...

> Den entsprechenden Programmteil gibt es nicht

Das stand zu befürchten.

> Alle Checks passieren am Anfang. Falls dann das OK
> zurückkommt gibt es keine weiteren Kontrollen, bis
> der nächste Anruf ein / aus-geht.

Das ist halt zu wenig.


>> ...angeblich gibts ja hunderte von Anrufmonitoren
>> für die Fritzbox). Leider war nichts für mich dabei.

> Das kommt mir bekannt vor

>> Bedauerlich ist, daß AVM selbst für diesen
>> naheliegenden Zweck nichts zur Verfügung stellt.

>> Auch wenn es quasi Antiwerbung für PureMonitor ist:
>> Mittlerweile funktioniert (ohne viel Aufwand) jede
>> TAPI-Lösung.

Solche sind allerdings meist keine kleinen Systrayprogramme.
Ich brauche in der Tat nicht mehr als den puren Anrufmonitor.

Dennoch: Sagt mir einer, 'Du brauchst "TAPI for FRITZ 2.0" und "Call Monitor for TAPI for Fritz 0.99", das kann, was Du suchst und kostet einen tolerablen Preis', dann mache ich das. Ich brauche aber keine Outlookanbindung und keine SQL-Datenbank für meine paar Telefonnummern.

Das obengenannte Problem (Verbindungsunterbrechnung) müssen TAPI-Anwendungen auch irgendwie meistern. Wie machen denn die das?

>> Gebe ich Dir einen Zehner dafür, dann freust Du Dich vielleicht
>> darüber, aber das allein bringt Dich nicht auf die Hufe.

> Danke, aber darum geht es mir nicht. Ich gehe arbeiten, um Geld
> zu verdienen.

Klar.

Heute hat einer ohne Nummer angerufen (Ver 0.81), geklingelt hat Puremonitor, aber ich habe keine Textblase gesehen. Kommt in diesem Fall keine oder habe ich mich versehen?

:)
 
ippmat schrieb:
Heute hat einer ohne Nummer angerufen (Ver 0.81), geklingelt hat Puremonitor, aber ich habe keine Textblase gesehen. Kommt in diesem Fall keine oder habe ich mich versehen?

:)

Hab vergessen auf den Punkt einzugehen. Im Regelfall sollte PureMonitor auch solche Anrufer melden. Testergebnis:

Bubble.gif


Der Tooltip ist ein API Call. Falls das Ding nicht aufgeht habe ich keinen Einfluß darauf. Passiert bei mir ab und an mal wenn kurz zuvor eine Vollbildapplikation lief (Quake, MediaPlayer etc...).

Wieso TAPI läuft? Reine Spekulation: Ich vermute man spricht einfach die Schnittstelle an und Windows regelt das Interne selbstständig und zuverlässig...

[OffTopic]Zum Thema Forensoftware: Ich hab schon so einiges gesehen, und das hier verwendete System VBulletin ist meiner Meinung nach mit Abstand das Beste. Allerdings kostet eine Lizenz auch 150¤ (hab selber eine).

Tipp: Geh doch mal ins Benutzer-Kontrollzentrum, dort auf Optionen und bei Editor dann auf WYSIWYG. Dann kannst du in Zukunft beim Tippern oben rechts das Eingabefeld vergrössern.[/OffTopic]

Zurück zum Thema: Meine Planung sieht folgendermassen aus [auch wieder von leicht zu schwer]:

1.) Doku
2.) Abfrage beim Beenden (Kleinigkeit *hoff*)
3.) Deutsche Strings (Kleinigkeit)
4.) Telefonbuch (Wochenend Aufgabe)
5.) Fehler in Netzwerkcode suchen und zusätzliche Verbindungskontrolle einbauen

Tschüss,
Turin
 
> [OffTopic]Zum Thema Forensoftware: Ich hab schon so einiges
> gesehen, und das hier verwendete System VBulletin ist meiner
> Meinung nach mit Abstand das beste.

Und doch hat das Programm keine Bezugsverkettung (kaum eine Forensoftware hat sie), keinen vernünftigen Editor, als webbasierte Online-Lösung ist sie langsam und die Benutzerverwaltung ist ein Krampf. Es macht schlichtweg keinen Spaß, einen langen Text einzugeben, den dann abzuschicken -- und dann ist er eines Netzwerkfehlers wegen verloren oder deswegen, weil die Anmeldung abgelaufen ist. Das ist mir mehr als einmal passiert. Und wenn ich sowieso zwischensichern muß, dann kann ich den Text auch gleich in einer Umgebung meiner Wahl erstellen, die mir vertraut ist.

:) In diesem Leben wird aus mir kein Forist mehr.

Wenn Puremonitor hoffentlich bald laufen sollte, bin ich hier wieder weg.


Übrigens (und Hauptgrund dieses Textes): Der Anrufmonitor von AVM (ja, ja, unsupported, ich weiß) verliert über den Ruhezustand des Notebooks hinweg auch seine Verbindung. Das muß ein ganz exotischer Anwendungsfall sein, wenn keins der gängigen Programme damit zurechtkommt. Wenns partout für dieses Problem keine Lösung gibt (was ich nicht hoffen möchte), muß man halt den jeweiligen Anrufmonitor wieder entladen und neu laden. Diesbezüglich schlägt Puremonitor JFritz und AVM auch um Längen (PM lädt _viel_ schneller).

Wenn Du den Code findest, der die Schnittstelle initialisiert, könnte man ja probeweise zum Debugging in der Anrufliste einen Knopf vorsehen ("Schnittstelle re-initialisieren"), bevor man eine Zeitroutine einbaut. Auf diese Weise könnte man sehen, ob sich ein schlafender PM so wiedererwecken läßt. In einem zweiten Schritt könnte man feststellen, wieviel CPU-Zeit ein regelmäßiger Aufruf frißt. Vielleicht gibts ja auch eine schlichte Statusabfrage. Solche Routinen laufen in aller Regel schneller als Initialisierungen.

:)
 
Proxy Support

Dieser Pure Monitor ist genau das was ich gesucht habe, - SUPER!
Lediglich die invers-Suche funktioniert bei mir nicht,
ich komme nur über einen Proxyserver ins Internet.

=> Bitte Proxy Support in die nächste Version einbauen!

Danke, zap-o-post
 
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.