Skip to content

Commit d9fd18c

Browse files
authored
Merge pull request #275414 from leejyoon/main
Update with new Teams meeting join methods
2 parents 1be7b33 + d41f647 commit d9fd18c

File tree

5 files changed

+183
-17
lines changed

5 files changed

+183
-17
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
author: jiyoonlee
3+
ms.service: azure-communication-services
4+
ms.topic: include
5+
ms.date: 05/14/2024
6+
ms.author: jiyoonlee
7+
---
8+
[!INCLUDE [Install SDK](../install-sdk/install-sdk-windows.md)]
9+
10+
## Meeting join methods
11+
To join a Teams meeting, use the `CallAgent.join` method and pass application context, `JoinMeetingLocator`, and `JoinCallOptions`.
12+
13+
### Meeting ID and passcode
14+
The `TeamsMeetingIdLocator` locates a meeting using a meeting ID and passcode. These can be found under a Teams meeting's join info.
15+
A Teams meeting ID will be 12 characters long and will consist of numeric digits grouped in threes (i.e. `000 000 000 000`).
16+
A passcode will consist of 6 alphabet characters (i.e. `aBcDeF`). The passcode is case sensitive.
17+
18+
```java
19+
String meetingId, passcode;
20+
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);
21+
```
22+
23+
### Meeting link
24+
The `TeamsMeetingLinkLocator` locates a meeting using a link to a Teams meeting. This can found under a Teams meeting's join info.
25+
```java
26+
String meetingLink;
27+
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);
28+
```
29+
30+
### Meeting coordinates
31+
The `TeamsMeetingCoordinatesLocator` locates meetings using an organizer ID, tenant ID, thread ID, and a message ID. This information can be found using Microsoft Graph.
32+
```java
33+
Guid organizerId, tenantId;
34+
String threadId, messageId;
35+
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);
36+
```
37+
38+
## Join meeting using locators
39+
After creating these Teams meeting locators, you can use it to join a Teams meeting using `CallAgent.join` as shown below.
40+
41+
```java
42+
JoinCallOptions options = new JoinCallOptions();
43+
call = agent.join(
44+
getApplicationContext(),
45+
locator,
46+
options);
47+
```
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
author: jiyoonlee
3+
ms.service: azure-communication-services
4+
ms.topic: include
5+
ms.date: 05/14/2024
6+
ms.author: jiyoonlee
7+
---
8+
[!INCLUDE [Install SDK](../install-sdk/install-sdk-windows.md)]
9+
10+
## Meeting join methods
11+
To join a Teams meeting, use the `CallAgent.join` method and pass a `JoinMeetingLocator` and a `JoinCallOptions`.
12+
13+
### Meeting ID and passcode
14+
The `TeamsMeetingIdLocator` locates a meeting using a meeting ID and passcode. These can be found under a Teams meeting's join info.
15+
A Teams meeting ID will be 12 characters long and will consist of numeric digits grouped in threes (i.e. `000 000 000 000`).
16+
A passcode will consist of 6 alphabet characters (i.e. `aBcDeF`). The passcode is case sensitive.
17+
18+
```swift
19+
String meetingId, passcode
20+
let locator = TeamsMeetingIdLocator(meetingId: meetingId, passcode: passcode)
21+
```
22+
23+
### Meeting link
24+
The `TeamsMeetingLinkLocator` locates a meeting using a link to a Teams meeting. This can found under a Teams meeting's join info.
25+
```swift
26+
String meetingLink
27+
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)
28+
```
29+
30+
## Join meeting using locators
31+
After creating these Teams meeting locators, you can use it to join a Teams meeting using `CallAgent.join` as shown below.
32+
33+
```swift
34+
func joinTeamsMeeting() {
35+
// Ask permissions
36+
AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
37+
if granted {
38+
let joinCallOptions = JoinCallOptions()
39+
40+
// Insert meeting locator code for specific join methods here
41+
42+
// for CallAgent callAgent
43+
self.callAgent?.join(with: teamsMeetingLinkLocator, joinCallOptions: joinCallOptions)
44+
}
45+
}
46+
}
47+
```
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
author: tophpalmer
3+
ms.service: azure-communication-services
4+
ms.topic: include
5+
ms.date: 08/10/2021
6+
ms.author: chpalm
7+
---
8+
[!INCLUDE [Install SDK](../install-sdk/install-sdk-web.md)]
9+
10+
## Meeting join methods
11+
To join a Teams meeting, use the `join` method and pass a meeting link or a meeting's coordinates.
12+
13+
Join by using a meeting link:
14+
15+
```js
16+
const locator = { meetingLink: '<MEETING_LINK>'}
17+
const call = callAgent.join(locator);
18+
```
19+
20+
Join by using meeting coordinates (this is currently in limited preview):
21+
22+
```js
23+
const locator = {
24+
threadId: <thread id>,
25+
organizerId: <organizer id>,
26+
tenantId: <tenant id>,
27+
messageId: <message id>
28+
}
29+
const call = callAgent.join(locator);
30+
```
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
author: jiyoonlee
3+
ms.service: azure-communication-services
4+
ms.topic: include
5+
ms.date: 05/14/2024
6+
ms.author: jiyoonlee
7+
---
8+
[!INCLUDE [Install SDK](../install-sdk/install-sdk-windows.md)]
9+
10+
## Meeting join methods
11+
To join a Teams meeting, use the `CallAgent.JoinAsync` method and pass a `JoinMeetingLocator` and a `JoinCallOptions`.
12+
13+
### Meeting ID and passcode
14+
The `TeamsMeetingIdLocator` locates a meeting using a meeting ID and passcode. These can be found under a Teams meeting's join info.
15+
A Teams meeting ID will be 12 characters long and will consist of numeric digits grouped in threes (i.e. `000 000 000 000`).
16+
A passcode will consist of 6 alphabet characters (i.e. `aBcDeF`). The passcode is case sensitive.
17+
18+
```cs
19+
string meetingId, passcode;
20+
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);
21+
```
22+
23+
### Meeting link
24+
The `TeamsMeetingLinkLocator` locates a meeting using a link to a Teams meeting. This can found under a Teams meeting's join info.
25+
```cs
26+
string meetingLink;
27+
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);
28+
```
29+
30+
### Meeting coordinates
31+
The `TeamsMeetingCoordinatesLocator` locates meetings using an organizer ID, tenant ID, thread ID, and a message ID. This information can be found using Microsoft Graph.
32+
```cs
33+
Guid organizerId, tenantId;
34+
string threadId, messageId;
35+
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);
36+
```
37+
38+
## Join meeting using locators
39+
After creating these Teams meeting locators, you can use it to join a Teams meeting using `CallAgent.JoinAsync` as shown below.
40+
```cs
41+
var joinCallOptions = new JoinCallOptions() {
42+
OutgoingAudioOptions = new OutgoingAudioOptions() { IsMuted = true },
43+
OutgoingVideoOptions = new OutgoingVideoOptions() { Streams = new OutgoingVideoStream[] { cameraStream } }
44+
};
45+
var call = await callAgent.JoinAsync(locator, joinCallOptions);
46+
```

articles/communication-services/how-tos/calling-sdk/teams-interoperability.md

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ms.subservice: teams-interop
99
ms.topic: how-to
1010
ms.date: 08/10/2021
1111
ms.custom: template-how-to
12+
zone_pivot_groups: acs-plat-web-ios-android-windows
1213

1314
#Customer intent: As a developer, I want to join a Teams meeting.
1415
---
@@ -24,26 +25,21 @@ Azure Communication Services SDKs can allow your users to join regular Microsoft
2425
- A user access token to enable the calling client. For more information, see [Create and manage access tokens](../../quickstarts/identity/access-tokens.md).
2526
- Optional: Complete the quickstart to [add voice calling to your application](../../quickstarts/voice-video-calling/getting-started-with-calling.md)
2627

27-
To join a Teams meeting, use the `join` method and pass a meeting link or a meeting's coordinates.
28+
::: zone pivot="platform-web"
29+
[!INCLUDE [Join a Teams Meeting Web](./includes/teams-interopability/teams-interopability-web.md)]
30+
::: zone-end
2831

29-
Join by using a meeting link:
32+
::: zone pivot="platform-android"
33+
[!INCLUDE [Join a Teams Meeting Android](./includes/teams-interopability/teams-interopability-android.md)]
34+
::: zone-end
3035

31-
```js
32-
const locator = { meetingLink: '<MEETING_LINK>'}
33-
const call = callAgent.join(locator);
34-
```
36+
::: zone pivot="platform-ios"
37+
[!INCLUDE [Join a Teams Meeting iOS](./includes/teams-interopability/teams-interopability-ios.md)]
38+
::: zone-end
3539

36-
Join by using meeting coordinates (this is currently in limited preview):
37-
38-
```js
39-
const locator = {
40-
threadId: <thread id>,
41-
organizerId: <organizer id>,
42-
tenantId: <tenant id>,
43-
messageId: <message id>
44-
}
45-
const call = callAgent.join(locator);
46-
```
40+
::: zone pivot="platform-windows"
41+
[!INCLUDE [Join a Teams Meeting Windows](./includes/teams-interopability/teams-interopability-windows.md)]
42+
::: zone-end
4743

4844
## Next steps
4945
- [Learn how to manage calls](./manage-calls.md)

0 commit comments

Comments
 (0)