msg91-webrtc-call
Version:
**msg91-webrtc-call** is a lightweight JavaScript SDK that enables you to easily add peer-to-peer WebRTC audio/video calling functionality to your web applications using the MSG91 infrastructure.
81 lines (80 loc) • 2.89 kB
TypeScript
import { User } from "./type/user";
import { CALL_EVENT, WebRTC_EVENT, MessageArray, CALL_STATUS, CallData, CallInfo, AnsweredPayload, UnavailablePayload, RejoinedPayload, EndedPayload, MessagePayload, SilenceStatePayload, ConnectedPayload, UnmutePayload, MutePayload, ErrorPayload, WebRTCEventMap, CallEventMap } from "./type/call";
import { EventEmitter } from "./util/event-emitter";
declare class WebRTC extends EventEmitter {
private user;
private callId;
private status;
private userToken;
private callToken?;
private callManager;
constructor(userToken: string);
on<K extends WebRTC_EVENT>(event: K, listener: WebRTCEventMap[K]): {
remove: () => void;
};
close(): void;
call(callToken: string): Promise<void>;
rejoinCall(callId: string): Promise<void>;
sendUserContext(data: {
context?: any;
message?: any;
}): Promise<void>;
/**
*
* @param status Set global silence for incoming calls
*/
silence(status?: boolean): void;
}
declare class Call extends EventEmitter {
protected user: User;
protected id: string;
protected existingCall: boolean;
private from;
private to;
private producerTransport;
private consumerTransport;
private producer;
private routerRtpCapabilities;
private type;
private device;
protected userToken: string;
private status;
private mediaStream;
private audioTrack;
private rtlayerEvents;
constructor(user: User, userToken: string, data: CallData);
on<K extends CALL_EVENT>(event: K, listener: CallEventMap[K]): {
remove: () => void;
};
protected addEvent(callback: Function): void;
protected setStatus(status: CALL_STATUS): Promise<void>;
getStatus(): CALL_STATUS;
getMediaStream(): MediaStream;
protected isExistingCall(): boolean;
mute(): void;
unmute(): void;
hang(data?: any): void;
getInfo(): CallInfo;
protected setupCall(): Promise<void>;
}
declare class IncomingCall extends Call {
private isUnavailable;
private isSilent;
constructor(user: User, userToken: string, data: CallData);
private rejoin;
accept(): void;
silence(status?: boolean): void;
getInfo(): CallInfo;
reject(): void;
}
declare class OutgoingCall extends Call {
constructor(user: User, userToken: string, data: CallData);
private rejoin;
cancel(): void;
sendMessage(message: MessageArray, isContext: boolean): Promise<void>;
}
declare const _default: (userToken: string, env?: "dev" | "test" | "prod") => WebRTC | undefined;
export default _default;
export { CALL_EVENT, WebRTC_EVENT };
export type { IncomingCall, OutgoingCall };
export type { AnsweredPayload, UnavailablePayload, ConnectedPayload, RejoinedPayload, EndedPayload, MessagePayload, SilenceStatePayload, MutePayload, UnmutePayload, ErrorPayload };