ich höre immer wieder von Kollegen und Kunden, dass Sie gerne ein Automatisierungen in der Anlage hätten, die gegen die Schusseligkeit der Benutzer helfen würden.
Automatisches Einbuchen dynamischer Teilnehmer in ein Team
Häufig ist es so, dass morgens niemand in den “lästigen” Queues wie bspw. der Telefonzentrale eingebucht ist, weil sich im Laufe des Tages Leute nach dem dritten Werbeanruf abgemeldet haben. Es wäre super, wenn man über ein Skript gewisse Leute morgens bspw. um 8 wieder dort aktiv melden könnte.
Ich hab im Forum irgendwas mit AddQueueMember gefunden, das war aber Dialplan-Skript. Hier müsste ja ein Cronjob irgendetwas auslösen
Wiederherstellen des Default-Users eines Arbeitsplatzes
Häufig ist es so, dass gerade in Besprechungsräumen sich irgendeine Nase anmeldet und dann vergisst abzumelden, insbesondere dann, wenn ansonsten ein Softclient zum Einsatz kommt. Gibt es eine Möglichkeit, abends bestimmte Arbeitsplätze wieder auf einen Default-Zustand (“niemand eingebucht” oder " eingebucht" zurücksetzen?
Da gab es mal einen Ansatz, dass über ein Loginskript zu machen (Rest-API-Aufruf bei Anmelden an Windows). Man könnte z.B. ein Powershell-Skript dafür nutzen. Ist aber lange her und ich habe mich nicht mehr weiter damit beschäftigt…
REST-API ist ein guter Ansatz. Wäre halt nur cool, wenn man sowas direkt auf der Instanz machen könnte. Muss mal schauen, dass ich mir so ein JSON baue und dann cURL etc. dafür missbrauche.
Sodele. Wir haben das Ganze dann mal mit der REST-API, CURL und JQ gelöst. Damit habe ich eine Batchdatei gebaut, die unter Windows mit AT getimed werden kann.
Ich muss mal wieder sagen, dass ich ziemlich begeistert bin.
Hier sind die magischen drei Zeilen Code:
curl -u moby:password -X GET "https://pascom-beta.cloud/instanz/services/queue/%1" -H "accept: */*" > %1.txt
jq -r ".members[].agent" %1.txt > %1_users.txt
FOR /F %%B IN (%1_users.txt) DO (curl -u moby:password -X POST "xhttps://pascom-beta.cloud/instanz/services/queue/%1/action" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"action\":\"%2\",\"identity\":\"%%B\",\"penalty\":\"0\"}")
Auf JQ und Curl wäre ich unter Windows nicht gekommen und hätte mich da eher der Powershell gewidment, die ja von Haus aus mit RestAPI und JSON kann. Somit schön, wieder etwas dazu gelernt zu haben.
Um ehrlich zu sein: Ich hab halt Null Erfahrung mit Powershell und wollte keinen eh schon gestressten Kollegen hinzuziehen. Hatte das aber auf dem Mac gebaut und da wir für den Kunden einen Notes-Server unter Windows hosten, die Batch schnell umgestrickt.
Ist doch perfekt. Niemand wird später fragen, mit welchem Werkzeug das Loch in die Wand gebohrt wurde. Hauptsache das Bild hängt und verschönert den Raum. Ich fand es für mich spannend, andere Lösungsansätze zu lesen.
also ich finde diesen ansatz sehr gut… aber warum kann sowas nicht direkt in den pascom client eingebaut werden?
client startet: user wird eingeloggt; client geht in pause: user wird ausgeloggt usw.
Weil restlos jeder andere Anforderungen hat. Der eine möchte nur in einer Gruppe angemeldet werden, ein andere in drei verschiedenen Gruppen und wieder andere immer in allen Gruppen.
Mit einem Loginskript bist Du halt flexibel in der Einrichtung und überfrachtest den Client nicht mit noch mehr Funktionen.
Einiges wird sich aber vielleicht mit den Profilen ergeben. Warten wir mal ab.
Ich würde das Login-Script keinem Benutzer zur Verfügung stellen, da man damit dem User nahezu Vollzugriff auf die Telefonanlage gibt. Ich empfinde diese Lösung als Sicherheitslücke.
Stattdessen habe ich ein PHP 8 Framework für pascom entwickelt mit long-polling Sockets für Live-Daten, einem Dialer zum Fernsteuern des pascom Clients, für Rufauzeichnungen mit Rechtesystem, einer Ein-Klick-Anruf-Transferierung, einer für uns übersichtlicheren Gesprächsliste und natürlich auch für Login/Logout Aktionen. Diese zum Teil auch automatisiert. Dieses Franework/diese Bibliothek nutze ich dann entsprechend in einem ERM mit Benutzeroberfläche und Rechtesystem.
Klar, ist nicht einfach umzusetzen, aber ich würde schon schauen, dass ich eine Anwendung bereitstelle, die diese Funktion bietet, ohne eben dem Benutzer das Auth-Token mitzugeben. Es ist ja auch durchaus möglich eine binäre EXE zu erstellen die auf der Powershell basiert und eben das Token nicht entblöst.
Die REST API macht eine Menge möglich, aber ich rate wie gesagt dringend davon ab solche Shell-Skripte an die Benutzer zu verteilen.
Übrigens gibt es einen Funktionscode, der es ermöglicht, dass ein Benutzer sich aus allen Teams ein oder ausloggt:
Ich hatte da auch eher weniger an den Benutzer selbst gedacht als an eine GPO, die das beim Anmelden des Benutzers am System ausführt. Ist natürlich Windows-lastig, aber für mein Umfeld trifft das zu 100% zu.
Ja klar, ich hätte das auch in eine Exe packen können. Man könnte auch das Token irgendwo in die Registry schreiben, wo der Benutzer nicht rankommt etc. Oder man schreibt einfach den Login per Skript in eine Textdatei, die dann überwacht wird und im Hintergrund auf dem Server das Login-Skript ausführt. Gibt also noch viele Möglichkeiten. Alles in allem ist der Funktionscode auch eine Alternative, wenn man denn wirklich in ALLEN Teams auf einmal ein/ausgeloggt werden möchte. Sobald das nicht der Fall ist, geht die Tipperei wieder los.