Skip to content

Add MoveParticipants API and Event Handling Support - #50197

Merged
Vinothini Dharmaraj (v-dharmarajv) merged 5 commits into
mainfrom
users/v-vkaluri/feature/moveParticipant
Jun 11, 2025
Merged

Vinothini Dharmaraj (v-dharmarajv) merged 5 commits into
mainfrom
users/v-vkaluri/feature/moveParticipant

Conversation

@v-vkaluri

@v-vkaluri Srinivasa Kaluri (v-vkaluri) commented May 22, 2025 •

Copy link
Copy Markdown
Contributor

This PR introduces support for the Move Participant feature in the Azure Communication Services Call Automation .NET SDK.
Changes Include:

  • Added MoveParticipants Sync and Async methods to CallConnection.
  • Introduced MoveParticipantsResult and MoveParticipantsOptions models.
  • Updated EventHandler to include support for MoveParticipant events.
  • Added unit tests and validation logic for move participant flows.

Correlation Id for reference: 55b23437-747e-4f0e-b2af-0ef376757436

Contributing to the Azure SDK

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.

For specific information about pull request etiquette and best practices, see this section.

@github-actions

github-actions Bot commented May 22, 2025 •

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Azure.Communication.CallAutomation

@v-dharmarajv
Vinothini Dharmaraj (v-dharmarajv) marked this pull request as ready for review June 5, 2025 21:57
Copilot AI review requested due to automatic review settings June 5, 2025 21:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces support for moving participants between calls in the Call Automation .NET SDK by adding new synchronous and asynchronous MoveParticipants APIs and their associated event handling.

  • Added MoveParticipants APIs, including overloads that take options and separate parameters.
  • New models (MoveParticipantsResult, MoveParticipantsOptions) and event types (MoveParticipantSucceeded, MoveParticipantFailed) were introduced.
  • Test coverage and API definitions were updated across the SDK and API surface.

Reviewed Changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/CallConnections/CallConnectionTests.cs Added tests validating successful and error scenarios of the MoveParticipants methods.
src/Models/MoveParticipantsResult.cs Introduced a result model with methods to wait for participant move events.
src/Models/MoveParticipantsResponseInternal.cs Updated to use CodeGenModel attributes for code generation.
src/Models/MoveParticipantsRequestInternal.cs Added a new partial class for the request model (requires completeness through code generation).
src/Models/MoveParticipantsOptions.cs Introduced options to configure move participants operations.
src/Models/Events/* Added internal and public event types for MoveParticipantSucceeded/Failed events.
src/CallConnection.cs Added MoveParticipants API implementations and request creation logic.
api/*.cs Updated API definitions to reflect the new MoveParticipants operations.
Comments suppressed due to low confidence (2)

sdk/communication/Azure.Communication.CallAutomation/src/Models/MoveParticipantsRequestInternal.cs:10

  • The partial class MoveParticipantsRequestInternal is currently empty but is instantiated with constructor parameters in CallConnection.CreateMoveParticipantsRequest. Please verify that the remaining partial definition (or code generation) provides the necessary constructor and properties.
internal partial class MoveParticipantsRequestInternal

sdk/communication/Azure.Communication.CallAutomation/src/CallConnection.cs:612

  • The MoveParticipants API accepts multiple participants (IEnumerable) while the event result (MoveParticipantEventResult) returns a single TargetParticipant. Please confirm that this behavior is intended and document it accordingly if only one participant is expected to be processed in the event result.
result.SetEventProcessor(EventProcessor, CallConnectionId, request.OperationContext);

@v-dharmarajv
Vinothini Dharmaraj (v-dharmarajv) deleted the users/v-vkaluri/feature/moveParticipant branch June 11, 2025 23:15
Jesse Squire (jsquire) pushed a commit to JonathanCrd/azure-sdk-for-net that referenced this pull request Jun 23, 2025
* Adding the Move Participants to Call Connection

* Updated the Move Participants, removed the Live test as it cannot be tested for non p2p scenarios

* Addressing PR comments: By adding the FromCall in MoveParticipantsEventResult
Srinivasa Kaluri (v-vkaluri) added a commit to Azure/azure-sdk-for-js that referenced this pull request Jun 30, 2025
### Packages impacted by this PR
Communication-Call-Automation

### Issues associated with this PR


### Describe the problem that is addressed by this PR
Implements moveParticipants method for Azure Communication Services Call
Automation SDK, enabling movement of participants between different
calls. Follows existing SDK patterns with
MoveParticipantSucceeded/MoveParticipantFailed events (singular per
participant) and fromCall tracking for source call identification.
Includes comprehensive interfaces (MoveParticipantsOptions,
MoveParticipantsResult), event processing integration, and full test
coverage with unit and live integration tests. API:
moveParticipants(targetParticipants: CommunicationIdentifier[], options:
MoveParticipantsOptions). Added unit tests for move participants.

### What are the possible designs available to address the problem? If
there are more than one possible design, why was the one in this PR
chosen?


### Are there test cases added in this PR? _(If not, why?)_
Yes

### Provide a list of related PRs _(if any)_
Azure/azure-sdk-for-net#50197
Azure/azure-sdk-for-python#41448

### Command used to generate this PR:**_(Applicable only to SDK release
request PRs)_

### Checklists
- [x] Added impacted package name to the issue description
- [ ] Does this PR needs any fixes in the SDK Generator?** _(If so,
create an Issue in the
[Autorest/typescript](https://github.com/Azure/autorest.typescript)
repository and link it here)_
- [ ] Added a changelog (if necessary)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants