An Azure communication platform for deploying applications across devices and platforms.
UK South is supported for this integration, so isolate the call to one linked multi-service Cognitive Services resource whose custom-subdomain endpoint exactly matches cognitive_services_endpoint, then collect ACS diagnostic logs and open an Azure support case if 400/8565 persists.
Use only the supported resource configuration
The ACS–Foundry integration supports a multi-service Cognitive Services resource, not a standalone Speech resource. It is supported in regions where Foundry is available, and UK South supports Azure Speech; therefore, an ACS resource with UK data location plus a multi-service resource in UK South is not shown as an unsupported pairing in the current documentation.^1^^2^
- In Azure portal → Communication Services resource → Cognitive Services, temporarily disconnect the standalone Speech resource and any multi-service resource not used by the request.
- Leave one supported multi-service resource connected.
- In that resource, copy its custom subdomain endpoint.
- Pass that exact endpoint as
cognitive_services_endpoint; do not use a generic regional endpoint or the endpoint belonging to another connected resource. - Place a fresh call.
This is not a retry of the RBAC work already completed; it removes ambiguity between the three connected resources and the endpoint selected at runtime. The documented prerequisites are a connected AI resource and custom subdomain.^3^
en-GB is a supported Speech locale, and it includes the required region component, so the reported event does not point to the “locale missing/invalid” condition, which uses subcode 8523 rather than 8565.^4^
What 400/8565 establishes
For transcription, Microsoft documents 400/8565 as either:
- A bad request sent to Cognitive Services.
- A request to Cognitive Services that timed out.
The same subcode is also used with different HTTP statuses for authentication, subscription, and quota failures. Consequently, 8565 alone does not expose which downstream parameter Cognitive Services rejected.^3^
Receiving TranscriptionMetadata proves that ACS reached the WebSocket. TranscriptionStarted followed by a downstream 400 indicates that this is later than initial call establishment; changing PSTN-answer handling or WebSocket connectivity is therefore unlikely to reveal the Cognitive Services rejection.
Capture the service-side evidence
Enable diagnostics before another reproduction:
- Open Communication Services resource → Monitoring → Diagnostic settings.
- Add a setting targeting a Log Analytics workspace.
- Enable:
- Operation Call Automation Logs
- Call Automation Events Summary Logs
- Call Automation Media Streaming features usage information Logs
- Reproduce once and record the UTC timestamp.
- Query by
CallConnectionId,CorrelationID, orServerCallId.
These logs expose the SDK version, operation/result status, HTTP signature, call identifiers, and transcription streaming session information.^5^
A starting Log Analytics query is:
search *
| where TimeGenerated > ago(2h)
| where tostring(CallConnectionId) == "<call-connection-id>"
or tostring(CorrelationID) == "<correlation-id>"
| project TimeGenerated, Category, OperationName,
ResultType, ResultSignature, CorrelationID,
CallConnectionId, ServerCallId, SDKVersion, Properties
| order by TimeGenerated asc
Also retain:
-
x-ms-call-correlation-idandx-ms-call-connection-idfrom the transcription WebSocket headers. - The callback event’s correlation ID.
-
X-Ms-Skype-Chain-Idfrom the API response headers, if available. - Exact UTC failure time, AI resource ID/type/region, endpoint hostname, and SDK version.
Microsoft identifies those IDs and the timestamp as the information needed to trace a Call Automation failure.^6^
If the single-resource test still returns 400/8565, submit an Azure support request under Azure Communication Services → Assistance with development with that evidence. Public diagnostics may show the failing operation but do not provide the body of ACS’s internal Cognitive Services request; support must correlate the ACS and downstream service traces.
References
- Connect Azure Communication Services with Foundry Tools
- Supported regions for Azure Speech
- Add real-time transcription into your applications - An Azure ...
- Language and Voice Support for Azure Speech - Foundry Tools
- Azure Communication Services Call Automation logs
- Troubleshooting in Azure Communication Services