microsoft-graph-comms-samples
microsoft-graph-comms-samples copied to clipboard
.Net Core for Microsoft.Graph.Communications.Calls.Media
We build our applications in .Net Core 3.1 . How to reference the Microsoft.Graph.Communications.Calls.Media and Microsoft.Skype.Bots.Media ?
I also am interested in this. I tried running a .Net Core 3.1 app with these dlls but I get errors when trying to initialize the media platform. The errors I get are errors loading various system dlls.
Is there a way to use these in a .net core 3.1 app?
@stefan2410 @jsweiler Hi folks, An app-hosted real-time media bot (using the Microsoft.Skype.Bots.Media API) must use the classic .NET Framework; .NET core is not supported. We cannot offer a time frame right now of if/when that might change. https://docs.microsoft.com/en-us/microsoftteams/platform/bots/calls-and-meetings/requirements-considerations-application-hosted-media-bots
@ssulzer The problem is that MS strongly recommends to develop new code in .Net Core 3.1 (LTS) and the architecture of .Net Core applications is different and the performance is superb for back-end solutions such as the Bots we are talking. How to build a new product with 5 years old code, when the developers learn and work only in .Net Core ? And the problem is only that the Microsoft.Skype.Bots.Media API is incompatible because it has an old reference in System.Threading.Tasks.Dataflow. For the Worker Role and the .Net Core applications, there are examples how to do it, from other MS developers.
Hi @stefan2410 The issue concerns more than the System.Threading.Tasks.Dataflow library; the Microsoft.Skype.Bots.Media library has other dependencies that .NET core does not provide. There is some work in-progress now that will help enable us to support .NET core/.NET 5 in the future. Of course we want to support .NET core, but it will take some time to get there. Thanks.
@ssulzer Just one thought. The .Net Core applications can run only in Windows server. Like the WPF and Winforms in .Net Core 3.1. they run only in windows. When we are talking about real-media bots, in our case, we include not only recording , also IVR, contact centers, etc.
I am fine if there would still be a dependency on Windows but it would be nice if our projects could target .Net Core. It's good to hear that there's work being done on this.
I'm also interested - Just want to add support to this!
thanks everyone.
Any updates on this after .Net 5 release?
How long is it going to take to have this working on .Net 5?
The ticket has been open for almost a year now and nothing is happening point I find it very embarrassing for Microsoft that everything is lagging behind in important parts such as teams and in communication such as Sip, and it's a big problem to deploy the ancient code in Azure because in Azure's new resource manager concept, the old projects no longer run and could not deployed. when do you deliver a new, up-to-date code that runs on the current basis specified by Microsoft ?
@AHComp I've got an end to end working using the Cloud Service (extended support) resource that is ARM deployable, while it's not .NET Core/ cross-platform it does make it easier to manage.
@kieronlanning It can't be cross-platform in any case because of th Skype.Media, which requires Windows Server and Media Foundation. But the update in .Net 5 is very important because we need to use modern libraries and features. @ssulzer is there a roadmap?
@stefan2410 Yeah, that requirement has been painful. We did investigate Windows Containers too, but they're not supported either due to the hardware access requirements.
We have updated to .NET Framework 4.8 (which supports .NET Standard 2.0 - .NET 5 is Standard 2.1), but that's the limit. While we use the .NET 5 Tool chain for building, we can't progress higher.
No concrete roadmap or ETA to share yet regarding Microsoft.Skype.Bots.Media support for .NET core/.NET 5 (but work is in-progress on this).
Really hoping that support for .NET 5 comes soon. Meanwhile I have created a StarterBot on ASP.NET Core 2.1 project targeting net48. It is mostly based on AudioVideoPlaybackBot but without any of its functionality. All it does is log message for every video, audio and screen share events. Its meant to a template to get started with creating new bot that needs these functionality. This sample works exactly like any other asp.net core project so you can host it on Kestrel. The other samples were either on Service Fabric or Work roles which are both quite aged technology. Its also quite easy to debug it locally (no more Azure Compute emulator). Once I have documented it I will raise a PR here. https://github.com/ankitbko/microsoft-graph-comms-samples/tree/aspnetcore/Samples/V1.0Samples/StarterBotSamples
@ankitbko, as a user also ,I would say that your effort is very nice, but we can "debug it locally (no more Azure Compute emulator)", as it is now, making the WorkerRole startup project (console application in.Net Framework). with minor changes in AzureConfiguration (another class LocalConfiguration?) . and without Emulator, you would need at least 4 cores to run the Skype.Media. (with emulator can work with 2 cores in debugging) Of course, "Fabric or Work roles which are both quite aged technology" are Required in production. Otherwise you would need your load balancing service in case that you have many VM instances.
@stefan2410 Yup you can debug the WorkerRole project locally as well. When I first started learning about Media Calling bot couple of days ago I felt like I am back in 2015 😆. It has been ages since I had to touch Worker Role project. I didn't see any benefit of sticking to it. I am too used to ASP.NET Core. Also they are not really "required" for production. There is already an example with AKS if you want a scalable architecture. I haven't explored if the bot will work in App Service.
@ankitbko AKS can support Windows Servers? because if you want to play anything with Media Platform, you need windows and media.Foundation. AppService does not work definitely. You said before that you can debug it without emulator. I simply mentioned that this is not an issue of ASP Net Core. We can do it even now. There are other serious issues that we need the .Net 5.
@stefan2410 Yes AKS supports Windows nodes. You can find the sample here https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/V1.0Samples/AksSamples/teams-recording-bot
The doc folder in that sample has learnings and some good documentation for this.
No concrete roadmap or ETA to share yet regarding Microsoft.Skype.Bots.Media support for .NET core/.NET 5 (but work is in-progress on this).
Hi @ssulzer any update on this comment from from nearly a year ago?
@mosoftwareenterprises Sorry, no useful update to share. The SDK port to .NET Core is still in-progress. I hope we can ship it by end of this year.
If we are not able to use skype.bot .media in .net core then is there any other way to use in place of skype. bot. media in.net core.
@ssulzer any updates on the "end of this year" timeframe?
@decker405 It won't be end of this year, but we are getting closer. Right now, our current ETA is April/May timeframe. We are targeting .NET6.
Appreciate the update @ssulzer
Thanks @ssulzer ! Very appriated utdate! Please prioritize this since it has been sinking us for a while now.
Hi @ssulzer, is the April/May ETA still happening or do you expect delays?
@roberto-gianisella @martenekblad @decker405 Currently we are still on track for an April or (more likely) May release. I'll update this thread as we get closer. Thanks!
May is coming fast. Any updates to planned release date?
Earth to Microsoft. mayday the flight from Mars to Earth will take longer than your migration. It's been almost 3 years now and now release date ?