TopBanner

A Subset of the Microsoft Teams BETA Calling API, Now Known as "Communications API" in Microsoft Graph Are Now v1




A subset of the Microsoft Teams BETA/Preview Calling & Meeting API, now apparently known as "Communications API" in Microsoft Graph Are Now version 1.

The question for many has been, "When will the Teams Calling API's be GA?", but a more complete question would be "When will the features (or, all the features needed for a particular application) of the Preview/BETA Calling API's be GA?" as the roll out of the Communications API is not a single "BETA/Preview" to "GA" but more of a process to release, first all the features in the current Preview/BETA, and then additionally all the typical features needed for voice communication solutions.

What are some of the key features in Preview/BETA not released to version 1? Very significantly the ability to escalate a call to a multiparty call. This is a key component for vendors creating native Microsoft Teams Contact Center functionality like our own Landis Contact Center for Microsoft Teams.

What are some key features not yet in the Preview/BETA that are very typically needed for voice solutions? The ability to:

  • cancel inviting a participant to a multiparty call
  • eject a participant from a multiparty call
  • outbound dialing
  • more

As I noticed and called out on Dec 6, it appears that Microsoft will be referring to these APIs as the "Communications API", based on the documentation on the Microsoft Graph website as shown on the screenshote below.


Do this mean "ISVs have the calling APIs, so they can do everything they need?" No.


There is considerable confusion about what the Teams "communications API" can now do among users, Microsoft Partners and Microsoft employees.

A good way to think about Microsoft Teams related calling APIs based on current Graph API naming conventions:

  • communications API = Server/Application perspective
    • Skype for Business = UCMA
    • Formerly known as/Also known as: Calling & Meeting API
  • me = Client/User Perspective
    • In Skype for Business world = UCWA/Skype for Business Client SDK
    • Also known as/referred to as: Embedded API/ Client API

Note that Microsoft has made no announcements about the Me/Client/User perspective Calling API at this time. There is no ETA from Microsoft on call control from a client/user perspective.

Conclusion


The release of some of the communication API is a great start and will enable some applications such as IVR-like services & transfer to another solution via Direct Routing.

All the features for properly creating native call queuing inside the Microsoft Teams service has not been released to version 1 yet.

It is not a client calling API, so it does not unblock the ability to create a specialized Microsoft Teams calling client like an Attendant Console.

The communication API team at Microsoft has been working hard on this so congratulations on releasing version 1 of the communication API!

Read More Here:
https://docs.microsoft.com/en-us/graph/api/resources/communications-api-overview?view=graph-rest-1.0

Microsoft Teams Presence Graph API: How to Use It and Some Other Details About It



Update: Dec 6, 2019 Microsoft Graph Presence API Preview announced here. We now know for certain: No App Permissions (you get presence from a AD user perspective), no subscription (programmers only get point in time presence) and get a batch of AD User's presence. Graph details here.

Teams developers have been waiting on the Graph Presence API with baited breath. (It appears to be available in Preview as of 11/29/2019. At this time there have been no announcements since Ignite 2019, but it seems to work).

How to quickly test the Teams Presence Graph API it

The Graph presence API for Microsoft Teams was mentioned in session VCE50 at Ignite 2019 but I just decided to test it today and it seems to work. Here is how:

  1. Go to https://developer.microsoft.com/en-us/graph/graph-explorer and sign in as a valid Teams users
  2. Give your user permissions to see Presence by clicking "modify permissions"
  3. run: https://graph.microsoft.com/beta/me/presence for a quick test. more below

Some more about the Graph API for Microsoft Teams

It appears to be user based at the moment. (Perhaps App based will come later this month?)

Presence permissions include: Presence.Read and Present.Read.All: Read lets this user read its own presence and Read.All lets users read other user's presence as well.


You can check your own presence or others:
https://graph.microsoft.com/beta/me/presence
https://graph.microsoft.com/beta/users/{ad_user_guid}/presence

The API returns "availability" (ie:Busy) and "activity" (ie: InACall).

The presence is request based and not subscription based which means it is a somewhat basic API and not optimal for most realtime applications since the app needs to keep asking for the state.

NOTE: The presence response is sometimes very slow (5000ms?).


Below is the Ignite 2019, Session VCE50 slide 29:


Below is the Ignite 2019, Session VCE50 slide 30:

Conclusion


This is an additional API that helps Microsoft Teams developers make solutions for Teams more full featured. Its another step in enabling voice scenarios for Microsoft Teams. The lack of subscriptions indicates this is the "first step" in the presence API.

Landis Technologies has been eager for presence API's to add presence based routing & Queue alerting to our Contact Center for Microsoft Teams. I'm sure vendors like Embrava are eager to put the ME API to use in their Blync Lights as well as many other ISV's and developers.

If there is anything you noticed that I've missed, please comment.

Will the Microsoft Teams IP Phone without Handset Become a Category?


At Microsoft Ignite 2019 I saw the Poly CCX500 without a handset for the first time. At first I thought it was a CCX500 side car expansion but quickly realized it just an ip phone without a handset.

Will this become a category beyond Poly? Is it the new form factor of the IP deskphone?
What do you think?

Source:
https://www.polycom.com/voice-conferencing-solutions/desktop-ip-phones/ccx-phones.html

December 2019 Graph API Update Looks Poised to Enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) Following



At Microsoft Ignite 2019 Andy Bybee gave session VCE50 on Contact Centers, or as Microsoft would rather call it, "Customer Journeys" or "Customer Interactions". (Although even Andy admitted the term "customer journeys" is notoriously nebulous and hard to pin down...) In this session Microsoft laid out its vision around customer interactions and that included:

  • Transforming instead of just integrating
  • Microsoft does some customer interaction scenarios, partners others

Microsoft plans to enable some customer interaction scenarios using things like Power Virtual Agents and their own basic call queues and auto attendants, but will look to partners for more advanced functionality that go beyond that and include things like skills routing, call backs, call flow designers and more.


slide explaining Connect, Extend, Power in session VCE50

Those Contact Center vendors that provide more advanced features beyond what Microsoft will provide are being divided into several broad categories:

  • Connected: Direct Route integration of exsisting systems
  • Extended: Utilize other Teams integration points
  • Powered: New Contact Centers built entirely on Teams Calling API's and leveraging all Microsoft 365 services

The "Connected" category appears to me to be those contact centers who use Direct Routing (SIP Trunking) to Microsoft Teams. These are vendors who aren't focusing solely on Microsoft Teams and thus the integration will be more work and the integration level won't be as tight and robust, but it is easier for existing CC vendors & Microsoft to "make their existing solution work with Teams" as Direct Routing can largely facilitate this with some assistance from new presence API's. Read: Low hanging fruit for MS to "get a solution". Microsoft has been communicating this type vendors is on track to be available sometime early in 2020.

The "Powered" category appears to be contact centers power by Microsoft Teams calling and using the Calling & Meeting API's and integrated deeply to Microsoft 365. What our company has been referring to as "native Teams contact center" when referring to our Landis Contact Center for Microsoft Teams & other vendors following this track. Read: MS needs to provide more API features to achieve this level. Microsoft noted that it is starting a Certified for Microsoft Teams program to facilitate these and other vendors.

The Microsoft 365 Roadmap Update notes:
"Microsoft Teams - Teams Voice Platform
Enable Contact Center integration, Remote Advisor integration and Graph API for Presence"

This looks like the December round of Graph API updates is really around enabling "Connected" contact centers. The December 2019 Graph API update looks poised to enable "Connected" Contact Centers (Direct Route Connected) with "Native" Contact Centers (Calling API Based) following that.

Landis Technologies was glad to be the first contact center vendor presenting a Teams Powered Contact Center at Microsoft Ignite 2019, which not only is based on the Teams Calling API's but is deeply integrated to Power Apps, Power Automate (Flow) & Power BI allowing organizations to transform how they interact with customers. The Landis Contact Center for Microsoft Teams is in Customer Preview currently and to be released when Microsoft releases the features needed for a native Contact Center to GA.

Source:
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=53939

My Microsoft Ignite 2019 Microsoft Teams Notes

This is a placeholder for my Ignite 2019 notes and observations.

Microsoft Teams Announcements

Teams Ignite Keynotes 

Who to Follow:



Microsoft Teams Product Announcements:


Microsoft Teams Evening Events:



Did you vote for the #MicrosoftTeams Voice Client API's?
http://bit.ly/teamsclientapi