Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Amtsholungs-Filter für ext. Applikationen (Read 4616 times)
Marcel
Full Member
***
Offline



Posts: 114
Joined: 27. Mar 2005
Gender: Male
Amtsholungs-Filter für ext. Applikationen
01. Aug 2005 at 15:43
Print Post  
... 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.  Cheesy

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.
Code
Select All
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. Wink



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. Wink

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.
« Last Edit: 02. Aug 2005 at 12:09 by Marcel »  

Quote:
Der Hörer, nicht der Sprecher, bestimmt die Bedeutung einer Aussage.
Heinz von Foerster in seinem Buch
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Amtsholungs-Filter für ext. Applikationen
Reply #1 - 01. Aug 2005 at 22:01
Print Post  
Quote:

Und wie weit der WSH unter Windows98 dies Ding hier Ausführen kann, weiß ich überhaupt nicht zu sagen.


Sofern sich die Win98 wsh auf V5.5 oder V5.6 updaten läßt, sollte bei geeignerter VBS-Implementierung Dein Script auch Win98 laufen.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
Marcel
Full Member
***
Offline



Posts: 114
Joined: 27. Mar 2005
Gender: Male
Re: Amtsholungs-Filter für ext. Applikationen
Reply #2 - 02. Aug 2005 at 01:10
Print Post  
Quote:
Sofern sich die Win98 wsh auf V5.5 oder V5.6 updaten läßt, sollte bei geeignerter VBS-Implementierung Dein Script auch Win98 laufen.

Viele Grüße vom Kai

Äähh... war das jetzt ein eindeutiges Ja*?



* Gilt nicht falls für Win98 kein WSH v5.6 verfügbar ist oder wenn die VBS-Inplementierung nicht geeignet** ist.
** ob die VBS-Implementierung geeignet ist oder nicht erkennen Sie daran, ob Ihr Script die erwarteten Ergebnisse liefert oder nicht.
  

Quote:
Der Hörer, nicht der Sprecher, bestimmt die Bedeutung einer Aussage.
Heinz von Foerster in seinem Buch
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Amtsholungs-Filter für ext. Applikationen
Reply #3 - 02. Aug 2005 at 01:24
Print Post  
Marcel,

Nein... äh.. Ja... Wie drück' ich mich jetzt am besten aus...

Du hattest diesen Link angeführt. Irgendwo auf der zweiten oder dritten Folgeseite steht zum Thema WSH, wie man die Version feststellen kann. Ausserdem wird erwähnt, dass die VBS-Scripte unter den Versionen 5.5 und 5.6 lauffähig sind. Weiter habe ich (noch) nicht gelesen.

Daraus schlussfolgere ich: Wenn die Scripte unter Windows 2000 (siehe Link) und Windows XP unter dem WSH 5.5 oder 5.6 lauffähig sind, und WSH unter Windows 98 bis zu dieser Version upgedatet werden kann, und das implementierte VBS unter dem entsprechenden Windows 98 die gleiche Funktionalität bietet, wie in dem Microsoft-Tutorial:

Dann dürfte es unter Windows 98 funktionieren.

Insofern entsprechen Deine Fußnoten tatsächlich dem Kern meiner Aussage: Trotz eifrigem Suchen habe ich hierzu jedoch noch nichts genaueres finden können. Es käme demnach auf einen Versuch an...

Viele Grüße vom Kai
  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: Amtsholungs-Filter für ext. Applikationen
Reply #4 - 02. Aug 2005 at 01:54
Print Post  
Es funktioniert, wenn man dieser Quelle glauben schenken darf Wink

lgvk....
  
Back to top
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint