How to record Skype meeting video with Trusted Application API(Skype for Business) - skype-for-business

I am trying to create Service-side video meeting recording function for Skype for Business Online.
The Trusted Application API Reference includes "Service-side meeting recording" as an Example solutions.
I thought that the Trusted Application API has a function to record a meeting video on the server side. However, I could not find the document in which it was written.
Record audio/video in Skype for Business Online includes a Skype Media bot example but there is also a GitHub issue that mentions:
Also please note that group conference in Skype has also been disabled for bots due to privacy reasons.
How can I make a meeting video recording on the server side?

Related

Is there a Trusted application endpoint API for Teams?

In Skype for Business there's a Trusted Application Enpdpoint API that let us interact with/control meetings in S4B. This can for instance be used for joining S4B meetings anonymously or for having an alias presented to a counterpart. We're utilizing parts from "Skype for business Virtual Health Templates".
Is there or will there be something similar available in Microsoft Teams?
APIs for interacting with Teams calling and meeting functionality are quite different than they were for Skype for Business. We just introduced the ability to interact with the Teams calling and meeting functionality via applications a few weeks ago (first week of October 2018) so this is very new, but you can do it today.
In particular all the APIs are exposed in Microsoft Graph.
Regarding the trusted endpoints specifically, we are using bots to achieve the same goal. Bot Framework bots already have trusted endpoints - we don't call them that, but that's what they are because we generate JWT tokens to authenticate Microsoft to you and your app to Microsoft. In messaging bots, there's a concept of a "messaging endpoint" - for audio/video bots we've added calling and video endpoints.
For more information, see the overview topic Calls and online meeting bots and Registering a calling bot.

collaborating using same spotify client secret?

I want to collaborate with a few people on an application that were creating which relies on the spotify API. I registered the application with my spotify account. Does this mean that all the collaborators can use my client secret and ID? Or do each of them need to individually register the application with their spotify account and use their client id and secret when working on the application?
First: I am not a lawyer.
You should take a look into the Spotify Developer Terms of Service you agreed while creating your developer account: https://developer.spotify.com/terms/
There is this section VI (Access to Spotify Platform):
Security Codes
a. As described on our developer site, to access and use certain
tools provided by our Spotify Platform, you must link your Spotify
account to a developer account. You will be issued one or more unique
I.D.s, keys, passwords, security codes, or tokens (each a “Security
Code”) for accessing the Spotify Platform and managing your account.
You agree to provide Spotify with accurate, complete and updated
registration information.
b. You may only access your account with the Security Codes
provided by Spotify and the appropriate Security Code must be embedded
in your SDA, including in all updates and revisions, in a secure
manner not accessible by third parties. If you are developing a
Streaming SDA, each call to the Spotify Platform must incorporate a
valid Security Code.
c. You may not sell, transfer, sublicense or otherwise disclose
your account or Security Codes to any other party or use it for any
other purpose except in connection with your SDA.
d. You are entirely responsible for maintaining the confidentiality
of your account and Security Codes. You agree to notify Spotify
immediately if you believe that your account or Security Codes have
been compromised and cooperate with Spotify in the investigation of
any compromised Security Codes. You are fully responsible for all
activities that occur using your account and Security Codes,
regardless of whether such activities are undertaken by you or a third
party.
Definition of SDA:
Spotify Developer Application or SDA. “Spotify Developer Application”
or “SDA” means any application, website or service that accesses the
Spotify Service or Spotify Content through, or which incorporates, the
Spotify Platform. Please note that Widgets are not included in the
definition of an SDA.
I assume your collaborators are not classified as "third party". But let them register their own Spotify Developer Application for testing purposes, if you do not trust them since you are entirely responsible for what they could do with those keys.

Skype for Business Online Administration API

Since there are a lot of APIs for Skype for Business, and the documentation isn't always very clear, and many hours have already been wasted developing for an wrong API, here I am asking you:
I am looking for an API which enables me to administrate multiple Skype for Business Online users. Required Features:
Skype for Business Online compatible
Read and Set Presence from other users
Set Call Forwarding for other users
And all that without knowing the user's passwords.
I already started developing for UCWA until I realized every user's password is needed for setting the presence.
I am aware of the capabilities of an UCMA Trusted Application, but unfortunately S4B Online compatibility is required. Maybe it's possible to make it compatible with an interface?
Every thought on this is much appreciated.
This would have been possible with on premise Skype for Business:
A trusted UCMA application to read and set presence
Automating SEFAUtil to set the call forwarding options (which relies on UCMA)
Unfortunately (as you rightly said), neither of these are supported against Online, as there is no direct replacement for UCMA. There's unlikely to be a replacement in the future as Microsoft are pushing to move customers away from SfB and on to Teams.
Depending on exactly how you need this to work, one option would be to use the Lync 2013 client SDK, which still works against the SfB client (but is now out of mainstream support). You'd need to create a "hidden" application that gets deployed to the users desktops, and sends and receives commands to/from your centralised administration app. In that way, you'd be able to send commands to the user's application, which would then automate the client into setting presence and changing call forwarding. Some obvious downsides, though:
A lot of work to build out the client/server applications and manage the connections between them
Would only work when the user is signed in to their client (as the Client SDK uses the running instance of the Skype client)
Depends on being able to deploy to a client machine
Not an ideal solution, I know, but with Teams replacing SfB Online (over time), your options are going to be limited!

When to create an application for Skype for Business

I am writing an iOS app that will use data from Skype for Business, and am following the guide from Microsoft called Create an application, which must be done before being able to use the API's.
What is unclear to me is when exactly to create an application? Is it:
per client, i.e. only once ever?
per home server?
per user?
per session?
The application here is more a kind of "virtual object (the application)"
which needs to be created here, until you can start using Skype for Business (SfB) features.
So your question isn´t that easy to answer as its not clear what you wish to perform (e.g. did you wish to login, perform some task and then logoff again?). So it depends a little bit on your application and which features you are using. Therefore its no "only once ever" as the "virtual object (the application)" is destroyed at some time (e.g. your application crash and the SfB server no longer got a "yes we are still here and are listening" requests). This is controlled by the lifetime of a token which is eight (8) hours for authenticated users so you need to renew that or your application will stop working. So its more a "per taskuser & login & time" approach...
Microsoft explained the above as well in the following statement: "This is how you register your application with UCWA 2.0 as an agent of the user whose credentials you obtained in a previous step."
If you are creating an iOS application that will interact with a Skype for Business server, you can use the Skype for Business App SDK for iOS. This client library handles anonymous meeting joins for users who are not homed on a Skype for Business server. For all other Skype for Business features, you'll need to use an iOS REST library of your choice. The REST endpoint that works best for a client application is actually the Skype Web SDK. The Skype Trusted Application API is designed for server-to-server communications where your server is talking to a Skype for Business Online instance. In that case, your server obtains and processes Skype data and then it makes it available to a client such as an iOS app. Unless you intend to create a middle tier between Skype for Business Online and your iOS app, you should use the Web SDK.

Configuring SMS gateway?

I want to configure sms gateway. my scenario is as:
We have a list of enrolled students. Each one is assigned a tutor. They have to get information about their tutor such as tutor name and contact etc.
I want that they send a formatted sms to the server and server provides the requested information to them via sms.
Please tell me what things, I will need?
Infrastructure?
any demo server available to test my application?
I will be implementing it in PHP
Thanks
Have you seen Twilio's REST API for SMS already? https://www.twilio.com/sms/api. That will save you lots of time configuring own GSM modem firmware and maintaining own SMS transactions. With 3rd party SMS service provider you can just focus on your client app such as sending back tutor's profile to the provider and the provider will carry your message push it back to the student's mobile number.
Of course the old way is that everything (data and GSM software) sits within our own network. I used to have HTC's GSM model like 7 years ago) with my J2ME apps for Nokia, HTC and Motorola smartphones. But nowadays, you have lots or cheaper and better options. Even Android phones can be used as bare bones GSM modem already :D
Enjoy!
Before you go on implementing something by yourself, I suggest that you check services that already do it well. Maybe you can just use them? One such easy-to-use service is Twilio.