Meeting MCU Agent

Wer immer zu einem Skype for Business Meeting einlädt, bestimmt direkt auch über die Meeting-URL die dazu gehörige MCU. Wer On Premises ist, nutzt die MCU des Home-Pools und wer in der Cloud ist, nutzt die Cloud-MCU. Vielleicht möchte ich aber für gewisse Meetings eine Cloud-MCU-Nutzen, obwohl ich On-Premises arbeite. Diese Seite beschreibt die Überlegungen diese Funktion bereit zu stellen.

Diese Seite beschreibt kein Produkt oder Skript sonder nur meine Gedanken zu einer Lösung für ein seltenes Problem.

Die Anforderung

Ich habe viele Jahre lang Skype for Business, Lync und OCS "on-premises" installiert und natürlich wurden die Konferenzen auch auf den lokalen Servern gehostet. Das ist manchmal aber ungeschickt, insbesondere wenn es viele externe Teilnehmer gibt. Mit Skype for Business kann ich mir natürlich einen Benutzer in der Cloud anlegen und diese Zugangsdaten auch anderen Personen überlassen, die eine Einladung generieren. So kann ich schon vorgeben, wo eine MCU genutzt wird. Aber schön ist das nicht.

Interessant wird das nun, wenn man z.B. Skype Room Systems installiert, die primär in der Cloud sind. Niemand wird nun vorab in den raum laufen um ein AdHoc-Meeting zu starten und den Link dann per Mail zu versenden.

Eine MCU in der Cloud ist z.B. interessant, wenn die Teilnehmer nicht an einem Standort sondern weltweit verteilt sind und über eigene Internetzugänge sich mit der MCU verbinden. Also stellte sich die Frage wie ein Anwender es erreichen kann, dass der Raum eine Einladung versendet. Wenn der Anwender, der noch "On-Premises" arbeitet eine Konferenz startet, dann wäre der lokale Skype for Business Server die MCU und sicher schlechter geeignet als die Office 365 Plattform.

Überlegung

Der Weg mit einem "Cloud only" Konto, dessen Zugangsdaten jeder weiß ist natürlich keine Lösung. Mal abgesehen von dem Datenschutzthema wäre es auch unpraktisch, dass Anwender sich erst "ummelden" müssten um dann einen passenden Termin einzuladen. Daher habe ich folgende Idee entwickelt:

  • Benutzer arbeiten On-Premises mit Skype for Business Server
    z.B. weil Telefonie in der Cloud noch kein Thema ist.
  • Raumkonto oder Skype Room System ist in der Cloud angemeldet
  • Benutzer lädt zu einem Termin
    Zuerst lädt er NUR den Raum ein und sendet die Einladung weg. Er sollte dazu einfach eine Termineinladung und keine Skype-Einladung senden.
  • "vorbehaltliche Terminzusage" mit Alternativantwort
    Nun müssen wir natürlich dafür sorgen, dass der Raum nicht selbst zusagt. (Exchange Calendar Configuration). Stattdessen muss nun der eigene Bot z.B. das Raumpostfach überwachen und Terminanfragen entsprechend bearbeiten. Wenn also eine Anfrage ohne Meeting-URL kommt dann sagt das Skript "unter Vorbehalt" zu. Als Mitteilung addiert es und seine Meeting-URL mit allen anderen Daten, die am besten noch schickt mit Corporate Design formatiert sind, so dass der Einlader diese einfach in seinen Termin übernehmen kann.
  • Der Einladende aktualisiert den Termin
    Er übernimmt die Daten vom Raum in seine Einladung und kann noch weitere Personen einladen. Er sendet den Termin dann wieder aus.
    So ist er weiter "Organisator" aber die MeetingURL nutzt die Ressourcen des Raums.
  • Das bekommt auch der Raum und sagt zu
    Damit steht der Termin nun auch im Raum wieder als "belegt" drin aber da nun mehrere Leute enthalten sind, bleibt der Bot stumm

Technisch sollte das machbar sein. Es darf natürlich nicht dazu missbraucht werden. dass Anwender eine „Konferenz-Funktion“ nutzen könne ohne eine entsprechende Lizenzen zu haben. Für den Anwender aber ist es nur ein kleiner zusätzlicher Schritt erst mal nur den Raum einzuladen und auf den "abweichenden Terminvorschlag" zu warten. Es ist sicher auch keine Funktion für jeden Client sondern primär für die Personen, die bewusst ein Meeting in der Cloud aufsetzen wollen. Mit Teams stellt sich die Frage natürlich gar nicht mehr.

Aber Achtung: Da gibt es noch eine kleine Herausforderung: Das Meeting ist dann in der Cloud und der Einladende ist der Benutzer aber Konferenzleiter ist erst mal der Raum. Hier muss also noch nachjustiert werden, indem der Anwender auf dem Skype Room System dann auch die anderen Personen zu Konferenzleitern macht oder Sie den Default ändern.

APIs

Ich habe mich schon mal etwas zu den Quellen informiert. Über UCWA kann man solche Meeting-URLs anfordern und per EWS den Kalender lesen. Es sollte also gar nicht mal so schwer sein so einen einfachen BOT zu bauen.

Andere Überlegungen wie UCMA oder Lync COM-API wären auch denkbar. Der Vollständigkeit halber auch noch ein paar Links, die ich aber nicht sinnvoll erachte:

Wo ist der Code ?

Den gibt es noch nicht, da es sich hierbei erst mal nur um eine Überlegung ging, wie man Konferenzen gezielt in die Cloud verlagern könnte, während ein Großteil der Anwender noch "On-Premises" arbeitet. Bislang gab es aber noch kein Beauftragung solch eine Lösung auch zu entwickeln und daher gibt es auch noch keinen passenden Code. Ich befürchte aber, dass durch Microsoft Teams der Bedarf nach so einer Lösung eher abnehmen wird. Mit Teams sind alle Meetings sowieso in der Cloud.

Per UCWA sollte es aber schon einfach möglich sein

Die Funktionen könnten durchaus auch für andere Zwecke hilfreich sein, z.B. um aus anderen Applikationen wie einen Notes-Client o.ä. entsprechende URLs zu generieren und zu versenden.

Weitere Links