Skype for business call plugin - plugins

I am a beginner developer and I am looking to make a plugin in Skype for business (=SfB). This plugin is a component of the menu of the right click in the contact and this makes it possible to place the call via a telephone platform.
Can I find some examples (using UCMA) in the same context please?

I personally would say it do not make any sense to develop such a plugin. The reason is that Skype for Business (=SfB) can perform that on its own. Its one of the key feature from Skype for Business and required a so called Plus CAL and for example a Session boarder controller (e.g. Audiocodes Mediant 1000) or an IP-PBX (e.g. Avaya Aura Session Manager 6.1) which connect SfB to a telephone platform.
Via that construct you can dial phone numbers directly via your Skype for Business client and also receive PSTN calls via Skype for Business.

Related

give Google Assistant device commands programmatically

Is it possible to give Google Assistant commands programmatically? For example, I'd like to be able to send a command as text "turn on the fan" and have GA react as if that was the spoken command. I would also accept sending a JSON request in whatever format needed (with device IDs or whatever the API needs).
My situation is I have a ceiling fan that is controlled by Google Assistant. I want to be able to control it programmatically. For example, some event happens and my code wants to turn the fan on. Is there any way my code can tell GA to turn on the fan?
I tried using the Google Assistant SDK. I can send it text like "what time is it?" and get back text and audio, eg "It is 11:00am". However, I have a test device called "washer" and if I send text "is the washer running?" I get back "Sorry, I didn't understand". If I speak the words into my phone, I get back "The washer is running".
Why can't the GA SDK interact with my device? The credentials I give to the GA SDK are the same I use for my SmartHomeApp that defines the "washer" device.
To do this, you can setup up a virtual Assistant device and then send commands to it.
Check out Assistant Relay, which is a service that sets up a virtual Assistant device and exposes a REST API so you can send text commands to it, as if they were spoken.
Per the Documentation:
Simply send Assistant Relay any query you would normally send Google
Assistant, and Assistant Relay will call the Assistant SDK an execute
your command.
Per the problem you are having with the Google Assistant SDK, I believe what you are trying to achieve is only possible with a device, be it physical or virtual and not by using the SDK directly.
There are a lot of firewall and security issues allowing each smart device to to connect to the Internet. To alleviate this problem, Google's design methodology uses a fulfillment device as a bridge to connect to the device locally from one of their devices.
You are locally, on your smartphone, hooking into Google Assistant.
The phone is the fulfillment glue for the "washer" device.
According to this page:
Google Home or Google Nest device is required to perform the
fulfillment.
Due to the portable nature of cell phones, it does not make sense to allow one to be used as the fulfillment device remotely, hence the local hook.

Smart Home Actions for non-commercial project

I created a free service that permits to control a French set-top box (which provides different services like TV, playing media, Netflix, …).
This set-top is a 3rd party product for me because I do not own the material, but because the constructor provides an API I've been able to create a service from end-to-end that controls the box. The box provider doesn't have any service published on Google to control their box and they do not plan to do it in the future.
I tested everything with my own Google Home account and everything is working fine. I'd now like to deploy/publish my service to all my users in Google Home… While I'm filling all the steps to publish my project, it's asking me to complete a form (Smart Home Certification form), but at the top of the form it says: “if your action is non-commercial (personal/hobby project) or you are implementing only the SCENE trait, do not submit the form.”
My action is non-commercial (it's a free service) and I'm maintaining it on my personal time (hobby project), so I'm not supposed to submit the form. But if I don't, then I cannot have my service published/deployed?!
Is it possible to publish a Smart Home Action without being a company that sells products/pays a developer to maintain the service?
For your information, I already published an Alexa Skill for this service 1 year ago and it works very well. I was waiting for Google to publish the Channel trait in French to release it. Right now I have to ask my users to create applets in IFTTT to make the service works with Google, which is not optimal and very painful…
I tried to reach to the ha-certification Google team but no answer after 2 weeks… So maybe someone in the community would already have experimented the same case as me!
Thanks
After sending emails around, I finally got an answer from a Google employee:
due to our new policies, we are now not launching any partners who are not tied to commercial products

XMPP with a Google Cloud Printer registered with a different client id and secret

My company was using a third party tool to download print jobs from Google. This has developed problems so we've written our own. We can register a printer, get notifications via XMPP and download jobs. All good. We'd like to download jobs from the printers already registered via the the third party tool.
We have successfully got the permission of the google account that owns the printer to manage its printers and subsequently downloaded jobs from the printer. This was achieved using a solution that issued /fetch api calls every minute. Of course, Google wants the XMPP method used so we tried to do that. After getting over an authentication issue by adding googletalk to the scope in the oAuth request we fail to get any notifications.
In summary, with our own printer we can fetch, download and get XMPP notifications but with the printer registered with the third party tool (where we don't know the client id and secret but do know the google account) we can fetch and download but not get XMPP notifications. Is there any way round this?
The XMPP messages go to the robot account that owns the printer, so I don't think you should expect to receive XMPP messages without that robot account (and corresponding XMPP JID).
Rather than work around the intentions of the API, I suggest you work with the third party. Maybe they can provide hooks into their notification queue?

Writing custom WebEx client

Are there API/SDK that make it possible to create custom WebEx client. So far I've only found APIs for managing pre and post-meeting content, but not during the meeting itself.
Alternatively I'd like to create a widget like plugin for WebEx. Is it at all possible?
As far a i know they do not have such API. Maybe in the future. You might want to check out other platforms such as Zoom or Talkbox
The Webex API is currently limited to the following functionality:
User data management:
Sign up new user (creating user accounts)
Login/logout
Activate/deactivate users
Edit users
Meeting scheduling and registration:
Schedule/host/join/impromptu
Edit/delete
List/add/delete attendees
Create/get registration form
Register attendee
Manage and access the history of online sessions:
List/get usage history
List recorded access history
Integrate audio conferencing networks:
Synchronize meetings and audio conference network provisioning Adaptor-based plug-in architecture for supporting teleconferencing
bridge equipment
Coordinate call-in and call-out options for meeting users, and
notification of users entering/exiting the meeting
Support muting and dropping calls
If you are using React then you can use these (from official webex developer account)
All of these are for different use cases so please check all of them out before using one.
react-widgets
webex components
widgets
If you want to just use JS (or with any other framework) then check this one out:
plugin-meetings (Npm Link)
Or if you want full control over how to do things, then use webex js sdk
webex-js-sdk

Automate distribution of redemption codes for Custom B2B app

I have built a Custom B2B app for one of our clients. My question is how to automate the distribution of the redemption codes.
I have already looked at some of the MDM providers. Their solutions are too expensive and all we really need is a way to distribute the app from a webserver, not manage a bunch of mobile devices.
As you probably already know, when a client buys a Custom B2B app through the Apple VPP program, they get a spreadsheet with valid redemption codes for the number of licenses they have built. This spreadsheet has 2 columns: 1) redemption code 2) URL to redeem the code
I want to provide my client with a URL where they can send their users to download the app. They just don't have the expertise/infrastructure to distribute the app themselves. And emailing clients is not going to work.
I'm not a web guy, but it seems to me that we could write a webpage that would look at the spreadsheet for the next available activation code and then redirect the user to the associated URL. I'm not concerned with the number of licenses they distribute since I have another way of auditing the real number of users (Flurry). So I want this to be as painless as possible.
In fact, I have multiple clients and want to provide them each with their own URL for their clients. It seems like this shouldn't be too difficult to code.
The problem is, I'm not the guy to write that code. Any ideas on how best to do this?
Assuming that you don't want to show the user a website you should be able to do this with an online service like parse.com and the features it offers.
From a user POV you would supply them with a link which directed them to parse.com with a path and parameters indicating the action to be taken (get app) and what account is associated. This would redirect the users browser to the appropriate destination.
The main issue (and this applies to any solution) is knowing if the user actually followed through and used the code. i.e. should it be removed from the DB so it isn't offered to another user in future. Then you would update the DB each time you get a new spreadsheet.
Anyway, this could be achieved with a little javascript in parse.com, specifically, by using cloud code which can interrogate and modify the DB and then redirect the user.
Obviously if you need user authentication of some kind or other restrictions then you would need to start adding some web interface on top of this in order to collect the details.