User Profile
Nivedipa-MSFT
Joined Oct 12, 2021
User Widgets
Recent Discussions
Re: Status during a Teams call : "in a call" only once others have joined!
Hello @HBod, Unfortunately, this is by design and there's currently no built-in setting to keep your status as "Available" when you're alone in a meeting. Microsoft treats joining a meeting as an intentional "busy" signal regardless of participant count. To ensure your idea is considered for future updates, we recommend submitting it through the Teams Feedback Portal. Feature requests are reviewed by the engineering team and may be prioritized based on various factors, including the number of requests received. If you have any additional thoughts or feedback, please feel free to share them with us. Your contributions are valuable and help improve the product! Thank you again for your valuable suggestion!20Views0likes0CommentsRe: How to add a Teams Media Bot in an online meeting.
@NasarKhan - Thanks for bringing this issue to our attention. Root Causes of the issues Issue #1 (Bot Not Visible When Joining Active Meeting): The bot does not properly negotiate media with current participants. The call establishment handshake is incomplete before the bot tries to record. Firewall or port restrictions on the Azure VM may be blocking media streams. Issue #2 (External Users Redirected to New Meeting): The bot joins using an application identity without the necessary tenant context. Without a resource account, the bot cannot interact with lobby or admission policies. External users cannot be admitted because the bot lacks the required identity and permissions. Solutions 1: Delayed Join Separate the calling webhook from the messaging endpoint in Azure Bot Service. Configure the media platform with the correct VM public IP and FQDN. Ensure required ports are open on the Azure VM: TCP 443, 8445 UDP 12332-12432 for media streams Wait for the "call established" state before starting the recording process. Verify the SSL certificate on the VM FQDN for secure signaling . 2: External User Access Create a resource account using PowerShell: Run New-CsOnlineApplicationInstance Link it to your bot’s App ID Assign an application access policy globally or to specific users. Update the bot to join meetings with the resource account identity instead of app-only authentication. Assign appropriate Teams meeting policies to the resource account for recording and lobby permissions. Please let us know if you have any other query here.15Views0likes0CommentsRe: App Validation Issue - Bot must send a proactive welcome message in personal scope
Hello @ParamZ - Thanks for bringing this issue to our attention. 1.Graph API queries may generate unexpected conversationUpdate events. Recommended Solution: Use event deduplication based on activity ID and conversation ID to avoid sending duplicate welcome messages. 2.Reading Chat History – Suggested Method: Best Practice: Save conversation references when the bot is installed, rather than polling the Graph API. Alternative: Opt for webhooks or change notifications instead of using /me/chats queries. 3.App Validation – Proper Procedure: Primary Method: Utilize on_installation_update for sending welcome messages to meet validation requirements. Fallback: Apply on_members_added_activity with deduplication as needed for special cases. References: Design and control conversation flow - Bot Service | Microsoft Learn Teams Store Validation Guidelines - Teams | Microsoft Learn Please let us know if you have any further query here.80Views1like1CommentRe: Powershell adding a existing holiday to Auto Attendant
@JFM_12 - I'm glad to hear the issue has been resolved. When you have a moment, could you please share your feedback? Your feedback is important to us. Please rate us: 🤩 Excellent 🙂 Good 😐 Average 🙁 Needs Improvement 😠 Poor37Views0likes0CommentsRe: ❓ Can't remove member from Microsoft Teams Group Chat using Graph API with Application Permission
Hello Haekal_Arif_Rozikin, The error in your screenshot—"403 Forbidden" with "InsufficientPrivileges" and "AclCheckFailed-The initiator 28:app ... is not a member of the roster in the generic thread"—means the app (28:app...) isn’t recognized as a chat member and lacks permission to remove members, even with ChatMember.ReadWrite.All application permissions. Root cause: The app isn’t listed as a participant in the chat roster, so it doesn’t have the necessary rights to manage members. Why this happens: App installation is required: For ChatMember.ReadWrite.WhereInstalled to work, the app must be added to the chat as a participant. Application permissions alone aren’t enough; roster membership is also needed. Application permissions might be limited: ChatMember.ReadWrite.All might not support removing members in every chat scenario. The Graph API may require the app to be installed or restrict member removal actions without user context. RSC (Resource-Specific Consent) permissions: RSC permissions only apply if the app is installed in the chat. If the app isn’t in the roster, RSC permissions won’t grant access. How to resolve: Install the app in the chat (recommended) When creating a chat, add the app in the installedApps section so it becomes a roster member: POST https://graph.microsoft.com/v1.0/chats Content-Type: application/json { "chatType": "group", "members": [ { "@odata.type": "#microsoft.graph.aadUserConversationMember", "roles": ["owner"], "user@odata.bind": "https://graph.microsoft.com/v1.0/users('user-id-1')" }, { "@odata.type": "#microsoft.graph.aadUserConversationMember", "roles": ["owner"], "user@odata.bind": "https://graph.microsoft.com/v1.0/users('user-id-2')" } ], "installedApps": [ { "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/YOUR-APP-ID" } ] } Try delegated permissions If application permissions don’t work, use delegated permissions with a service account that’s a chat member. Check app permissions in the manifest Verify your Teams app manifest includes the necessary RSC permissions for chat member management: "authorization": { "permissions": { "resourceSpecific": [ { "name": "ChatMember.ReadWrite.Chat", "type": "Application" } ] } } References: Create chat - Microsoft Graph v1.0 | Microsoft Learn Remove member from chat - Microsoft Graph v1.0 | Microsoft Learn Resource-specific Consent for Apps - Teams | Microsoft Learn Please let us know if you face any further issue here.1View0likes0CommentsRe: Powershell adding a existing holiday to Auto Attendant
Hello @JFM_12 - Thanks for bringing this issue to our attention. The error occurs because Import-CsOnlineAudioFile expects the -Content parameter as a byte array, but the way you're passing it may not be compatible with the cmdlet's internal processing. Fix: Replace this line: $content = [System.IO.File]::ReadAllBytes('Path\test.wav') $audioFile = Import-CsOnlineAudioFile -ApplicationId "OrgAutoAttendant" -FileName "test.wav" -Content $content With: $audioFile = Import-CsOnlineAudioFile -ApplicationId "OrgAutoAttendant" -FileName "test.wav" -Content ([System.IO.File]::ReadAllBytes('Path\test.wav')) Please let us know if you have any further query.77Views1like0CommentsRe: Issue with Teams Notification Only Chatbot(Android)
@achebrol - Thanks for bringing this issue to our attention. We’ve tested this on Android version 15 with Microsoft Teams version 2025.34.01.9, and it’s working as expected on our side. However, we are seeing a message that says, “Conversation with this bot is not supported.” Could you please share your deployed app manifest so we can test it on our end?67Views0likes0CommentsRe: Overview where a SBC is used
@JFM_12 - Thanks for bringing this issue to our attention. Yes, you can use Microsoft Teams PowerShell to find where a Session Border Controller (SBC) is used in Voice Routing and other Direct Routing configurations. Here are some useful PowerShell commands: List all SBCs registered in Teams: Get-CsOnlinePSTNGateway Find Voice Routes using a specific SBC: Replace <SBCFqdn> with your SBC’s FQDN. Get-CsOnlineVoiceRoute | Where-Object { $_.PstnGatewayList -contains "<SBCFqdn>" } List all Voice Routes and their associated SBCs: Get-CsOnlineVoiceRoute | Select-Object Name, PstnGatewayList Find Voice Routing Policies using a specific Voice Route: Replace <VoiceRouteName> with the route name found above. Get-CsOnlineVoiceRoutingPolicy | Where-Object { $_.OnlineVoiceRoutes -contains "<VoiceRouteName>" } List all PSTN Usages and their associated Voice Routes: Get-CsOnlinePstnUsage References: 1. Get-CsOnlinePSTNGateway (MicrosoftTeams) | Microsoft Learn 2. Configure call routing for Direct Routing - Microsoft Teams | Microsoft Learn28Views1like0CommentsRe: Change Greeting Message in AA
@JFM_12 - Thanks for bringing this issue to our attention. Yes, you can update only the greeting message of a Microsoft Teams Auto Attendant using PowerShell, without modifying the menu options. How to do it: Use the Teams PowerShell module (MicrosoftTeams). Retrieve the Auto Attendant object. Update the GreetingPrompt property only. Example PowerShell: # Connect to Teams Connect-MicrosoftTeams # Get the Auto Attendant $aa = Get-CsAutoAttendant -Identity "<AutoAttendantId>" # Update the greeting message (Text-to-Speech example) Set-CsAutoAttendant -Identity $aa.Identity -GreetingPrompt @{ "PromptType" = "TextToSpeech"; "TextToSpeechPrompt" = "Your new greeting message." } Replace <AutoAttendantId> with your Auto Attendant's GUID or name. This command only changes the greeting; menu options remain unchanged. If you use a recorded audio file, set PromptType to "AudioFile" and provide the file.28Views1like0Comments
Recent Blog Articles
No content to show