diff --git a/lib/tasks/conference.js b/lib/tasks/conference.js index 8b10eddd..44ad9544 100644 --- a/lib/tasks/conference.js +++ b/lib/tasks/conference.js @@ -518,6 +518,9 @@ class Conference extends Task { case 'unmute': this.doConferenceMute(cs, {conf_mute_status: 'unmute'}); break; + case 'kick': + this.kickMember(cs); + break; default: this.logger.info(`Conference:doConferenceParticipantAction - unhandled action ${action}`); break; @@ -825,6 +828,16 @@ class Conference extends Task { } } + async kickMember(cs) { + assert(cs.isInConference); + try { + await this.ep.api('conference', [this.confName, 'kick', this.memberId]); + this.logger.info(`Conference:kickMember: kick ${this.memberId} out of conference ${this.confName}`); + } catch (err) { + this.logger.error({err}, `Error kicking member out of conference for ${this.memberId}`); + } + } + } module.exports = Conference;