Skype integration - api

Does the Skype api support integration with third party apps where by Skype calls can be made from external apps or thorough your address book .Received wouldn't be a problem as it would not show in the main screen when a call comes through.

The Skype Web API supports starting calls and receiving calls from your web application: https://msdn.microsoft.com/en-us/skype/websdk/docs/ptaudiooutgoing
The Skype for Business App SDK supports joining Skype meetings with audio, video, and chat from a mobile Android or iOS application: https://msdn.microsoft.com/en-us/skype/appsdk/apioverview. Note that the calls supported in this case are not PSTN and not peer-to-peer. They are only for joining meetings.
For Windows apps on Windows 7,8, and 10 computers, as long as the Skype for Business client is installed on the computer, you can enable your app to make peer-to-peer audio calls through the Lync 2013 API. You can find more information about this API in the MSDN library under "Lync 2013 SDK Documentation". The app user must have SfB credentials for either Skype for Business Online or an organization's on premise Skype for Business server.

Related

How to create Add-Ins for Skype

I have requirement to create an Add-In for Skype. We found that the Skype Add-Ins is in Developer Preview. Skype Add-In
How can i create an app for Skype and how can i integrate it with Skype as Add-In? Anyone knows about the Skype Add-Ins? Any links to create Apps/Add-Ins for Skype?
Is it possible to develop VSTO add-ins for Skype? There are multiple articles on the internet that talk about creating Add-ins for other office products like Outlook, Word, Excel etc., but none for Skype. Could someone point me to some help content for developing add-ins for Skype?
Unfortunately, Microsoft has been using the term add-in very loosely throughout its Office product line to describe very different technologies. In the link you provide, they are referring and alluding to a few different technologies:
Skype Developer Platform & Desktop APIs
The Skype Developer Platform includes APIs for integrating Skype with websites and, via its Desktop API, desktop applications. As of this writing the Desktop APIs still refer to Skype as Lync -- Skype's previous name. These APIs are for the type of integrations typically associated with VSTO and Office.js in other Office applications. The SDKs can be found here:
Skype Developer Platform SDKs
Skype for Business Bot Framework
Skype can be integrated with the Microsoft Bot Framework to create automation and guided experiences.
Skype for Business Bot Framework Introduction
Azure Bot Service Documentation
Skype App SDK
Lastly, there are also the SDKs to use Skype in Android and/or IOS apps.
Skype App SDK Getting Started Page

Test Automation: Automate outgoing calls from fixed phones registered with a Skype for Business IP-PBX

For test automation purposes, we're currently investigating upon how we can have a fixed phone registered with a Skype for Business IP-PBX (e.g. an AudioCodes phone or a Yealink phone or...), make an outgoing call upon request.
E.g. Our test automation platform would send a request to the Skype for Business Server to tell this server to initiate an outgoing call from phone A registered with that Skype for Business Server to an external phone B. So a little bit similar as JTAPI functionality...
I.e. Would this be feasible by using UCMA 5.0?
There is no way to SIP to make a physical phone make a call.
With UCMA you are effectively a softphone, so with UCMA you can make your "softphone" make a call.
With the Lync Client API you are remote controlling the Lync Client (Skype for Business client), so with the Lync Client API you can remote control the Lync Client to make a call.
The only way I can think of to make a physical phone dial would be to use a Polycom VVX phone linked to a instance of a Lync Client using there "Better Together" application. Then you can use the Lync Client API to remote control the Lync Client which would in turn remote control the Polycom VVX phone.
I haven't done this in a Skype/Lync environment but I've done something similar in Asterisk a long time ago. I don't remember all the details of the test any more.
One key to get hardware involved, if you don't use a BToE connection, is to leverage the "Auto Answer" answer feature on most handsets.
I have seen some phones also allow for some push/curl commands to be sent to the device. An example of this with a polycom is here. The post is old and it's been years since I messed with that, but I assume some of that function may still be in some devices/firmware. I haven't seen anything similar with AudioCodes or Yealink, but they maybe there as well.

Skype for Business WebSDK for On premises environment

We are using Skype for Business 2015 in our Organization (On-premises environment).
We are trying to integrate Skype web features to the Intranet Web sites using Skype for business WebSDK. Internet connectivity/access are not allowed in my environment.
I tried downloading and running sample mentioned in below link.
https://msdn.microsoft.com/en-us/skype/websdk/docs/gettingstarted#sectionSection4
While evaluating I figured out that SkypeBootStrap.min.js is looking for sdk.js hosted in (https://latest-swx.cdn.skype.com/jLync/master_0.4.514/sdk.js)
Can you please suggest any alternate approach for running SkypeWebSDK samples?
My ultimate goal is to develop a reusable client-side component that can be integrated into any of our intranet web applications within our firm which provides all of Skype communication options (including audio, video and screen sharing) through a simple client-side API. What is the best way to achieve this?

Should I use UCWA or UCMA or another API for a Skype for Business Server Application?

There seems to be a lot of different SDKs / APIs around Skype for Business. I'm having a tough time deciphering which one would be appropriate for a server side Bot like application that could communicate domain specific information to the users within the organization. For example we'd like to be able to deliver task(s) via messages and perform presence based task assignment. This seems to be fairly low hanging fruit but where's the REST endpoints and documentation to make this happen. Assuming for example I wanted to create a little console application that could facilitate this what API would you recommend?
Here are the main differences between UCMA and UCWA:
UCMA is a .NET SDK that provides rich control over a Skype for Business server deployment. It enables applications to automatically route calls and messages, provide automatic responses (IVR or chat bots), record conversations etc. It can be used in a number of scenarios such as a 'contact center' application that distributes incoming calls to an available agent with the right skillset. UCMA applications are managed by running them on application servers that are activated as part of the Skype for Business server deployment. As such, UCMA is not available for Skype for Business Online (Office 365).
UCWA is a RESTful Web API that acts on behalf of a single Skype for Business user. It enables applications to send and receive messages for that user, read presence for their contacts, etc. Typically it is used for interactive "line of business" applications that want to embed Skype for Business messaging/presence. It is also possible to create a 'technical account', that doesn't correspond to a real person, and use UCWA in 'headless' server applications but this approach currently has authentication and scalability limitations. UCWA applications have no deployment constraints since UCWA is a regular RESTful Web API. It is available for both Skype for Business Server (get started) and for Skype for Business Online (get started). The latter has slightly fewer capabilities right now: - for example, messages can be sent but not received - though this should change soon.
I think both UCMA and UCWA can be used. However, considering you want a server application, UCWA seems fit the case. Here is the detail of SDK, you can find code samples at there:
https://msdn.microsoft.com/en-us/library/office/mt650889(v=office.16).aspx

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

I'm looking for the client side and server side API for Lync 2010. But I found many API that can be able to develop. Anyone what are difference between all of them? Please help
Microsoft Lync Server 2010 SDK http://www.microsoft.com/downloads/en/details.aspx?FamilyID=58ccf6fd-31db-4f15-bafb-c5ef28afc5fc
Microsoft Unified Communications Managed API 3.0 Software Development
Kit
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4493BAAB-6214-4770-8CF9-69C813E8A9FA
Microsoft Unified Communications Client API SDK
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=82c468da-3294-4ca9-bbcc-d455cfd06af2
Lync 2010 SDK is the latest Client-side SDK for Lync 2010 (doesn't work against previous versions). Its a fully managed (i.e. .Net) API, and allows you to build apps that automate the running instance of Lync to perform tasks, e.g. display presence and start a conversation from your LoB app (Automation mode). It also allows you to build your own custom clients to completely replace the Lync UI (UI Supression mode).
Unified Communications Managed API 3.0 (UCMA) is the latest server-side SDK for Lync 2010 (doesn't work against previous versions) - its also a fully managed API, and allows you to build applications that register to Lync as endpoints. This is useful for building bots, for example, a stock ticker bot that IMs people when a stock price goes over a certain threshold. You can also build call routing and IVR (interactive voice response) apps with this, and it can use Windows Workflow Foundation to reduce the amount of code you have to write.
Lync Server 2010 SDK is another server-side SDK, but rather than creating endpoints as per UCMA, this allows you to write filters that plug in to a Front End server. A filter allows you to inspect SIP traffic as it passes through the server, so its useful for building e.g. archiving solutions.
Unified Communications Client API (UCCA) is a client side API that allows you to build custom endpoints - e.g. Lync client replacements. This is best avoided, as it is COM based, so you have a lot more code to write, and need to be very careful about memory leaks. Its recommended to use Lync SDK in UI Supression mode, instead of this API. One benefit it does have though, is it works against Communicator 2007, Communicator 2007 R2 and Lync.
If you're developing against Lync and no previous versions, then Lync SDK (client) and UCMA 3.0 (server) should give you what you need. Otherwise, this article here talks about the previous SDKs in a bit more detail
Edit: I've expanded on this in a blog post
The main difference for me between Unified Communications Client API and UCMA was that UCC supports digest auth and that's why it is possible to build sip/rtp client for linux based asterisk.