Aller au contenu principal

Teams Recording Troubleshooting

This guide helps you diagnose and resolve common issues with Microsoft Teams recording in Aiphoria Focus.

🔍 Quick Diagnostics

Is Recording Working?

Check these indicators:

  • ✅ Recording bot joins Teams calls automatically
  • ✅ Users see the bot participant in their call roster
  • ✅ Recordings appear in Focus portal within 10-15 minutes
  • ✅ Transcripts are generated successfully

If any of these are failing, follow the relevant troubleshooting section below.


Common Issues

🚫 Recording Bot Not Joining Calls

Symptoms:

  • Bot doesn't appear in Teams calls
  • No recordings appearing in Focus
  • Users don't see the bot participant

Possible Causes & Solutions:

1. User Not in Recording Group

Check: Is the user added to the security group created during setup?

Solution:

1. Open Azure Entra ID (formerly Azure AD)
2. Navigate to Groups
3. Find your recording group (e.g., "FocusRecordedUsers")
4. Check if the user is a member
5. Add user if missing
6. Wait 15 minutes (unless you have a large estate) for policy propagation
Policy Propagation Time

Teams policies can take up to 24 hours to apply to users after group membership changes. For immediate testing, try removing and re-adding the user to the group.

2. Policy Not Assigned to User

Check: Verify the compliance recording policy is assigned

PowerShell Command:

Connect-MicrosoftTeams
Get-CsOnlineUser -Identity "user@domain.com" | Select-Object TeamsComplianceRecordingPolicy

Expected Output: Should show your policy name (e.g., "YourCompanyComplianceRecordingPolicy")

Solution if Blank:

# Check group policy assignment
Get-CsGroupPolicyAssignment -PolicyType TeamsComplianceRecordingPolicy

# If missing, re-run the setup script or manually assign:
New-CsGroupPolicyAssignment -GroupId "your-group-id" -PolicyType TeamsComplianceRecordingPolicy -PolicyName "YourPolicyName" -Rank 1

3. Bot Application Not Properly Synced

Check: Verify bot application instance is synced

PowerShell Command:

Connect-MicrosoftTeams
Get-CsOnlineApplicationInstance | Where-Object {$_.DisplayName -like "*Focus*" -or $_.DisplayName -like "*Recording*"}

Solution:

# Re-sync the bot (replace with your bot's ObjectId)
Sync-CsOnlineApplicationInstance -ObjectId "your-bot-object-id"

Check: Verify the recording bot app has admin consent

Solution:

  1. Go to Azure Portal > Entra ID > Enterprise Applications
  2. Search for "Focus" or your bot name
  3. Check if the application exists
  4. If missing, re-do admin consent from setup script

⚠️ Bot Joins But Recording Fails

Symptoms:

  • Bot appears in call
  • No recording saved to Focus
  • Recording shows as failed in Focus

Possible Causes & Solutions:

1. Network/Firewall Issues

Check: Ensure required URLs and ports are accessible

Required Endpoints:

*.aiphoria.net (HTTPS/443)
*.workflow.aiphoria.net (HTTPS/443)
*.microsoft.com (HTTPS/443)
*.teams.microsoft.com (HTTPS/443)

Solution: Work with your IT team to whitelist these domains

2. Bot Service Configuration Error

Check: Verify bot is correctly linked to policy

PowerShell Command:

Connect-MicrosoftTeams
Get-CsTeamsComplianceRecordingPolicy -Identity "Tag:YourPolicyName" | Select-Object -ExpandProperty ComplianceRecordingApplications

Expected: Should show your bot's ObjectId

Solution if Missing:

# Link bot to policy (replace with your values)
New-CsTeamsComplianceRecordingApplication -Parent "Tag:YourPolicyName" -Id "your-bot-object-id"

3. Focus Tenant Configuration Issue

Solution: Contact Aiphoria Support with:

  • Your tenant ID
  • Time of failed recording
  • User who attempted the call
  • Any error messages from Focus portal

🔄 Recordings Delayed or Missing

Symptoms:

  • Bot joins successfully
  • Recording doesn't appear in Focus for 30+ minutes
  • Some recordings never appear

Possible Causes & Solutions:

1. Processing Queue Backlog

Normal Processing Time: 5-15 minutes after call ends

If Delayed:

  • Check Focus portal status page
  • Contact support if delays exceed 1 hour

2. Recording Format/Codec Issues

Check: Call was recorded in supported format

Supported:

  • Standard Teams audio/video calls
  • Teams meetings
  • 1:1 and group calls

Not Supported:

  • PSTN calls (may require additional licensing)
  • Some third-party call integrations

3. Call Duration Too Short

Minimum Duration: Calls under 30 seconds may not be recorded

Solution: Ensure calls last at least 1 minute for reliable recording


🔐 Permission & Access Issues

Symptoms:

  • Setup script fails
  • Cannot create bot or policy
  • "Insufficient permissions" errors

Required Permissions:

For Setup Script:

  • Global Administrator OR
  • Teams Administrator + Groups Administrator + Cloud Application Administrator

PowerShell Command to Check Roles:

Connect-MgGraph
Get-MgUserMemberOf -UserId "your-admin@domain.com" | Select-Object AdditionalProperties

Solution:

  1. Verify you have required roles in Azure Entra ID
  2. Re-run setup script with appropriate admin account
  3. Use Global Admin if role-based approach fails

🔌 PowerShell Script Issues

Symptoms:

  • Script fails to connect
  • Module import errors
  • Authentication loops

Module Version Conflicts

Solution:

# Uninstall all versions
Get-Module -ListAvailable Microsoft.Graph.* | Uninstall-Module -Force
Get-Module -ListAvailable MicrosoftTeams | Uninstall-Module -Force

# Reinstall latest versions
Install-Module Microsoft.Graph -Force -AllowClobber
Install-Module MicrosoftTeams -Force -AllowClobber

# Restart PowerShell and re-run setup script

WAM Authentication Issues

Symptoms: Stuck at "Sign in to your account" window

Solution:

# The script already sets this, but you can manually set:
$env:AZURE_IDENTITY_DISABLE_CP1 = "true"

# Then re-run authentication
Connect-MicrosoftTeams

Execution Policy Errors

Error: "Running scripts is disabled on this system"

Solution:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

🔧 Verification Commands

Check Complete Configuration

Run these commands to verify your full setup:

# Connect to services
Connect-MicrosoftTeams
Connect-MgGraph -Scopes "Group.Read.All","Organization.Read.All"

# 1. Check bot exists and is synced
$bot = Get-CsOnlineApplicationInstance | Where-Object {$_.DisplayName -like "*Focus*"}
Write-Host "Bot UPN: $($bot.UserPrincipalName)"
Write-Host "Bot ObjectId: $($bot.ObjectId)"
Write-Host "Bot ApplicationId: $($bot.ApplicationId)"

# 2. Check policy exists
$policy = Get-CsTeamsComplianceRecordingPolicy | Where-Object {$_.Identity -like "*Focus*" -or $_.Identity -like "*Compliance*"}
Write-Host "`nPolicy: $($policy.Identity)"
Write-Host "Enabled: $($policy.Enabled)"

# 3. Check bot is linked to policy
$policyApps = Get-CsTeamsComplianceRecordingPolicy -Identity $policy.Identity | Select-Object -ExpandProperty ComplianceRecordingApplications
Write-Host "`nLinked Bots: $($policyApps.Id)"

# 4. Check group exists
$group = Get-MgGroup -Filter "displayName eq 'FocusRecordedUsers'"
Write-Host "`nGroup: $($group.DisplayName)"
Write-Host "Group ID: $($group.Id)"

# 5. Check group members
$members = Get-MgGroupMember -GroupId $group.Id
Write-Host "Member Count: $($members.Count)"

# 6. Check policy assignment to group
$groupPolicy = Get-CsGroupPolicyAssignment -PolicyType TeamsComplianceRecordingPolicy | Where-Object {$_.GroupId -eq $group.Id}
Write-Host "`nGroup Policy Assignment: $($groupPolicy.PolicyName)"
Write-Host "Rank: $($groupPolicy.Rank)"

# 7. Check a specific user's policy (replace with actual user)
$userPolicy = Get-CsOnlineUser -Identity "user@domain.com" | Select-Object TeamsComplianceRecordingPolicy
Write-Host "`nUser Policy: $($userPolicy.TeamsComplianceRecordingPolicy)"

📊 Diagnostic Checklist

Use this checklist to systematically diagnose issues:

  • Bot Created: Application instance exists in tenant
  • Bot Synced: Bot ApplicationId is correct and synced
  • Policy Created: Compliance recording policy exists
  • Bot Linked: Bot is linked to policy
  • Flags Set: Convenience recording flags configured (optional)
  • Group Created: Security group exists
  • Group Assigned: Group assigned to policy
  • Users Added: Target users are members of group
  • Admin Consent: Bot app has admin consent granted
  • Entra Sync: Entra sync app has admin consent granted
  • Network Access: Required URLs accessible from network
  • User Policy: User shows correct policy when checked
  • Policy Propagated: 24+ hours passed since group membership changed

🚨 When to Contact Support

Contact Aiphoria Support if:

  • You've followed all troubleshooting steps and issue persists
  • You see error codes in the Focus portal
  • Setup script fails with unclear errors
  • Recordings worked previously but stopped
  • You need help with complex multi-tenant scenarios

Information to Provide:

  • Tenant ID and domain
  • Bot ObjectId and ApplicationId
  • Policy name
  • Affected user(s)
  • Timeline of when issue started
  • Screenshots of any errors
  • Results from verification commands above

Contact Support:

Still suck, got a question, we are always happy to help:


📚 Additional Resources