Microsoft Teams Calling Bot - Incoming Calls Answered Successfully but No Realtime Audio / Media Issue

merve yolcu 0 Reputation points
2026-07-16T12:55:33.1+00:00

Dear Microsoft Support Team,

I am developing a Microsoft Teams Calling Bot using the Microsoft Graph Communications Calling SDK together with Azure OpenAI Realtime.

We are experiencing an issue where the bot successfully answers incoming calls, but the expected realtime media/audio flow does not work correctly after the call is established.

Application Information

  • App ID: [Removed PII]
  • Tenant ID:  [Removed PII]

Environment

  • Microsoft Teams Calling Bot
  • Microsoft Graph Communications Calling SDK
  • Azure OpenAI Realtime
  • ASP.NET Core (.NET)
  • Node.js Voice Bridge

Observed Behavior

  1. Microsoft Graph sends the incoming call notification successfully.
  2. The bot receives the notification.
  3. A media session is created.
  4. AnswerAsync completes successfully.
  5. The Voice Bridge connects successfully.
  6. Azure OpenAI Realtime connects successfully and the session is created.
  7. However, the expected realtime audio/media flow does not function correctly after the call is answered.

Relevant Call IDs

  •  [Removed PII]
  •  [Removed PII]

The access token includes permissions such as:

  • Calls.AccessMedia.All
  • Calls.Initiate.All
  • Calls.InitiateGroupCall.All
  • Calls.JoinGroupCallAsGuest.All
  • TeamsActivity.Send
  • TeamsResourceAccount.Read.All

Based on the application logs, the following operations complete successfully:

  • Incoming call notification
  • Media session creation
  • AnswerAsync
  • Voice Bridge connection
  • Azure OpenAI Realtime connection
  • Realtime session creation

Could you please help us determine whether there are any known issues, configuration requirements, or diagnostics related to the Microsoft Teams Calling Platform or Graph Communications SDK that could explain this behavior?

If additional logs, correlation IDs, or diagnostic information are required, I would be happy to provide them.

Thank you for your assistance.

Kind regards, MerveDear Microsoft Support Team,

I am developing a Microsoft Teams Calling Bot using the Microsoft Graph Communications Calling SDK together with Azure OpenAI Realtime.

We are experiencing an issue where the bot successfully answers incoming calls, but the expected realtime media/audio flow does not work correctly after the call is established.

Application Information

  • App ID:  [Removed PII]
  • Tenant ID:  [Removed PII]
  • Environment
  • Microsoft Teams Calling Bot
  • Microsoft Graph Communications Calling SDK
  • Azure OpenAI Realtime
  • ASP.NET Core (.NET)
  • Node.js Voice Bridge

Observed Behavior

  1. Microsoft Graph sends the incoming call notification successfully.
  2. The bot receives the notification.
  3. A media session is created.
  4. AnswerAsync completes successfully.
  5. The Voice Bridge connects successfully.
  6. Azure OpenAI Realtime connects successfully and the session is created.
  7. However, the expected realtime audio/media flow does not function correctly after the call is answered.

Relevant Call IDs

  •  [Removed PII]
  •  [Removed PII]

The access token includes permissions such as:

  • Calls.AccessMedia.All
  • Calls.Initiate.All
  • Calls.InitiateGroupCall.All
  • Calls.JoinGroupCallAsGuest.All
  • TeamsActivity.Send
  • TeamsResourceAccount.Read.All

Based on the application logs, the following operations complete successfully:

  • Incoming call notification
  • Media session creation
  • AnswerAsync
  • Voice Bridge connection
  • Azure OpenAI Realtime connection
  • Realtime session creation

Could you please help us determine whether there are any known issues, configuration requirements, or diagnostics related to the Microsoft Teams Calling Platform or Graph Communications SDK that could explain this behavior?

If additional logs, correlation IDs, or diagnostic information are required, I would be happy to provide them.

Thank you for your assistance.

Kind regards,
Merve

Azure AI Bot Service
Azure AI Bot Service

An Azure service that provides an integrated environment for bot development.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Christos Panagiotidis 3,301 Reputation points
    2026-07-17T08:59:50.4733333+00:00

    AnswerAsync succeeding confirms the signaling path, but it does not prove that the media path is established. I would isolate the Teams-to-.NET leg before troubleshooting the OpenAI or Node.js bridge.

    Subscribe to the audio socket's media-received event as soon as the media session is created, then log the media-session state, socket state, frame count, and timestamps. If no frames arrive, the issue is between Teams and the Graph media endpoint.

    For application-hosted media, verify that the workload runs on a supported Windows Server host in Azure, not App Service, and uses a current Microsoft.Graph.Communications.Calls.Media package. The instance also needs a directly reachable public IP and public media port. Check that MediaPlatformSettings matches the real NAT, DNS, and certificate configuration: internal port, public port, instance public IP, ServiceFqdn, and certificate thumbprint. The certificate hostname must match and the certificate must be installed correctly. Also confirm that the answer declares audio as both send and receive.

    If frames arrive but the bridge stays silent, validate the format at the handoff. Teams audio is 16 kHz, 16-bit PCM in 20 ms frames (640 bytes). Keep the Graph media socket in .NET and forward normalized PCM to Node explicitly. A useful isolation test is to echo received frames back to Teams; if echo works, the fault is after the Graph media socket.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.