UNPKG

@telnyx/webrtc

Version:
101 lines (100 loc) 3.28 kB
import BrowserSession from '../BrowserSession'; import Call from './Call'; import Peer from './Peer'; import { Direction, State } from './constants'; import { AnswerParams, IVertoCallOptions, IWebRTCCall } from './interfaces'; export default abstract class BaseCall implements IWebRTCCall { protected session: BrowserSession; private _webRTCStats; id: string; state: string; prevState: string; direction: Direction; peer: Peer; options: IVertoCallOptions; cause: string; causeCode: number; sipReason: string; sipCode: number; sipCallId: string; channels: string[]; role: string; extension: string; private _state; private _prevState; private gotAnswer; private gotEarly; private _lastSerno; private _targetNodeId; private _iceTimeout; private _iceDone; private _ringtone; private _ringback; private _statsBindings; private _statsIntervalId; constructor(session: BrowserSession, opts?: IVertoCallOptions); get nodeId(): string; set nodeId(what: string); get telnyxIDs(): { telnyxCallControlId: string; telnyxSessionId: string; telnyxLegId: string; }; get localStream(): MediaStream; get remoteStream(): MediaStream; get memberChannel(): string; invite(): void; answer(params?: AnswerParams): void; playRingtone(): void; stopRingtone(): void; playRingback(): void; stopRingback(): void; hangup(): void; hangup(hangupParams: any, hangupExecute: any): void; hold(): Promise<any>; unhold(): Promise<any>; toggleHold(): Promise<any>; dtmf(dtmf: string): void; message(to: string, body: string): void; muteAudio(): void; unmuteAudio(): void; toggleAudioMute(): void; setAudioInDevice(deviceId: string): Promise<void>; muteVideo(): void; unmuteVideo(): void; toggleVideoMute(): void; setVideoDevice(deviceId: string): Promise<void>; deaf(): void; undeaf(): void; toggleDeaf(): void; setBandwidthEncodingsMaxBps(max: number, _kind: string): Promise<void>; setAudioBandwidthEncodingsMaxBps(max: number): void; setVideoBandwidthEncodingsMaxBps(max: number): void; getStats(callback: Function, constraints: any): void; setState(state: State): void; handleMessage(msg: any): void; handleConferenceUpdate(packet: any, initialPvtData: any): Promise<string>; _addChannel(channel: string): void; private _subscribeConferenceChat; private _subscribeConferenceInfo; private _confControl; private _subscribeConferenceModerator; private _handleChangeHoldStateSuccess; private _handleChangeHoldStateError; private _onRemoteSdp; private _requestAnotherLocalDescription; private _onIceSdp; private _onIce; private _registerPeerEvents; private _checkConferenceSerno; private _onMediaError; private _dispatchConferenceUpdate; private _dispatchNotification; private _execute; private _init; protected _finalize(): void; private _startStats; private _stopStats; private _doStats; static setStateTelnyx: (call: Call) => Call; }