reject method

Future<void> reject({
  1. CallErrorCode? reason,
  2. bool shouldEmit = true,
})

Reject a call This used to be done by calling hangup, but is a separate method and protocol event as of MSC2746.

Implementation

Future<void> reject({CallErrorCode? reason, bool shouldEmit = true}) async {
  setCallState(CallState.kEnding);
  if (state != CallState.kRinging && state != CallState.kFledgling) {
    Logs().e(
        '[VOIP] Call must be in \'ringing|fledgling\' state to reject! (current state was: ${state.toString()}) Calling hangup instead');
    await hangup(reason: CallErrorCode.userHangup, shouldEmit: shouldEmit);
    return;
  }
  Logs().d('[VOIP] Rejecting call: $callId');
  await terminate(CallParty.kLocal, CallErrorCode.userHangup, shouldEmit);
  if (shouldEmit) {
    await sendCallReject(room, callId, localPartyId);
  }
}