Callto/Tel-Handler

Sie sehen eine Rufnummer auf einer Webseite, in einer ERP-Software oder einem anderen Programm, klicken darauf und ihr konfigurierte VoIP-Client, sei es Skype for Business, Microsoft Teams o.ä. startet die Anwahl. Darum gehe es auf dieser Seite.

Windows App-Verknüpfungen

Ich erzähle ihnen sicher nichts Neues, dass ein Doppelklick auf eine DOCX-Datei diese mit Microsoft Word startet. Dafür zuständig ist die Verknüpfung der Erweiterung ".DOCX" mit Word und dies können Sie schon seit Windows 3.1 mit dem Befehl ASSOC und FTYPE abfragen.

C:\>assoc .docx
.docx=Word.Document.12

C:\>ftype Word.Document.12
Word.Document.12="C:\Program Files\Microsoft Office\Root\Office16\WINWORD.EXE" /n "%1" /o "%u"

Die Verknüpfungen können Sie natürlich auch in der Windows Systemsteuerung kontrollieren. Sie kommen dort über das "Startmenü - Einstellungen" oder sie starten einfach "ms-settings:defaultapps"

Und über den Dialog können sie z.B. nach TEL oder "CALLTO" suchen und die aktuell verbundene Applikation sehen und sogar ändern.

Die Verknüpfungen sind dann jeweils in der Registrierung hinterlegt. Die Liste der verfügbaren Applikationen für eine URL wird bei der Installation in die Registrierung geschrieben. Mein Desktop und Windows-Profil ist nun schon einige Jahre alt und hat daher noch einige Altlasten. Sie sehen hier die Verknüpfungen, die z.B. für Skype for Business/Lync hinterlegt sind. Anscheinend hat hier die Migration nach Teams mit einem "Meeteing Only"-Interop-Einstellung ein paar Einträge deaktivieren wollen:


Quelle: Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\Lync\Capabilities\URLAssociations

Auch im Bereich zu Microsoft Teams finden sich die URLs


Quelle: Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\Teams\Capabilities\URLAssociations

Teams Verbindungen

Wenn Sie Microsoft Teams installieren, dann kann sich Teams als "Standard" folgende Extensions und URLs registrieren:

Ich habe hier extra eine Konfiguration abgebildet, wie Sie bei ihnen nicht aussehen sollte. Die Verknüpfungen zu "IM" oder "SIPS" sind für Teams nicht wirklich wichtig, aber Sie sehen hier, dass ich als CALLTO:-Link noch den alten Teams Client habe und bei "TEL" schon den New Teams Client / Teams 2.1. Das habe ich hier absichtlich gemacht, um ggfls. Unterschiede in der Registrierung aufzuzeigen. Die hier gemachten Einstellungen landen direkt in der Registrierung unter:

Computer\HKEY_CURRENT_USER\Software\Classes\callto
Computer\HKEY_CURRENT_USER\Software\Classes\teamsURL
Computer\HKEY_CURRENT_USER\Software\Classes\Tel

Ich habe ihnen hier einmal die relevanten Schlüssel abgebildet:

Oder auch einmal als REG-Datei zum importieren:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\callto]
"URL Protocol"=""
@="URL:callto"

[HKEY_CURRENT_USER\Software\Classes\tel]
"URL Protocol"=""
@="URL:tel"

[HKEY_CURRENT_USER\Software\Classes\TeamsURL\shell\open\command]
@="\"C:\\Users\\user1\\AppData\\Local\\Microsoft\\Teams\\current\\Teams.exe\" \"%1\""

Wenn Sie genau hinschauen, dann finden Sie hier zwei Dinge, die Sie beachten sollten:

  • Alter/Neuer Client
    Ich kann hier bei "Tel" und "Callto" keinen Unterschied erkennen, obwohl in der GUI oben die beiden Protokolle zu unterschiedlichen Teams-Versionen gehen
  • Open-Command zum alten Teams Client im User Appdata
    Der "TeamsURL"-Handler verweist auf den alten Client, der immer noch da ist. Ich vermute, dass er beim Aufruf dann erkennt, dass ich den neuen Client nutze und den Aufruf durchreicht

Diese Verknüpfungen muss ich noch einmal prüfen, wenn der alte Teams Client nicht mehr vorhanden ist und quasi lokal sogar entfernt wurde.

Die Information bekommen Sie auch mit ASSOC

C:\>assoc callto
callto=URL:callto Protocol

Allerdings kommen Sie hier dann mit "FType" nicht weiter

Achtung: Die CALLTO/TEL-Link ciation kann aktuell wohl nur auf den vollen Teams Client auf einem Windows Desktop verweisen. Es macht auch wenig Sinn den Link zu einem Browser zu senden, der dann erst Teams laden muss.

Gruppenrichtlinien

Die Einstellungen kann natürlich auch ein Administrator zentral über die Softwareverteilung vorgeben.

Die Zuweisung von Protokollen zu Applikationen können Administratoren natürlich auch per Software-Verteilung und Gruppenrichtlinien zuweisen

Dazu müssen Sie im "Group Policy Editor" im folgenden Pfad ein "Association Configuration File" einbinden

Computer Configuration\Administrative Templates\Windows Components\File Explorer\

Es gibt also keine einfache GUI, mit der Sie z.B. das Protokoll oder die Extension eintragen können. Wenn Sie wissen, was Sie tun, können Sie natürlich auch direkt die Einträge in der Registrierung schreiben.

Skype vs. Teams

Etwas mehr "Spaß" haben Administratoren vielleicht mit Teams und Skype for Business. Je nach gewähltem InteropMode ist ja Skype for Business der primäre Telefonie-Client. Erst wenn Der Teams-Benutzer wirklich auf "TeamsOnly" umgestellt wird, ist Teams der Telefonie-Client. Vorher müssen Telefonate immer noch bei Skype for Business landen und mit Skype for Business geführt werden. Der Skype for Business Client hat dazu eine Funktion eingebaut, sich beim Start immer wieder als Default Telefonie-Client einzutragen, wenn der angemeldete Benutzer kein "TeamsOnly"-Benutzer ist.

Auf der einen Seite wurde so sichergestellt, dass ein Benutzer in einem Teams Mode ungleich "TeamOnly" immer wieder den Skype Client bekommt. Die Einstellung kann aber extrem stören, wenn Sie z.B. zu Test auf dem PC sich in Teams mit unterschiedlichen Konten anmelden aber der Skype for Business Clients immer wieder ihre Einstellung überbügelt.

Zum Glück lässt sich das Verhalten des Skype for Business/Lync-Clients anpassen.

When you sign in to Microsoft Lync 2013, Microsoft Lync 2010, or Microsoft Office Communicator 2007 R2, registry settings for the following protocols are overwritten:
Quelle: https://learn.microsoft.com/en-US/SkypeForBusiness/troubleshoot/server-sign-in/registry-settings-overwritten-when-sign-in

Das Verhalten von Lync/Skype for Business können Sie übersteuern, indem Sie pro Protokoll angeben, welcher Handler nicht mehr registriert werden soll. Dabei werden folgende Bit gesetzt, bzw. Wert addiert:

TEL:    0x0001     0b00000001
CALLTO: 0x0002     0b00000010
SIP:    0x0004     0b00000100
SIPS:   0x0008     0b00001000
IM:     0x0010     0b00010000
CONF:   0x0020     0b00100000
=============================
Alles   0x003F     0b00111111

Wenn Sie für alle Handler verhindern möchten, dass Skype for Business sich als "Default Application" registriert, dann müssen Sie den Wert auf 0x3f setzen oder folgenden Text als "REG-Datei" abspeichern und importieren.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Lync]
"DisabledProtocolHandlerRegistrations"=dword:0000003f

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Lync]
"DisabledProtocolHandlerRegistrations"=dword:0000003f

Auch diese Einstellung können Sie natürlich per Gruppenrichtlinien setzen

Teams Deep Links

Neben den Verknüpfungen von Protokollen unterstützt Microsoft Teams auch "Deep Links", die direkt eine Aktion auslösen können. Es geht dabei aber nicht um SIP, TEL:, CALLTO mit einfachen Rufnummern sondern Applikationslinks.

  • Teams Link zum Anruf eines Users
https://teams.microsoft.com/l/call/0/0?users=<user1>,4:<phonenumber>
  • Link  zum direkten Anruf aus Teams Apps, ohne einen Browser zwischenzuschalten.
msteams://teams.microsoft.com/l/call/0/0?users=4:%2b448719762819
  • Link um direkt einen Benutzer per Meeting anzurufen.
https://teams.microsoft.com/l/call/0/0?users=user@msxfaq.de
  • Der folgende Link liefert keinen Fehler startet Teams bei mir in den eigenen Kalender.
https://teams.microsoft.com/l/meetup-join/callto:user@msxfaq.de

Es kann durchaus sein, dass Microsoft das Format von Links im laufe der Produktentwicklung auch anpasst. Zudem gibt es mittlerweile eine Teams 3rd Party Client-API, die vermutlich auch eine Fernsteuerung von Teams erlauben könnte.

Weitere Links