Skip to content

Commit a273604

Browse files
committed
Acrolinx and review pass.
1 parent 1a66495 commit a273604

File tree

1 file changed

+34
-34
lines changed

1 file changed

+34
-34
lines changed

concepts/callrecords-api-faq.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,89 +10,89 @@ ms.subservice: "cloud-communications"
1010

1111
## What is the Microsoft Graph Call Records API?
1212

13-
The Microsoft Graph Call Records API, also known as the call records API, offers usage and diagnostic insights for calls and online meetings that occur within your organization when using Microsoft Teams or Skype for Business. Organizations referred to as tenants, can use the call records API to subscribe to, list, retrieve call records by call IDs, and to look up calls for a participant. For more details, please refer to the [Working with the call records API in Microsoft Graph](/graph/api/resources/callrecords-api-overview).
13+
The Microsoft Graph Call Records API (Call Records API) offers usage and diagnostic insights for calls and online meetings that occur within your organization when using Microsoft Teams or Skype for Business. Organizations, also referred to as "tenants," can use the Call Records API to subscribe to, list, retrieve call records by call IDs, and to look up calls for a participant. For more information, see [Working with the Call Records API in Microsoft Graph](/graph/api/resources/callrecords-api-overview).
1414

15-
## What is the permission required to use the Graph Call Records API?
15+
## Which permission is required to use the Call Records API?
1616

17-
Your application needs the **CallRecords.Read.All** permission to access call records in Microsoft Graph. An administrator must grant this permission to the application. For more details, please refer to the [Microsoft Graph permissions reference](permissions-reference.md).
17+
Your application needs the **CallRecords.Read.All** permission to access call records in Microsoft Graph. An administrator must grant this permission to the application. For more information, see [Microsoft Graph permissions reference](permissions-reference.md).
1818

19-
## Can I use delegated permissions with the Graph Call Records API?
19+
## Can I use delegated permissions with the Call Records API?
2020

21-
No, the Graph Call Records API doesn't support delegated permissions.
21+
No, the Call Records API doesn't support delegated permissions.
2222

23-
## Why can't I use delegated permissions with the Graph Call Records API?
23+
## Why can't I use delegated permissions with the Call Records API?
2424

25-
You can't use delegated permissions because there's no way to limit **CallRecords.Read.All** permission to specific calls or users, as the application permission is granted at the organization level, not the individual user level.
25+
You can't use delegated permissions because there's no way to limit **CallRecords.Read.All** permission to specific calls or users because the application permission is granted at the organization level, not the individual user level.
2626

27-
## How do I request a call record using the Microsoft Graph Call Records API?
27+
## How do I request a call record using the Microsoft Call Records API?
2828

29-
To request a call record, you need to make a `GET` request to the `/communications/callRecords/{id}` endpoint, where `{id}` is the unique identifier of your call. Ensure you have the necessary **CallRecords.Read.All** permission and include the Authorization header with a valid bearer token. For more details, please refer to the [Get callRecord documentation](/graph/api/callrecords-callrecord-get).
29+
To request a call record, you need to make a `GET` request to the `/communications/callRecords/{id}` endpoint, where `{id}` is the unique identifier of your call. Ensure you have the **CallRecords.Read.All** permission and include the Authorization header with a valid bearer token. For more information, see [Get callRecord documentation](/graph/api/callrecords-callrecord-get).
3030

3131
## Where can I find the call IDs of the calls that occurred in my organization?
3232

33-
You can find and collect call IDs using the following options:
33+
You can find and collect call IDs in the following ways:
3434

3535
* **Subscribe to notifications**: Subscribe to [change notifications feed](changenotifications-for-callrecords.md) and receive notifications containing call IDs whenever a new call record is created.
3636
* **List call records**: Get a list of call IDs by requesting it from [List callRecords API](/graph/api/callrecords-cloudcommunications-list-callrecords).
3737
* **Manual search**: If you have access to [Call Analytics](/microsoftteams/use-call-analytics-to-troubleshoot-poor-call-quality) within the [Teams Admin Center](/microsoftteams/teams-overview) for Microsoft Teams, you can manually search for a call ID in a user’s history. However, there's no automated system available to retrieve all call IDs from Call Analytics.
38-
* **Use callChainId:**: Look up the call ID using the `callChainId` from the [Get call](/graph/api/resources/call) API after the call is completed. This approach works when the call is programmatically created and you're working with the [call resource type](/graph/api/resources/call). Also, the `callChainId` may differ from the call record ID in certain scenarios, such as transfer calls due to architecture specifics. Therefore, this method is less preferred compared to other options.
38+
* **Use callChainId:**: Look up the call ID using the `callChainId` from the [Get call](/graph/api/resources/call) API after the call is completed. Use this approach when the call is programmatically created and you're working with the [call resource type](/graph/api/resources/call). Also, the `callChainId` can differ from the call record ID in certain scenarios, such as transfer calls, due to architecture specifics. Therefore, prefer the other methods in this list when possible.
3939

4040
## When is a call record available?
4141

42-
A first version of a call record is typically generated and a notification is sent within 15 minutes after a call ends. However, it can take up to 60 minutes for the service to make the call record available. For more details, please refer to the [Latency](/graph/api/resources/subscription#latency) page.
42+
A first version of a call record is typically generated and a notification is sent within 15 minutes after a call ends. However, it can take up to 60 minutes for the service to make the call record available. For more information, see [Latency](/graph/api/resources/subscription#latency) page.
4343

4444
## How long are call records retained?
4545

4646
Call records are retained for 30 days after the call ends.
4747

4848
## Can I retrieve call records older than 30 days?
4949

50-
No, the Call Records API doesn't return call records older than 30 days. Requests for such records result in a 404 Not Found error response.
50+
No, the Call Records API doesn't return call records older than 30 days. Requests for such records result in a `404 Not Found` error response.
5151

5252
## Why is my first call record notification delayed?
5353

54-
Your call record notification may be delayed because it can take up to 60 minutes for the service to make the **first** version of a call record available. If you experience a longer delay for the first call record version delivery, check for any reported outages by the Graph Call Records API team in the "Health" tab of the [Teams Admin Portal](https://admin.teams.microsoft.com/). Additionally, you can open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Graph Call Records API team.
54+
Your call record notification can be delayed because it can take up to 60 minutes for the service to make the **first** version of a call record available. If you experience a longer delay for delivery of the first call record version, check for outages reported by the Call Records API team in the "Health" tab of the [Teams Admin Portal](https://admin.teams.microsoft.com/). Also, you can open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Call Records API team.
5555

5656
## Why are subsequent versions of my call record delayed?
5757

58-
Subsequent versions of a call record may be delivered after the initial 60-minute latency. This means that while the first version is available within 60 minutes, later updates to the call record can arrive later due to client delayed telemetry and other factors.
58+
Subsequent versions of a call record can be delivered after the initial 60-minute latency. This means that while the first version is available within 60 minutes, later updates to the call record can arrive later due to delayed telemetry from the client and other factors.
5959

6060
## Why does a call record have missing fields?
6161

62-
A call record may have missing fields due to delayed telemetry from a client. When new telemetry data becomes available, the system generates a new call record with updated information, increments the `version` property value, and sends the updated call record to you. If your call record is missing properties, wait for the next call record version.
62+
A call record can have missing fields due to delayed telemetry from a client. When new telemetry data becomes available, the system generates a new call record with updated information, increments the `version` property value, and sends the updated call record to you. If your call record is missing properties, wait for the next call record version.
6363

64-
However, it's important to note that some fields may remain empty by design or because the client telemetry never arrived, such as media stream values.
64+
However, it's important to note that some fields can remain empty by design or because the client telemetry never arrived, such as media stream values.
6565

66-
If critical fields are still missing or were previously delivered but have stopped, open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Graph Call Records API team.
66+
If critical or previously delivered fields are missing, open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Call Records API team.
6767

68-
## How can I list all participants attended in a call?
68+
## How can I list all participants who attended a call?
6969

70-
There are multiple options to list all participants who attended a call.
70+
You can use the following three methods to list all attending call participants:
7171

72-
### Option 1: List participants_v2 API
72+
1. **List participants_v2 API**
7373

74-
Use the [List participants_v2](/graph/api/callrecords-callrecord-list-participants_v2) API to collect the full list of participants for a requested call ID.
74+
Use the [List participants_v2](/graph/api/callrecords-callrecord-list-participants_v2) API to collect the full list of participants for a requested call ID.
7575

76-
### Option 2: callRecords API with expanded participants_v2 property
76+
2. **Use the $expand OData query parameter on the callRecords object to expand the participants_v2 property**
7777

78-
You can call `GET communications/callRecords/{id}?$expand=participants_v2` to retrieve high-level call details along with the list of participants.
78+
You can call `GET communications/callRecords/{id}?$expand=participants_v2` to retrieve high-level call details along with the list of participants.
7979

80-
### Option 3: Build custom participants list
80+
3. **Build a custom participants list**
8181

82-
To see all participants, implement a custom solution to build the participants list from the call records data:
82+
To see all participants, implement a custom solution to build the participants list from the call records data:
8383

84-
1. Call [Get callRecord](/graph/api/callrecords-callrecord-get) API with expanded sessions endpoint: `GET /communications/callRecords/{id}?$expand=sessions`
85-
2. For **peer-to-peer** (P2P) calls, read both the `caller` and `callee` properties from each `session` in the received `sessions` list. For **meeting** calls, read only the `caller` property
86-
3. Build your custom participants list based on the `caller` endpoint [identity](/graph/api/resources/identity), and for P2P calls, also include the `callee` endpoint [identity](/graph/api/resources/identity). Collect the `id`, `displayName`, and other properties you require to gather for a participant
84+
1. Call the [Get callRecord](/graph/api/callrecords-callrecord-get) API and expand the sessions property: `GET /communications/callRecords/{id}?$expand=sessions`.
85+
2. For peer-to-peer (P2P) calls, read both the `caller` and `callee` properties from each `session` in the received `sessions` list. For meeting calls, read only the `caller` property.
86+
3. Build your custom participants list based on the `caller` endpoint [identity](/graph/api/resources/identity). For P2P calls, also include the `callee` endpoint [identity](/graph/api/resources/identity). Collect the `id`, `displayName`, and other properties you require for each participant.
8787

8888
## Why don't I see all participants who attended a call while calling list participants_v2 API?
8989

90-
You might not see all participants because the [List participants_v2](/graph/api/callrecords-callrecord-list-participants_v2) API supports pagination, limiting the number of participants in the response to 60 per page. If there were more than 60 users on the call, the first call record response contains 60 participants along with a `@odata.nextLink` property. This property includes the URL to call the API and receive the next set of participants. Continue this process until the next link is empty, indicating that there are no more participants to retrieve.
90+
You might not see all participants because the [List participants_v2](/graph/api/callrecords-callrecord-list-participants_v2) API supports pagination, limiting the number of participants in the response to 60 per page. If there were more than 60 users on the call, the first call record response contains 60 participants along with a `@odata.nextLink` property. This property includes the URL to call the API and receive the next set of participants. Continue this process until the next link is empty, which indicates that there are no more participants to retrieve.
9191

9292
## Why do I receive a 404 Not Found error?
9393

94-
There are several reasons you might encounter a 404 Not Found error:
94+
The following list shows some reasons why you might encounter a `404 Not Found` error:
9595

96-
* **Recent Call**: If the call was made within the last 60 minutes, the call record might not be generated yet. Wait until 60 minutes have elapsed from when the call ended and try again.
97-
* **Old Call**: If the call is older than 30 days, the Graph Call Records API returns a 404 Not Found error by design.
98-
* **Other Issues**: If neither of the reasons apply, check for any reported outages by the Graph Call Records API team in the "Health" tab of the [Teams Admin Portal](https://admin.teams.microsoft.com/). Additionally, you can open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Graph Call Records API team for assistance.
96+
* **Recent Call**: If the call was made within the last 60 minutes, the call record might not be generated yet. Wait 60 minutes after the call ended and try again.
97+
* **Old Call**: If the call is older than 30 days, the Call Records API returns a 404 Not Found error by design.
98+
* **Other Issues**: If neither of the reasons apply, check for any outages reported by the Call Records API team in the "Health" tab of the [Teams Admin Portal](https://admin.teams.microsoft.com/). Also, you can open a [Support Ticket](https://developer.microsoft.com/graph/support) with the Call Records API team for assistance.

0 commit comments

Comments
 (0)