Skip to content

Commit a366244

Browse files
authored
Merge pull request #25441 from microsoftgraph/pansaravivek/promote_deltaroaster_v1
Added CallOption Property to v1
2 parents bdeccbf + fbd4c1f commit a366244

File tree

7 files changed

+69
-87
lines changed

7 files changed

+69
-87
lines changed

api-reference/v1.0/api/application-post-calls.md

Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ doc_type: apiPageType
1111

1212
Namespace: microsoft.graph
1313

14-
Create [call](../resources/call.md) enables your bot to create a new outgoing peer-to-peer or group call, or join an existing meeting. You will need to [register the calling bot](/microsoftteams/platform/concepts/calls-and-meetings/registering-calling-bot) and go through the list of permissions needed as mentioned below.
14+
Create [call](../resources/call.md) enables your bot to create a new outgoing peer-to-peer or group call, or join an existing meeting. You need to [register the calling bot](/microsoftteams/platform/concepts/calls-and-meetings/registering-calling-bot) and go through the list of permissions needed.
1515

1616
This API supports the following PSTN scenarios:
1717

@@ -62,15 +62,13 @@ If successful, this method returns a `201 Created` response code and a [call](..
6262

6363
## Examples
6464

65-
### Example 1: Create peer-to-peer VoIP call with service hosted media
65+
### Example 1: Create a peer-to-peer VoIP call with service-hosted media
6666

6767
> **Note:** This call needs the Calls.Initiate.All permission.
6868
6969
#### Request
70-
The following example shows a request that makes a peer-to-peer call between the bot and the specified user. In this example, the media is hosted by the service. The values of authorization token, callback URL, application ID, application name, user ID, user name, and tenant ID must be replaced with actual values to make the example work.
70+
The following example shows a request that makes a peer-to-peer call between the bot and the specified user. In this example, the service hosts the media. The values of authorization token, callback URL, application ID, application name, user ID, user name, and tenant ID must be replaced with actual values to make the example work.
7171

72-
73-
# [HTTP](#tab/http)
7472
<!-- {
7573
"blockType": "request",
7674
"name": "create-call-service-hosted-media-1",
@@ -101,48 +99,15 @@ Content-Type: application/json
10199
],
102100
"callOptions": {
103101
"@odata.type": "#microsoft.graph.outgoingCallOptions",
104-
"isContentSharingNotificationEnabled": true
102+
"isContentSharingNotificationEnabled": true,
103+
"isDeltaRosterEnabled": true
105104
},
106105
"mediaConfig": {
107106
"@odata.type": "#microsoft.graph.serviceHostedMediaConfig"
108107
}
109108
}
110109
```
111110

112-
# [C#](#tab/csharp)
113-
[!INCLUDE [sample-code](../includes/snippets/csharp/create-call-service-hosted-media-1-csharp-snippets.md)]
114-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
115-
116-
# [CLI](#tab/cli)
117-
[!INCLUDE [sample-code](../includes/snippets/cli/create-call-service-hosted-media-1-cli-snippets.md)]
118-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
119-
120-
# [Go](#tab/go)
121-
[!INCLUDE [sample-code](../includes/snippets/go/create-call-service-hosted-media-1-go-snippets.md)]
122-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
123-
124-
# [Java](#tab/java)
125-
[!INCLUDE [sample-code](../includes/snippets/java/create-call-service-hosted-media-1-java-snippets.md)]
126-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
127-
128-
# [JavaScript](#tab/javascript)
129-
[!INCLUDE [sample-code](../includes/snippets/javascript/create-call-service-hosted-media-1-javascript-snippets.md)]
130-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
131-
132-
# [PHP](#tab/php)
133-
[!INCLUDE [sample-code](../includes/snippets/php/create-call-service-hosted-media-1-php-snippets.md)]
134-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
135-
136-
# [PowerShell](#tab/powershell)
137-
[!INCLUDE [sample-code](../includes/snippets/powershell/create-call-service-hosted-media-1-powershell-snippets.md)]
138-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
139-
140-
# [Python](#tab/python)
141-
[!INCLUDE [sample-code](../includes/snippets/python/create-call-service-hosted-media-1-python-snippets.md)]
142-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
143-
144-
---
145-
146111
#### Response
147112

148113
> **Note:** The response object shown here might be shortened for readability.
@@ -221,6 +186,11 @@ Content-Type: application/json
221186
"chatInfo": null,
222187
"meetingInfo": null,
223188
"transcription": null,
189+
"callOptions": {
190+
"@odata.type": "#microsoft.graph.outgoingCallOptions",
191+
"isContentSharingNotificationEnabled": true,
192+
"isDeltaRosterEnabled": true
193+
},
224194
"toneInfo": null
225195
}
226196
```

api-reference/v1.0/api/call-answer.md

Lines changed: 10 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ doc_type: apiPageType
1111

1212
Namespace: microsoft.graph
1313

14-
Enable a bot to answer an incoming [call](../resources/call.md). The incoming call request can be an invitation from a participant in a group call or a peer-to-peer call. If an invitation to a group call is received, the notification will contain the [chatInfo](../resources/chatinfo.md) and [meetingInfo](../resources/meetinginfo.md) parameters.
14+
Enable a bot to answer an incoming [call](../resources/call.md). The incoming call request can be an invitation from a participant in a group call or a peer-to-peer call. If an invitation to a group call is received, the notification contains the [chatInfo](../resources/chatinfo.md) and [meetingInfo](../resources/meetinginfo.md) parameters.
1515

16-
The bot is expected to answer, [reject](./call-reject.md), or [redirect](./call-redirect.md) the call before the call times out. The current timeout value is 15 seconds for regular scenarios, and 5 seconds for policy-based recording scenarios.
16+
The bot is expected to answer, [reject](./call-reject.md), or [redirect](./call-redirect.md) the call before the call times out. The current timeout value is 15 seconds for regular scenarios and 5 seconds for policy-based recording scenarios.
1717

1818
This API supports the following PSTN scenarios:
1919

@@ -56,11 +56,11 @@ In the request body, provide a JSON object with the following parameters.
5656

5757
| Parameter | Type |Description |
5858
|:-----------------|:-----------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|
59-
| callbackUri |String |Allows bots to provide a specific callback URI for the concurrent call to receive later notifications. If this property has not been set, the bot's global callback URI will be used instead. This must be `https`. |
60-
|acceptedModalities|String collection |The list of accept modalities. Possible values are: `audio`, `video`, `videoBasedScreenSharing`. Required for answering a call. |
59+
| callbackUri |String |Allows bots to provide a specific callback URI for the concurrent call to receive later notifications. If this property isn't set, the bot's global callback URI is used instead. I must be `https`. |
60+
|acceptedModalities|String collection |The list of accepted modalities. Possible values are: `audio`, `video`, `videoBasedScreenSharing`. Required for answering a call. |
6161
| callOptions | [incomingCallOptions](../resources/incomingcalloptions.md) | The call options. |
6262
| mediaConfig | [appHostedMediaConfig](../resources/apphostedmediaconfig.md) or [serviceHostedMediaConfig](../resources/servicehostedmediaconfig.md) |The media configuration. (Required) |
63-
| participantCapacity | Int32 | The number of participant that the application can handle for the call, for [Teams policy-based recording](/microsoftteams/teams-recording-policy) scenario. |
63+
| participantCapacity | Int32 | The number of participants that the application can handle for the call, for [Teams policy-based recording](/microsoftteams/teams-recording-policy) scenario. |
6464

6565
## Response
6666
This method returns a `202 Accepted` response code.
@@ -71,7 +71,6 @@ The following example shows how to call this API.
7171
#### Request
7272
The following example shows the request.
7373

74-
# [HTTP](#tab/http)
7574
<!-- {
7675
"blockType": "request",
7776
"name": "call-answer"
@@ -92,46 +91,13 @@ Content-Length: 211
9291
],
9392
"callOptions": {
9493
"@odata.type": "#microsoft.graph.incomingCallOptions",
95-
"isContentSharingNotificationEnabled": true
94+
"isContentSharingNotificationEnabled": true,
95+
"isDeltaRosterEnabled": true
9696
},
9797
"participantCapacity": 200
9898
}
9999
```
100100

101-
# [C#](#tab/csharp)
102-
[!INCLUDE [sample-code](../includes/snippets/csharp/call-answer-csharp-snippets.md)]
103-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
104-
105-
# [CLI](#tab/cli)
106-
[!INCLUDE [sample-code](../includes/snippets/cli/call-answer-cli-snippets.md)]
107-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
108-
109-
# [Go](#tab/go)
110-
[!INCLUDE [sample-code](../includes/snippets/go/call-answer-go-snippets.md)]
111-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
112-
113-
# [Java](#tab/java)
114-
[!INCLUDE [sample-code](../includes/snippets/java/call-answer-java-snippets.md)]
115-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
116-
117-
# [JavaScript](#tab/javascript)
118-
[!INCLUDE [sample-code](../includes/snippets/javascript/call-answer-javascript-snippets.md)]
119-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
120-
121-
# [PHP](#tab/php)
122-
[!INCLUDE [sample-code](../includes/snippets/php/call-answer-php-snippets.md)]
123-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
124-
125-
# [PowerShell](#tab/powershell)
126-
[!INCLUDE [sample-code](../includes/snippets/powershell/call-answer-powershell-snippets.md)]
127-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
128-
129-
# [Python](#tab/python)
130-
[!INCLUDE [sample-code](../includes/snippets/python/call-answer-python-snippets.md)]
131-
[!INCLUDE [sdk-documentation](../includes/snippets/snippets-sdk-documentation-link.md)]
132-
133-
---
134-
135101
#### Response
136102
The following example shows the response.
137103

@@ -565,11 +531,11 @@ Content-Type: application/json
565531

566532
### Example 3: Answer a policy-based recording call
567533

568-
Under the [Policy-based recording scenario](/microsoftteams/teams-recording-policy), before a participant under policy joins a call, an incoming call notification will be sent to the bot associated with the policy.
534+
Under the [Policy-based recording scenario](/microsoftteams/teams-recording-policy), before a participant under policy joins a call, an incoming call notification is sent to the bot associated with the policy.
569535
The join information can be found under the **botData** property. The bot can then choose to answer the call and [update the recording status](call-updaterecordingstatus.md) accordingly.
570536

571-
When `participantCapacity` is specified in the `Answer` request for a policy-based recording notification, subsequent participant joining event belonging to the same policy group will be sent out as [participantJoiningNotification](../resources/participantJoiningNotification.md) instead of
572-
new incoming call notification, until number of participants that current call instance is handling has reached the number specified in `participantCapacity`.
537+
When `participantCapacity` is specified in the `Answer` request for a policy-based recording notification, subsequent participant joining events belonging to the same policy group is sent out as [participantJoiningNotification](../resources/participantJoiningNotification.md) instead of
538+
new incoming call notification, until a number of participants that the current call instance is handling has reached the number specified in `participantCapacity`.
573539

574540
The following is an example of the incoming call notification that a bot would receive in this case.
575541

api-reference/v1.0/resources/calloptions.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ Namespace: microsoft.graph
1313

1414
Represents an abstract base class that contains the optional features for a call.
1515

16+
Base type of [incomingCallOptions](../resources/incomingcalloptions.md) and [outgoingCallOptions](../resources/outgoingcalloptions.md).
17+
1618
## Properties
1719

1820
|Property |Type |Description |
1921
|:--- |:--- |:--- |
2022
| hideBotAfterEscalation | Boolean | Indicates whether to hide the app after the call is escalated. |
2123
| isContentSharingNotificationEnabled | Boolean | Indicates whether content sharing notifications should be enabled for the call. |
24+
| isDeltaRosterEnabled | Boolean | Indicates whether delta roster is enabled for the call. |
2225

2326
## JSON representation
2427

@@ -32,6 +35,7 @@ The following JSON representation shows the resource type.
3235
{
3336
"@odata.type": "#microsoft.graph.callOptions",
3437
"hideBotAfterEscalation": "Boolean",
35-
"isContentSharingNotificationEnabled": "Boolean"
38+
"isContentSharingNotificationEnabled": "Boolean",
39+
"isDeltaRosterEnabled": "Boolean"
3640
}
3741
```

api-reference/v1.0/resources/incomingcalloptions.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Inherits from [callOptions](calloptions.md).
2121
|:------------------------------------|:--------|:------------------------------------------------------------------------------------------------------------------------------|
2222
| hideBotAfterEscalation | Boolean | Indicates whether to hide the app after the call is escalated. Inherited from [callOptions](calloptions.md). |
2323
| isContentSharingNotificationEnabled | Boolean | Indicates whether content sharing notifications should be enabled for the call. Inherited from [callOptions](calloptions.md). |
24+
| isDeltaRosterEnabled | Boolean | Indicates whether delta roster is enabled for the call. Inherited from [callOptions](calloptions.md). |
2425

2526
## JSON representation
2627

@@ -34,6 +35,7 @@ The following JSON representation shows the resource type.
3435
{
3536
"@odata.type": "#microsoft.graph.incomingCallOptions",
3637
"hideBotAfterEscalation": "Boolean",
37-
"isContentSharingNotificationEnabled": "Boolean"
38+
"isContentSharingNotificationEnabled": "Boolean",
39+
"isDeltaRosterEnabled": "Boolean"
3840
}
3941
```

api-reference/v1.0/resources/outgoingcalloptions.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Inherits from [callOptions](calloptions.md).
2121
|:------------------------------------|:--------|:------------------------------------------------------------------------------------------------------------------------------|
2222
| hideBotAfterEscalation | Boolean | Indicates whether to hide the app after the call is escalated. Inherited from [callOptions](calloptions.md). |
2323
| isContentSharingNotificationEnabled | Boolean | Indicates whether content sharing notifications should be enabled for the call. Inherited from [callOptions](calloptions.md). |
24+
| isDeltaRosterEnabled | Boolean | Indicates whether delta roster is enabled for the call. Inherited from [callOptions](calloptions.md). |
2425

2526
## JSON representation
2627

@@ -34,6 +35,7 @@ The following JSON representation shows the resource type.
3435
{
3536
"@odata.type": "#microsoft.graph.outgoingCallOptions",
3637
"hideBotAfterEscalation": "Boolean",
37-
"isContentSharingNotificationEnabled": "Boolean"
38+
"isContentSharingNotificationEnabled": "Boolean",
39+
"isDeltaRosterEnabled": "Boolean"
3840
}
3941
```

changelog/Microsoft.Skype.Calling.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,39 @@
11
{
22
"changelog": [
3+
{
4+
"ChangeList": [
5+
{
6+
"Id": "a1ffd465-a1bf-4a36-84c5-87gg66c11118",
7+
"ApiChange": "Property",
8+
"ChangedApiName": "isDeltaRosterEnabled",
9+
"ChangeType": "Addition",
10+
"Description": "Added the **isDeltaRosterEnabled** property to the [callOptions](https://learn.microsoft.com/en-us/graph/api/resources/callOptions?view=graph-rest-1.0) resource.",
11+
"Target": "callOptions"
12+
},
13+
{
14+
"Id": "a1ffd465-a1bf-4a36-84c5-87gg66c11118",
15+
"ApiChange": "Property",
16+
"ChangedApiName": "isDeltaRosterEnabled",
17+
"ChangeType": "Addition",
18+
"Description": "Added the **isDeltaRosterEnabled** property to the [incomingCallOptions](https://learn.microsoft.com/en-us/graph/api/resources/incomingCallOptions?view=graph-rest-1.0) resource.",
19+
"Target": "incomingCallOptions"
20+
},
21+
{
22+
"Id": "a1ffd465-a1bf-4a36-84c5-87gg66c11118",
23+
"ApiChange": "Property",
24+
"ChangedApiName": "isDeltaRosterEnabled",
25+
"ChangeType": "Addition",
26+
"Description": "Added the **isDeltaRosterEnabled** property to the [outgoingCallOptions](https://learn.microsoft.com/en-us/graph/api/resources/outgoingCallOptions?view=graph-rest-1.0) resource.",
27+
"Target": "outgoingCallOptions"
28+
}
29+
],
30+
"Id": "a1ffd465-a1bf-4a36-84c5-87gg66c11118",
31+
"Cloud": "Prod",
32+
"Version": "v1.0",
33+
"CreatedDateTime": "2024-10-16T12:00:00.00Z",
34+
"WorkloadArea": "Teamwork and communications",
35+
"SubArea": "Calls and online meetings"
36+
},
337
{
438
"ChangeList": [
539
{

concepts/whats-new-overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ Added recommendations to use unified RBAC APIs in [unifiedRoleDefinition](/graph
4040

4141
Use the **clientAppId** property on [teamsAppAuthorization](/graph/api/resources/teamsappauthorization) to get the registration ID of the Microsoft Entra app ID associated with an [app](/graph/api/resources/teamsapp) in the Microsoft Teams app catalog.
4242

43+
### Teamwork and communications | Calls and online meetings
44+
45+
Use the **isDeltaRosterEnabled** property on [incomingCallOptions](/graph/api/resources/incomingcalloptions) and [outgoingCallOptions](/graph/api/resources/outgoingcalloptions) to indicate whether delta roster is enabled for a call.
46+
4347
### Teamwork and communications | Messaging
4448

4549
Updated the [chatMessage: delta](/graph/api/chatmessage-delta) method to use a new endpoint that gets the list of delta messages from all chats in which a user is a participant, including one-on-one chats, group chats, and meeting chats.

0 commit comments

Comments
 (0)