Recent Discussions
Teams Bluetooth Audio Stack - Headphone vs Headset Failure
Been having a strange issue since the latest update on New Teams (1st Oct 2025 updated). This only happens with Bluetooth and with Headsets like PLT Voyager Legend and Yealink BH71 and on Windows 11. Mobile phone Teams works fine and to be clear, all other apps work fine with the Headsets. Its ONLY Teams doing this, and onluy since this update - worked perfectly for years before. When my device is connected Teams is separating the Speakers as Headphone and the Mic as Headset. This now means that when using the Mic, it won't play audio through the headphone (speaker) and vica versa when using the speaker (headphone) it won't allow the Mic (headset) to be used. This is a MASSIVE regression and extemely frustrating for any mobile user. I thought this was a PLT issue, so I bought a brand new Yealink BH71 and connected it via bluetooth and it did exactly the same thing. To be clear, this was working perfectly for months and years before this latest update.12Views0likes0CommentsAzure Bot not joining meeting - Server Internal Error. DiagCode: 500#1203002.@
This problem has been bothering me for about two weeks and I haven’t found a solution yet. I’d really appreciate your help. Environment Setup 1.Development Tool: Visual Studio 2022 2.Deployment: The service is hosted on AWS. In AWS Networking, both TCP and UDP port 14217 are opened. The operating system is Windows Server 2022, and the firewall has been disabled temporarily for testing. 3.Certificate: A wildcard SSL certificate issued by Let’s Encrypt (CN = *.bottest.com, RSA-based) has been installed under LocalMachine\My certificate store. 4.Reverse Proxy: Both HTTPS and TCP traffic are forwarded through Nginx. http { server { listen 80; server_name localhost; } server { listen 443 ssl; server_name signaling.bottest.com; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://127.0.0.1:5001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } } stream { upstream dotnet_app_tcp { server 127.0.0.1:8445; } server { listen 14217 ssl; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; proxy_pass dotnet_app_tcp; } } 5. The bot’s Application Permissions have also been granted, as shown in the figure below: 6. Bot initialization var mediaPlatformSettings = new MediaPlatformSettings { ApplicationId = _botConfig.MicrosoftAppId, MediaPlatformInstanceSettings = new MediaPlatformInstanceSettings { CertificateThumbprint = _botConfig.CertificateThumbprint, // LocalMachine/My certificate-*.bottest.com-thumbprint InstanceInternalPort = 8445, InstancePublicPort = 14217, InstancePublicIPAddress = IPAddress.Parse("18.181.xx.xx"), // AWS public IP ServiceFqdn = "media.bottest.com" } }; _communicationsClient = new CommunicationsClientBuilder("IMediaSessionBot", _botConfig.MicrosoftAppId, _graphLogger) .SetAuthenticationProvider(_authProvider) .SetServiceBaseUrl(new Uri("https://graph.microsoft.com/v1.0")) .SetNotificationUrl(new Uri($"{_botConfig.PublicUrl}/api/calls")) .SetMediaPlatformSettings(mediaPlatformSettings) .SetHttpClient(httpClient) .Build(); _communicationsClient.Calls().OnIncoming += this.OnIncomingCall; _communicationsClient.Calls().OnUpdated += OnCallUpdated; } 7.join meeting var scenarioId = Guid.NewGuid(); var meetingDetails = MeetingUrlParser.Parse(meetingUrl); var chatInfo = new ChatInfo { ThreadId = meetingDetails.ThreadId }; var meetingInfo = new JoinMeetingIdMeetingInfo { JoinMeetingId = _botConfig.MeetingID, Passcode = _botConfig.MeetingPasscode, AdditionalData = new Dictionary<string, object> { { "allowConversationWithoutHost" , true }, }, }; ILocalMediaSession mediaSession = this.CreateLocalMediaSession(); var joinParams = new JoinMeetingParameters(chatInfo, meetingInfo, mediaSession) { TenantId = tenantId, AllowGuestToBypassLobby = true }; try { _activeCall = await _communicationsClient.Calls().AddAsync(joinParams, scenarioId).ConfigureAwait(false); _logger.LogInformation($"Successfully initiated the add-participant request, Call ID:: {_activeCall.Id}"); } catch (ODataError ex) { Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff} Failed to initiate the call: .ex={ex.ToString()}"); throw; } private ILocalMediaSession CreateLocalMediaSession(Guid mediaSessionId = default(Guid)) { var mediaSession = this._communicationsClient.CreateMediaSession( new AudioSocketSettings { StreamDirections = StreamDirection.Recvonly, SupportedAudioFormat = AudioFormat.Pcm16K, ReceiveUnmixedMeetingAudio = true, EnableAudioHealingForUnmixed = true }, new VideoSocketSettings { StreamDirections = StreamDirection.Inactive }, mediaSessionId: mediaSessionId); return mediaSession; } 8.call back(SetNotificationUrl(new Uri($"{_botConfig.PublicUrl}/api/calls"))) State at first attempt:Notification payload: {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"updated","resource":"/app/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceUrl":"/communications/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceData":{"@odata.type":"#microsoft.graph.call","state":"establishing","chatInfo":{"@odata.type":"#microsoft.graph.chatInfo","threadId":"19:meeting_MzIyMTYzOTMtMGYyNi00OTE2LTg2NjUtYmU4ZDlhYmY2ZmRj@thread.v2"},"meetingInfo":{"@odata.type":"#microsoft.graph.joinMeetingIdMeetingInfo","joinMeetingId":"4130864187312","passcode":"P7GY7Vv2","allowConversationWithoutHost":true},"callChainId":"b50a00dc-74da-42b0-966a-e88dea7e6087"}}]} State at second attempt:Notification payload: {"@odata.type":"#microsoft.graph.commsNotifications","value":[{"@odata.type":"#microsoft.graph.commsNotification","changeType":"deleted","resource":"/app/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceUrl":"/communications/calls/07004d80-44b9-479e-bb43-2d5983e3f235","resourceData":{"@odata.type":"#microsoft.graph.call","state":"terminated","resultInfo":{"@odata.type":"#microsoft.graph.resultInfo","code":500,"subcode":1203002,"message":"Server Internal Error. DiagCode: 500#1203002.@"},"chatInfo":{"@odata.type":"#microsoft.graph.chatInfo","threadId":"19:meeting_MzIyMTYzOTMtMGYyNi00OTE2LTg2NjUtYmU4ZDlhYmY2ZmRj@thread.v2"},"meetingInfo":{"@odata.type":"#microsoft.graph.joinMeetingIdMeetingInfo","joinMeetingId":"4130864187312","passcode":"P7GY7Vv2","allowConversationWithoutHost":true},"callChainId":"b50a00dc-74da-42b0-966a-e88dea7e6087"}}]} Here, an error occurred: 500 #1203002. 9. Based on the packet capture, the issue seems to be related to interactions with /MediaProcessor/v1. It’s unclear whether this is due to a protocol mismatch or a certificate mismatch, as shown in the figure below: 10.Database schema (DDL) dependencies required by the bot <ItemGroup> <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.23.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.24.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.4.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Core" Version="1.20.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.3.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.18.1" /> <PackageReference Include="Microsoft.AspNetCore" Version="2.1.3" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" /> <PackageReference Include="Microsoft.Bot.Builder.Integration.AspNet.WebApi" Version="4.22.1" /> <PackageReference Include="Microsoft.CognitiveServices.Speech" Version="1.46.0" /> <PackageReference Include="Microsoft.Graph.Communications.Calls.Media" Version="1.2.0.10563" /> <PackageReference Include="Microsoft.Graph.Communications.Core" Version="1.2.0.10563" /> <PackageReference Include="Microsoft.Graph.Core" Version="3.1.3" /> <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" /> <PackageReference Include="Microsoft.ServiceFabric.AspNetCore.HttpSys" Version="3.2.187" /> <PackageReference Include="Microsoft.Skype.Bots.Media" Version="1.31.0.180" /> <PackageReference Include="Microsoft.Kiota.Http.HttpClientLibrary" Version="1.3.3" /> </ItemGroup> 11.The certificate has also been uploaded to Azure, as shown in the figure:73Views0likes2CommentsPremium Planner major flaw: Transfer to other groups does not work
I have just realized today that it is not possible to transfer premium planners to other groups. There is the "copy plan" feature but NOT the "select a destination group" feature. Probably a miss from the product team, Should not be too hard to fix.7Views0likes0CommentsTeams meeting that I created will not let me join
I have created several video meetings within Teams. When I click on the invitation link within my Outlook calendar or the "join" button I am brought to Teams. I confirm that my camera is on and that I am going to use my computer audio. When I click the "join" button I get the message - "when the meeting starts, we’ll let people know you’re waiting”. Mu invited guest get the same message and are waiting on their end as well. I created the meeting. I would assume that I could join the meeting and that I would be notified when they are queued up to be admitted to the meeting. Anyone have an idea what is going on here?10KViews1like7CommentsHow to flip mirror image that others are seeing
On teams, I am seeing right image but the other person/people on call are seeing mirror image or flipped image. This makes my face look bigger on one side and is cause of constant embarrassment. Zoom and Skype have toggle button to switch how other may be seeing you. Please share how I can change how others are viewing my video. I believe this is a basic function and should be there somewhere . Else, we would have to change the use of teams to zoom for entire organization.Solved578KViews4likes25CommentsApp availability - exclude a group
Hi all, I have a use case to have an app be available on Teams for everyone, except a group of people. I know you can update app availability in Teams admin center, but it doesn't give me the option to exclude the group and make it available for all other users. Is there a way to achieve this? Thanks in advance!57Views0likes1CommentIssue with Deep Link to Meeting Side Panel in Microsoft Teams
Dear Team, I hope this message finds you well. We are currently experiencing an issue with the deep link to the meeting side panel in Microsoft Teams. Despite following the documentation provided at the link below, the functionality is not working as expected: https://learn.microsoft.com/en-gb/microsoftteams/platform/concepts/build-and-test/deep-link-workflow?tabs=teamsjs-v2#deep-link-to-meeting-side-panel When attempting to use the deep link, we encounter the following issue: Instead of opening our custom application in the side panel, the meeting window opens with the chat displayed on the right-hand side. And in the background, I am getting the below error. We would appreciate your assistance in resolving this matter, as the deep link is a critical component for our application integration within Microsoft Teams. Thank you for your prompt attention to this issue. Best regards, Sukesh PK907Views1like5CommentsDeleting AutoAttendants and CallQueue
Hello There are commands to delete AutoAttendants and CallQueue. But I get allways an error "Can't remove the Auto Attendant. Auto Attendant is still referenced by Endpoints Ids" Even if all Ressource Accounts are deleted a day before. These Auto Attendants and CallQueues are configured as Calling ID's When I manually delete them after removing there also an error that call queue time was to low. Is it possible to force the deletion. Regards JFM_12138Views0likes6CommentsMicrosoft is removing the ability to dial 0 during a personal greeting in Teams Phone voicemail
An FYI for those of you using Teams Phone: We recently learned, due to customer complaints, that Microsoft is rolling out an update to the "voicemail bot" in Microsoft Teams Phone that takes personal voicemail messages. This new version of the bot has removed the ability for customers to press 0 to follow the configured opt-out (transfer) option for the mailbox (i.e. operator, call queue, etc). Pressing zero is ignored and does not interrupt the greeting. I'm specifically referring to setting VoicemailWithTransferOption with an associated TransferTarget. We see this as a customer service disaster that is not aligned with industry conventions or customer service best practice. We have pushed back strongly on Microsoft's decision making but they say that only a handful of customers have complained. This new bot is 70% rolled out to tenants as we speak. Microsoft customer support has associated our tenants to the "old bot" for the time being, but saying they are unsure how long they can maintain this as the rollout continues.385Views1like3Comments[Quick~Guide]How do I! get help with Comcast email?
We assist Comcst users facing email login issues, password errors, or message failures. Our team offers quick troubleshooting. Get reliable Comcast email assistance now by going on~>>87> <72 > <20> <1> <36> <31 > — available always to help with your email problems.7Views0likes0CommentsOpen an Existing Group Chat via URL or Deep Link
I am attempting to open an existing Group Chat via a URL or Deep Link. I've read info about creating a chat via a URL but not navigating to an existing Chat. We plan to reuse an existing group chat room and would like to provide users a URL via an email to join or simply view the discussion from the existing Group Chat. Can this be done? How do i determine or construct the URL of the Group Chat Room?32KViews1like9CommentsAdaptive Card embedded audio doesn't play
Hi Everyone I have an adaptive card that was working until this week. I've got a workflow that sends an email when a voicemail is received, then saves the voicemail in SharePoint and sends the audio file embedded in an adaptive card in Teams. The code isn't complicated, I've just put the sharing link as a variable and then it's more or less like this: "type": "Media", "sources": [ { "mimeType": "audio/wav", "url": "@{variables('VoicemailLink')})" } ] It was working last week, and I didn't change anything. I've put a quick workaround in to put a hyperlink to the voicemail in the text of the adaptive card, and that seems fine so the variable link is working and the saved audio file is working, it's just not embedding the file nicely into the card. It opens up in a browser window instead. Has there been an update to adaptive cards or Teams that might break this sort of thing? Thanks for your help.27Views0likes1CommentI am the meeting organizer, but Teams will not allow me to access Meeting Options
Hello, I am a teacher and I schedule my lessons on Teams. Today, I encountered a new issue. First, let me clarify that I am logged in with the same account on the app and the browser and I have gone through cleaning my browser history several times. So, here is the problem: I scheduled three new meetings. I am the organizer of all three meetings (same account). I was able to change the Meeting Options of the first meeting, but when I clicked on Meeting Options for the other two and I got a message that reads: Only meeting organizers can make changes Your account, xxxx, doesn't have permissions to make changes. I tried accessing the meetings through Teams (app and browser) and through Outlook, but I get the same message. All help will be greatly appreciated. Thanks!185KViews2likes38CommentsVisibility of adaptive card element depending on value of a ChoiceSet?
So I 've been looking at how to show and hide elements on the card and I think I've worked out that it's not reactive to when the data changes. So can you have elements hide based on a value of a choiceset?8KViews0likes6CommentsTeams Adaptive card Textrun is rendering markdown
I am making bot alarm message using adaptivecard. It is important for me to print out the user name and email accurately. So I tried to use TextRun to prevent markdowns from being supported.(https://adaptivecards.io/explorer/TextRun.html) But there is a problem that textrun is being marked down on ios mobile, tablet. this is my adaptive card json. {"type":"AdaptiveCard","$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.3","body":[{"type":"TextBlock","text":"**Microsoft Entra ID**","size":"Large","wrap":true},{"type":"TextBlock","text":"user 5","size":"Medium","wrap":true},{"type":"RichTextBlock","inlines":[{"type":"TextRun","text":"- ``Use `code` in your Markdown file.(~~hspark~~@aaa.co.kr)\n","size":"Small"},{"type":"TextRun","text":"- + First item(test'email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- ** test12041432(test'''email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- > test12041435(test''email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- 1. adsfsdafsdf *{}*asdfadsf*_~ark~(test'''email address removed for privacy reasons)","size":"Small"}]},{"type":"TextBlock","text":"user 5","size":"Medium","wrap":true},{"type":"RichTextBlock","inlines":[{"type":"TextRun","text":"- ``Use `code` in your Markdown file.``(~~hspark~~@aaa.co.kr)\n","size":"Small"},{"type":"TextRun","text":"- + First item(test'email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- ** test12041432(test'''email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- > test12041435(test''email address removed for privacy reasons)\n","size":"Small"},{"type":"TextRun","text":"- 1ASDFASDFSADFASD asdfadsfsd *{}*adsfasdf*_~ark~(test'''email address removed for privacy reasons)","size":"Small"}]}]} I used \ to escape markdown on textblock, but there was a phenomenon where \ for escape was output together on mobile (Android, ios) even though it was properly rendered on pc. i want to know: Is there any way to output properly without markdown on adaptive card? PC, mobile, table should be supported in all environments. and I think it's a bug that textrun is rendered as a markdown in ios environment so please solve it. that's adaptive card json rendering exapmle pc: ios mobile: and escape \ example: mobile: pc:725Views0likes3CommentsTools in Teams AI Library
Hello Team, In LLM we use tools like DynamicTool, DynamicStructuredTool to determine when to call which function and with what parameters. How to do the same using Teams AI Library? My Use Case: I want to find the intent from the user query and based on that intent further call the respective function/tool to perform respective action. How can I achieve this using Teams AI Library? I went through the samples mentioned here: https://github.com/microsoft/teams-ai/blob/main/js/samples/04.ai-apps/ but couldn't find anything similar.1.4KViews0likes11CommentsMeeting Agenda permissions sometimes wok
Once a week or so I create a number of internal Teams meetings generally with the same handful of individuals. Before I send it, I add a few agenda items. Unfortunately, at least half of the time, I am the only one with permissions (come meeting time someone may point it out). Having to go through, reopen each meeting, go through Shared Locations to open the loop's web page, clicking on Share, then Loop Component, then Settings, then People you choose, and then reentering the same attendees is very time consuming. I believe I am creating the meetings the same way each time, but I can't figure out why permissions are set sometimes and not others. Am I doing something wrong? Any ideas other than a reoccurring meeting?318Views1like3Comments
Events
Register today as spaces are limited.
REGISTRATION FOR THESE EVENTS ARE NOW CLOSED
REGISTER HERE
We’re entering a new era where collaboration and communication are being reimagined through the ...
Monday, Oct 06, 2025, 12:00 AM PDTIn-Person
0likes
1Attendee
0Comments
Recent Blogs
- Hey Microsoft Tech Community, we’re back with the latest updates to Microsoft Teams! This month we’re excited to spotlight many new features, like Threads in Channels which lets you reply direct...Sep 30, 20251.3KViews0likes1Comment
- 2 MIN READWe’re excited to announce the next phase of enhancements to the Best practice configurations dashboard in Teams admin center with three new scenarios that further empower administrators to optimize t...Sep 22, 2025599Views1like0Comments