SDK Reference

Initialization

Instantiate the Visionable Client, passing your configuration settings

const client = new VisiWebRTC(settings);

The settings parameter is an object with the following properties:

Key

Type

Description

email

String

The user's email address (optional)

password

String

The user's password (optional)

meeting_id

String

You can authenticate by meeting ID to join the meeting as a guest (optional)

session_id

String

You can use an existing session_id to authenticate (optional)

server

String

The hostname of the Visionable UCS

name

String

The display name you'd like to use

callback

InitializationCallback

Called when we've finished initializing and connecting to the server

📘

Authentication

You must authenticate using either a username & password, a meeting-id, or a session-id.

Methods

connectToMeeting

client.connectToMeeting(settings)

The settings parameter is an object with the following properties:

Key

Type

Description

meeting_id

String

The meeting UUID

videoStreamAdded

VideoAddedCallback

Called when a video stream has been added to the meeting

videoStreamRemoved

VideoRemovedCallback

Called when a video stream has been removed from the meeting.

toolsNotification

ToolsCallback

Called when a tools event has occurred.

callback

ConnectMeetingCallback

Called when the meeting join has completed.

enableLocalVideo

client.enableLocalVideo([parent], [callback], [maxBandwidth], [resolution], [deviceId])

Parameter

Type

Description

parent

String

DOM selector in which the video should be rendered, defaulting to the document body

callback

Function

Called after the stream is enabled

maxBandwidth

Number

Used to limit the send bandwidth for this video stream

resolution

String

Can be one of "320x180", "320x240", "640x480", "640x360", "960x720", or "1280x720"

deviceId

String

Can be one of the device IDs from navigator.mediaDevices.enumerateDevices. If it is unspecified or invalid, the browser's default device will be used

disableLocalVideo

client.disableLocalVideo([deviceId])

Parameter

Type

Description

deviceId

String

The ID of the device you want to disable

enableRemoteVideo

client.enableRemoteVideo(streamId, parent, callback)

Parameter

Type

Description

streamId

String

The ID of the remote stream you want to enable

parent

String

DOM selector in which the video should be rendered, defaulting to the document body

callback

Function

Called after the stream is enabled

disableRemoteVideo

client.disableRemoteVideo(streamId)

Parameter

Type

Description

streamId

String

The ID of the remote stream you want to disable

enableAudio

Enables the input microphone for the device.

client.enableAudio()

audioOutputVolume

client.audioOutputVolume(volume)

Parameter

Type

Description

volume

Number

A number between 0 and 1

muteAudioInput

Mute your microphone

client.muteAudioInput()

unMuteAudioInput

Unmute your microphone

client.unMuteAudioInput()

muteAudioOutput

Mute your speakers

client.muteAudioOutput()

unMuteAudioOutput

Unmute your speakers

client.unMuteAudioOutput()

disconnect

Disconnect from the meeting

client.disconnect()

tools.Chat

client.tools.Chat(user, message);

Parameter

Type

Description

user

String

The username you'd like to chat to. Set to * to send to the entire meeting

message

String

The chat message

tools.ShareUrl

client.tools.ShareUrl(url)

Parameter

Type

Description

url

String

URL to share into the meeting

Interfaces

InitializationCallback

function (error)

Parameter

Type

Description

error

String | Null

Error description, or null on success.

VideoAddedCallback

function (streamId, email, name, camName)

Parameter

Type

Description

streamId

String

The video stream ID

email

String

The user's email address

name

String

The user's display name

camName

String

The camera identifier

VideoRemovedCallback

function (streamId)

Parameter

Type

Description

streamId

String

The video stream ID

ToolsCallback

function (xml)

Parameter

Type

Description

xml

String

The Tools event XML. See Tools Events below

ConnectMeetingCallback

function (error, videoStreamMax, meetingId, subject)

Parameter

Type

Description

error

String | Null

Error description, or null on success.

videoStreamMax

Number

The maximum number of video streams you're allowed to send

meetingId

String

The meeting ID of the meeting you've joined

subject

String

The meeting subject

Tools Events

chat_user_added

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="chat_user_added">
    <user id="[email protected]">
      <handle>Example User</handle>
      <status>Online</status>
    </user>
  </event>
</notify>

chat_user_removed

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="chat_user_removed">
    <user id="[email protected]"/>
  </event>
</notify>

chat_chat

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="chat_chat">
    <from>[email protected]</from>
    <to>*</to>
    <chat>Hello there!</chat>
  </event>
</notify>

file_added

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="file_added">
    <user id="[email protected]">
      <file id="house.jpeg">
        <location>http://example.com:554/igpix/c6058646-4d2b-407d-8234-c1347f009ae9/[email protected]/igfiles/house.jpeg</location>
        <size>194</size>
      </file>
    </user>
  </event>
</notify>

file_removed

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="file_removed">
    <user id="[email protected]">
      <file id="house.jpeg"/>
    </user>
  </event>
</notify>

url_shared

<?xml version="1.0" encoding="UTF-8"?>
<notify>
  <event name="url_shared">
    <user id="[email protected]">
      <url>https://example.com/igpix/e8dc74fa-462c-4fb1-ae36-1678d2196356/[email protected]/igweb.jpg?id=756919</url>
    </user>
  </event>
</notify>