UNPKG

@telnyx/webrtc

Version:
145 lines (144 loc) 5.07 kB
import BrowserSession from '../BrowserSession'; import { type ICallReportFlushReason } from './CallReportCollector'; import Call from './Call'; import Peer from './Peer'; import { Direction, State } from './constants'; import { AnswerParams, IHangupParams, IVertoCallOptions, IWebRTCCall } from './interfaces'; export default abstract class BaseCall implements IWebRTCCall { protected session: BrowserSession; private _webRTCStats; private _callReportCollector; private _callRecorder; private _mediaDeviceCollector; id: string; recoveredCallId: 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; get creatingPeer(): boolean; get signalingStateClosed(): boolean; private _state; private _prevState; private gotAnswer; private gotEarly; private _lastSerno; private _targetNodeId; private _iceTimeout; private _ringtone; private _ringback; private _statsBindings; private _statsIntervalId; private _pendingIceCandidates; private _isRemoteDescriptionSet; private _signalingStateClosed; private _creatingPeer; private _desiredAudioMuted; private _firstCandidateSent; private _firstNonHostCandidateSent; private _isRecovering; private _captureHangupCallerStack; constructor(session: BrowserSession, opts?: IVertoCallOptions); get nodeId(): string; set nodeId(what: string); get isVideoCall(): boolean; get telnyxIDs(): { telnyxCallControlId: string; telnyxSessionId: string; telnyxLegId: string; }; get localStream(): MediaStream; get remoteStream(): MediaStream; get memberChannel(): string; get isAudioMuted(): boolean; private _getLocalAudioTrackId; private _hasActiveUnmutedLocalAudioTrack; shouldForceRelayCandidateForRecovery(): boolean; invite(): Promise<void>; answer(params?: AnswerParams): Promise<void>; playRingtone(): void; stopRingtone(): void; playRingback(): void; stopRingback(): void; hangup(): Promise<void>; hangup(hangupParams: IHangupParams, hangupExecute: boolean): Promise<void>; hold(): Promise<any>; unhold(): Promise<any>; toggleHold(): Promise<any>; dtmf(dtmf: string): void; message(to: string, body: string): void; muteAudio(): void; unmuteAudio(): void; _applyDesiredAudioMuteState(): void; toggleAudioMute(): void; setAudioInDevice(deviceId: string, muted?: boolean): 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; private _isTerminatingOrTerminated; 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 _handleChangeHoldStateSuccess; private _handleChangeHoldStateError; private _sendIceRestartModify; private _onIceRestartFailed; private _onRemoteSdp; private _requestAnotherLocalDescription; private _onIceSdp; private _onTrickleIceSdp; private _onIce; private _onTrickleIce; private _sendIceCandidate; private _addIceCandidate; private _addIceCandidateToPeer; private _sendEndOfCandidates; private _trackCandidateMarks; private _resetTrickleIceCandidateState; private _flushPendingTrickleIceCandidates; private _registerPeerEvents; private _checkConferenceSerno; private _onMediaError; private _onPeerConnectionFailureError; private _onPeerConnectionSignalingStateClosed; private _dispatchConferenceUpdate; private _dispatchNotification; private _execute; private _registerInboundAnswerAttempt; private _init; protected _finalize(): void; private _getCallReportVoiceSdkId; private _getClientSummary; private _getAuthenticationType; private _sanitizeIceServers; private _sanitizeClientOption; private _isSensitiveClientOptionKey; flushIntermediateCallReport(flushReason?: ICallReportFlushReason): void; private _flushIntermediateReport; private _postCallReport; private _startStats; private _stopStats; private _doStats; static setStateTelnyx: (call: Call) => Call; }