Page Index Toggle Pages: [1] 2  Send TopicPrint
Hot Topic (More than 10 Replies) WORKSHOP: Externe Applikationen (Read 33278 times)
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Externe Applikationen
03. Jul 2005 at 11:15
Print Post  
Hi @ all,

nachdem seit gestern das neue Final Release 1.74 verfügbar ist, möchte ich gerne auch auf ein Feature aufmerksam machen, dass mir besonders am Herzen liegt!

Über den neuen Menü-Eintrag Optionen|externe Applikation läßt sich seit der Phoner-Version 1.74 eine beliebige Windows-Anwendung (oder ein ausführbares Script, z. B. Batch) ausführen!

Die Möglichkeiten, die dem Benutzer damit zur Verfügung stehen, sind nunmehr beinahe beliebig.

Am Beispiel des Windows Text-Editors "notepad.exe" wollte ich kurz beschreiben, was nun etwa möglich ist:




Erweiterte Notiz-Funktion

Phoner bot bisher nur eingeschränkt die Möglichkeit, sich Anruf-Notizen zu einem bestimmten Anrufer zu machen. Gerade bei der Headset-Telefonie könnte man dies jedoch wunderbar nutzen...

Voraussetzung hierfür war bisher, dass der Anrufer im Telefonbuch stand. Zum jeweiligen Anrufer konnte man sich Kommentare machen (Fenster Telefonbuch|Rufnummer von:|Kommentar).

Das war's bisher schon; verständlich, da Heiko's Prinzip damit konsequent fortgesetzt wird: Phoner ist alles, was dem Telefonieren unmittelbar dient! (ich habe mir erlaubt, dieses Prinzip an dieser Stelle einmal so zu übersetzen - diesem Prinzip verdanken wir alle ein übersichtliches und nicht überdimensioniertes Programm, welches ohne zu mucken funktioniert und läuft und läuft und läuft Wink ).

Jetzt ist es aber möglich, sich die Anruf-Notizen, die man bei einem Anrufer bereits einmal gemacht hat, bei einem erneuten Anruf auch anzeigen zu lassen. Das geht so:

Unter Optionen|externe Applikation den Pfad zu und die Datei "notepad.exe" eintragen :

C:\WINDOWS\notepad.exe (unter Windows XP)

Bei einem ankommenden Anruf werden der aufgerufenen Anwendung notepad.exe folgende Parameter übergeben :

[Vorwahl][MSN des Anrufers] [Eigene MSN]

Es erscheint die Frage:

"Die Datei xxxxxxxxxxxx xxxxxxxx.txt ("x" = Nummer) ist nicht vorhanden. Soll der Editor geöffnet werden?"

Dieses Frage kann mit "Ja" beantwortet werden. Es öffnet sich ein Notepad-Fenster mit dem Dateinamen "xxxxxxxxxxxx xxxxxxxx.txt".

Nun kann man sich Notizen zu diesem Anruf machen, der Vorteil ist, dass diese Notizen anhand der Parameterübergabe der CallerID einem bestimmten Anrufer, und anhand der eigenen MSN einer eigenen MSN zugeordnet werden können.

Gespeichert werden muss die entsprechende Notiz-Datei in dem Verzeichnis, in dem sich auch die phoner.exe befindet!

Ruft der gleiche Teilnehmer mit der gleichen Caller-ID noch einmal an, so öffnet sich die gespeicherte Notiz-Datei, und man kann wunderbar nachvollziehen, was z. B. während des letzten Telefonates besprochen wurde etc. pp.




Mein Vorschlag wäre es nun, wenn jeder, dem die Realisierung zusätzlicher, kleiner und nützlicher Funktionen gelungen ist, diese in diesem Thread hier detailiert beschrieben postet. Mal sehen, was dann noch so alles möglich ist Wink.

Viele Grüße vom Kai
« Last Edit: 08. Oct 2005 at 00:11 by Suppenkasper »  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Komfortable Notizfunktion
Reply #1 - 03. Jul 2005 at 13:04
Print Post  
Den Workshop führe ich heute erst einmal weiter, und zwar mit einer etwas verbesserten Version der vorstehenden Anrufer-Notizen:




Komfortablere Notizfunktion per Batch-Datei

Bei der Lösung, notepad.exe zu starten, um eine Notiz-Funktion für Anrufer zu bekommen, stören eigentlich drei Dinge:

a) Ruft ein Anrufer zum ersten Mal an, stört der Windows-Dialog, der nachfragt, ob notepad.exe geöffnet werden soll,

b) Das Phoner-Verzeichnis verkommt zum Notiz-Müll-Platz,

c) Dem Eintrag fehlen zuerst einmal Datum und Uhrzeit - wofür gibt es Computer, wenn man dass auch noch per Hand eintragen muss?

Abhilfe schafft eine Batch-Datei, die bei einem hereinkommenden Anruf gestartet wird. Aber jetzt erst einmal von Anfang an:

1. Schritt: 

In das Verzeichnis, in dem Phoner installiert wurde, muss ein neues Verzeichnis mit dem Namen Notizen angelegt werden, damit das folgende Script funktioniert.

2. Schritt

Mit dem Notepad wird eine Textdatei geöffnet, in die folgendes eingetragen wird:

Code
Select All
@ECHO OFF
SET DIR=Notizen
SET NOTIZ=%DIR%\%1 %2.txt
SET ANRUFER=%1
ECHO Neuer Anruf von %ANRUFER% >>"%NOTIZ%"
ECHO am %date:~0%, %time:~0,8% Uhr >>"%NOTIZ%"
ECHO.>>"%NOTIZ%"
ECHO.>>"%NOTIZ%"
START C:\WINDOWS\notepad.exe %NOTIZ%
SET NOTIZ=
SET ANRUFER=
SET DIR=
 



Achtung: Wenn das Verzeichnis Notizen, das vorher angelegt worden ist, anders heissen soll, dann ist der Verzeichnisname entprechend in der zweiten Code-Zeile anzupassen (hinter dem "="-Zeichen).

Diese TExt-Datei wird als ASCII-Text unter dem Namen phonerstart.bat (oder beliebig) in das Verzeichnis gespeichert, in dem auch die phoner.exe steht.

Schritt 3:

In Phoner, unter dem Menü Optionen|externe Applikation, wird die Datei phonerstart.bat und der Pfad zu ihr eingetragen.

Von jetzt an fragt Windows bei einem Anrufer, für den es noch keine Notiz gibt, nicht mehr nach, ob die Datei geöffnet werden soll,

Es öffnet sich ein notepad-fenster, welches Datum und Uhrzeit des Anrufes sowie die CallerID des Anrufers enthält,

und alle Notizen werden im Programm-Verzeichnis von Phoner im Ordner "Notizen" gespeichert.

Ein weiterer Vorteil - meiner Meinung nach - ist, dass man, ist man mal nicht am Platz, anhand der geöffneten Notepad-Fenster direkt sehen kann, welche Anrufe man verpasst hat. Will man nicht zurückrufen, so schliesst man diese Fenster einfach (und wird, wenn man nichts weiteres einträgt, nicht zum Speichern aufgefordert).




Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten %date- und %time-Variablen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert.

Viele Grüße vom Kai
« Last Edit: 05. Jul 2005 at 09:55 by Suppenkasper »  
Back to top
IP Logged
 
JB
God Member
*****
Offline


Phoner-Support

Posts: 1691
Location: bei Bremen & Göttingen
Joined: 27. May 2004
Gender: Male
Re: WORKSHOP: Funktion "Externe Applikation&q
Reply #2 - 03. Jul 2005 at 13:31
Print Post  
Gesprächsnotiz? Gute Idee! Ich werde diese Funktion für die nächste Version meines AddOns vormerken..

viele Grüße, Jens
  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: WORKSHOP: Funktion "Externe Applikation"
Reply #3 - 03. Jul 2005 at 14:06
Print Post  
*grinsel* Okay... Aber nur, wenn Du mir erlaubst, dass ich einen Vorschlag mache, wie man mit jedermanns Bordmitteln per Batchdatei eine Invers-Suche ermöglicht  Grin.

Viele Grüße vom Kai

P. S. : Nein, war nur Quatsch - die Phoner-Home-Kompetition hat begonnen... Wink

P. P. S. : @JB: Tolles Addon! Macht einiges mehr möglich mit Phoner!

P. P. P. S. : Liebe Anwender, bei diesem AddOn handelt es sich (erst einmal) um die bereits im Forum diskutierte Invers-Suche. Es wird sicherlich bald offiziell auf der Downloadseite von Phoner veröffentlicht werden.

Nachtrag:

P. P. P. P. S. : Und hier, vor der eigentlichen, offiziellen Veröffentlichung, das besagte, lang erwartete und voll funktionsfähige AddOn unseres JB:

Telefonbuchreverssuche V1.1.0.2 Setup
TBRS-Zip-Version

Jetz' Abba!

Grüße vom Kai
« Last Edit: 03. Jul 2005 at 16:07 by Suppenkasper »  
Back to top
IP Logged
 
JB
God Member
*****
Offline


Phoner-Support

Posts: 1691
Location: bei Bremen & Göttingen
Joined: 27. May 2004
Gender: Male
Re: WORKSHOP: Funktion "Externe Applikation&a
Reply #4 - 03. Jul 2005 at 14:11
Print Post  
Moin Kai!

Quote:
*grinsel* Okay... Aber nur, wenn Du mir erlaubst, dass ich einen Vorschlag mache, wie man mit jedermanns Bordmitteln per Batchdatei eine Invers-Suche ermöglicht  Grin.


Mach ruhig, ich bin gespannt Wink
  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Erweiterte Protokoll-Funktion
Reply #5 - 05. Jul 2005 at 10:09
Print Post  
Die Anwendung Phoner von Heiko Sommerfeldt sieht bereits vor, ankommende Anrufe zu protokollieren; mit der Funktion Optionen|externe Applikation kann die bereits implementierte Protokoll-Funktion jedoch unter Verwendung einer Batch-Datei noch ein wenig ausgebaut werden:

Code
Select All
@ECHO off
SET DIR=Aufnahme\%2\
SET ANRUFER=%1
ECHO Anruf von %ANRUFER% am %date:~0%, %time:~0,8% Uhr >>%DIR%\Anrufe.log
SET DIR="%USERPROFILE%\Desktop\"
ECHO Anruf von %ANRUFER% auf der MSN %2 am %date:~0%, %time:~0,8% Uhr >>%DIR%\Anrufe.log
SET DIR=
SET ANRUFER= 



Was möglich ist, zeigt das oben stehende Batch-Script, dass von Phoner bei einem Anruf gestartet wird. Voraussetzung für das Funktionieren: Im Phoner-Verzeichnis befindet sich der Ordner "Aufnahme", und darin sind für die zu überwachenden MSN bereits Ordner angelegt. Dieses Script muss sich ebenfalls im Phoner-Verzeichnis befinden.

Zeile 2 der Stapel-Datei sieht vor, dass Anrufe auf einer bestimmten MSN eben in diesem Ordner "geloggt" werden. Das "mitloggen" des ankommenden Anrufes wird in Zeile 4 vorgenommen.

In Zeile 5 wird ein anderer Speicherpfad für ein weiteres Log angelegt; dieses Log soll dem Zweck dienen, evtl. entgangene Anrufe in Abwesenheit dem Benutzer mitzuteilen, noch bevor er Phoner öffnet, um im Logbuch nachzusehen. Idealerweise wird diese Log-Datei auf dem Desktop gespeichert.

Dieses Log wird zwar auch erstellt, wenn ein Anruf angenommen wird; jedoch kann es - wenn man mal nicht am Platz war, und es durchgearbeitet hat, auch bedenkenlos gelöscht werden.




Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten %date- und %time-Variablen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert. Das gleiche gilt für die benutzte System-Variable %USERPROFILE%...
 
Viele Grüße vom Kai 
« Last Edit: 06. Jul 2005 at 11:01 by Suppenkasper »  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Zeitlich Abläufe steuern
Reply #6 - 06. Jul 2005 at 11:38
Print Post  
Mit Phoner lassen sich nunmehr Abläufe steuern, die während eines Anrufes zu einer bestimmten Uhrzeit geplant sind.  Auch dieses soll anhand einer ausführbaren Script-Datei (.bat, DOS-Stapelverarbeitungsdatei) dargestellt werden, auch wenn der Start einer eigens hierfür programmierten Anwendung durch Phoner der elegantere Weg ist.

Code
Select All
@ECHO OFF
FOR /F "tokens=1,2 delims=: " %%a in ('time /t') do SET STUNDE=%%a
FOR /F "tokens=1,2 delims=: " %%a in ('time /t') do SET MINUTE=%%b

:00TEST
IF "%STUNDE%"=="00" (GOTO 00UHR) ELSE GOTO 01TEST
:00UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:01TEST
IF "%STUNDE%"=="01" (GOTO 01UHR) ELSE GOTO 02TEST
:01UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:02TEST
IF "%STUNDE%"=="02" (GOTO 02UHR) ELSE GOTO 03TEST
:02UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:03TEST
IF "%STUNDE%"=="03" (GOTO 03UHR) ELSE GOTO 04TEST
:03UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:04TEST
IF "%STUNDE%"=="04" (GOTO 05UHR) ELSE GOTO 05TEST
:04UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:05TEST
IF "%STUNDE%"=="05" (GOTO 05UHR) ELSE GOTO 06TEST
:05UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:06TEST
IF "%STUNDE%"=="06" (GOTO 06UHR) ELSE GOTO 07TEST
:06UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:07TEST
IF "%STUNDE%"=="07" (GOTO 07UHR) ELSE GOTO 08TEST
:07UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:08TEST
IF "%STUNDE%"=="08" (GOTO 08UHR) ELSE GOTO 09TEST
:08UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:09TEST
IF "%STUNDE%"=="09" (GOTO 09UHR) ELSE GOTO 10TEST
:09UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:10TEST
IF "%STUNDE%"=="10" (GOTO 10UHR) ELSE GOTO 11TEST
:10UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:11TEST
IF "%STUNDE%"=="11" (GOTO 11UHR) ELSE GOTO 12TEST
:11UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:12TEST
IF "%STUNDE%"=="12" (GOTO 12UHR) ELSE GOTO 13TEST
:12UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:13TEST
IF "%STUNDE%"=="13" (GOTO 13UHR) ELSE GOTO 14TEST
:13UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:14TEST
IF "%STUNDE%"=="14" (GOTO 14UHR) ELSE GOTO 15TEST
:14UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:15TEST
IF "%STUNDE%"=="15" (GOTO 15UHR) ELSE GOTO 16TEST
:15UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:16TEST
IF "%STUNDE%"=="16" (GOTO 16UHR) ELSE GOTO 17TEST
:16UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:17TEST
IF "%STUNDE%"=="17" (GOTO 17UHR) ELSE GOTO 18TEST
:17UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:18TEST
IF "%STUNDE%"=="18" (GOTO 18UHR) ELSE GOTO 19TEST
:18UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:19TEST
IF "%STUNDE%"=="19" (GOTO 19UHR) ELSE GOTO 20TEST
:19UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:20TEST
IF "%STUNDE%"=="20" (GOTO 20UHR) ELSE GOTO 21TEST
:20UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:21TEST
IF "%STUNDE%"=="21" (GOTO 21UHR) ELSE GOTO 22TEST
:21UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:22TEST
IF "%STUNDE%"=="22" (GOTO 22UHR) ELSE GOTO 23TEST
:22UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:23TEST
IF "%STUNDE%"=="23" (GOTO 23UHR) ELSE GOTO 00TEST
:23UHR
ECHO %STUNDE% Uhr %MINUTE%
GOTO ENDE

:ENDE

SET STUNDE=
SET MINUTE= 



Wegen der Länge des Code-Besipiels folgt die Beschreibung der Möglichkeiten im nächsten Beitrag.
  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Zeitliche Abläufe steuern
Reply #7 - 06. Jul 2005 at 12:06
Print Post  
Welche Funktionen bietet das obige Script?

Da es zum Zeitpunkt eines Anrufes durch Phoner gestartet wird, wird mit den Zeilen 2-3 erst einmal die aktuelle Uhrzeit ermittelt, und in Stunden und Minuten getrennt zwei verschiedenen Variabeln übergeben.

Der Rest des Scriptes unterteilt den Tag in 24 Stunden - d. h. wenn etwa der Zeitpunkt des Anrufes im Zeitraum von 00:00 bis 00:59 liegt, wird die Aktion ausgeführt, die unter der Sprungmarke :00Uhr steht.

Zugegeben, das Script wirkt aufgrund der Länge und Redundanz wenig elegant, und - in dieser Form ausgeführt - macht es nichts anderes, als bei erfolgreicher Prüfung der Stunden-Variable die jeweilige Uhrzeit im Format "Stunden Uhr Minuten" auszugeben, jedoch ist es ersteinmal übersichtlich - für Endanwender ohne Batch-Erfahrung - und einfach zu handeln.

Welche Möglichkeiten hat man nun?

Die gewünschte Aktion, die bei einem Anruf zu einer bestimmten Uhrzeit ausgeführt werden soll, lässt sich einfach anstelle der Zeilen

Code
Select All
ECHO %STUNDE% Uhr %MINUTE% 



definieren. Vorstellbar wäre zum Beispiel:

Code
Select All
COPY /Y Ansage_1200.wav ANSAGE.WAV 



Idealerweise sollte diese Aktion anstelle der ECHO-Zeile unter der Sprungmarke :12UHR erfolgen, und zwar mit dem folgenden Zweck:

Das Script selber sollte - unter einem Namen wie ZEIT.BAT - im Phoner-Verzeichnis gespeichert, und durch Phoner aufgerufen (Optionen|externe Applikation) werden. Zusätzlich sollten im Phoner-Verzeichnis einige alternative Ansage-Texte für den Anrufbeantworter gespeichert sein, die etwa Ansage_1100.wav, Ansage_1200.wav usw. heissen, und eine Ansage für Anrufer enthalten sollten, die ab der jeweiligen Uhrzeit (_1100 = 11:00 Uhr, etc.) anrufen.

In Phoner selbst kann die Verwendung eines Anrufbeantworter-Spruches ja nun für drei mögliche Fälle eingestellt werden:

a) Für einen Anrufer, der seine MSN überträgt, und im Telefonbuch steht,
b) für jede der eigenen MSN, und
c) Global für alle MSN und alle Anrufer

Vorausgesetzt, die Datei ANSAGE.WAV (Standard) ist eingestellt, so wird mit mit dem COPY /Y-Befehl diese Datei mit der - zu einer bestimmten Uhrzeit - gewünschten Datei überschrieben (das Original ANSAGE.WAV sollte deshalb gesichert sein, oder als ANSAGE_Standard.wav gespeichert werden, um sie zu einem anderen Zeitpunkt wieder zurück kopieren zu können).

Der Anrufer selber hört dann die Datei, die der Angerufene zu einer bestimmten Uhrzeit abgespielt haben möchte.

Sicherlich sind noch viele andere Dinge vorstellbar, die mit Aktionen zu unterschiedlichen Zeiten machbar wären; jedoch soll diese Übersicht erst einmal ausreichen.




Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten %date- und %time-Variablen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert.

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
WORKSHOP: Eigene Dateien verwenden
Reply #8 - 08. Jul 2005 at 14:39
Print Post  
Durch das Starten eines Programms bei einem eingehenden Anruf ist es nunmehr auch möglich, eigene (Text-)-Dateien mit Phoner zu benutzen, in denen weitere Angaben zum Anrufer oder zur angerufenen MSN stehen, die Phoner in der Art (bisher) nicht verwaltet.

Am Beispiel des Protokoll-Scriptes soll gezeigt werden, wie solche Dateien in Phoner eingebunden werden können. Und zwar sollen aus einer Textdatei (MSN.INI) die entsprechenden Namen zu den eigenen MSN ausgelesen werden, und aus dem Phoner-Telefonbuch (BUCH.ADR) der Name eines eingetragenen Anrufers.

Zuerst einmal muss der Benutzer die MSN.INI selber als reine ASCII-Datei erstellen:

Code
Select All
12345678;Jutta
12345679;Uschi
12345670;Werkstatt
... 



Die Datei wird im Phoner-Verzeichnis gespeichert (in dem sich die phoner.exe und die Datei BUCH.ADR befindet).

Dann kann man wiederrum eine neue Textdatei mit dem eigentlichen Script, welches die Dateien MSN.INI und BUCH.ADR auslesen soll, erstellen:

Code
Select All
@ECHO off
FOR /F "tokens=3 delims=;" %%a IN ('FIND ";%1;" BUCH.ADR') DO SET ANRUFER=%%a
FOR /F "tokens=2 delims=;" %%a IN ('FIND "%2" MSN.INI') DO SET MSN=%%a
SET DIR=Aufnahme\%2\
ECHO %date:~0%, %time:~0,8%: Anruf von %ANRUFER% (%1) für %MSN% (%2) >>%DIR%\Anrufe.log
SET DIR="%USERPROFILE%\Desktop\"
ECHO %date:~0%, %time:~0,8%: Anruf von %ANRUFER% (%1) für %MSN% (%2) >>%DIR%\Anrufe.log
SET DIR=
SET ANRUFER=
SET MSN=  



Dieses Script wird ebenfalls in das Phoner-Verzeichnis gespeichert, z. B. unter dem Namen Import_Name.BAT. Wichtig ist auch wieder das .BAT am Ende des Dateinamens.

Anschliessend kann das Script mit Pfadangaben in Phoner unter Optionen|externe Applikation eingetragen werden.

Was macht das Script nun? Es verwendet Angaben aus dem Phoner-Telefonbuch (Zeile 2) und der selber erstellten MSN.INI (Zeile 3), und führt diese mit den übergebenen Parametern CallingPartyNumber (In der Batch-Datei wird dieser von Phoner übergebene Parameter als %1 übernommen) und CalledPartyNumber (%2) zusammen. Mit einem aktuellen Zeitstempel versehen wird die Zeile einmal dem Protokoll auf dem Desktop, und einmal dem Protokoll der angerufenen MSN hinzugefügt.

Wenn in Hinsicht auf das nachfolgende Beispiel im Telefonbuch ein Eintrag (123) 4567890 für einen gewissen Dieter vorhanden ist, steht in den Protokollen z. B. :

Code
Select All
08.07.2005, 12:34:32: Anruf von Dieter (01234567890) bei Jutta (12345678)  




Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten %date- und %time-Variablen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert.


Viele Grüße vom Kai
« Last Edit: 17. Jul 2005 at 19:43 by Suppenkasper »  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP: Einbinden des PHP-Interpreters
Reply #9 - 14. Jul 2005 at 10:21
Print Post  
Danke an Zico0815!



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
WORKSHOP: Phoner-Parameter zerlegen und auswerten.
Reply #10 - 17. Jul 2005 at 19:43
Print Post  
Auch wenn ich hier manchmal so tu, als ob die Standard-Dos-Batch-Lösung alles kann: Leider ist dem nicht so. Doch es gibt für die schwächelnde Windows-command.com gute Ergänzungen, die die Funktionen erweitern können.

Eine dieser Funktionen ist die VARSET von Horst Schaeffer, mit der man - u. v. a. - auch eine STdIn-Eingabe oder einen übergebenen Parameter in seine Einzelteile zerlegen kann. Diese Freeware wird für das folgende Script benötigt, und kann hier heruntergeladen werden.

Die Zip-Datei muss entpackt, und die Dateien VAR.BAT und VARSET.COM aus diesem Archiv in das Windows-Verzeichnis kopiert werden.

Was jetzt noch benötigt wird, ist die modifizierte Version der germany.dat. Diese kann man hier herunterladen. Die Datei aus dem Zip-Archiv sollte in das Verzeichnis kopiert werden, in der auch das Programm oder Script liegt, welches Phoner bei einem Anruf startet (normalerweise das Verzeichnis, in der sich auch die phoner.exe befindet).

Jetzt das wichtigste, das Zerlegungs-Script für den Parameter CallingPartyNumber, den Phoner beim Starten an dieses Script übergibt:

Code
Select All
@ECHO OFF
CALL VAR SET VW0=string(2,5) %1
ECHO %VW0%
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET VW2=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS1

:VWS1

CALL VAR SET VW0=string(2,4) %1
ECHO %VW0%
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET VW2=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS2

:VWS2

CALL VAR SET VW0=string(2,3) %1
ECHO %VW0%
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET VW2=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS3

:VWS3

CALL VAR SET VW0=string(2,2) %1
ECHO %VW0%
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET VW2=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND)

:ACFOUND

ECHO %VW2%
SET VW0=
SET VW1=
SET VW2= 



Dieses Script übernimmt jetzt nichts anderes, als die Aufgabe, die übergebene Rufnummer zu zerlegen, um die Vorwahl des Ortsnetzes heraus zu filtern, und den entsprechenden Ort aus der Datei germany.dat herauszusuchen.

Vorwahlen können in Deutschland 3-6 Ziffern lang sein; die führende 0 wurde in der Datei weggelassen. Somit muss der übergebene Rufnummern-String vier Mal auf das Vorhandensein in der Ortsvorwahlen-Liste überprüft werden.

Der String wird als in den Zeilen 2, 9, 16 und 23 zerlegt, in den verschiedenen, für eine Vorwahl möglichen, Längen. In den Zeile 4, 11, 18 und 25 wird der Inhalt der Variable, die aus dem Teilstück der übermittelten Rufnummer besteht, mit dem Inhalt der germany.dat verglichen.

Jeweils eine Zeile darunter findet eine Plausibilitäts-Prüfung statt, ob die gefundenen Einträge tatsächlich der String-Teilstück entsprechen. Wenn nicht (also wenn mit dem übergebenen Teilstück kein entsprechender Ort gefunden werden konnte), wird zur nächsten Prüfung verzweigt.

Ich denke einmal, dass für diejenigen, die Batch-Aufgaben bei der Arbeit mit Phoner bevorzugen, der Umgang mit dem Tool VARSET um einiges erleichtert wird.


Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten Funktions-Typen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert.


Viele Grüße vom Kai

« Last Edit: 18. Jul 2005 at 09:49 by Suppenkasper »  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
WORKSHOP:Amtsholungs-Filter für ext. Applikationen
Reply #11 - 01. Aug 2005 at 17:12
Print Post  
Danke an Marcel!



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
WORKSHOP: MSN-Anrufer-Spezifischer AB
Reply #12 - 02. Oct 2005 at 14:44
Print Post  
Mit Dank an m_cowboy:

Phoner bietet die Möglichkeit, insgesamt drei verschiedene Anrubeantworter-Typen einzurichten:

a) Abhängig vom Anrufer,
b) abhängig von der MSN, auf der angerufen wird,
c) und als allgemeinen Anrufbeantworter.

Dank m_cowboy gibt es nun noch eine vierte Methode, die durch DOS-Scripting ermöglicht wird:

d) Abhängig vom Anrufer und der angerufenen MSN.

Zum Beitrag

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
Programmstart in Abhängigkeit von MSN und Anrufer!
Reply #13 - 16. Oct 2005 at 12:04
Print Post  
Die Funktion "externe Applikation" ermöglicht es auch, von einer bestimmten, übermittelten Rufnummer aus, bei Anruf auf einer bestimmten MSN ein festgelegtes Programm per Script zu starten. Sozusagen als Legitimationsprüfung kann so festgelegt werden, dass nur bestimmte Anrufer auf einer bestimmten MSN Programme, etwa einen FTP-Server, starten können.



Dieses Script wurde unter Windows XP Pro, Windows XP Home und Windows Server 2003 getestet, und bringt dort die richtigen Resultate. Aufgrund der verwendeten Funktions-Typen kann es u. U. sein, dass es unter anderen Versionen des Windows-OS nicht richtig funktioniert.

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
WORKSHOP: Phoner & Windows Nachrichtendienst
Reply #14 - 27. Apr 2006 at 19:08
Print Post  
Moin Leut's,

Phoner hat die Eigenschaft, das der Anwender sich nur anhand des Logbuches oder anhand des Tool-Tipps über dem Tray-Icon Phoners über in Abwesenheit eingegangene Nachrichten oder Anrufe informieren kann. Das PopUp der Anrufsignalisierung verschwindet, nachdem das Telefonat beendet wurde - der Anwender hat somit leider nicht die Möglichkeit, eine offensichtliche Benachrichtigung über eingehende Telefonate zu bekommen, die er auf den ersten Blick auf den Monitor erkennen könnte.

Doch wer Windows NT, Windows 2000 oder Windows XP benutzt, der kann Phoner mit einem Umweg über den Windows-Nachrichtendienst dazu bringen, sich komfortabel über eingegangene Anrufe informieren zu lassen:

Das nachfolgende Script (Komfort-Lösung mit Abfrage des Phoner-Telefonbuches und, falls der Anrufer dort nicht eingetragen ist, Auswertung der Datendatei von JB's Telefonbuchreverssuche) öffnet ein Fenster mit der entsprechenden Benachrichtigung, welches der Anwender mit einem Klick auf "OK" quittieren muß.

Liegen in der Abwesenheit des Benutzers mehrere solcher Benachrichtigungen vor, wird die nächste Meldung aufgerufen, sobald der Anwender das erste Fenster mit "OK" bestätigt hat.

Dieses Script heisst "netsend.bat" und muß im Installationsverzeichnis von Phoner liegen. Unter "Optionen -> Externe Applikation -> Eingehender Anruf" wird das Script mit Pfad eingetragen, und gestartet, sobald Phoner einen eingehenden Aruf registriert:

Code
Select All
@ECHO OFF

SET DIR=%USERPROFILE%\Desktop\Phoner
SET CHK=0
IF "%1"=="0" (SET NAM="Anonymer Anrufer"&SET ORT=Unbekannt&SET RUF=Unbekannt&GOTO MSN)
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND ";%1;" "%DIR%\BUCH.ADR"') DO IF "%%a"=="entry" (SET CHK=1&SET NAM="%%b"&SET RUF=%1&GOTO MSN)
IF "%CHK%"==0 (GOTO REVS)

:REVS
FOR /F "tokens=3,6 delims=;" %%a IN ('FIND ";%1;" "%DIR%\REVSUCHE.CALLLOG"') DO IF "%%b"=="keine Bemerkungen" (SET CHK=2&SET NAM="%%a"&SET RUF=%1)
IF "%CHK%"=="0" (SET CHK=2&SET NAM="Unbekannter Anrufer"&SET RUF=%1)

:MSN
FOR /F "tokens=2 delims=;" %%a IN ('FIND "%2" "%DIR%\MSN.INI"') DO SET MSN=%%a
CALL VAR SET VW0=string(2,5) %1
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET ORT=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS1

:VWS1
CALL VAR SET VW0=string(2,4) %1
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET ORT=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS2

:VWS2
CALL VAR SET VW0=string(2,3) %1
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET ORT=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND) ELSE GOTO VWS3

:VWS3
CALL VAR SET VW0=string(2,2) %1
FOR /F "tokens=2,3 delims=;" %%a IN ('FIND "Entry;%VW0%;" "germany.dat"') DO SET VW1=%%a&SET ORT=%%b
IF "%VW1%"=="%VW0%" (GOTO ACFOUND)

:ACFOUND
net send 127.0.0.1 Anruf von %NAM% aus %ORT%, Tel.: %RUF%, fuer %MSN% (%2)

SET DIR=
SET CHK=
SET NAM=
SET MSN=
SET VW0=
SET VW1=
SET ORT=
SET RUF= 



Voraussetzungen:

a) Zeile 2: "SET DIR=%USERPROFILE%\Desktop\Phoner" muss hinter dem "="-Zeichen angepasst werden. Ist Phoner z. B. im Verzeichnis "C:\PROGRAMME\PHONER" oder einem anderen Verzeichnis installiert, so muß dieses an dieser Stelle im Script geändert werden.

b) Damit dieses Script einwandfrei läuft, sollte die Telefonbuchreverssuche von JB installiert sein. Die Datei REVSUCHE.CALLLOG sollte im gleichen Verzeichnis wie die Phoner.exe stehen. Daher war es mir auch wichtig, dass JB auch in Zukunft eine ZIP-Version seines Programmes zur Verfügung stellt (siehe dieser Beitrag)...

c) Es muß eine Datei MSN.INI erstellt werden, so wie es in diesem Beitrag erklärt wird.

d) Die Kommandoerweiterung VARSET von [url=http://home.mnet-online.de/horst.muc/Horst Schäfer[/url]muß installiert sein (siehe dieser Beitrag).

e) Die Datei germany.dat muß in das gleiche Verzeichnis wie die Phoner.exe entpackt werden (Download).

e) Der Windows Nachrichtendienst muß gestartet sein (Systemsteuerung -> Verwaltung -> Dienste)

Zugegeben, diese Lösung erscheint auf den ersten Blick ein wenig aufwändiger, dafür wird man mit einer komfortablen Benachrichtigungsfunktion für eingegangene Anrufe belohnt. Und man kann sich sogar die Meldungen über eingegangene Anrufe per netsend.bat an eine oder mehrere beliebige IP-Adresse/n schicken lassen, indem man das Script an der Stelle der Zeile "net send 127.0.0.1 Anruf von %NAM% aus %ORT%, Tel.: %RUF%, fuer %MSN% (%2)" entsprechend anpasst. Die Voreinstellung ist 127.0.0.1, die IP des Localhosts, des eigenen Computers also.

Zu diesem Script inspiriert haben mich diese beiden Beiträge (1, 2)

Viele Grüße vom Kai.
  
Back to top
IP Logged
 
Page Index Toggle Pages: [1] 2 
Send TopicPrint