Skip to content

Commit e2038e0

Browse files
committed
edit pass: quality-and-diagnostics
1 parent 7ee21c5 commit e2038e0

File tree

5 files changed

+192
-386
lines changed

5 files changed

+192
-386
lines changed
Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Troubleshooting PSTN call failures - Azure Communication Services
3-
description: How to troubleshoot PSTN call failures by logging and viewing call codes.
2+
title: Troubleshoot PSTN call failures - Azure Communication Services
3+
description: Learn how to troubleshoot PSTN call failures by logging and viewing call codes.
44
services: azure-communication-services
55
ms.date: 11/24/2023
66
author: slpavkov
@@ -10,49 +10,44 @@ manager: aakanmu
1010
audience: ITPro
1111
ms.topic: troubleshooting
1212
---
13-
# Troubleshooting Azure Communication Services PSTN call failures
13+
# Troubleshoot Azure Communication Services PSTN call failures
1414

15-
When troubleshooting Azure Communication Services PSTN call failures, we recommended that you [enable logging](../analytics/enable-logging.md). Then you can use `ResultCategories`, `ParticipantEndReason`, and `ParticipantEndSubCode` values to determine why an individual call ended and whether the system detected any failures.
15+
When you're troubleshooting Azure Communication Services PSTN call failures, we recommended that you [enable logging](../analytics/enable-logging.md). Then you can use `ResultCategories`, `ParticipantEndReason`, and `ParticipantEndSubCode` values to determine why an individual call ended and whether the system detected any failures.
1616

17-
## Using ResultCategories to troubleshoot PSTN call failures
17+
## Use ResultCategories to troubleshoot failures
1818

19-
The `ResultCategories` array is a property of the [Call summary log schema](../analytics/logs/voice-and-video-logs.md#call-summary-log-schema) and contains a list of general reasons describing how the call ended.
19+
The `ResultCategories` array is a property of the [call summary log schema](../analytics/logs/voice-and-video-logs.md#call-summary-log-schema). It contains a list of general reasons that describe how the call ended:
2020

21-
General reasons that a call ended:
21+
- `Success`
22+
- `Failure`
23+
- `UnexpectedClientError`
24+
- `UnexpectedServerError`
2225

23-
- Success
24-
- Failure
25-
- UnexpectedClientError
26-
- UnexpectedServerError
26+
This information can help you determine why a call ended without generating a detailed error log.
2727

28-
This information can help developers determine why a call ended without generating a detailed error log.
28+
## Use ParticipantEndReason and ParticipantEndSubCode to troubleshoot failures
2929

30-
If this level of detail isn't sufficient, then developers can use `ParticipantEndReason` and `ParticipantEndSubCode` to understand the reasons for call end in greater detail. For more information, see the next section.
30+
If the level of detail in `ResultCategories` isn't sufficient when you're troubleshooting PSTN calls, you can use `ParticipantEndReason` and `ParticipantEndSubCode` to understand the reasons why a call ended in greater detail. `ParticipantEndReason` and `ParticipantEndSubCode` are also properties of the [call summary log schema](../analytics/logs/voice-and-video-logs.md#call-summary-log-schema).
3131

32-
## Using ParticipantEndReason and ParticipantEndSubCode to troubleshoot PSTN call failures
32+
### ParticipantEndReason
3333

34-
The `ParticipantEndReason` and `ParticipantEndSubCode` are properties of the [Call summary log schema](../analytics/logs/voice-and-video-logs.md#call-summary-log-schema) and provide more details about why the call ended.
34+
`ParticipantEndReason` is a three-digit code that shows the general call status. This code explains why the call ended and groups failures by category. For example, `ParticipantEndReason 404` means that caller or callee wasn't found. `ParticipantEndReason 500` means that a service error occurred.
3535

36-
When you're troubleshooting PSTN calls, use these two properties to understand why the call ended as follows:
36+
This code is based on Session Initiation Protocol (SIP) response codes. For more information, see Wikipedia's [list of SIP response codes](https://en.wikipedia.org/wiki/List_of_SIP_response_codes).
3737

38-
- **`ParticipantEndReason`**: A three-digit code that shows the general call status. This code explains why the call ended, and groups failures by category. For example, `ParticipantEndReason 404` tells us that caller/callee wasn't found, `ParticipantEndReason 500` means that a service error occurred, and so on. This code is based on the SIP response codes. For more information, see Wikipedia's [List of SIP response codes](https://en.wikipedia.org/wiki/List_of_SIP_response_codes).
38+
### ParticipantEndSubCode
3939

40-
- **`ParticipantEndSubCode`** : A more specific response code, usually six digits long, that explains in greater detail why there was a problem with the call.
40+
`ParticipantEndSubCode` is a more specific response code that's usually six digits long. It explains in greater detail why there was a problem with the call.
4141

42-
## Understanding the ParticipantEndSubCode relationship
42+
A key factor in troubleshooting Azure Communication Services PSTN calls is determining whether the final SIP response code for the call came from a Microsoft process or the user's/operator's session border controller (SBC). An easy way to determine where the code originated is to look at the `ParticipantEndSubCode` response.
4343

44-
A key factor in troubleshooting Azure Communication Services PSTN calls is determining whether the final response code for the call comes from a Microsoft process or the users/operators Session Border Controller (SBC). An easy way to determine where the code originated is to look at the `ParticipantEndSubCode` response.
44+
If the `ParticipantEndSubCode` value starts with `560`, it indicates that the user's/operator's SBC generated the response code. In that case, you should check your SBC configuration.
4545

46-
If the `ParticipantEndSubCode` starts with **560**, it indicates that the response code is generated by the users/operators Session Border Controller (SBC), so developers should check their SBC configuration.
46+
For example, if the `ParticipantEndSubCode` value is `560403`, it means that the SBC generated the final response code, and the code is `403`. In that case, you should start troubleshooting the calls by using the SBC logs.
4747

48-
- For example, if the `ParticipantEndSubCode` is **560403**, it means that the final response code is generated by the SBC, and the last three digits indicate SIP response code **403**. In this case, a developer should start troubleshooting the calls using the SBC logs.
48+
For `ParticipantEndSubCode` responses that don't start with `560`, the Microsoft service generated the final response code.
4949

50-
For all other `ParticipantEndSubCode` responses that don't start with **560**, the final response code is generated by a Microsoft service.
50+
## Related content
5151

52-
## Detailed information on individual error codes
53-
54-
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](../../resources/troubleshooting/voice-video-calling/troubleshooting-codes.md).
55-
56-
## Related articles
57-
58-
For more information, see [Troubleshooting in Azure Communication Services](../troubleshooting-info.md).
52+
- For general troubleshooting information, see [Troubleshooting in Azure Communication Services](../troubleshooting-info.md).
53+
- For detailed information about common error codes and suggested actions, see [Troubleshooting call end response codes for Calling SDK, Call Automation SDK, and PSTN calls](../../resources/troubleshooting/voice-video-calling/troubleshooting-codes.md).

0 commit comments

Comments
 (0)