Skip to content

Commit b9da3d3

Browse files
Merge pull request #277922 from garchiro7/fix-conflict
Add Teams meeting id and passcode for UI Library
2 parents 3d111d4 + 3766cdf commit b9da3d3

File tree

3 files changed

+75
-16
lines changed

3 files changed

+75
-16
lines changed

articles/communication-services/concepts/ui-library/includes/mobile-ui-use-cases.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ You can use the call composite in Communication Services to create these use cas
1515
| Area | Use cases |
1616
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
1717
| Call types | Join a Microsoft Teams meeting |
18+
| | Join a Microsoft Teams meeting using Meeting ID and Passcode |
1819
| | Join a call by using a group ID |
1920
| [Teams interoperability](../../teams-interop.md) | Join the call lobby |
2021
| | Display a transcription and recording alert banner |

articles/communication-services/quickstarts/ui-library/includes/get-started-call/android.md

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ The following classes and interfaces handle some key features of the Azure Commu
229229
| [CallComposite](#create-callcomposite) | Composite component that renders a call experience with participant gallery and controls |
230230
| [CallCompositeBuilder](#create-callcomposite) | Builder that builds `CallComposite` with options |
231231
| [CallCompositeJoinMeetingLocator](#set-up-a-group-call) | Passed-in `CallComposite` launch to start a group call |
232-
| [CallCompositeTeamsMeetingLinkLocator](#set-up-a-teams-meeting) | Passed to `CallComposite` launch to join a Microsoft Teams meeting |
232+
| [CallCompositeTeamsMeetingLinkLocator](#join-a-teams-meeting) | Passed to `CallComposite` launch to join a Microsoft Teams meeting |
233233
| [CallCompositeLocalizationOptions](#apply-a-localization-configuration) | Injected as optional in `CallCompositeBuilder` to set the language of the composite |
234234

235235
## UI Library functionality
@@ -311,9 +311,21 @@ CallCompositeRemoteOptions remoteOptions = new CallCompositeRemoteOptions(
311311
```
312312
---
313313

314-
### Set up a Teams meeting
314+
### Join a Teams meeting
315315

316-
To set up a Microsoft Teams meeting, initialize a `CallCompositeTeamsMeetingLinkLocator` and supply it to the `CallCompositeRemoteOptions` object.
316+
You can join to a Teams meeting using two mechanisms:
317+
318+
- Teams meeting URL or Teams meeting short URL
319+
- Teams Meeting ID and Passcode
320+
321+
The Teams meeting link can be retrieved using Graph APIs, which is detailed in [Graph documentation](/graph/api/onlinemeeting-createorget?tabs=http&view=graph-rest-beta&preserve-view=true).
322+
323+
The Communication Services Calling SDK accepts a full Teams meeting link. This link is returned as part of the `onlineMeeting` resource, accessible under the [`joinWebUrl` property](/graph/api/resources/onlinemeeting?view=graph-rest-beta&preserve-view=true)
324+
You can also get the required meeting information from the **Join Meeting** URL in the Teams meeting invite itself.
325+
326+
#### Join via Teams meeting URL
327+
328+
To join a Microsoft Teams meeting, initialize a `CallCompositeTeamsMeetingLinkLocator` and supply it to the `CallCompositeRemoteOptions` object.
317329

318330
#### [Kotlin](#tab/kotlin)
319331

@@ -338,11 +350,38 @@ CallCompositeRemoteOptions remoteOptions = new CallCompositeRemoteOptions(
338350
"DISPLAY_NAME");
339351
```
340352

341-
#### Get a Microsoft Teams meeting link
353+
---
354+
355+
#### Join via Teams Meeting ID and Passcode
342356

343-
You can get a Microsoft Teams meeting link by using Graph APIs. This process is detailed in [Graph documentation](/graph/api/onlinemeeting-createorget?preserve-view=true&tabs=http&view=graph-rest-beta).
357+
The `CallCompositeTeamsMeetingLinkLocator` locates a meeting using a meeting ID and passcode. These can be found under a Teams meeting's join info.
358+
A Teams meeting ID is 12 characters long and consists of numeric digits grouped in threes (i.e. `000 000 000 000`).
359+
A passcode consists of 6 alphabet characters (i.e. `aBcDeF`). The passcode is case sensitive.
344360

345-
The Communication Services Call SDK accepts a full Microsoft Teams meeting link. This link is returned as part of the `onlineMeeting` resource, under the [joinWebUrl property](/graph/api/resources/onlinemeeting?preserve-view=true&view=graph-rest-beta). You also can get the required meeting information from the **Join Meeting** URL in the Teams meeting invite itself.
361+
#### [Kotlin](#tab/kotlin)
362+
363+
```kotlin
364+
val locator = CallCompositeTeamsMeetingIdLocator("TEAMS_MEETING_ID", "TEAMS_MEETING_PASSCODE")
365+
366+
val remoteOptions = CallCompositeRemoteOptions(
367+
locator,
368+
communicationTokenCredential,
369+
"DISPLAY_NAME",
370+
)
371+
372+
```
373+
374+
#### [Java](#tab/java)
375+
376+
```java
377+
CallCompositeJoinLocator locator = new CallCompositeTeamsMeetingLinkLocator("TEAMS_MEETING_ID", "TEAMS_MEETING_PASSCODE");
378+
379+
CallCompositeRemoteOptions remoteOptions = new CallCompositeRemoteOptions(
380+
locator,
381+
communicationTokenCredential,
382+
"DISPLAY_NAME");
383+
384+
```
346385

347386
---
348387

articles/communication-services/quickstarts/ui-library/includes/get-started-call/ios.md

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ In Xcode, create a new project:
3737

3838
### Install the package and dependencies
3939

40-
1. (Optional) For MacBook with M1, install and enable [Rosetta](https://support.apple.com/en-us/HT211861) in Xcode.
40+
1. (Optional) For MacBook with M1, install, and enable [Rosetta](https://support.apple.com/en-us/HT211861) in Xcode.
4141

4242
1. In your project root directory, run `pod init` to create a Podfile. If you encounter an error, update [CocoaPods](https://guides.cocoapods.org/using/getting-started.html) to the current version.
4343

@@ -54,11 +54,11 @@ In Xcode, create a new project:
5454

5555
1. Run `pod install --repo-update`.
5656

57-
1. In Xcode, open the generated *.xcworkspace* file.
57+
1. In Xcode, open the generated.xcworkspace* file.
5858

5959
### Request access to device hardware
6060

61-
To access the device's hardware, including the microphone and camera, update your app's information property list. Set the associated value to a string that's included in the dialog the system uses to request access from the user.
61+
To access the device's hardware, including the microphone, and camera, update your app's information property list. Set the associated value to a string that's included in the dialog the system uses to request access from the user.
6262
6363
1. Right-click the `Info.plist` entry of the project tree and select **Open As** > **Source Code**. Add the following lines to the top level `<dict>` section, and then save the file.
6464
@@ -151,7 +151,7 @@ The following classes and interfaces handle some key features of the Azure Commu
151151
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
152152
| [CallComposite](#create-callcomposite) | Component that renders a call experience that has a participant gallery and controls |
153153
| [CallCompositeOptions](#create-callcomposite) | Settings for options like themes and event handling |
154-
| RemoteOptions | Remote options to send to Azure Communication Services to join a [group call](#set-up-a-group-call) or a [Teams meeting](#set-up-a-teams-meeting). |
154+
| RemoteOptions | Remote options to send to Azure Communication Services to join a [group call](#set-up-a-group-call) or a [Teams meeting](#join-a-teams-meeting). |
155155
| [ThemeOptions](#apply-theme-options) | Customization options for the composite theme |
156156
| [LocalizationOptions](#apply-localization-options) | Language options for the composite |
157157

@@ -195,21 +195,40 @@ let remoteOptions = RemoteOptions(for: .groupCall(groupId: uuid),
195195
196196
For more information about using a group ID for calls, see [Manage calls](../../../../how-tos/calling-sdk/manage-calls.md).
197197
198-
### Set up a Teams meeting
198+
### Join a Teams meeting
199199
200-
To set up a Microsoft Teams meeting, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.teamsMeeting` locator. Replace `<TEAMS_MEETING_LINK>` with the Teams meeting link for your call. Replace `<DISPLAY_NAME>` with your name.
200+
You can join to a Teams meeting using two mechanisms:
201+
202+
- Teams meeting URL or Teams meeting short URL
203+
- Teams Meeting ID and Passcode
204+
205+
The Teams meeting link can be retrieved using Graph APIs, which is detailed in [Graph documentation](/graph/api/onlinemeeting-createorget?tabs=http&view=graph-rest-beta&preserve-view=true).
206+
207+
The Communication Services Calling SDK accepts a full Teams meeting link. This link is returned as part of the `onlineMeeting` resource, accessible under the [`joinWebUrl` property](/graph/api/resources/onlinemeeting?view=graph-rest-beta&preserve-view=true)
208+
You can also get the required meeting information from the **Join Meeting** URL in the Teams meeting invite itself.
209+
210+
#### Join via Teams meeting URL
211+
212+
To join a Microsoft Teams meeting, inside the `startCallComposite` function, initialize a `RemoteOptions` instance for the `.teamsMeeting` locator. Replace `<TEAMS_MEETING_LINK>` with the Teams meeting link for your call. Replace `<DISPLAY_NAME>` with your name.
201213
202214
```swift
203215
let remoteOptions = RemoteOptions(for: .teamsMeeting(teamsLink: "<TEAMS_MEETING_LINK>"),
204216
credential: communicationTokenCredential,
205217
displayName: "<DISPLAY_NAME>")
206218
```
207219
208-
#### Get a Teams meeting link
220+
#### Join via Teams Meeting ID and Passcode
209221
210-
You can get a Microsoft Teams meeting link by using Graph APIs. This process is detailed in [Graph documentation](/graph/api/onlinemeeting-createorget?preserve-view=true&tabs=http&view=graph-rest-beta).
222+
The `teamMeetingId` locates a meeting using a meeting ID and passcode. These can be found under a Teams meeting's join info.
223+
A Teams meeting ID is 12 characters long and consists of numeric digits grouped in threes (i.e. `000 000 000 000`).
224+
A passcode consists of 6 alphabet characters (i.e. `aBcDeF`). The passcode is case sensitive.
211225

212-
The Communication Services Call SDK accepts a full Microsoft Teams meeting link. This link is returned as part of the `onlineMeeting` resource, under the [joinWebUrl property](/graph/api/resources/onlinemeeting?preserve-view=true&view=graph-rest-beta). You also can get the required meeting information from the **Join Meeting** URL in the Teams meeting invite itself.
226+
```swift
227+
let remoteOptions = RemoteOptions(for: .teamsMeetingId(meetingId: "<TEAMS_MEETING_ID>", meetingPasscode: "<TEAMS_MEETING_PASSCODE>" ),
228+
credential: communicationTokenCredential,
229+
displayName: "<DISPLAY_NAME>")
230+
231+
```
213232

214233
### Set up a Rooms call
215234

@@ -297,7 +316,7 @@ For more information about localization and for a list of supported languages, s
297316

298317
### Subscribe to CallComposite call state changed event
299318

300-
You can implement closures to act on composite events. The call states will be sent to the call state changed handler.
319+
You can implement closures to act on composite events. The call states are sent to the call state changed handler.
301320

302321
The following example shows an event for a call state changed.
303322

0 commit comments

Comments
 (0)