I'm new to Lync integration and development.
I am trying to write a feature to allow an existing desktop WPF line of business application to launch a Lync conversation with another user on the local intranet where the app is running.
The difficulty I face is that the application will not know up front what version of Lync client is installed on the user's PC. The app is deployed in various organizations and therefore can't make assumptions about client or server side versions.
At this stage the app is going to try launch whichever version of the Lync executable it can find on the PC, with a shortcut SIP, as shown here: https://technet.microsoft.com/en-us/library/gg398376(v=ocs.14).aspx
"You can use command-line parameters to quick-start Microsoft Lync"
I am also considering the UCMA (server side) API, although I'm worried that again I will have to worry about what server version is running.
Is there a better "version agnostic" way of doing this?
It seems that each version of the client SDK is incompatible with previous versions. This will mean I need to first detect what version of Lync is installed; and then use the appropriate SDK. This will also mean distributing multiple copies of the Lync SDK; and will also likely mean needing to create a new version of the application when successive versions of Lync are released.
I did note that there might be a server-side API (UCMA) that I could use across the different versions of Lync/OCS/Skype for Business, although there are mentions that this API is more "advanced" and is "to be avoided".
Some reading I've done:
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
Can anyone share any thoughts about this problem, have I missed something?
Ideally I'd like some kind of layer of abstraction where I could call a method to start a conversation, and not worry about what client is installed on the PC or what version is installed on the server. I realize this might be an unrealistic expectation!
I have tried searching through SO on the Lync tag; if this is a repeat question, sorry!