Search code examples
azure-communication-services

Current ACS call session list and force to end it by REST


I'm integrating ACS video call into my service (NodeJs backend, React front).

I want to allow ACS video call session only for a scheduled time period, then force to end it if it is over.

However I cannot find the way of implement followings (or REST API)

  • list current call sessions
  • list participants of each sessions.
  • force to stop/end a session by group id or any call ID
  • webhooks/callback being called when the session closes and when the participant leaves session.

Could you please give me some hint or advice?

Much appreciated. Jin


Solution

  • You can use the Call Automation to join or create a new call. Your app can join either as a participant of the call or act out of the call. Each option offers different capabilities described here.

    The good news is that both options offer the capability to add and remove participants to/from the call:

    If you decide to use the In-Call (App-Participant) APIs, can you specify the callbackUri in the CreateCallOptions or JoinCallOptions. On this URI, you can listen to events (webhooks) such as Participants updated and deserialize the information about them. There is a comprehensive quickstart app available on GitHub showcasing the concept of callback URIs on the call recording capabilities (see the CallRecordingController.cs and Utils.ts in the public-preview branch).

    If you decide to use the Out-of-Call APIs, then you need to keep track of the participant IDs yourself.

    Currently, the CallingServer SDKs are currently available only for .NET and Java so you'll have to use the REST API.