Skip to content

Commit 77682f8

Browse files
Merge pull request #253810 from sloanster/patch-37
Update manage-calls-web.md
2 parents 4790ef4 + 9bb6de6 commit 77682f8

File tree

1 file changed

+52
-3
lines changed

1 file changed

+52
-3
lines changed

articles/communication-services/how-tos/calling-sdk/includes/manage-calls/manage-calls-web.md

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ await call.muteIncomingAudio();
158158
await call.unmuteIncomingAudio();
159159
```
160160

161-
When incoming audio is muted, the participant will still receive the call audio (remote participant's audio). The call audio will not play in the speaker and the participant will not be able to listen until 'call.unmuteIncomingAudio()' is called. However, we can apply filter on call audio and play the filtered audio.
161+
When incoming audio is muted, the participant will still receive the call audio (remote participant's audio). The call audio won't play in the speaker and the participant won't be able to listen until 'call.unmuteIncomingAudio()' is called. However, we can apply filter on call audio and play the filtered audio.
162162

163163
## Mute other participants
164164
> [!NOTE]
@@ -250,7 +250,7 @@ The state can be:
250250
```
251251
Note:
252252
- This property is only set when adding a remote participant via the Call.addParticipant() API, and the remote participant declines for example.
253-
- In the scenario, where for example, UserB kicks UserC, from UserA's perspective, UserA will not see this flag get set for UserC. In other words UserA will not see UserC's callEndReason property get set at all.
253+
- In the scenario, where for example, UserB kicks UserC, from UserA's perspective, UserA won't see this flag get set for UserC. In other words UserA won't see UserC's callEndReason property get set at all.
254254
255255
- `isMuted` status: To find out if a remote participant is muted, check the `isMuted` property. It returns `Boolean`.
256256
@@ -312,7 +312,7 @@ This returns a string representing the current state of a call:
312312
313313
- `None`: Initial call state.
314314
- `Connecting`: Initial transition state when a call is placed or accepted.
315-
- `Ringing`: For an outgoing call, indicates that a call is ringing for remote participants. It is `Incoming` on their side.
315+
- `Ringing`: For an outgoing call, indicates that a call is ringing for remote participants. It's `Incoming` on their side.
316316
- `EarlyMedia`: Indicates a state in which an announcement is played before the call is connected.
317317
- `Connected`: Indicates that the call is connected.
318318
- `LocalHold`: Indicates that the call is put on hold by a local participant. No media is flowing between the local endpoint and remote participants.
@@ -365,3 +365,52 @@ Check is screen sharing is on. It returns `Boolean`.
365365
```js
366366
const isScreenSharingOn = call.isScreenSharingOn;
367367
```
368+
## Send or receive a reaction from other participants
369+
Within ACS you can send and receive reactions when on a group call:
370+
- Like :+1:
371+
- Love :heart:
372+
- Applause :clap:
373+
- Laugh :smile:
374+
- Surprise :open_mouth:
375+
376+
To send a reaction you'll use the `sendReaction(reactionMessage)` API. To receive a reaction message will be built with Type `ReactionMessage` which uses `Reaction` enums as an attribute.
377+
378+
You'll need to subscribe for events which provide the subscriber event data as:
379+
```javascript
380+
export interface ReactionEventPayload {
381+
/**
382+
* identifier for a participant
383+
*/
384+
identifier: CommunicationUserIdentifier | MicrosoftTeamsUserIdentifier;
385+
/**
386+
* reaction type received
387+
*/
388+
reactionMessage: ReactionMessage;
389+
}
390+
```
391+
392+
You can determine which reaction is coming from which participant with `identifier` attribute and gets the reaction type from `ReactionMessage`.
393+
394+
### Sample on how to send a reaction in a meeting
395+
```javascript
396+
const reaction = call.feature(SDK.Features.Reaction);
397+
const reactionMessage: SDK.ReactionMessage = {
398+
reactionType: 'like'
399+
};
400+
await reaction.sendReaction(reactionMessage);
401+
```
402+
403+
### Sample on how to receive a reaction in a meeting
404+
```javascript
405+
const reaction = call.feature(SDK.Features.Reaction);
406+
reaction.on('reaction', event => {
407+
// user identifier
408+
console.log("User Mri - " + event.identifier);
409+
// reaction message
410+
console.log("reaction message - " + JSON.stringify(event.reactionMessage));
411+
}
412+
```
413+
414+
### Key things to note about using Reactions:
415+
- Reactions won't work if the meeting organizer updates the meeting policy to disallow the reaction in a Teams interop call.
416+
- Sending of reactions doesn't work on 1:1 calls.

0 commit comments

Comments
 (0)