UNPKG

infobip-rtc

Version:

Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation

81 lines 2.32 kB
import { ApiEventEmitter } from "../../util/ApiEventEmitter"; import { CallsApiEvent } from "../event/CallsApiEvents"; export class DefaultCall { constructor(basicCallOptions, sourceEndpoint, destinationEndpoint) { this.basicCallOptions = basicCallOptions; this.sourceEndpoint = sourceEndpoint; this.destinationEndpoint = destinationEndpoint; this.apiEventEmitter = new ApiEventEmitter(); } on(name, handler) { if (!Object.values(CallsApiEvent) .find(apiEvent => apiEvent === name)) { throw new Error(`Unknown event: ${name}!`); } this.apiEventEmitter.on(name, handler); } id() { return this.applicationCall.id(); } options() { return this.basicCallOptions; } customData() { return this.options().customData; } duration() { return this.applicationCall.duration(); } status() { return this.applicationCall.status(); } startTime() { return this.applicationCall.startTime(); } establishTime() { return this.applicationCall.establishTime(); } endTime() { return this.applicationCall.endTime(); } mute(shouldMute) { return this.applicationCall.mute(shouldMute); } muted() { return this.applicationCall.muted(); } sendDTMF(dtmf) { return this.applicationCall.sendDTMF(dtmf); } setAudioInputDevice(deviceId) { return this.applicationCall.setAudioInputDevice(deviceId); } audioFilter() { return this.applicationCall.audioFilter(); } setAudioFilter(audioFilter) { return this.applicationCall.setAudioFilter(audioFilter); } clearAudioFilter() { return this.applicationCall.clearAudioFilter(); } counterpart() { return undefined; } source() { return this.sourceEndpoint; } destination() { return this.destinationEndpoint; } setAudioQualityMode(audioQualityMode) { return this.applicationCall.setAudioQualityMode(audioQualityMode); } audioQualityMode() { return this.applicationCall.audioQualityMode(); } hangup() { return this.applicationCall.hangup(); } } //# sourceMappingURL=DefaultCall.js.map