Azure Communication Services Skill

SkillCommunication

Expert knowledge for Azure Communication Services development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when building ACS calling/chat apps, SMS/email senders, Teams interop, Rooms/Job Router, or WhatsApp flows, and other Azure Communication Services related development tasks. Not for Azure AI Bot Service (use azure-bot-service), Azure Notification Hubs (use azure-notification-hubs), Azure Web PubSub (use azure-web-pubsub), Azure SignalR Service (use azure-signalr-service).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Azure Communication Services Skill skill

What this skill tells your AI

The instructions your AI receives, as published by microsoftdocs/agent-skills in skills/azure-communication-services/SKILL.md and read by ahel’s review.

This skill provides expert guidance for Azure Communication Services. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.

How to Use This Skill

IMPORTANT for Agent: Use the Category Index below to locate relevant sections. For categories with line ranges (e.g., L35-L120), use read_file with the specified lines. For categories with file links (e.g., [security.md](security.md)), use read_file on the linked reference file

IMPORTANT for Agent: If metadata.generated_at is more than 3 months old, suggest the user pull the latest version from the repository. If mcp_microsoftdocs tools are not available, suggest the user install it: Installation Guide

This skill requires network access to fetch documentation content:

  • Preferred: Use mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.
  • Fallback: Use fetch_webpage with query string from=learn-agent-skill&accept=text/markdown. Returns Markdown.

Category Index

CategoryLinesDescription
TroubleshootingL37-L111Diagnosing and fixing ACS calling, SMS, email, Teams, PSTN, audio/video, device, network, and SDK issues, plus collecting logs, UFD events, and diagnostics for support.
Best PracticesL112-L137Best practices for ACS calling, SMS, email, IDs, auth, Teams interop, network/quality, spam/opt-out compliance, and production-ready virtual visit and meeting experiences.
Decision MakingL138-L154Guidance for planning ACS solutions: Teams interop in gov clouds, PSTN/phone number options, pricing/licensing, and migration from Twilio Video/Chat to ACS Calling/Chat.
Architecture & Design PatternsL155-L160Designing scalable contact center solutions with ACS and patterns for integrating ACS with ExpressRoute for secure, private connectivity and network architecture.
Limits & QuotasL161-L228Limits, quotas, and regional rules for ACS calling, phone numbers, SMS, email sending, Teams interop, media features, and emergency/toll‑free/direct routing constraints.
SecurityL229-L254Security, auth, and compliance for ACS: encryption, identities, HMAC, caller ID, email/SMTP, Teams interop, captions/transcription, emergency calling, and secure webhooks/Rooms.
ConfigurationL255-L332Configuring monitoring, logging, metrics, and insights for ACS (chat, voice/video, calls, SMS, email), plus setup for Teams interop, direct routing, UI Library options, and SMS/email domain/sender settings.
Integrations & Coding PatternsL333-L480End-to-end patterns for integrating ACS calling, chat, SMS, email, Rooms, Job Router, WhatsApp, Teams, OpenAI/bots, and UI libraries, including media control, events, push, and telephony interop.
DeploymentL481-L485Infrastructure and deployment guidance for Azure Communication Services: direct routing requirements and automating ACS/Email resource provisioning with PowerShell.

Troubleshooting

TopicURL
Use Job Router operational logs for diagnosticshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/analytics/logs/router-logs
Troubleshoot ACS email custom domain configuration issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/email/email-domain-configuration-troubleshooting
Monitor logs and metrics for ACS Teams external usershttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/guest/monitor-logs-metrics
Troubleshoot common Teams Phone extensibility issues with ACShttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-troubleshooting
Resolve common Azure SMS questions and issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/sms/sms-faq
Troubleshoot ACS direct routing outbound call failureshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/monitoring-troubleshooting-telephony/troubleshoot-outbound-calls
Fix ACS direct routing TLS certificate and SIP OPTIONS issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/monitoring-troubleshooting-telephony/troubleshoot-tls-certificate-sip-options
Troubleshoot ACS PSTN call failures using result codeshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/troubleshooting-pstn-call-failures
Collect troubleshooting information for Azure Communication Serviceshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/troubleshooting-info
Use ACS Call Diagnostics to investigate call issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/call-diagnostics
Diagnose Azure Communication Services call quality issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/call-diagnostics
Review known issues in ACS native calling SDKshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/known-issues-native
Review known issues for ACS WebJS calling SDKhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/known-issues-webjs
Diagnose and fix ACS web VoIP call quality issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/troubleshoot-web-voip-quality
Use User Facing Diagnostics to detect ACS call issueshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/user-facing-diagnostics
Troubleshoot ACS UI Library calls and collect debug infohttps://learn.microsoft.com/en-us/azure/communication-services/how-tos/ui-library-sdk/troubleshooting
Troubleshoot Azure-linked WhatsApp Business accountshttps://learn.microsoft.com/en-us/azure/communication-services/quickstarts/advanced-messaging/whatsapp/whatsapp-business-account-faq
Resolve audio delay issues in ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/delay-issue
Fix echo problems in ACS audio callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/echo-issue
Troubleshoot low incoming audio volume in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/incoming-audio-low-volume
Resolve one-way audio from faulty microphones in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/microphone-issue
Fix one-way audio when microphone permission is deniedhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/microphone-permission
Handle one-way audio caused by network issues in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/network-issue
Diagnose ACS audio issues using UFD and device checkshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/overview
Diagnose poor audio quality in ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/poor-quality
Resolve one-way audio from speaker issues in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/audio-issues/speaker-issue
Fix ACS calls ending with 410/3112 network errorshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/call-setup-issues/call-ends-with-410-3112
Resolve long ACS call setup timeshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/call-setup-issues/call-setup-takes-too-long
Fix ACS CallAgent creation failures in Calling SDKhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/call-setup-issues/failed-to-create-call-agent
Troubleshoot missing incoming call notifications in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/call-setup-issues/no-incoming-call-notifications
Identify stages of ACS call setup issueshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/call-setup-issues/overview
Troubleshoot slow askDevicePermission responses in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/device-issues/ask-device-permission-api-takes-too-long
Fix missing detailed microphone list in ACS Calling SDKhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/device-issues/no-enumerated-microphone-list
Fix missing detailed speaker list in ACS Calling SDKhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/device-issues/no-enumerated-speaker-list
Resolve missing permission prompts in ACS device accesshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/device-issues/no-permission-prompt
Understand ACS device and permission issues in callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/device-issues/overview
Apply general troubleshooting strategies for ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/general-troubleshooting-strategies/overview
Report unresolved ACS calling issues effectivelyhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/general-troubleshooting-strategies/report-issue
Interpret ACS Calling SDK error messages and codeshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/general-troubleshooting-strategies/understanding-error-codes
Collect verbose browser logs for ACS troubleshootinghttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-browser-verbose-log
Collect ACS call information for support diagnosishttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-call-info
Enable and manage ACS WebJS client logginghttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-client-logs
Capture diagnostic audio recordings for ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-diagnostic-audio-recordings
Gather Windows audio event logs for ACS issueshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/how-to-collect-windows-audio-event-log
Resolve cameraFreeze UFD and frozen video in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/camera-freeze
Interpret cameraPermissionDenied UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/camera-permission-denied
Fix cameraStartFailed UFD when ACS video won’t starthttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/camera-start-failed
Diagnose cameraStartTimedOut UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/camera-start-timed-out
Handle cameraStoppedUnexpectedly UFD in ACS videohttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/camera-stopped-unexpectedly
Fix capturerStartFailed UFD for ACS screen sharinghttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/capturer-start-failed
Investigate capturerStoppedUnexpectedly UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/capturer-stopped-unexpectedly
Investigate microphoneMuteUnexpectedly UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/microphone-mute-unexpectedly
Handle microphoneNotFunctioning UFD in ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/microphone-not-functioning
Interpret microphonePermissionDenied UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/microphone-permission-denied
Understand networkReceiveQuality UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/network-receive-quality
Diagnose networkReconnect UFD and ICE failures in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/network-reconnect
Handle networkRelaysNotReachable UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/network-relays-not-reachable
Understand networkSendQuality UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/network-send-quality
Fix noMicrophoneDevicesEnumerated UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/no-microphone-devices-enumerated
Interpret noNetwork UFD events in ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/no-network
Resolve noSpeakerDevicesEnumerated UFD in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/no-speaker-devices-enumerated
Resolve screenshareRecordingDisabled UFD on macOShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/screenshare-recording-disabled
Use speakingWhileMicrophoneIsMuted UFD to aid usershttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/references/ufd/speaking-while-microphone-is-muted
Troubleshoot call end response codes across ACS SDKshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/troubleshooting-codes
Avoid createView errors when disposing ACS video rendererhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/application-disposes-video-renderer
Diagnose ACS createView timeout video errorshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/create-view-timeout
Mitigate poor ACS video quality on bad networkshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/network-poor
Recover when remote ACS video becomes unavailablehttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/remote-video-becomes-unavailable
Handle unavailable video subscription errors in ACShttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/subscribing-video-not-available
Troubleshoot frozen sender video in ACS callshttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/video-is-frozen
Address high CPU impact on ACS video qualityhttps://learn.microsoft.com/en-us/azure/communication-services/resources/troubleshooting/voice-video-calling/video-issues/video-sender-has-high-cpu-load

Best Practices

TopicURL
Apply best practices for ACS Calling SDK usagehttps://learn.microsoft.com/en-us/azure/communication-services/concepts/best-practices
Implement answer machine detection with DTMF logichttps://learn.microsoft.com/en-us/azure/communication-services/concepts/call-automation/answer-machine-detection
Apply best practices for Communication Services user access tokenshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/credentials-best-practices
Manage Azure email opt-outs for B2C deliveryhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/email/email-optout-management
Improve Azure email sender reputation and complaintshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/email/sender-reputation-managed-suppression-list
Govern Teams meeting experience for ACS virtual visitshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/virtual-visits/govern-meeting-experience
Optimize user experience for ACS–Teams virtual appointmentshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/virtual-visits/plan-user-experience
Choose and use Raw ID string identifiers in ACShttps://learn.microsoft.com/en-us/azure/communication-services/concepts/raw-id-use-cases
Follow Azure SMS and email messaging policieshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/sms/messaging-policy
Fill Azure SMS short code program brief correctlyhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/sms/program-brief-guidelines
Prepare 10DLC brand and campaign registration detailshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/sms/ten-digit-long-code-guidelines
Complete Azure toll-free SMS verification applicationhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/sms/toll-free-verification-guidelines
Avoid ACS phone numbers being flagged as spamhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/telephony/prevent-spam-flag
Handle known Call Automation limitations and behaviorshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/known-issues-call-automation
Manage and improve ACS call quality in productionhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/manage-call-quality
Apply network requirements for ACS voice and video qualityhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/network-requirements
Apply ACS-specific UX best practices for callinghttps://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/user-experience
Handle emergency calls in Teams Phone Extensibilityhttps://learn.microsoft.com/en-us/azure/communication-services/quickstarts/tpe/teams-phone-extensibility-emergency-call
Optimize ACS audio calling in Azure Virtual Desktop VDIhttps://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/calling-from-virtual-desktop-infrastructure
Optimize ACS video layout and resolution on webhttps://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/optimizing-video-placement
Implement a production-ready ACS authentication backend (hero sample)https://learn.microsoft.com/en-us/azure/communication-services/samples/trusted-auth-sample
Prepare devices for ACS-powered virtual appointmentshttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/virtual-visits/extend-teams/precall

Decision Making

TopicURL
Use Azure Advisor recommendations for ACS optimizationhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/advisor-overview
Use ACS Teams interop in government cloud environmentshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/guest/government-cloud
Use ACS Teams user features in government cloud environmentshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/teams-user/government-cloud
Map Teams Phone features to ACS SDK capabilitieshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-capabilities
Choose PSTN connectivity options and estimate cost for Teams Phone extensibilityhttps://learn.microsoft.com/en-us/azure/communication-services/concepts/interop/tpe/teams-phone-extensibility-connectivity-cost
Decide on migration from Twilio Video to ACS Callinghttps://learn.microsoft.com/en-us/azure/communication-services/concepts/migrate-to-azure-communication-services
Choose ACS phone number types and regionshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/numbers/number-types
Understand pricing model for ACS Teams interop scenarioshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/pricing/teams-interop-pricing
Plan ACS PSTN usage with pricing and billing ruleshttps://learn.microsoft.com/en-us/azure/communication-services/concepts/pstn-pricing
Determine Teams license requirements for ACS Teams interophttps://learn.microsoft.com/en-us/azure/communication-services/quickstarts/eligible-teams-licenses
Design and integrate custom event platforms with Teams and ACShttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/events-playbook
Migrate Twilio Video implementations to ACS Callinghttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/migrating-to-azure-communication-services-calling
Migrate Twilio Conversations Chat to ACS Chathttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/migrating-to-azure-communication-services-chat

Architecture & Design Patterns

TopicURL
Architect contact center solutions with Azure Communication Serviceshttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/contact-center
Architect ACS with ExpressRoute for private connectivityhttps://learn.microsoft.com/en-us/azure/communication-services/tutorials/integrate-express-route

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
740
Forks
119
Last commit
Sep 2026

ahel review

  • S4info
    community integration — published by microsoftdocs, not azure

Automated review, not a security audit. Ruleset v1.

Advanced
Catalog kind
skill
Gateway key
azure-communication-services
Source
github.com/microsoftdocs/agent-skills