Anrufstatus von Phoner (Lite) in Mairlist und dem Airlite anzeigen

Guten Abend,

ich wurde gefragt, wie ich es bei mir realisiert habe, daß in Mairlist der Anrufstatus von Phoner angezeigt wird. Da diese Anfragen als private Nachricht gestellt wurden und nicht direkt im Forum, dachte ich mir, wenn ich da schon beschreibe wie ich das gemacht habe, dann soll auch die gesamte Community was davon haben.

Bei mir ist es so, wenn in Phoner ein Anruf reinkommt, dann blinkt bei mir in Mairlist ein erstellter Button gelb. Wenn ich nun das Gespräch annehme, dann ist der Button permanent gelb. Wird das Gespräch beendet, dann ist in Mairlist der gleiche Button rot.

Die nachfolgende Anleitung sollte für Leute mit und ohne ein Airlite von D&R funktionieren.

WICHTIG: In der Anleitung verwende ich meine Ordnerstruktur. Solltet Ihr eine andere Struktur nutzen wollen oder sogar auch andere Fernsteuerungs-ID´s, dann vergeßt bitte nicht, dies auch in den Skripten anzupassen.

Wenn einer Ideen hat, um die ganzen Skripte vielleicht zu optimieren, dann würde ich das begrüßen. Ich selber bin kein Profi beim Skripten.

  1. In Mairlist neues Bildschirmobjekt als statischen Text erstellen.
  2. Statischen Text mit “Telefon” benennen oder wie auch immer man den benennen möchte.
  3. Unter erweitert eine ID für Fernsteuerung vergeben “PHONERCALLERSTATUS”.
  4. Positioniert das Bildschirmobjekt in Mairlist über den Layout-Designer.
  5. Erstellt eine Datei mit dem Namen “Phoner_Status_Anruf.mls” in Eurem Mairlist Skriptverzeichnis.

// Hintergrundskript fuer Phoner Anrufstatus

const
  PATH = 'D:\Portable\PhonerLite\Airlite\';
  FILENAME = 'mairlist_phone_status.txt';

var
  sl: TStringList;

procedure UpdateButton;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile(PATH + FILENAME);
    if copy(sl.Text, 1, 1) = '1' then
    begin
	ExecuteCommand('PHONERCALLERSTATUS FONTCOLOR #FF0000');
	ExecuteCommand('PHONERCALLERSTATUS BACKGROUNDCOLOR #FF0000');
	if trunc(now * 24 * 60 * 60 * 2) mod 2 = 0 then
	ExecuteCommand('PHONERCALLERSTATUS BACKGROUNDCOLOR #FFFF00')
	else
	ExecuteCommand('PHONERCALLERSTATUS FONTCOLOR #FFFF00');
    end
    else if copy(sl.Text, 1, 1) = '2' then
    begin
    ExecuteCommand('PHONERCALLERSTATUS BACKGROUNDCOLOR #FFFF00');
	ExecuteCommand('PHONERCALLERSTATUS FONTCOLOR #000000');
     end
    else
    begin
    ExecuteCommand('PHONERCALLERSTATUS BACKGROUNDCOLOR #FF0000');
	ExecuteCommand('PHONERCALLERSTATUS FONTCOLOR #000000');	
    end;
  finally
    sl.Free;
  end;
end;

procedure OnLoad;
begin
  UpdateButton;
  EnableTimer(500);
end;

procedure OnTimer;
begin
UpdateButton;
end;

begin
end.
  1. Datei “Phoner_Status_Anruf.mls” in Mairlist als Hintergrund-Script einbinden.
  2. Im Phoner(Lite)-Ordner einen Unterordner “Airlite” erstellen.
  3. Darin erstellt Ihr folgende Dateien:
    mairlist_phone_status.txt
    mairlist_incoming.bat
    mairlist_connected.bat
    mairlist_disconnected.bat
    incoming.vbs
    connected.vbs
    disconnected.vbs
  4. Die angelegten Dateien nun mit Inhalt füllen.
    mairlist_phone_status.txt -> Diese Datei bleibt leer, denn dort wird der Status von Phoner geloggt.

// mairlist_incoming.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=1
echo %INHALT% > %PFAD%%DATEI%

// Airlite Connect-Button wird angesteuert
// "C:\Program Files (x86)\D&R Voip Connect\Voip Connect.exe" -s incoming

// mairlist_connected.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=2
echo %INHALT% > %PFAD%%DATEI%

// Airlite Connect-Button wird angesteuert
// "C:\Program Files (x86)\D&R Voip Connect\Voip Connect.exe" -s connected

// mairlist_disconnected.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=0
echo %INHALT% > %PFAD%%DATEI%

// Airlite Connect-Button wird angesteuert
// "C:\Program Files (x86)\D&R Voip Connect\Voip Connect.exe" -s disconnected

// incoming.vbs
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "D:\Portable\PhonerLite\Airlite\mairlist_incoming.bat" & Chr(34), 0
Set WshShell = Nothing

// connected.vbs
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "D:\Portable\PhonerLite\Airlite\mairlist_connected.bat" & Chr(34), 0
Set WshShell = Nothing

// disconnected.vbs
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "D:\Portable\PhonerLite\Airlite\mairlist_disconnected.bat" & Chr(34), 0
Set WshShell = Nothing
  1. In Phoner (Lite) auf die Optionen gehen und unter “externe Applikationen” die einzelnen Skripte verlinken.
    Eingehender Anruf: “D:\Portable\PhonerLite\Airlite\incoming.vbs”
    Verbundener Anruf: “D:\Portable\PhonerLite\Airlite\connected.vbs”
    Beendeter Anruf: “D:\Portable\PhonerLite\Airlite\disconnected.vbs”

  2. Wer ein Airlite hat und möchte dort den Connect-Button auch mit ansteuern, der muss in den Dateien “mairlist_incoming.bat”, “mairlist_connected.bat” und “mairlist_disconnected.bat” die letzte Zeile ausdokumentieren.

Das ist alles recht komplex. Was passiert nun genau.

  1. Mit dem Hintergrundskript “Phoner_Status_Anruf.mls” prüft Mairlist immer wieder ob in der Datei “mairlist_phone_status.txt” sich was geändert hat. Wenn ja, dann wird der entsprechende Wert ausgewertet. Abhängig vom Wert wird der Button mit der ID “PHONERCALLERSTATUS” angesteuert. Das bedeutet der Button ist rot, blinkt gelb oder ist gelb.
  2. Anruf kommt rein, Phoner ruft nun die “incoming.vbs” auf über die dann im Hintergrund die “mairlist_incoming.bat” aufgerufen wird. Den Umweg über die VBS-Datei habe ich gemacht, weil ich es nicht hinbekommen hatte mit Phoner eine bat-Datei anzusteuern, womit unterbunden wird, daß sich Fenster im Vorder- oder Hintergrund öffnen. Optimierungen sind gerne gesehen.
  3. Über die “mairlist_incoming.bat” wird nun der Wert “1” in die “mairlist_phone_status.txt” geschrieben und gleichzeitig ein Befehl an das D&R Voip Connect Tool geschickt, damit auch der Button am Airlite blinkt (Nur wenn auch die entsprechende Zeile ausdokumentiert ist).
  4. Das ganze landet dann wieder bei Punkt 1. Wird also der Anruf angenommen oder beendet wird immer wieder der gleiche Programm- und Skriptweg durchlaufen. Jeder Status, der in die “mairlist_phone_status.txt” geschrieben wird, hat seinen eigenen Wert.
    Eingehender Anruf: 1
    Verbundener Anruf: 2
    Beendeter Anruf: 0

WICHTIG: Bevor nun Fragen auftauchen, wie man das Airlite und Phoner einrichtet, um am Airlite den VoIP Connect Button zu nutzen, der möge sich bitte den folgenden Artikel durchlesen: https://community.mairlist.com/t/d-r-airlite-anleitung-fur-mairlist/10118/154

Und nun viel Spaß beim testen und optimieren.

Abendliche Grüße
Nick

8 Likes

Hallo Nick,
vielen Dank für Deine Anleitung, du schriebst…

In der Anleitung sehe ich nun
z.B.

// Airlite Connect-Button wird angesteuert
// "C:\Program Files (x86)\D&R Voip Connect\Voip Connect.exe" -s incoming

kann dieser Teil übersprungen werden?

Hallo JP,

wenn Du kein Airlite hast, dann lässt Du die Skripte so wie sie sind und passt einfach nur die Pfade an.

Nur wenn Du ein Airlite hast, und zusätzlich den VoIP Connect Button ansteuern möchtest, ist es notwendig die Kommentarzeichen “//” bei den Skripten aus der letzten Zeile zu entfernen.

Abendliche Grüße
Nick

1 Like

Hallöchen,
vielen Dank für die Anleitung. Ich möchte an dieser Stelle die Rückmeldung geben, dass alles funktioniert.

Eines ist mir jedoch aufgefallen, sobald das Telefon klingelt und ich annehme oder auflege ploppt bei Windows kurz immer ein Fenster auf, zu kurz um genau zu sehen, was das ist. @NickTheRipper ist Dir das auch aufgefallen bzw. ist das vielleicht ein Fehler meinerseits?

Abendliche Grüße
JP

Hallo JP,

entferne bitte einmal bei den Skripten “incoming.vbs”, “connected.vbs”, “disconnected.vbs” die erste Zeile, also die Kommentarzeile.

// incoming.vbs
// connected.vbs
// disconnected.vbs

Abendliche Grüße
Nick

1 Like

Jupp.
Das war’s.

Schönes Restwochenende.

Hallo JP,

sorry, war mein Fehler, denn in VBS Dateien müssen die Kommentare natürlich anders gesetzt werden. Wenn man die Kommentare nicht benötigt, kann man die eben auch ganz raus lassen. :wink:

Die Kommentare müßten in den VBS-Dateien so aussehen:

'incoming.vbs
'connected.vbs
'disconnected.vbs

Vielen Dank für Deine Rückmeldung.

Abendliche Grüße
Nick

Hallo Nick,
muss meine Aussage doch zurücknehmen. Nachdem ich mAirlist neugestartet habe, sind die Fenster wieder da.

Späte Grüße
JP

Hallo JP,

probiere bitte folgenden Code für die folgenden Dateien:

mairlist_incoming.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=1
echo %INHALT% > %PFAD%%DATEI%

mairlist_connected.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=2
echo %INHALT% > %PFAD%%DATEI%

mairlist_disconnected.bat

@echo off
set PFAD=D:\Portable\PhonerLite\Airlite\
set DATEI=mairlist_phone_status.txt
set INHALT=0
echo %INHALT% > %PFAD%%DATEI%

Morgendliche Grüße
Nick

Hallo Nick,
vielen Dank für Deine Mühe und Hilfe.
Ich habe die Dateien wie o.g. geändert. Keine Veränderung. Es öffnet sich immer bei den Aktionen ein Fenster, leider ist es zu schnell wieder weg, sodass ich nicht sehen kann, woher das genau kommt.

nächtliche Grüße
JP

Hallo JP,

in Phoner hast Du aber den Verweis auf die VBS-Dateien und nicht die Bat-Dateien gemacht?

Phoner - Sripteinstellungen

Morgendliche Grüße
Nick

:man_facepalming: Das ist es. Ich habe nicht auf die Dateiendung geachtet, sondern bin über die Punkte gegangen und du hast recht. Es waren die .bat-Dateien.

Feierabend für heute.
Danke!

Hallo zusammen, bin Neuling hier und auch mit dem Airlite noch nicht so ganz vertraut…
ich bin am Verzweifeln…Also vorab Phoner Light funktioniert im Airlite …Rufannahme und auflegen, auch sprechen und hören…soweit so gut :wink: Doch leider bekomme ich die Signalisierung auf dem Airlite nicht hin. Keine blinkende Taste :frowning:
Ehrlich gesagt, ich kann es auch aus den vorhergehenden Beiträgen nicht herauslesen. Wäre ganz toll wenn jemand mir das “Idiotensicher” erklären könnte :wink:

[OT]
Hallo Frank, schön, dass du hier bist. :slightly_smiling_face:
Wärst du noch so nett, deine Lizenznummer (die fünfstellige) in dein Forenprofil einzutragen? ist kein öffentliches Feld, dient nur dem mAirList Team zur Verifizierung. Vielen Dank!
[/OT]

Hallo @FrankH,

Du schreibst, daß die Rufannahme funktioniert. Worüber nimmst Du den Anruf an, denn wenn Du den Anruf über den Connect-Button am Airlite annehmen kannst, dann sollte auch die Signalisierung (Blinken des Buttons) funktionieren.

Kannst Du da bitte etwas mehr Informationen geben?

Nachmittagliche Grüße
Nick

Wo bitte, finde kein Feld dafür?!

Melde mich diesbezüglich am Samstag da hab ich Zeit…Danke schon vorab

In deinem Forum-Profil, Einstellungen, Profil:

1 Like

Hallo Nick, sorry das es so lange gedauert hat…arbeit, arbeit, arbeit :wink:
Fehler soeben gefunden :wink:

Unbenannt

Hatte zuvor die Einstellung “Internal state”
Gruss Frank

1 Like

Danke und erledigt :+1:

1 Like