@telnyx/webrtc
Version:
Telnyx WebRTC Client
101 lines (100 loc) • 3.28 kB
TypeScript
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;
}