Hallo,
die gestellte Aufgabe ist recht einfach, die
aktuell möglichen Lösungen sind es nicht. So oder so muss man sich das zusammenbauen.
Die Aufgabe lässt sich wie folgt unterteilen und in einer Schleife abarbeiten und automatisieren:
- feststellen ob sich der betreffende Client noch im eigenen WLAN befindet.
- abhängig davon den Anmeldestatus der NSt. an den Warteschleifen steuern
- mit einer gewissen Wartezeit weiter zu 1.
Lösung zu 1:
Hat man sich an der 3CX Verwaltungskonsole angemeldet, kann man mit
https://<fqdn:https-port>/api/Phonelist per mbstring encodierte Daten abholen, welche u.a. die NSt. Nummer, das gerade dort verwendete angemeldete VOIP Endgerät als auch dessen IP auflisten. Das kann man von einem beliebigen Gerät aus remote abfragen, auch mit einem Skript. So kann man nach dem betr. Telefon der betr. NSt. suchen und dessen akt. verwendete IP ermitteln. Ist das keine IP des eigenen LAN / WLAN mehr, dann kommt Punkt 2 zum Zug.
Lösung zu 2:
Eine CFA in einer 3CX kann eine dortige Nebenstelle abfragen und ändern, auch den Warteschleifenstatus. Die CFA braucht
nur einen entspr. Anruf und Parameter was zu tun ist und wo. Das wird dann schon ein klein wenig komplizierter so etwas skriptgesteuert extern laufen zu lassen. Den Anmeldestatus einer 3CX NSt. in dessem eigenen Betriebssystem zu ändern wird nicht unterstützt. Ein funktionierende API Aufruf (wie in Punkt 1) ist mir aktuell nicht bekannt.
Bleibt nur offen, wo und wie man beides zusammenbringt. Man kann beides in eine CFA in einen Dialer bauen der dann dauerhaft läuft. Die CFA muss allerdings nach jedem Neustart des Dienstes '3CX PhoneSystem 01 Call Flow Server' neu gestartet (bzw. angerufen) werden damit die läuft. Das ist ein weiteres Problem.
Fazit: so eine richtig optimale Lösung gibt es wohl derzeit nicht.