die Parameter incoming, connect und disconnect sind im D&R Tool einprogrammiert. Phoner ist es gal, was dann in der Batchdatei drin steht. Du kannst eine Batchdatei bei eingehendem Anruf anprechen, in der einfach auch nur Hallo drin steht.
Und somit sendet man dann an das Tool “VoIP-Connect Tool” über die Batchdatei den Parameter mit dem Befehl.
den Beitrag im Forum kenne ich. Daraufhin hatte ich den Entwickler mal angeschrieben und er sagte mir, es über den Weg zu machen, welcher hier ja schon beschrieben wurde (eine Batchdatei über Phoner über den Menüpunkt “externe Applikationen aufzurufen”). Er meinte dann, was über die Batchdatei dann an die Anwendung geschickt wird, muß die Anwendung dann interpretieren können. Daher hatte ich dann damals über das D&R Forum einen der Entwickler angeschrieben und dann ging es los daß er das “VoIP-Connect Tool” von D&R umprogrammiert hat.
Wenn ich die Diskussion bis hierhin aber korrekt verstanden habe, lautet die Kernfrage:
“Wie lautet der von PhonerLite ausgesendete Trigger?”
Um den geht es doch. Wenn das mAirList Script auf den “hört” und ihn abfangen kann, sollte der Rest kein Problem sein.
Es geht ja nicht darum, dass mAirList (oder was anderes) gestartet wird, sondern darum, was PhonerLite an Zeichen nach außen sendet - und wie.
Also: Phoner soll beim eingehenden Anruf die Batchdatei 1.bat starten. In dieser steht:
@echo off
set PFAD=C:\Pfad\zur\Datei\
set DATEI=ring.txt
set INHALT=1
echo %INHALT% > %PFAD%%DATEI%
Beim Abheben startet Phoner die Batchdatei 0.bat. In dieser steht:
@echo off
set PFAD=C:\Pfad\zur\Datei\
set DATEI=ring.txt
set INHALT=0
echo %INHALT% > %PFAD%%DATEI%
In mAirList installiere folgendes Skript:
const
PATH = 'C:\Pfad\zur\Datei\';
FILENAME = 'ring.txt';
var
sl: TStringList;
procedure OnLoad;
begin
EnableTimer(1000);
end;
procedure OnTimer;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(PATH + FILENAME);
if sl.Text = '1' then
begin
// do something;
end
else
begin
// do something else;
end;
finally
sl.Free;
end;
end;
begin
end.
Das Skript schaut jetzt sekündlich nach, was sich in der Datei ring.txt tut. Ist der Inhalt 1, geht ein Anruf ein, und es können Maßnahmen ergriffen werden.
Wie gesagt, er schreibt die 1 und die 0 in die ring.txt, aber laut dem Script soll ein einfacher statischer Text bei eingehenden Anrufen auf “grün” wechseln, beim Abheben auf rot. Und das meine ich mit “es funktioniert noch nicht so richtig”
Ja, hab ich unf soweit funktioniert es. Sagte ja, er schreibt die 1 und die 0 in die ring.txt.
Ich suche mal noch nach ner möglichen Fehlerquelle. Dir auf jeden Fall schon mal ganz großes Danke.
der Befehl für das “VoIP-Connect Tool” muss da auch noch irgendwie untergebracht werden, da ja das Airlite auch reagieren soll. Theoretisch bräuchte man dann auch drei Skripte für mein Verständnis, da ja das Airlite auch bedient werden muss für incoming, connected und disconnected.
Mit Phoner selber kann man ja nur eine Datei pro Status ansprechen. Mairlist bräuchte theoretisch auch 3 Zustände.
Button normal grau -> kein Anruf oder Anruf beendet
Button grün oder gelb -> Anruf kommt rein
Button rot -> Anruf ist gerade aktiv
Stimmt, das Tool müsste da dann auch mit rein und ja, es bedarf 3 Batch Dateien.
Hatte das Script schon entsprechend erweitert, aber Farben ändern sich dennoch nicht.
const
PATH = 'D:\Test\';
FILENAME = 'ring.txt';
var
sl: TStringList;
procedure OnLoad;
begin
EnableTimer(1000);
end;
procedure OnTimer;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(PATH + FILENAME);
if sl.Text = '1' then
begin
SystemLog(sl.Text);
ExecuteCommand('PHONE BACKGROUNDCOLOR #00ff00');
end
else if sl.Text = '0' then
begin
SystemLog(sl.Text);
ExecuteCommand('PHONE BACKGROUNDCOLOR #ff0000');
end
else
begin
SystemLog(sl.Text);
ExecuteCommand('PHONE BACKGROUNDCOLOR #ffffff');
end;
finally
sl.Free;
end;
end;
begin
end.
Du meinst also alle 3 Zustände über eine Datei erfassen und dann über die Datei quasi den Zustand an Mairlist und das VoIP-Connect Tool weiterleiten?
Das wäre natürlich optimal. Ich weiß nur nicht wie das funktionieren soll, da ja leider die Batchdatei bei jeder Statusänderung neu aufgerufen wird und somit dann diese nicht weiss, welchen Status sie jetzt verarbeiten soll?
Lasst mal die Airlite-Kiste an der Stelle bitte außen vor, das haben wir schon in einem anderen Thread. @deadpool2016xx hat das als extra Thread eröffnet - nicht zuletzt auf meine Bitte hin -, weil es um die Anzeige des Anrufs in mAirList ging. Das wiederum kann ganz unabhängig vom Airlite erfolgen.
Mir ging da so eine Idee von einem erweiterten Button “Anruf” im Kopf rum, und ich dachte, das Script könnte den Status “Klingeln” bzw. “Gespräch” von PhonerLite abgreifen und an den erweiterten Button übergeben.
Die Airlite-spezifischen Kopfschmerzen sollten weiterhin in dem anderen Thread behandelt werden, sonst wird’s chaotisch.
Gerüchteweise soll es hier noch Anwender mit anderen Pulten geben.