Browse SDKs · Flutter
Platform
SDKsFlutterEnterprise

Start a group call

Invite specified group members to join a group audio or video call.

Copy

A group call invitation is sent only to the specific group members listed in inviteeUserIDList. Specifying a groupID does not automatically ring all members of the group:

Parameters

ParameterTypeRequiredDescription
infoSignalingInfoYesGroup call signaling initiation object containing the operator's userID and the complete invitation payload.

Core fields of invitation:

  • inviterUserID: Initiator user ID.
  • inviteeUserIDList: List of invited group member user IDs, excluding the caller.
  • groupID: Target group ID; cannot be empty.
  • roomID: Call room ID. If generated by the application, all participants must use the identical ID.
  • timeout: Invitation expiration timeout in seconds.
  • mediaType: Media stream type (for example, 'video' or 'audio').
  • sessionType: Session type; pass ConversationType.group for group calls.

Code example

final info = SignalingInfo(
  userID: currentUserID,
  invitation: InvitationInfo(
    inviterUserID: currentUserID,
    inviteeUserIDList: selectedGroupMemberIDs,
    groupID: groupID,
    roomID: groupID,
    timeout: 30,
    mediaType: 'video',
    sessionType: ConversationType.group,
    platformID: Platform.isIOS ? IMPlatform.ios : IMPlatform.android,
  ),
);

final credentials = await OpenIM.iMManager.signalingManager
    .signalingInviteInGroup(info: info);

Return value

A successful Future returns a SignalingCertificate object containing the caller's room access credentials.

FieldTypeDescription
tokenString?Room authentication token required by the media engine.
roomIDString?Target call room ID.
liveURLString?Live media streaming server URL.
busyLineUserIDListList<String>?List of member user IDs currently busy on another line. Busy members do not prevent other invitees from receiving the call.

State changes after the call

A successful call indicates that the group invitation has been dispatched by the server. It does not imply that invited members have answered. The client tracks the local call session via roomID. Member acceptances, rejections, and timeouts arrive asynchronously via events (see Handle call events for complete event handling).