... heute war das irgendwie besonders störend, dass die Reverssuche bei mir immer noch nicht geht.
Mit Telefonanlagen hat man's aber auch nicht leicht.
Hab dann im Internet ein wenig lustlos herumgestochert, hab dann
dies entdeckt, für gut befunden, mit dem neu erworbenen Wissen einen 5-Zeiler konstruiert und mich gefreut dass er's tut.
Dann fand ich, das vielleicht andere auch was davon haben sollten, mit möglichtst wenig Konfigurationsaufwand, passend zu Phoner.
Also wurde das Teil nicht schöner aber länger und was man bzgl. der Amtsholung im Phoner einstellt gilt auch für den Filter.
So, hier isser, getestet unter Windows XP pro.
filter.vbs ... entfernt störende Verkehrsausscheidungsziffern und verhindert den Start der externen Applikation bei internen sowie bei Auslandsanrufen.
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
iniFile = "phoner.ini"
Set objTextFile = objFSO.OpenTextFile(iniFile, 1)
Do Until objTextFile.AtEndOfStream
strText = objTextFile.ReadLine
If Instr(strText, "Nebenstelle=") Then
Exit Do
End If
Loop
objTextFile.Close
Nebenstelle=Right(strText, 1)
Set objTextFile = objFSO.OpenTextFile(iniFile, 1)
Do Until objTextFile.AtEndOfStream
strText = objTextFile.ReadLine
If Instr(strText, "IncomingIgnorePrefix=") Then
Exit Do
End If
Loop
objTextFile.Close
IncomingIgnorePrefix=Right(strText, 1)
Set objTextFile = objFSO.OpenTextFile(iniFile, 1)
Do Until objTextFile.AtEndOfStream
strText = objTextFile.ReadLine
If Instr(strText, "Amtholungszeichen=") Then
Exit Do
End If
Loop
objTextFile.Close
LAmtholungszeichen= len(strText)-Instr(strText, "=")
Amtholungszeichen=Right(strText, LAmtholungszeichen)
Set objTextFile = objFSO.OpenTextFile(iniFile, 1)
Do Until objTextFile.AtEndOfStream
strText = objTextFile.ReadLine
If Instr(strText, "AmtAbLaenge=") Then
Exit Do
End If
Loop
objTextFile.Close
AmtAbLaenge=Right(strText, 1)
Set objTextFile = objFSO.OpenTextFile(iniFile, 1)
Do Until objTextFile.AtEndOfStream
strText = objTextFile.ReadLine
If Instr(strText, "InternationalPrefix=") Then
Exit Do
End If
Loop
objTextFile.Close
LInternationalPrefix= len(strText)-Instr(strText, "=")
InternationalPrefix=Right(strText, LInternationalPrefix)
App = Wscript.Arguments.Item(0)
Caller = Wscript.Arguments.Item(1)
Called = Wscript.Arguments.Item(2)
if left(Caller,1) = "*" Then Wscript.Quit 'Bei Automatischer Amtsholung fügen manche Telefonanlagen internen Anrufen einen Stern vor.
if len(Caller) < AmtAbLaenge/1 Then Wscript.Quit
cleanCID=Right(Caller, Len(Caller)-LAmtholungszeichen*Nebenstelle*abs(IncomingIgnorePrefix=0))
if left(cleanCID,LInternationalPrefix) = InternationalPrefix Then Wscript.Quit
strCMD = App & " " & cleanCID & " " & Called
Set objShell = WScript.CreateObject ("WScript.Shell")
objShell.Run strCMD,1,False
Das ganze ist in VBScript mit sehr heißer Nadel gestrickt und auf den Namen "filter.vbs" getauft.
Weiß jemand, wie man den Zeiger beim Zeilenweisen lesen wieder in die 1. Zeile zurücksetzen kann? Ich hab ersatzweise die Datei jedesmal geschlossen und neu geöffnet.
Aber eigentlich ist's nicht weiter relevant, durchschnittlich 0,04 Sekunden dauert derart umständlicher Mehrfach-Zugriff insgesamt auf einem PIII/550MHz.
Bis es durch ist dauert es meist 0,08 Sekunden.
Und wenn die CPU-Auslastung gegen 100% droht, kann es auch schon mal 0,5 Sekunden dauern, bis die externe Applikation gestartet wird.
Jedenfalls beim PIII mit 550MHz.
Montageanleitung Das ganze also so, wie das hier steht, in Notepad kopieren, und dann unter dem Namen
filter.vbs im Phoner Verzeichis abspeichern.
Danach mit der rechten Maustaste eine Verknüpfung erstellen
filter.lnk und deren Eigenschaften ändern:
z.B. für JBs Reverssuche:
Ziel:
C:\Programme\Phoner\filter.vbs revsuche.exe Jetzt nur noch bei Phoner unter Externe Applikationen / Eingehender Anruf:
C:\Programme\Phoner\filter.lnk eintragen, und glücklich ist der Telefonanlagenbetreiber.
Syntax filter.vbs Befehl CallerID CalledID
Befehl ... die externe Applikation, welche die CallerID ohne Amtsholung erwartet.
CallerID ... die rufende Nummer im Rohformat
CalledID ... die gerufene Nummer im Rohformat
Kleiner Haken am Rande:
Der WindowsScriptingHost ist etwas in Verruf geraten, weshalb ihn so mancher deaktiviert hat. Und wie weit der WSH unter Windows98 dies Ding hier Ausführen kann, weiß ich überhaupt nicht zu sagen.
Ach ja, das Script verwendet das FileSystemObject um die phoner.ini zu lesen, daran werden sich mit Sicherheit einige Antivirenprogramme stören und es als höchst gefährlich einstufen.