infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
41 lines (40 loc) • 1.98 kB
TypeScript
import { CallStatus } from "./CallStatus";
import { CallOptions } from "./options/CallOptions";
import { Endpoint } from "../util/Endpoint";
import { AudioFilter } from "./options/filters/audio/AudioFilter";
import { CallsApiEvent } from "./event/CallsApiEvents";
import { CallsEventHandlers } from "./event/CallsEventHandlers";
import { CustomData } from "./CustomDataType";
import { AudioQualityMode } from "./options/AudioQualityMode";
export interface Call {
id(): string;
options(): CallOptions;
customData(): CustomData;
status(): CallStatus;
duration(): number;
startTime(): Date;
establishTime(): Date;
endTime(): Date;
mute(shouldMute: boolean): Promise<void>;
muted(): boolean;
sendDTMF(dtmf: string): Promise<void>;
source(): Endpoint;
destination(): Endpoint;
counterpart(): Endpoint;
setAudioInputDevice(deviceId: string): Promise<void>;
audioFilter(): AudioFilter;
setAudioFilter(audioFilter: AudioFilter): Promise<void>;
clearAudioFilter(): Promise<void>;
setAudioQualityMode(audioQualityMode: AudioQualityMode): void;
audioQualityMode(): AudioQualityMode;
hangup(): void;
on(name: CallsApiEvent.RINGING, handler: CallsEventHandlers.Ringing): void;
on(name: CallsApiEvent.EARLY_MEDIA, handler: CallsEventHandlers.EarlyMedia): void;
on(name: CallsApiEvent.ESTABLISHED, handler: CallsEventHandlers.Established): void;
on(name: CallsApiEvent.HANGUP, handler: CallsEventHandlers.Hangup): void;
on(name: CallsApiEvent.ERROR, handler: CallsEventHandlers.Error): void;
on(name: CallsApiEvent.NETWORK_QUALITY_CHANGED, handler: CallsEventHandlers.NetworkQualityChanged): void;
on(name: CallsApiEvent.CALL_RECORDING_STARTED, handler: CallsEventHandlers.CallRecordingStartedEvent): void;
on(name: CallsApiEvent.RECONNECTING, handler: CallsEventHandlers.Reconnecting): void;
on(name: CallsApiEvent.RECONNECTED, handler: CallsEventHandlers.Reconnected): void;
}