microsoftgraph / microsoftgraph/microsoft-graph-comms-samples
MediaPlatform not opening UDP ports after CommunicationsClient.Build() - Application-Hosted Media on VM
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 253
- Forks
- 275
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 1
Description
Environment:
OS: Windows Server (Azure VM)
.NET Framework: 4.7.2
Package: Microsoft.Graph.Communications.Calls.Media v1.2.0-beta.9995
Package: Microsoft.Skype.Bots.Media v1.27.0.2-alpha
Deployment: Standalone VM (not Azure Cloud Services)
Issue:
I'm attempting to deploy the PolicyRecordingBot sample on a Windows VM for Teams compliance recording with application-hosted media. The bot successfully:
Receives incoming call webhooks from Teams
Authenticates requests
Creates IMediaSession objects via Client.CreateMediaSession()
Calls ICall.AnswerAsync(mediaSession)
However, MediaPlatform never opens UDP ports for RTP audio. Specifically:
No UDP ports listening on 8445 (configured InstanceInternalPort)
No UDP ports in range 50000-50019 (expected RTP range)
netstat -ano -p UDP shows no media-related ports
Teams call connects briefly then fails (no audio path established)
Configuration:
csharpvar mediaPlatformSettings = new MediaPlatformSettings
{
MediaPlatformInstanceSettings = new MediaPlatformInstanceSettings
{
CertificateThumbprint = "...",
InstanceInternalPort = 8445,
InstancePublicIPAddress = IPAddress.Parse("x.x.x.x"),
InstancePublicPort = 8445,
ServiceFqdn = "bot.example.com"
},
ApplicationId = "..."
};
builder.SetMediaPlatformSettings(mediaPlatformSettings);
var client = builder.Build(); // No errors thrown
Additionally:
CommunicationsClient builds successfully without exceptions
No MediaPlatform property is accessible via reflection on the client object
Client.CreateMediaSession() returns valid IMediaSession objects with AudioSocket != null
But actual UDP socket binding never occurs
Certificate is valid and bound to port 9442 (signaling works)
NSG rules allow UDP 8445 and 50000-50019
Questions:
Does MediaPlatform require explicit .Start() call that's missing from current SDK versions?
Is there additional native DLL initialization required beyond the NuGet packages?
Are there known compatibility issues with VM deployment (vs Azure Cloud Services)?
How can I verify MediaPlatform internal state or get diagnostic logs?
Is this a known issue for Microsoft.Graph.Communications.Calls.Media: 1.2.0-beta.9995 and Microsoft.Skype.Bots.Media: 1.27.0.2-alpha not working anymore on new deployments?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with CommunicationsClient.Build(), MediaPlatformSettings, and Client.CreateMediaSession(), then compare the configured ports with netstat -ano -p UDP on the Windows VM. Reproduce the missing UDP bindings and determine whether initialization, native packages, VM deployment, or the listed package versions explain the failure. Done means documenting the verified cause and the supported setup or diagnostic evidence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- audio-video-rtc, cloud, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100