### Starting Screen Sharing - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method initiates screen sharing, allowing the user to broadcast their screen content to other participants. ```JavaScript startScreenShare(): void ``` -------------------------------- ### Handling Screen Share Start Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the local user successfully starts sharing their screen. ```JavaScript sdk.on('screenShare:start', () => {}); ``` -------------------------------- ### Installing OpenSIPS.js Library with npm Source: https://github.com/opensips/opensips-js/blob/master/README.md This snippet demonstrates how to install the OpenSIPS.js library using the npm package manager. It's a prerequisite for using the library in a JavaScript project, ensuring all dependencies are met. ```shell npm i @voicenter-team/opensips-js ``` -------------------------------- ### Starting Noise Filter - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method activates a noise filter on the audio stream to reduce background noise. ```JavaScript startNoiseFilter(): void ``` -------------------------------- ### Setting Up Drawer Options - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method configures options for the Konva drawer, such as container, width, and height, which are used for drawing functionalities. ```JavaScript setupDrawerOptions(options: KonvaDrawerOptions): void ``` -------------------------------- ### Setting Up Screen Share Drawer Options - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method configures options specifically for the Konva drawer used with screen sharing, including stroke width and color for annotations. ```JavaScript setupScreenShareDrawerOptions(options: KonvaScreenShareDrawerOptions): void ``` -------------------------------- ### Initializing OpenSIPS.js Instance in JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This snippet shows how to import the OpenSIPS.js library and create a new instance. It configures SIP parameters like URI, authentication (password or JWT), socket interfaces, push notification headers, and enables specific modules (audio, video, MSRP) for extended functionality. ```javascript import OpenSIPSJS from '@voicenter-team/opensips-js' const openSIPSJS = new OpenSIPSJS({ configuration: { session_timers: false, uri: 'sip:extension_user@domain', // --- Use password or authorization_jwt to authorize password: 'password', // or authorization_jwt: 'token' }, socketInterfaces: [ 'wss://domain' ], pnExtraHeaders: { 'pn-provider': 'acme', 'pn-param': 'acme-param', 'pn-prid': 'ZH11Y4ZDJlMNzODE1NgKi0K>' }, sipDomain: 'domain', sipOptions: { session_timers: false, extraHeaders: [ 'X-Bar: bar' ], pcConfig: {} }, modules: [ 'audio', 'video', 'msrp' ] }) ``` -------------------------------- ### Turning On Camera - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method activates the user's camera, enabling video transmission in the conference. ```JavaScript startVideo(): void ``` -------------------------------- ### Setting Up Mask Visualization Configuration - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method configures the visualization parameters for mask effects, using a `VisualizationConfigType` object to define properties like blur and opacity. ```JavaScript setupMaskVisualizationConfig(config: VisualizationConfigType): void ``` -------------------------------- ### Accessing OpenSIPS.js Modules in JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md After initializing the OpenSIPS.js instance, this snippet demonstrates how to access the integrated modules like `audio`, `video`, and `msrp`. These modules provide specific functionalities related to their respective media types, allowing developers to interact with them. ```javascript openSIPSJS.audio openSIPSJS.video openSIPSJS.msrp ``` -------------------------------- ### Joining a Conference Room - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method allows a user to join a conference room. It requires a room ID, a display name for the user, and media constraints to configure audio/video settings for the session. ```JavaScript joinRoom(roomId: String, displayName: String, mediaConstraints: Object): void ``` -------------------------------- ### Audio Instance Fields (OpenSIPS.js) Source: https://github.com/opensips/opensips-js/blob/master/README.md These fields provide access to various properties related to the audio call instance, such as SIP options, active rooms, device lists, and current status indicators like DND and mute. ```TypeScript sipOptions: Object ``` ```TypeScript getActiveRooms: { [key: number]: IRoom } ``` ```TypeScript sipDomain: String ``` ```TypeScript sipOptions: Object ``` ```TypeScript getInputDeviceList: [] ``` ```TypeScript getOutputDeviceList: [] ``` ```TypeScript currentActiveRoomId: Number ``` ```TypeScript selectedInputDevice: String ``` ```TypeScript selectedOutputDevice: String ``` ```TypeScript isDND: Boolean ``` ```TypeScript isMuted: Boolean ``` -------------------------------- ### Handling Member Join Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when a new member successfully joins the conference, providing data about the newly joined participant. ```JavaScript sdk.on('member:join', (data) => {}); ``` -------------------------------- ### MSRP Messaging Methods (OpenSIPS.js) Source: https://github.com/opensips/opensips-js/blob/master/README.md These methods facilitate MSRP (Message Session Relay Protocol) messaging, allowing for the initialization, sending, acceptance, and termination of message sessions. ```TypeScript initMSRP(target: String, body: String): void ``` ```TypeScript sendMSRP(sessionId: String, body: String): Promise ``` ```TypeScript msrpAnswer(sessionId: String) ``` ```TypeScript messageTerminate(sessionId: String) ``` -------------------------------- ### Enabling Screen Share Whiteboard - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method enables or disables a whiteboard feature on the screen share stream. The `stream` parameter is the screen share stream itself. ```JavaScript enableScreenShareWhiteboard(enable: boolean, stream: MediaStream): void ``` -------------------------------- ### Audio Call Management Methods (OpenSIPS.js) Source: https://github.com/opensips/opensips-js/blob/master/README.md These methods provide functionality for managing audio calls, including initiating, holding, transferring, merging, and terminating calls, as well as controlling microphone and speaker settings and DND status. ```TypeScript initCall(target: String, addToCurrentRoom: Boolean): void ``` ```TypeScript holdCall(callId: String, automatic?: Boolean): Promise ``` ```TypeScript unholdCall(callId: String): Promise ``` ```TypeScript terminateCall(callId: String): void ``` ```TypeScript moveCall(callId: String, roomId: Number): Promise ``` ```TypeScript transferCall(callId: String, target: String): void ``` ```TypeScript mergeCall(roomId: Number): void ``` ```TypeScript answerCall(callId: String): void ``` ```TypeScript mute(): void ``` ```TypeScript unmute(): void ``` ```TypeScript muteCaller(callId: String): void ``` ```TypeScript unmuteCaller(callId: String): void ``` ```TypeScript setMicrophone(deviceId: String): Promise ``` ```TypeScript setSpeaker(deviceId: String): Promise ``` ```TypeScript setActiveRoom(roomId: Number): Promise ``` ```TypeScript setMicrophoneSensitivity(value: Number): void ``` ```TypeScript setSpeakerVolume(value: Number): void ``` ```TypeScript setDND(value: Boolean): void ``` ```TypeScript setMetricsConfig(config: WebrtcMetricsConfigType): void ``` -------------------------------- ### Enabling Whiteboard Feature - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method enables or disables a whiteboard feature. If `mode` is 'imageWhiteboard', a `base64Image` string is required to set the background image. ```JavaScript enableWhiteboard(mode: 'whiteboard' | 'imageWhiteboard', enable: boolean, base64Image?: string): void ``` -------------------------------- ### Defining Visualization Configuration Type - OpenSIPS.js Video API - TypeScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This TypeScript type defines configuration options for visual effects, including thresholds, opacities, and blur levels for masks and backgrounds. ```TypeScript type VisualizationConfigType = { foregroundThreshold: number; maskOpacity: number; maskBlur: number; pixelCellWidth: number; backgroundBlur: number; edgeBlur: number; } ``` -------------------------------- ### Setting Video Bitrate - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method allows setting the desired bitrate for the video stream, influencing video quality and bandwidth usage. ```JavaScript setBitrate(bitrate: number): void ``` -------------------------------- ### Handling Metrics Report Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted periodically to report performance metrics and statistics related to the media streams. ```JavaScript sdk.on('metrics:report', () => {}); ``` -------------------------------- ### Defining Konva Drawer Options Type - OpenSIPS.js Video API - TypeScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This TypeScript type defines the configuration options for the Konva drawer, specifying properties like container, width, and height. ```TypeScript type KonvaDrawerOptions = { container: number; width: number; height: number; } ``` -------------------------------- ### Enabling Bokeh Effect Mask - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method applies a bokeh (blur) effect to the background of the user's video stream, returning a Promise that resolves with the modified MediaStream. ```JavaScript enableBokehEffectMask(): Promise ``` -------------------------------- ### Restarting Masking Effect - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method reruns the currently configured mask effect, useful for re-applying or refreshing the effect, returning a Promise that resolves when complete. ```JavaScript restartMasking(): Promise ``` -------------------------------- ### Enabling Background Image Effect Mask - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method applies a custom background image effect to the user's video stream, returning a Promise that resolves with the modified MediaStream. ```JavaScript enableBackgroundImgEffectMask(): Promise ``` -------------------------------- ### Handling Media Constraints Change Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the media constraints (e.g., resolution, frame rate) for the audio/video streams change. ```JavaScript sdk.on('mediaConstraintsChange', () => {}); ``` -------------------------------- ### Defining Konva Screen Share Drawer Options Type - OpenSIPS.js Video API - TypeScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This TypeScript type defines the configuration options for the Konva drawer specifically used with screen sharing, including stroke properties. ```TypeScript type KonvaScreenShareDrawerOptions = { strokeWidth: number; strokeColor: string; } ``` -------------------------------- ### MSRP Instance Fields (OpenSIPS.js) Source: https://github.com/opensips/opensips-js/blob/master/README.md This field provides access to an object containing active MSRP message sessions, indexed by their session IDs. ```TypeScript getActiveMessages: { [key: string]: IMessage } ``` -------------------------------- ### Unmuting Audio - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method unmutes the user's microphone, allowing audio transmission in the conference. ```JavaScript startAudio(): void ``` -------------------------------- ### Handling Member Hangup Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when a specific member leaves the conference, providing information about the departing participant. ```JavaScript sdk.on('member:hangup', (data) => {}); ``` -------------------------------- ### Handling Screen Share Stop Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the local user stops sharing their screen. ```JavaScript sdk.on('screenShare:stop', () => {}); ``` -------------------------------- ### Handling Local Hangup Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the local user leaves the conference, indicating the end of their participation. ```JavaScript sdk.on('hangup', () => {}); ``` -------------------------------- ### Exiting a Conference Room - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method is used to exit the current conference room, terminating the user's participation in the call. ```JavaScript hangup(): void ``` -------------------------------- ### Handling Reconnect Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the client attempts to reconnect to the conference after a disconnection. ```JavaScript sdk.on('reconnect', () => {}); ``` -------------------------------- ### Handling Metrics Stop Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when the reporting of performance metrics is stopped. ```JavaScript sdk.on('metrics:stop', () => {}); ``` -------------------------------- ### Handling Member Update Event - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This event is emitted when a member's data (e.g., display name, status) is changed within the conference. ```JavaScript sdk.on('member:update', (data) => {}); ``` -------------------------------- ### Turning Off Camera - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method deactivates the user's camera, stopping video transmission in the conference. ```JavaScript stopVideo(): void ``` -------------------------------- ### Stopping Screen Sharing - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method terminates the ongoing screen sharing session. ```JavaScript stopScreenShare(): void ``` -------------------------------- ### Muting Audio - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method mutes the user's microphone, stopping audio transmission in the conference. ```JavaScript stopAudio(): void ``` -------------------------------- ### Stopping Noise Filter - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method deactivates the noise filter on the audio stream. ```JavaScript stopNoiseFilter(): void ``` -------------------------------- ### Disabling Mask Effect - OpenSIPS.js Video API - JavaScript Source: https://github.com/opensips/opensips-js/blob/master/README.md This method turns off any active mask effect on the video stream, returning a Promise that resolves with the original MediaStream without masking. ```JavaScript disableMask(): Promise ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.