Wenn Du einen Anruf über unsere REST Schnittstelle auslöst hast Du die Wahl zwischen “konkretes Device” und “defaultdevice”.
Das Defaultdevice wird automatisch ausgewählt. In Deinem Fall wird das Softphone gewinnen wenn es online ist. Konkret bedeutet das:
- Mitarbeiter wählt in seinem Home-PC das Softphone aus, somit ist es online und wird automatisch von der API bevorzugt
- Mitarbeiter wählt in seinem Office-PC das Hardwaretelefon aus, somit ist das Softphone offline und das Hardwaretelefon wird von der API angesteuert.
Beide Clients merken sich diese Auswahl lokal, somit muss man es nur einmal richtig auswählen.
Jedoch:
- falls der Mitarbeiter daheim den Client nicht offen hat und einen Anruf auslöst, so würde das Telefon im Office als Fallback benutzt werden.
Diesen (kleinen) Nachteil könntest Du wiederum noch mit dem Arbeitsplatzkonzept erschlagen weil er sich ja dann von dem Telefon abmeldet und dieses damit nicht mehr für die API in Frage kommt.
Die Lösung liegt also einfach darin das Du den User in der Adressdatenbank eben NICHT nach dem Zielgerät fragst sondern dies der mobydick überlässt. Verwende hierzu einfach die URI services/identity/$user/defaultdevice anstatt services/identity/$username/device/$devicename
Hilft Dir das?