Skip to content

Commit 4f7c791

Browse files
committed
Updated Troubleshooting
New PSTN troubleshooting guide and consolidated code article, edits to existing troubleshooting guide.
1 parent 63f7b34 commit 4f7c791

File tree

3 files changed

+136
-62
lines changed

3 files changed

+136
-62
lines changed
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,8 @@ For all other `ParticipantEndSubReason` codes that don't start with **560**, the
5252

5353
## Detailed information on individual error codes
5454

55-
For more information about common error codes and suggested actions, see [Troubleshooting PSTN call failures using ParticipantEndReason](./pstn-response-codes.md).
55+
For more information about common error codes and suggested actions, see [Troubleshooting call end response codes for Calling SDK, Call Automation SDK, and PSTN calls](../../troubleshooting-codes.md).
56+
57+
## Related articles
58+
59+
For more information, see [Troubleshooting in Azure Communication Services](../../troubleshooting-info.md).
Lines changed: 90 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Troubleshooting PSTN call failures using ParticipantEndReason values - Azure Communication Services
3-
description: Troubleshooting Azure Communication Services PSTN call failures using ParticipantEndReason values from 0 through 6xx.
2+
title: Troubleshooting call end response codes for Calling SDK, Call Automation SDK, and PSTN calling - Azure Communication Services
3+
description: Use call end response codes to diagnose why a call ended for Calling SDK, Call Automation SDK, and PSTN calling.
44
services: azure-communication-services
55
ms.date: 11/24/2023
66
author: slpavkov
@@ -12,17 +12,68 @@ ms.topic: troubleshooting
1212
localization_priority: Normal
1313
---
1414

15-
# Troubleshooting PSTN call failures using ParticipantEndReason
15+
# Troubleshooting call end response codes for Calling SDK, Call Automation SDK, and PSTN calls
1616

17-
This article provides troubleshooting information for various combinations of `ParticipantEndReason` and `ParticipantEndSubReason` response codes.
17+
This article describes troubleshooting call end response codes for [Calling SDK](#calling-sdk-error-codes), [Call Automation](#call-automation-sdk-error-codes), and [PSTN calling](#pstn-call-response-codes-with-participantendreason).
1818

19+
## Troubleshooting tips
1920

20-
## ParticipantEndReason 0
21+
Consider the following tips when troubleshooting certain issues:
22+
- Your application isn't receiving an `IncomingCall Event Grid` event: Make sure the application endpoint is [validated with Event Grid](../../event-grid/webhook-event-delivery.md) when creating an event subscription. The provisioning status for your event subscription is marked as succeeded if the validation was successful.
23+
- For error `The field CallbackUri is invalid`: Call Automation doesn't support HTTP endpoints. Make sure the callback URL you provide supports HTTPS.
24+
- The `PlayAudio` action doesn't play anything: Currently only Wave file (.wav) format is supported for audio files. The audio content in the wave file must be mono (single-channel), 16-bit samples with a 16,000 (16 KHz) sampling rate.
25+
- Actions on PSTN endpoints aren't working: For `CreateCall`, `Transfer`, `AddParticipant` and `Redirect` to phone numbers, you need to set the `SourceCallerId` in the action request. Unless you're using Direct routing, the source caller ID must be a phone number owned by your Communication Services resource for the action to succeed.
26+
27+
For more information about issues tracked by the product team, see [Known issues](./known-issues.md).
28+
29+
## Calling SDK error codes
30+
31+
The Azure Communication Services Calling SDK uses the following error codes to help you troubleshoot calling issues. These error codes are exposed through the `call.callEndReason` property after a call ends.
32+
33+
| Error code | Description | Action to take |
34+
| -------- | ---------------| ---------------|
35+
| 403 | Forbidden / Authentication failure. | Ensure that your Communication Services token is valid and not expired. |
36+
| 404 | Call not found. | Ensure that the number you're calling (or call you're joining) exists. |
37+
| 408 | Call controller timed out. | Call Controller timed out waiting for protocol messages from user endpoints. Ensure clients are connected and available. |
38+
| 410 | Local media stack or media infrastructure error. | Ensure that you're using the latest SDK in a supported environment. |
39+
| 430 | Unable to deliver message to client application. | Ensure that the client application is running and available. |
40+
| 480 | Remote client endpoint not registered. | Ensure that the remote endpoint is available. |
41+
| 481 | Failed to handle incoming call. | File a support request through the Azure portal. |
42+
| 487 | Call canceled, locally declined, ended due to an endpoint mismatch issue, or failed to generate media offer. | Expected behavior. |
43+
| 490, 491, 496, 497, 498 | Local endpoint network issues. | Check your network. |
44+
| 500, 503, 504 | Communication Services infrastructure error. | File a support request through the Azure portal. |
45+
| 603 | Call globally declined by remote Communication Services participant | Expected behavior. |
46+
47+
## Call Automation SDK error codes
48+
49+
The following error codes are exposed by the Call Automation SDK.
50+
51+
| Error Code | Description | Actions to take |
52+
|-- |-- |-- |
53+
| 400 | Bad request | The input request is invalid. Look at the error message to determine which input is incorrect. |
54+
| 400 | Play Failed | Ensure your audio file is WAV, 16 KHz, Mono and make sure the file url is publicly accessible. |
55+
| 400 | Recognize Failed | Check the error message. The message highlights if this failure is due to timeout being reached or if operation was canceled. For more information about the error codes and messages, see [gathering user input](../how-tos/call-automation/recognize-action.md#event-codes). |
56+
| 401 | Unauthorized | HMAC authentication failed. Verify whether the connection string used to create CallAutomationClient is correct. |
57+
| 403 | Forbidden | Request is forbidden. Make sure that you can have access to the resource you're trying to access. |
58+
| 404 | Resource not found | The call you're trying to act on doesn't exist. For example, transferring a call that has already disconnected. |
59+
| 429 | Too many requests | Retry after a delay suggested in the Retry-After header, then exponentially backoff. |
60+
| 500 | Internal server error | Retry after a delay. If it persists, raise a support ticket. |
61+
| 500 | Play Failed | File a support request through the Azure portal. |
62+
| 500 | Recognize Failed | Check error message and confirm the audio file format is valid (WAV, 16 KHz, Mono), if the file format is valid then file a support request through Azure portal. |
63+
| 502 | Bad gateway | Retry after a delay with a fresh http client. |
64+
65+
66+
## PSTN call response codes with ParticipantEndReason
67+
68+
This section provides troubleshooting information for various combinations of `ParticipantEndReason` and `ParticipantEndSubReason` response codes.
69+
70+
71+
### ParticipantEndReason 0
2172

2273
Response `ParticipantEndReason` with value 0 usually means normal call clearing and marks calls that completed without errors.
2374

2475

25-
### 560000 0 Normal call clearing
76+
#### 560000 0 Normal call clearing
2677

2778
- `ParticipantEndSubReason`: **560000**
2879
- `ParticipantEndReason`: **0**
@@ -33,7 +84,7 @@ Indicates a normal PSTN call end without errors, such as:
3384
- Call ended by media agent.
3485

3586

36-
### 540000 0 Normal call clearing
87+
#### 540000 0 Normal call clearing
3788

3889
- `ParticipantEndSubReason`: **540000**
3990
- `ParticipantEndReason`: **0**
@@ -44,12 +95,12 @@ Indicates a normal PSTN call end without errors, including:
4495
- Call ended by media agent.
4596

4697

47-
## ParticipantEndReason 4xx
98+
### ParticipantEndReason 4xx
4899

49100
Response `ParticipantEndReason` with value 4xx means that the call didn't connect.
50101

51102

52-
### 510403 403 call blocked
103+
#### 510403 403 call blocked
53104

54105
- ParticipantEndSubReason: **510403**
55106
- ParticipantEndReason: **403**
@@ -66,7 +117,7 @@ Suggested actions:
66117
- For direct routing calls, verify why your Session Border Controller disallowed the call.
67118

68119

69-
### 560403 403 call forbidden, canceled, or rejected
120+
#### 560403 403 call forbidden, canceled, or rejected
70121

71122
- ParticipantEndSubReason: **560403**
72123
- ParticipantEndReason: **403**
@@ -82,7 +133,7 @@ Suggested actions:
82133
- Double check that you used a valid phone number in the correct format. For more information about supported number formats, see <https://en.wikipedia.org/wiki/E.164>.
83134

84135

85-
### 511532 403 No ACS Resource SIP trunk configuration found
136+
#### 511532 403 No ACS Resource SIP trunk configuration found
86137

87138
- ParticipantEndSubReason: **511532**
88139
- ParticipantEndReason: **403**
@@ -94,7 +145,7 @@ Suggested actions:
94145
- Check your direct routing setup in the [Azure portal](https://portal.azure.com). For more information, see [Direct routing provisioning](../direct-routing-provisioning.md).
95146

96147

97-
### 560404 404 Phone Number not found
148+
#### 560404 404 Phone Number not found
98149

99150
- `ParticipantEndSubReason`: **560404**
100151
- `ParticipantEndReason`: **404**
@@ -110,7 +161,8 @@ Suggested actions:
110161
- Make sure the phone number belongs to the Resource you're using and that you own the Resource used for the call.
111162
- Verify that the number you're calling exists, and is assigned to valid target
112163

113-
### 511404 404 Phone Number or ACS Resource not found
164+
165+
#### 511404 404 Phone Number or ACS Resource not found
114166

115167
- `ParticipantEndSubReason`: **511404**
116168
- `ParticipantEndReason`: **404**
@@ -128,33 +180,33 @@ Suggested actions:
128180
- Make sure your Azure subscriptions isn't deleted or disabled.
129181

130182

131-
### 560408 408 The called party did not respond
183+
#### 560408 408 The called party didn't respond
132184

133185
- `ParticipantEndSubReason`: **560408**
134186
- `ParticipantEndReason`: **408**
135187

136-
Indicates that the called party did not respond to a call establishment message within the prescribed period allocated.
188+
Indicates that the called party didn't respond to a call establishment message within the prescribed period allocated.
137189

138190
Suggested actions:
139191

140-
- Double check why the called party did not respond.
192+
- Double check why the called party didn't respond.
141193
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration.
142194

143195

144-
### 500001 408 User gateway timeout
196+
#### 500001 408 User gateway timeout
145197

146198
- `ParticipantEndSubReason`: **500001**
147199
- `ParticipantEndReason`: **408**
148200

149-
Indicates that Azure Communication Services did not receive a response from the client within a specified time limit and terminated the request.
201+
Indicates that Azure Communication Services didn't receive a response from the client within a specified time limit and terminated the request.
150202

151203
Suggested actions:
152204

153-
- Double check why the called party did not respond.
205+
- Double check why the called party didn't respond.
154206
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration.
155207

156208

157-
### 531004 410 ICE connectivity checks failed
209+
#### 531004 410 ICE connectivity checks failed
158210

159211
- `ParticipantEndSubReason`: **531004**
160212
- `ParticipantEndReason`: **410**
@@ -167,7 +219,7 @@ Suggested actions:
167219
- For direct routing calls, check your Session Border Control logs and settings for ICE configuration and profile. Contact your SBC vendor for configuration help. For more information, see [List of Session Border Controllers certified for Azure Communication Services direct routing](../certified-session-border-controllers.md).
168220

169221

170-
## 560480 480 No answer
222+
#### 560480 480 No answer
171223

172224
- `ParticipantEndSubReason`: **560480**
173225
- `ParticipantEndReason`: **480**
@@ -179,12 +231,12 @@ Indicates that:
179231

180232
Suggested actions:
181233

182-
- Double check why the called party did not respond.
234+
- Double check why the called party didn't respond.
183235
- Retry the call later in case that the called party was temporary unavailable.
184236
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration.
185237

186238

187-
### 560484 484 Incomplete or invalid callee address
239+
#### 560484 484 Incomplete or invalid callee address
188240

189241
- `ParticipantEndSubReason`: **560484**
190242
- `ParticipantEndReason`: **484**
@@ -201,7 +253,7 @@ Suggested actions:
201253
- For direct routing, the SBC could cause these failures because of a missing configuration in a call transfer scenario.
202254

203255

204-
### 560486 486 Callee user was busy
256+
#### 560486 486 Callee user was busy
205257

206258
- `ParticipantEndSubReason`: **560484**
207259
- `ParticipantEndReason`: **486**
@@ -214,7 +266,7 @@ Suggested actions:
214266
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration.
215267

216268

217-
### 540487 487 Call canceled by user
269+
#### 540487 487 Call canceled by user
218270

219271
- `ParticipantEndSubReason`: **540487**
220272
- `ParticipantEndReason`: **487**
@@ -224,7 +276,7 @@ The caller terminated the call request.
224276
Suggested action is to retry the call, because the caller canceled.
225277

226278

227-
### 560487 487 Call canceled by originator
279+
#### 560487 487 Call canceled by originator
228280

229281
- `ParticipantEndSubReason`: **560487**
230282
- `ParticipantEndReason`: **487**
@@ -237,7 +289,9 @@ Indicates:
237289
Suggested action is to retry the call, because the caller canceled.
238290

239291

240-
### 560500 500 Server Internal Error
292+
### ParticipantEndReason 5xx
293+
294+
#### 560500 500 Server Internal Error
241295

242296
- `ParticipantEndSubReason`: **560500**
243297
- `ParticipantEndReason`: **500**
@@ -250,7 +304,7 @@ Suggested actions:
250304
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration, to see if your SBC caused the failure.
251305

252306

253-
## 560503 503 Unexpected server error
307+
#### 560503 503 Unexpected server error
254308

255309
- `ParticipantEndSubReason`: **560503**
256310
- `ParticipantEndReason`: **503**
@@ -268,11 +322,11 @@ Suggested actions:
268322
- For direct routing calls, check your Session Border Control logs and settings and timeouts configuration, to see if your SBC caused the failure.
269323

270324

271-
## ParticipantEndReason 603
325+
### ParticipantEndReason 603
272326

273327
Response `ParticipantEndReason` with value 603 means that the call was rejected without connecting.
274328

275-
### 560603 603 Call rejected
329+
#### 560603 603 Call rejected
276330

277331
- `ParticipantEndSubReason`: **560603**
278332
- `ParticipantEndReason`: **603**
@@ -284,4 +338,9 @@ The call was rejected for one of the following reasons:
284338
Suggested actions:
285339

286340
- If declined by the recipient, retry the call.
287-
- Ensure that you aren't exceeding the maximum number of concurrent calls allowed for your Azure Communication Services phone number. For more information, see [PSTN call limitations](../../service-limits.md#pstn-call-limitations).
341+
- Ensure that you aren't exceeding the maximum number of concurrent calls allowed for your Azure Communication Services phone number. For more information, see [PSTN call limitations](../../service-limits.md#pstn-call-limitations).
342+
343+
## Related articles
344+
345+
- [Troubleshooting in Azure Communication Services](./troubleshooting-info.md)
346+
- [Troubleshooting Azure Communication Services PSTN call failures](./telephony/troubleshooting-pstn-call-failures.md)

0 commit comments

Comments
 (0)