330 likes | 356 Views
Introduction to Programable Voice & Video in Microsoft Teams. Andrew Bybee. BRK2463. What to expect from today’s session. Objectives. Key Takeaways. Use real-time programmable voice and video to light up collaboration Get started now - new capabilities available for developer preview!.
E N D
Introduction to Programable Voice & Video in Microsoft Teams Andrew Bybee BRK2463
What to expect from today’s session Objectives Key Takeaways • Use real-time programmable voice and video to light up collaboration • Get started now - new capabilities available for developer preview! • Review new Teams Platform developer capabilities for voice / video • Demonstrate real-world scenarios for integrating communications with collaboration
Ultimate Hub for Teamwork starts with Office 365 Platform EXTENSIONS STANDALONE WEB, DEVICE, AND SERVICE APPS DOCUMENTS PAGES EMBEDDED CANVASES CONVERSATIONS CANVASES 1 Microsoft Graph
Microsoft GraphGateway to your data in the Microsoft-cloud https://graph.microsoft.com Office 365 Windows 10 Enterprise Mobility + Security Users, Groups, Organizations Outlook SharePoint OneDrive Teams Planner Excel OneNote Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection Activities Device Relay Commands Notifications Mail, Calendar, Contacts and Tasks Sites and Lists Drives and Files Channels, Messages Tasks and Plans Spreadsheets Notes, and more… Identity Management Access Control Synchronization Domains Administrative Units Applications and Devices Advanced Threat Analytics Advanced Threat Protection Alerts Policies and more…
Microsoft Graph and Communications New! https://graph.microsoft.com Communications Programmable Voice & Video Intelligent Messaging Analytics & Insights Sharing & Meetings Control calling and integrate cognitive services Automate and reason over conversations that drive your business Utilize conversation data to build compliant insights Moderate and structure collaboration activities
Microsoft Graph and Communications New! https://graph.microsoft.com/app/calls Communications Programmable Voice & Video Bots Cloud Services Control calling and integrate cognitive services Enhance your Teams Bots with calling, video, and sharing Build backend apps for Calls and Meetings in Microsoft Teams
Solution Interactions – Incident Communication Chat Direct Teams Calls Teams Meeting Legacy comms IoT Facilities …
Solution Interactions – Incident Communication Partner Solution Teams Bot Existing Services (alert propagation, facility connection, analytics, etc) Call Automation Service Azure/Windows Chat Direct Teams Calls Microsoft Graph Teams Bot Calling SDK Teams Meeting Legacy comms IoT Facilities …
Demo: Teams Calling Bot with InformaCast Andrew Bybee
Programmable Voice and Video Call Control Media Multi-modal APIs and SDKs for bots with audio, video, and sharing Control calling, interactive voice response (IVR) and joining meetings Flexible access to media and intelligence Leverage Teams communications services for global reach Network Cognitive Services Communications Services
Calls and Online Meetings APIs Call Control Media Network Basic calling Remote Media Teams Group calling and Teams Meetings Direct Media PSTN Phone Calling Interactive Voice Response (IVR) Skype Skype for Business Recording
Calls and Online Meetings API Overview https://graph.microsoft.com/app/calls Call Control Interactive Voice Response (IVR) Basic calling Group calling and Teams Meetings Receive Join Play Audio Prompt Answer View Participants Capture Audio Place Add Participants Recognize DTMF Tones Transfer Mute / Unmute Set audio mixer levels Hang up Create Online Meetings
Simplifying development of real-time services for Microsoft Teams Handles State and Media Management. Perfect for getting started quickly and required real-time media stream access. t 365 Reflects the REST-ful wire protocol and OData resource model. Perfect for building stateless bots in any programming language Graph Calling Platform SDK C# Calling SDK (stateful) Graph Core SDK (stateless) .NET Real-time Media Library (optional) For Direct Media: Provides a simple "socket"-like API for the bot to send and receive media, and handles the real-time encoding and decoding of media Build directly to the flexible async REST APIs, including webhook notifications 1 Microsoft Graph Learn more about Cognitive Services Speech APIs in THR2175
Example: Answering an Incoming Call to a Bot 1) Incoming notification to the bot’s static Webhook URL for Calling Request POST/callback { "value": [ { "changeType": "created", "resource": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "resourceData": { "@odata.type" : "#microsoft.graph.call", "@odata.id": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "direction": "incoming", "source": {"@odata.type": "#microsoft.graph.identitySet"}, "target" : {"@odata.type": "#microsoft.graph.identitySet"}, "multiparty": false, "requestedModalities": [ "audio", "video" ] } } ] }
Example: Answering an Incoming Call to a Bot 2) Bot answers the call Request POSThttps://graph.microsoft.com/beta/app/calls/57DAB8B1894C409AB240BD8BEAE78896/answer Authorization: Bearer <TOKEN> Content-type: application/json { "callback": "https://contoso.com/callback", "acceptModalities": [ "audio", "video" ], "mediaConfig": { "@odata.type": "#microsoft.graph.serviceMediaConfig", "preFetchMedia": [ { "url": "https://cdn.contoso.com/prompt.wav", "id": "1D6DE2D4-CD51-4309-8DAA-70768651088E", } } } Response HTTP/1.1 202 Accepted Content-type: application/json
Example: Answering an Incoming Call to a Bot 3) Call establishing notification Request POST/callback { "value": [ { "changeType": "updated", "resource": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "resourceData": { "@odata.type" : "#microsoft.graph.call", "@odata.id": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "callState": "establishing", } } ] }
Example: Answering an Incoming Call to a Bot 4) Call established notification Request POST/callback { "value": [ { "changeType": "updated", "resource": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "resourceData": { "@odata.type" : "#microsoft.graph.call", "@odata.id": "/app/calls/57DAB8B1894C409AB240BD8BEAE78896", "callState": "established", "activeModalities": ["audio", "video"], "requestedModalities": [] } } ] }
Microsoft Graph Calling Application Permissions Sneak peek Application Permissions Service and Daemon Get access as a service Only admin can consent Permissions granted to App Learn more: https://aka.ms/ConsentAndPermissions
Putting it Together: Advanced Calling Solutions with Enghouse John Cray VP Product Management | Enghouse Interactive
Next Steps Use real-time programmable voice and video to light up collaboration Get started now - new capabilities available for developer preview! Developer Preview Links Docs: https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/calls-api-overview Samples: https://github.com/microsoftgraph/microsoft-graph-comms-samples
https://aka.ms/TeamsDeveloper https://aka.ms/TeamsDevSupport https://aka.ms/TeamsDevDocs Microsoft Teams Developer Resources
Please evaluate this sessionYour feedback is important to us! Please evaluate this session through MyEvaluations on the mobile appor website. Download the app:https://aka.ms/ignite.mobileApp Go to the website: https://myignite.techcommunity.microsoft.com/evaluations