microsoftgraph / microsoftgraph/microsoft-graph-comms-samples

SetMediaPlatformSettings() Failed with SEHException

Open
#841 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
253
Forks
275
Avg merge
1d 5h
Merged PRs (30d)
1

Description

Describe the issue
The Media Platform fails to initialize, causing the entire application to halt.

Code Snippet

/* Build client */
var builder = new CommunicationsClientBuilder(_appOptions.Value.Name, _appOptions.Value.Id, _graphLogger);
builder.SetAuthenticationProvider(_authProvider);
Debug.Assert(!string.IsNullOrEmpty(_options.Value.NotificationUrl));
builder.SetNotificationUrl(new Uri(_options.Value.NotificationUrl));
Debug.Assert(!string.IsNullOrWhiteSpace(_options.Value.CertificateThumbprint));
var certificate = GetCertificate(_options.Value.CertificateThumbprint);
var mediaPlatformSettings = new MediaPlatformSettings() {
    MediaPlatformInstanceSettings = new() {
        Certificate = certificate,
        InstanceInternalPort = _options.Value.InstanceInternalPort,
        InstancePublicIPAddress = IPAddress.Any,
        InstancePublicPort = _options.Value.InstancePublicPort,
        ServiceFqdn = _options.Value.ServiceFqdn,
    },
    ApplicationId = _appOptions.Value.Id,
    MediaPlatformLogger = _mediaPlatformLogger,
};
builder.SetMediaPlatformSettings(mediaPlatformSettings);
builder.SetServiceBaseUrl(new Uri(PlaceCallEndpointUrl));
_clinet = builder.Build();
_clinet.OnNotificationQueued += OnNotificationQueued;
_clinet.OnNotificationProcessed += OnNotificationProcessed;
_clinet.OnNotificationException += OnNotificationException;

Expected behavior
Execute without error.

Graph SDK (please complete the following information):

  • Target Framework: net8.0-windows
  • Target Platform: x64
  • C++ Redistributable: x64 14.44.35211
  • Microsoft.Graph.Communications.Client: 1.2.0.15382
  • Microsoft.Graph.Communications.Calls.Media: 1.2.0.15382
  • Microsoft.Skype.Bots.Media: 1.31.0.225-preview

Call ID
N/A

Logs

[17:00:01 INF] User profile is available. Using 'C:\Users\***\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest. <s:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Created a new Aria trace listener with token ***-***-***-***-***-***-*** <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Setting MediaAgents platform log level to Information <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Setting MediaApiLogLevel to Warning <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Setting AvMP log level to Error <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Attempting to apply the UnifiedLogging configuration: UnifiedLoggingConfiguration: [ IsEnabled: False ScenarioStrings:  ] <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Setting UnifiedLogging Info: [isEnabled: False] [ScenarioStrings: ] <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Logger initialized for application ID ***-***-***-***-***. Logging configuration: LoggingConfiguration: [ MediaAgentsPlatformLogLevel: Information; MediaApiLogLevel: Warning; MediaProcessorLogLevel: Error; AriaLoggingConfiguration: AriaLoggingConfiguration: [ AriaTenantToken: ***-***-***-***-***-***-***; AriaTraceEventName: SkypeMediaBotsTraces; SplitAriaTracesByLevel: True; DisableAriaTracing:  ]; UnifiedLoggingConfiguration: UnifiedLoggingConfiguration: [ IsEnabled: False ScenarioStrings:  ] ] <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Whitelist config value changed: cipnoam.api.mpaas.trafficmanager.net,intnoam.api.mpaas.trafficmanager.net,dognoam.api.mpaas.trafficmanager.net,prdnoam.api.mpaas.trafficmanager.net,prdapac.api.mpaas.trafficmanager.net,prdemea.api.mpaas.trafficmanager.net,prd00apac.mpaas.trafficmanager.net,prd00noam.mpaas.trafficmanager.net,prd00emea.mpaas.trafficmanager.net,mediapaas-api-test-01-wus.cloudapp.net,ucapnoam.api.mpaas.trafficmanager.net,mediapaas-api-apac.pub.ngcmtls.com,mediapaas-api-aus.pub.ngcmtls.com,mediapaas-api-dog.pub.ngcmtls.com,mediapaas-api-emea.pub.ngcmtls.com,mediapaas-api-int.pub.ngcmtls.com,mediapaas-api-noam.pub.ngcmtls.com,mediapaas-api-test.pub.ngcmtls.com,mediapaas-api-prod.gov.ngcmtls.us,mediapaas-api-prod.dod.ngcmtls.us,mediapaas-api.pub.ngcmtls.com,mediapaas-api-prd.pub.ngcmtls.com,mediapaas-api-mp.pub.ngcmtls.com,mediapaas-api-mp.dod.ngcmtls.us,mediapaas-api-mp.gov.ngcmtls.us,mediapaas-api-mp.ngcmtls.cn,mediapaas-api-mp.teams.azclient.eaglex.ic.gov,mediapaas-api-mp.teams.azclient.microsoft.scloud <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] IssuerChainList changed: [ameroot,AME G1 TLS RSA 2048 SHA256 2024 CUS CA 07],[ameroot,AME G1 TLS RSA 2048 SHA256 2024 EUS2 CA 07],[ameroot,AME G1 TLS RSA 2048 SHA256 2024 EUS2EUAP CA 07],[ameroot,AME G1 TLS RSA 2048 SHA256 2024 WCUS CA 07],[ameroot,AME G1 TLS RSA 2048 SHA256 2024 WUS2 CA 07],[ameroot,AME INFRA CA 01],[ameroot,AME Infra CA 02],[ameroot,AME Infra CA 03],[ameroot,AME Infra CA 04],[ameroot,AME Infra CA 05],[ameroot,AME Infra CA 06],[Baltimore CyberTrust Root,MSFT BALT RS256 CA],[DigiCert Global Root CA,DigiCert SHA2 Secure Server CA],[DigiCert Global Root CA,DigiCert TLS Hybrid ECC SHA384 2020 CA1],[DigiCert Global Root CA,DigiCert TLS RSA SHA256 2020 CA1],[DigiCert Global Root G2,DigiCert Global G2 TLS RSA SHA256 2020 CA1],[DigiCert Global Root G2,Microsoft Azure RSA TLS Issuing CA 03],[DigiCert Global Root G2,Microsoft Azure RSA TLS Issuing CA 04],[DigiCert Global Root G2,Microsoft Azure RSA TLS Issuing CA 07],[DigiCert Global Root G2,Microsoft Azure RSA TLS Issuing CA 08],[DigiCert Global Root G2,MSFT RS256 CA-1],[DigiCert Global Root G3,Microsoft Azure ECC TLS Issuing CA 03],[DigiCert Global Root G3,Microsoft Azure ECC TLS Issuing CA 04],[DigiCert Global Root G3,Microsoft Azure ECC TLS Issuing CA 07],[DigiCert Global Root G3,Microsoft Azure ECC TLS Issuing CA 08],[Entrust Root Certification Authority - G2,Entrust Certification Authority - L1K],[Entrust Root Certification Authority - G2,Entrust Certification Authority - L1M],[Microsoft ECC Root Certificate Authority 2017,Microsoft Azure ECC TLS Issuing CA 03],[Microsoft ECC Root Certificate Authority 2017,Microsoft Azure ECC TLS Issuing CA 04],[Microsoft ECC Root Certificate Authority 2017,Microsoft Azure ECC TLS Issuing CA 07],[Microsoft ECC Root Certificate Authority 2017,Microsoft Azure ECC TLS Issuing CA 08],[Microsoft ECC Root Certificate Authority 2017,Microsoft ECC TLS Issuing AOC CA 01],[Microsoft ECC Root Certificate Authority 2017,Microsoft ECC TLS Issuing AOC CA 02],[Microsoft ECC Root Certificate Authority 2017,Microsoft ECC TLS Issuing EOC CA 01],[Microsoft ECC Root Certificate Authority 2017,Microsoft ECC TLS Issuing EOC CA 02],[Microsoft RSA Root Certificate Authority 2017,Microsoft Azure RSA TLS Issuing CA 03],[Microsoft RSA Root Certificate Authority 2017,Microsoft Azure RSA TLS Issuing CA 04],[Microsoft RSA Root Certificate Authority 2017,Microsoft Azure RSA TLS Issuing CA 07],[Microsoft RSA Root Certificate Authority 2017,Microsoft Azure RSA TLS Issuing CA 08],[Microsoft RSA Root Certificate Authority 2017,Microsoft RSA TLS Issuing AOC CA 01],[Microsoft RSA Root Certificate Authority 2017,Microsoft RSA TLS Issuing AOC CA 02],[Microsoft RSA Root Certificate Authority 2017,Microsoft RSA TLS Issuing EOC CA 01],[Microsoft RSA Root Certificate Authority 2017,Microsoft RSA TLS Issuing EOC CA 02] <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Comparing bots version 1.31.0.0225 and minimum supported version 0.0.0.0 <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Platform has 24 cores <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Initializing MP with Service FQDN: ***, Instance public port: ***, Instance internal port: *** <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] UseMPAzureAppHostPerfCounterProvider is false. Discarding MP perf counters <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] MediaPerf is not registered: no key found at SYSTEM\CurrentControlSet\Services\MediaPerf\Performance <s:***.***.MediaPlatformLogger>
[17:00:14 INF] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] UseMPAzureAppHostPerfCounterProvider is false. Not checking for perf counter registration <s:***.***.MediaPlatformLogger>
[17:00:32 FTL] Host terminated unexpectedly. <s:>
Status Code: 0
Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Media platform failed to initialize
 ---> System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at Microsoft.Rtc.Internal.Media.EngineAPI.CreateEngineApiInstance(IntPtr& pEngine, String pQualifier, Boolean pEnableAudioDevices, Boolean pEnableVideoDevices, Boolean pEnableHealth, RtpSystemConfig pSystemConfig, RtpSystemPriority pSystemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.<InnerInitialize>b__149_0()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.ExecuteUnderMonitor[T,O](T objectToAcquireMonitor, Func`1 f)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.InnerInitialize()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.<>c__DisplayClass35_0.<.ctor>b__0()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.ExecuteUnderMonitor[T,O](T objectToAcquireMonitor, Func`1 f)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal..ctor(RtpPlatform platform, String traceQualifier, Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig, RtpSystemPriority systemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatform..ctor(String traceQualifier, Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig, RtpSystemPriority systemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatform..ctor(Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig)
   at Microsoft.Rtc.MPService.MediaStackPlatform..ctor(Boolean enableHealth, Boolean enableAudioDevices, Boolean enableVideoDevices)
   at Microsoft.Rtc.MPService.MediaStackFactory.CreateMediaPlatform()
   at Microsoft.Rtc.MPService.MPPlatform.get_MediaPlatform()
   at Microsoft.Rtc.Internal.MediaProcessor.WebAPI.DynamicCapacityEstimatorFromStack..ctor(IMPHostLogger logger, MPHealthManagerSettings healthSettings, IMpServiceHostMetricsFactory metricsLogger, IWebApiSettings webApiSettings)
   at Microsoft.Rtc.Internal.MediaProcessor.WebAPI.MPHealthManager.Initialize(MPHealthManagerSettings settings, Boolean enableCPUPerfCounterMonitor)
   at Microsoft.Rtc.Internal.MediaProcessor.WebAPI.MediaProcessorHost..ctor(MediaProcessorHostSettings settings, IMPHostLogger logger, IMPHealthManager healthManager, IMPServiceCounterProvider perfProvider, IMpServiceHostMetricsFactory mpServiceHostMetricsFactory, IRateTracker contextRateTracker)
   at Microsoft.Rtc.Internal.MediaProcessor.WebAPI.WebApiStartup.ConfigureContainerBase(IUnityContainer container)
   at Microsoft.Rtc.MPService.Internal.NetCoreBootstrap.AspNetCoreStartup.ConfigureContainer(IUnityContainer container)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureContainerBuilder.InvokeCore(Object instance, Object container)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.ConfigureContainerImpl[TContainer](HostBuilderContext context, TContainer container)
   at Microsoft.Extensions.Hosting.HostBuilder.InitializeServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at Microsoft.Rtc.MPService.Internal.NetCoreBootstrap.MPAzureHttpAppHostNetCore.RunWebServer(String localBaseAddress, String publicBaseAddress)
   at Microsoft.Rtc.MPService.Internal.MPAzureAppHost.InitializeHttp(String localBaseAddress, String publicBaseAddress, IWebApiSettings webApiSettings, IMPServiceCounterProvider perfCounterProvider, IMPLogger logger, DelegatingHandler authorizationHandler, X509Certificate2 certificate, ICustomCertificateValidator certificateValidator)
   at Microsoft.Skype.Bots.Media.MPAzureAppHostWrapper.Initialize(String publicRoleInstanceFQDN, X509Certificate2 certificate, MPServiceEventDelegate eventDelegate, GetTrustedServersDelegate getTrustedServersDelegate, String alternateConfigFilePath, IMPServiceCounterProvider perfCounterProvider, IMPLogger mpLogger, Boolean enableMediaStackPerConferenceTracing, HttpSettings httpSettings, ICustomCertificateValidator customCertificateValidator)
   at Microsoft.Skype.Internal.Bots.Media.InternalMediaPlatform.Initialize(MediaPlatformSettings settings, IConfigurationManager configurationManager, Boolean isTest)
   at Microsoft.Skype.Bots.Media.MediaPlatform.Initialize(MediaPlatformSettings settings, IConfigurationManager configManager, Boolean isTest)
   at Microsoft.Skype.Bots.Media.MediaPlatform.Initialize(MediaPlatformSettings settings)
   at Microsoft.Graph.Communications.Calls.Media.MediaCommunicationsClientBuilderExtensions.SetMediaPlatformSettings(ICommunicationsClientBuilder statefulClientBuilder, MediaPlatformSettings mediaSettings)
   --- End of inner exception stack trace ---
   at Microsoft.Graph.Communications.Calls.Media.MediaCommunicationsClientBuilderExtensions.SetMediaPlatformSettings(ICommunicationsClientBuilder statefulClientBuilder, MediaPlatformSettings mediaSettings)
   at ***.***.Services.BotServices.BotService..ctor(IRequestAuthenticationProvider authProvider, IOptions`1 appOptions, IOptions`1 options, IGraphLogger graphLogger, IMediaPlatformLogger mediaPlatformLogger, ILogger`1 logger, IServiceProvider serviceProvider) in D:\***\***\Services\BotServices\BotService.cs:line 87
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at ***.***.Program.Main(String[] args) in D:\***\***\Program.cs:line 13

Additional context
I am resuming an old project that was running well a year ago. It uses .NET 8.0 with Microsoft.Skype.Bots.Media version 1.27.0.2-alpha, together with Microsoft.Graph.Communications packages version 1.2.0.10563.
A couple of days ago, when I ran the project as is, I found that the ASP.NET Core server launched successfully, including the Media Platform, but when I requested the bot to join a meeting, an SEHException was thrown. The exception looks like this:

[17:24:11 DBG] Joining a meeting at https://teams.microsoft.com/l/meetup-join/***. This call will have a scenario ID of ***-***-***-***-***. <s:***.***.Services.BotServices.BotService>
[17:24:12 ERR] [SkypeBotsMediaPlatform][AppId:***-***-***-***-***][***] Caught exception in GetMediaStackClientEcsSettings: System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at Microsoft.Rtc.Internal.Media.EngineAPI.CreateEngineApiInstance(IntPtr& pEngine, String pQualifier, Boolean pEnableAudioDevices, Boolean pEnableVideoDevices, Boolean pEnableHealth, RtpSystemConfig pSystemConfig, RtpSystemPriority pSystemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.<InnerInitialize>b__149_0()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.ExecuteUnderMonitor[T,O](T objectToAcquireMonitor, Func`1 f)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.InnerInitialize()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.<>c__DisplayClass35_0.<.ctor>b__0()
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal.ExecuteUnderMonitor[T,O](T objectToAcquireMonitor, Func`1 f)
   at Microsoft.Rtc.Internal.Media.RtpPlatformInternal..ctor(RtpPlatform platform, String traceQualifier, Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig, RtpSystemPriority systemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatform..ctor(String traceQualifier, Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig, RtpSystemPriority systemPriority)
   at Microsoft.Rtc.Internal.Media.RtpPlatform..ctor(Boolean enableAudioDevices, Boolean enableVideoDevices, Boolean enableHealth, RtpSystemConfig systemConfig)
   at Microsoft.Rtc.MPService.MediaStackPlatform..ctor(Boolean enableHealth, Boolean enableAudioDevices, Boolean enableVideoDevices)
   at Microsoft.Rtc.MPService.MediaStackFactory.CreateMediaPlatform()
   at Microsoft.Rtc.MPService.MPPlatform.get_MediaPlatform()
   at Microsoft.Skype.Internal.Bots.Media.Helper.GetRtpPlatform()
   at Microsoft.Skype.Bots.Media.MPAzureAppHostWrapper.GetMediaStackClientEcsSettings() <s:***.***.MediaPlatformLogger>

So, I thought the SDK might have changed, so I updated to the versions listed in the previous section. Nothing else was changed, and I ran it again, but this time my ASP.NET Core server failed to launch. The problem occurred around the SetMediaPlatformSettings() call. I’ve included its log in a previous section. I tried several intermediate versions as well — the error behavior varied, but none of them succeeded. I can see that all these failures encountered an error in CreateEngineApiInstance(), but no details were provided, so I’m not sure what went wrong. I am running my server app with Admin privileges, and the internal port is not in use. Ngrok TCP tunnel is used. Please help, thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the SetMediaPlatformSettings call in the supplied snippet and trace the reported stack from MediaStackFactory.CreateMediaPlatform to EngineAPI.CreateEngineApiInstance. Reproduce the failure with the listed target framework, x64 platform, package versions, and configuration; done means media platform initialization completes without the SEHException.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.