@telnyx/webrtc
Version:
Telnyx WebRTC Client
114 lines (113 loc) • 3.18 kB
TypeScript
import { IWebRTCCall } from '../webrtc/interfaces';
import { TargetParams } from '../../../utils/interfaces';
export declare type Environment = 'production' | 'development';
export interface IVertoOptions {
host?: string;
project?: string;
token?: string;
login?: string;
passwd?: string;
password?: string;
login_token?: string;
userVariables?: Record<string, any>;
ringtoneFile?: string;
ringbackFile?: string;
env?: Environment;
iceServers?: RTCIceServer[];
video?: boolean;
autoReconnect?: boolean;
debug?: boolean;
debugOutput?: 'socket' | 'file';
prefetchIceCandidates?: boolean;
forceRelayCandidate?: boolean;
trickleIce?: boolean;
keepConnectionAliveOnSocketClose?: boolean;
hangupOnBeforeUnload?: boolean;
useCanaryRtcServer?: boolean;
region?: string;
anonymous_login?: {
target_type: string;
target_id: string;
target_version_id?: string;
target_params?: TargetParams;
};
rtcIp?: string;
rtcPort?: number;
mutedMicOnStart?: boolean;
maxReconnectAttempts?: number;
enableCallReports?: boolean;
callReportInterval?: number;
callReportFlushInterval?: number;
enableCallRecording?: boolean;
callRecordingFlushIntervalMs?: number;
callRecordingMaxBufferBytes?: number;
callRecordingSampleRate?: number;
callRecordingTracks?: Array<'local' | 'remote'>;
callRecordingEndpoint?: string;
debugLogLevel?: 'debug' | 'info' | 'warn' | 'error';
debugLogMaxEntries?: number;
skipLastVoiceSdkId?: boolean;
skipTrailing?: boolean;
mediaPermissionsRecovery?: {
enabled: boolean;
timeout: number;
onSuccess?: () => void;
onError?: (error: Error) => void;
};
}
export interface ILoginParams {
login?: string;
password?: string;
passwd?: string;
login_token?: string;
userVariables?: Record<string, any>;
anonymous_login?: {
target_type: string;
target_id: string;
target_version_id?: string;
target_params?: TargetParams;
};
}
export interface SubscribeParams {
channels?: string[];
protocol?: string;
handler?: Function;
nodeId?: string;
}
export interface BroadcastParams {
channel?: string;
protocol?: string;
data?: object;
nodeId?: string;
}
export interface IAudioSettings extends MediaTrackConstraints {
micId?: string;
micLabel?: string;
}
export interface IVideoSettings extends MediaTrackConstraints {
camId?: string;
camLabel?: string;
}
export interface INotificationEventData {
type: string;
call?: IWebRTCCall;
error?: Error;
errorName?: string;
errorMessage?: string;
displayName?: string;
displayNumber?: string;
displayDirection?: string;
}
export interface IRequestRPC {
id: any;
method?: any;
params?: any;
}
export interface IResponseRPC {
id: any;
result?: {
params: any;
};
}
export interface IMessageRPC extends IRequestRPC, IResponseRPC {
}