2016-07-04 8 views
0

Ich bin neu in der Lync-Integration und -Entwicklung.Starten der Lync-Konversation von der C# -WPF-Desktop-App unabhängig von der installierten Lync-Clientversion

Ich möchte eine Funktion schreiben, die es einer vorhandenen WPF-Geschäftsanwendung für Desktops ermöglicht, eine Lync-Konversation mit einem anderen Benutzer im lokalen Intranet zu starten, in dem die App ausgeführt wird.

Die Schwierigkeit, der ich gegenüberstehe, ist, dass die Anwendung nicht weiß, welche Version von Lync Client auf dem PC des Benutzers installiert ist. Die App wird in verschiedenen Organisationen bereitgestellt und kann daher keine Annahmen zu Client- oder Serverversionen machen.

In diesem Stadium der App-Start wird versuchen, je nachdem, was Version der Lync ausführbar es auf dem PC, mit einer Verknüpfung SIP finden, wie hier gezeigt:

https://technet.microsoft.com/en-us/library/gg398376(v=ocs.14).aspx können Sie Befehlszeilenparameter verwenden zum schnellen Starten von Microsoft Lync "

Ich denke auch über die UCMA (serverseitige) API nach, obwohl ich mir Sorgen mache, dass ich mich wieder darum kümmern muss, welche Serverversion läuft.

Gibt es einen besseren "version agnostic" Weg, dies zu tun?

Es scheint, dass jede Version des Client-SDK mit früheren Versionen inkompatibel ist. Dies bedeutet, dass ich zuerst feststellen muss, welche Version von Lync installiert ist. und dann das entsprechende SDK verwenden. Dies bedeutet auch, dass mehrere Kopien des Lync SDK verteilt werden müssen. Außerdem muss wahrscheinlich eine neue Version der Anwendung erstellt werden, wenn aufeinanderfolgende Versionen von Lync veröffentlicht werden.

Ich habe festgestellt, dass es eine serverseitige API (UCMA) geben könnte, die ich über die verschiedenen Versionen von Lync/OCS/Skype for Business verwenden könnte, obwohl erwähnt wird, dass diese API "fortgeschrittener" ist und ist "vermieden werden".

what are difference between "Lync Server 2010 SDK"/"UCMA 3.0 SDK"/and UCC API?

http://blog.thoughtstuff.co.uk/2014/07/lync-development-picking-the-right-api/

Which Lync SDK? Send IMs from managed code

Kann jemand teilen irgendwelche Gedanken zu diesem Problem habe ich etwas verpasst:

Einige Lesung habe ich getan?

Idealerweise hätte ich gerne eine Art Abstraktionsebene, wo ich eine Methode zum Starten einer Konversation aufrufen könnte und sich nicht darum kümmern müsste, welcher Client auf dem PC installiert ist oder welche Version auf dem Server installiert ist. Ich realisiere, dass dies eine unrealistische Erwartung sein könnte!

Ich habe versucht, durch SO auf dem Lync-Tag zu suchen; Wenn das eine nochmalige Frage ist, sorry!

+0

Für jetzt entschied ich mich für Lync 2010 Client SDK, aber würde immer noch jede Eingabe zu schätzen – GrahamMc

+0

Es klingt, als ob Sie versuchen, einen Benutzer des verbinden LOB-Anwendung mit einem Support oder externen Benutzer. Ein allgemeiner Vorschlag wäre, UCMA so zu betrachten, als wäre es über Lync 2010, 2013 usw. verfügbar, und Sie könnten es als Vermittler zwischen LOB-Benutzer und Support-Benutzer verwenden, aber dies würde eine serverseitige Installation der UCMA-Anwendung erfordern . – ShelbyZ

+0

Dank @ShelbyZ - es ist zwischen Benutzern innerhalb einer Gruppe von Organisationen, die in einer Active Directory-Gesamtstruktur angeordnet sind - mehrere Domänen und mehrere Versionen von Lync an verschiedenen Standorten installiert – GrahamMc

Antwort

1

Es klingt, als ob Sie das Lync Client SDK verwenden möchten. Dass dieses SDK wirklich funktioniert, ist die Fernsteuerung des "Lync Client". Um den Lync-Client zu starten, wenn er nicht ausgeführt wird, wird nur "lync.exe" ausgeführt. Eine Lync-Client-Installation wird immer diese Exe im Pfad haben, also sollte es einfach funktionieren. (tut für mich so weit)

Lync 2010 ist ziemlich alt. Ich würde Lync 2013 Client SDK verwenden. Ich verwende diese Version, da sie für den Kunden von 2013 bis zum neuesten Skype For Business 2016-Client funktioniert.

Ich würde herunterladen/installieren Sie das Client-SDK und überprüfen Sie die Beispiele. Sie sollten Beispiele für die meisten Dinge finden, die Sie möchten (Starten einer Audio-Konversation, Starten einer IM-Konversation usw.). So ziemlich alles, was Sie manuell in dem Client tun können, können Sie über das Client-SDK fernsteuern.

Wenn Sie eine Abstraktionsschicht über die Versionen haben möchten, müssen Sie dies selbst tun, da sie nicht von den SDKs selbst unterstützt wird. Obwohl ich nicht stören würde und nur Unterstützung von Lync 2013 und größer.

Wenn Sie eine Abstraktionsschicht erstellen, müssen Sie alle Lync Server-Setups testen. Viel Glück dabei ... Wir haben hier Lync 2103 Server und Skype for Business eingerichtet (sie können koexistieren) und es ist ein riesiges Setup. Eine grundlegende Einrichtung kann etwa 6-7 Server sein und hängt sich in Ihren AD ein. Um verschiedene Versionen zu starten, werden mehrere ADs benötigt. Möglicherweise benötigen Sie PSTN/sip-Amtsleitungszugriff, um externe Anrufe oder Federation-Setup für externen Netzwerkzugriff von/zu externen Clients oder föderierten Organisationen (wie Consumer-Skype) zu testen. Wenn Sie irgendwo in die Nähe von hoher Verfügbarkeit gehen müssen, gehen die Serveranforderungen einfach in die Höhe ...

+0

Danke Shane. Die Entscheidung von 2010 ist ein Kundenzwang, nicht meine Sache. Wenn sich in den nächsten Tagen niemand meldet, werde ich dies als die Antwort markieren, da ich Ihren bisherigen Ratschlag mit dem Client-SDK effektiv befolge. Die App funktioniert jedoch nur auf Lync 2010. Ich wünschte, es gäbe eine Möglichkeit, leicht über die Versionen zu abstrahieren. Konzeptionell sollte das Erstellen einer IM-Konversation für alle Versionen gleich sein. Alles, was sich geändert hat, ist die "Installation" des "Wie". – GrahamMc

Verwandte Themen