Global

Members

AdapterJS

AdapterJS provides polyfills and cross-browser mediaStreamHelpers for WebRTC.

Source:
See:

io

Socket.IO enables real-time, bidirectional and event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

Source:
See:

Type Definitions

audioStats :Object

The Peer connection audio streaming statistics.

Properties:
Name Type Description
audioStats.sending JSON

The Peer connection sending audio streaming statistics.

Properties
Name Type Attributes Description
bytes number

The Peer connection current sending audio streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

totalBytes number

The Peer connection total sending audio streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

packets number

The Peer connection current sending audio streaming packets.

totalPackets number

The Peer connection total sending audio streaming packets.

ssrc number

The Peer connection sending audio streaming RTP packets SSRC.

roundTripTime number

The Peer connection sending audio streaming round-trip delay time.

jitter number

The Peer connection sending audio streaming RTP packets jitter in seconds.

retransmittedBytesSent number

The total number of bytes that were retransmitted for this SSRC, only including payload bytes. This is a subset of bytesSent.

retransmittedPacketsSent number

The total number of packets that were retransmitted for this SSRC. This is a subset of packetsSent.

codec JSON <optional>

The Peer connection sending audio streaming selected codec information. Defined as null if local session description is not available before parsing.

Properties
Name Type Attributes Description
name String

The Peer connection sending audio streaming selected codec name.

payloadType number

The Peer connection sending audio streaming selected codec payload type.

implementation String <optional>

The Peer connection sending audio streaming selected codec implementation. Defined as null if it's not available in original raw statistics.before parsing.

channels number <optional>

The Peer connection sending audio streaming selected codec channels (2 for stereo). Defined as null if it's not available in original raw statistics.before parsing, and this is usually present in statistics.audio property.

clockRate number <optional>

The Peer connection sending audio streaming selected codec media sampling rate. Defined as null if it's not available in original raw statistics.before parsing.

params String <optional>

The Peer connection sending audio streaming selected codec parameters. Defined as null if it's not available in original raw statistics.before parsing.

audioLevel number <optional>

The Peer connection audio level of the media source. Defined as null if it's not available in original raw statistics.before parsing.

totalSamplesDuration number <optional>

The Peer connection sending audio total duration in seconds. Defined as null if it's not available in original raw statistics.before parsing.

echoReturnLoss number <optional>

The Peer connection sending audio streaming echo return loss in db (decibels). Defined as null if it's not available in original raw statistics.before parsing.

echoReturnLossEnhancement number <optional>

The Peer connection sending audio streaming echo return loss enhancement db (decibels). Defined as null if it's not available in original raw statistics.before parsing.

audioStats.receiving JSON

The Peer connection receiving audio streaming statistics.

Properties
Name Type Attributes Description
bytes number

The Peer connection current sending audio streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

totalBytes number

The Peer connection total sending audio streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

packets number

The Peer connection current receiving audio streaming packets.

totalPackets number

The Peer connection total receiving audio streaming packets.

packetsLost number

The Peer connection current receiving audio streaming packets lost.

fractionLost number

The Peer connection current receiving audio streaming fraction packets lost.

totalPacketsLost number

The Peer connection total receiving audio streaming packets lost.

ssrc number

The Peer connection receiving audio streaming RTP packets SSRC.

jitter Number

The Peer connection receiving audio streaming RTP packets jitter in seconds. Defined as 0 if it's not present in original raw statistics before parsing.

totalSamplesReceived Number

The Peer connection total number of audio samples that have been received.

totalSamplesDuration number <optional>

The Peer connection receiving audio total duration in seconds. Defined as null if it's not available in original raw statistics before parsing.

codec JSON <optional>

The Peer connection receiving audio streaming selected codec information. Defined as null if remote session description is not available before parsing. Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. The value is derived from the remote session description.

Properties
Name Type Attributes Description
name String

The Peer connection receiving audio streaming selected codec name.

payloadType Number

The Peer connection receiving audio streaming selected codec payload type.

implementation String <optional>

The Peer connection receiving audio streaming selected codec implementation. Defined as null if it's not available in original raw statistics.before parsing.

channels Number <optional>

The Peer connection receiving audio streaming selected codec channels (2 for stereo). Defined as null if it's not available in original raw statistics.before parsing, and this is usually present in statistics.audio property.

clockRate Number <optional>

The Peer connection receiving audio streaming selected codec media sampling rate. Defined as null if it's not available in original raw statistics.before parsing.

params String <optional>

The Peer connection receiving audio streaming selected codec parameters. Defined as null if it's not available in original raw statistics.before parsing.

audioLevel Number <optional>

The Peer connection receiving audio streaming audio level. Defined as null if it's not available in original raw statistics.before parsing.

Source:

customSettings :Object

The peer stream and data settings.

Properties:
Name Type Attributes Description
data Boolean | JSON

The flag if peer has any data channel connections enabled. If isSelf value is true, this determines if user allows data channel connections, else if value is false, this determines if peer has any active data channel connections (where onDataChannelStateChangedEvent triggers state as OPEN and channelType as MESSAGING for peer) with peer.

audio Boolean | JSON

The peer stream audio settings keyed by stream id. When defined as false, it means there is no audio being sent from peer.

audio[streamId].stereo Boolean

The flag if stereo band is configured when encoding audio codec is OPUS for receiving audio data.

audio[streamId].echoCancellation Boolean

The flag if echo cancellation is enabled for audio tracks.

audio[streamId].deviceId String <optional>

The peer stream audio track source id of the device used.

audio[streamId].exactConstraints Boolean

The flag if peer stream audio track is sending exact requested values of audio.deviceId when provided.

video Boolean | JSON

The peer stream video settings keyed by stream id. When defined as false, it means there is no video being sent from peer.

video[streamId].resolution JSON <optional>

The peer stream video resolution. [Rel: VIDEO_RESOLUTION]

Properties
Name Type Description
width Number | JSON

The peer stream video resolution width or video resolution width settings. When defined as a JSON Object, it is the user set resolution width settings with ("min" or "max" or "ideal" or "exact" etc configurations).

height Number | JSON

The peer stream video resolution height or video resolution height settings. When defined as a JSON Object, it is the user set resolution height settings with ("min" or "max" or "ideal" or "exact" etc configurations).

video[streamId].frameRate Number | JSON <optional>

The peer stream video frameRate per second (fps) or video frameRate settings. When defined as a JSON Object, it is the user set frameRate settings with ("min" or "max" or "ideal" or "exact" etc configurations).

video[streamId].screenshare Boolean

The flag if peer stream is a screensharing stream.

video[streamId].deviceId String <optional>

The peer stream video track source id of the device used.

video[streamId].exactConstraints Boolean

The flag if peer stream video track is sending exact requested values of video.resolution, video.frameRate and video.deviceId when provided.

video[streamId].facingMode String | JSON <optional>

The peer stream video camera facing mode. When defined as a JSON Object, it is the user set facingMode settings with ("min" or "max" or "ideal" or "exact" etc configurations).

maxBandwidth Object

The maximum streaming bandwidth sent from peer.

Properties
Name Type Attributes Description
audio Number <optional>

The maximum audio streaming bandwidth sent from peer.

video Number <optional>

The maximum video streaming bandwidth sent from peer.

data Number <optional>

The maximum data streaming bandwidth sent from peer.

mediaStatus Object

The peer streaming media status.

Properties
Name Type Description
audioMuted Boolean

The value of the audio status. If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted.

videoMuted Boolean

The value of the video status. If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted.

Source:

dataChannelInfo :Object

Properties:
Name Type Description
channelName String

The data channel id.

channelProp String

The data channel property.

channelType String

The data channel type.

currentTransferId String

The data channel connection current progressing transfer session. Defined as null when there is currently no transfer session progressing on the data channel connection

currentStreamId String

The data channel connection current data streaming session id. Defined as null when there is currently no data streaming session on the data channel connection.

readyState String

The data channel connection readyState.

bufferedAmountLow String

The data channel buffered amount.

bufferedAmountLowThreshold String

The data channel buffered amount threshold.

Source:

getDisplayMediaOptions :Object

The screen Stream configuration options.

Note that Safari currently does not apply constraints if provided.

* @property {boolean} [useExactConstraints=false] Note that by enabling this flag, exact values will be requested when retrieving screen Stream, but it does not prevent constraints related errors. By default when not enabled, expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related errors where the expected maximum value will not be requested due to the lack of support. The flag if shareScreen() should request for screen Stream to match exact requested values of video.deviceId, video.resolution and video.frameRate when provided.
Properties:
Name Type Attributes Default Description
video boolean | JSON <optional>
true

The video configuration options.

Properties
Name Type Attributes Description
resolution JSON <optional>

The video resolution. By default, VGA resolution option is selected when not provided. [Rel: Skylink.VIDEO_RESOLUTION]

Properties
Name Type Attributes Description
width number | JSON <optional>

The video resolution width.

  • When provided as a number, it is the video resolution width.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, "min" for min video resolution width and "max" for max video resolution width. Note that this may result in constraints related errors depending on the browser/hardware supports.
height number | JSON <optional>

The video resolution height.

  • When provided as a number, it is the video resolution height.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, "min" for min video resolution height and "max" for max video resolution height. Note that this may result in constraints related errors depending on the browser/hardware supports.
frameRate number | JSON <optional>

The video frameRate per second (fps).

  • When provided as a number, it is the video framerate.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, "min" for min video framerate and "max" for max video framerate. Note that this may result in constraints related errors depending on the browser/hardware supports.
deviceId String <optional>

Note this is currently not supported in Firefox browsers. The video track source ID of the device to use. The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices API.

Source:

getUserMediaOptions :Object

The camera Stream configuration options.

Note that Safari currently does not apply constraints if provided.
Properties:
Name Type Attributes Default Description
useExactConstraints boolean <optional>
false

Note that by enabling this flag, exact values will be requested when retrieving camera Stream, but it does not prevent constraints related errors. By default when not enabled, expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related errors, with an exception for video.frameRate option in Safari and IE (any plugin-enabled) browsers, where the expected maximum value will not be requested due to the lack of support. The flag if getUserMedia() should request for camera Stream to match exact requested values of audio.deviceId and video.deviceId, video.resolution and video.frameRate when provided.

audio boolean | JSON <optional>
false

The audio configuration options.

Properties
Name Type Attributes Default Description
mute boolean <optional>
false

The flag if audio tracks should be muted upon receiving them. Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to true and mutes any existing screen share audio tracks as well.

deviceId String <optional>

Note this is currently not supported in Firefox browsers. The audio track source ID of the device to use. The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices API.

echoCancellation boolean <optional>
true

The echo cancellation functionality may not work and may produce a terrible feedback. It is recommended to use headphones or other microphone devices rather than the device in-built microphones. The flag to enable echo cancellation for audio track.

video boolean | JSON <optional>
false

The video configuration options.

Properties
Name Type Attributes Default Description
mute boolean <optional>
false

The flag if video tracks should be muted upon receiving them. Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to true and mutes any existing screen share video tracks as well.

resolution JSON <optional>

The video resolution. By default, VGA resolution option is selected when not provided. [Rel: Skylink.VIDEO_RESOLUTION]

Properties
Name Type Attributes Description
width number | JSON <optional>

The video resolution width.

  • When provided as a number, it is the video resolution width.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, "min" for min video resolution width and "max" for max video resolution width. Note that this may result in constraints related errors depending on the browser/hardware supports.
height number | JSON <optional>

The video resolution height.

  • When provided as a number, it is the video resolution height.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, "min" for min video resolution height and "max" for max video resolution height. Note that this may result in constraints related errors depending on the browser/hardware supports.
frameRate number | JSON <optional>

The video frameRate per second (fps).

  • When provided as a number, it is the video framerate.
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, "min" for min video framerate and "max" for max video framerate. Note that this may result in constraints related errors depending on the browser/hardware supports.
deviceId String <optional>

Note this is currently not supported in Firefox browsers. The video track source ID of the device to use. The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices API.

facingMode String | JSON <optional>

The video camera facing mode. The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

Source:

initOptions :Object

When provided as a string, it's configured as appKey.
Properties:
Name Type Attributes Default Description
appKey String

The App Key. By default, Skylink uses HTTP CORS authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to use credential based authentication. See the Persistent Room article for more information.

defaultRoom String <optional>
appKey

The default Room to connect to when no room parameter is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. The Room that User will be connected to is the defaultRoom provided.

roomServer String <optional>

The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

enableStatsGathering boolean <optional>
true

Configure the anonymous performance and connectivity statistic collection function. Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. This data does not contain any personal information or session content. To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

enableDataChannel boolean <optional>
true

The flag if Datachannel connections should be enabled.

enableTURNServer boolean <optional>
true

The flag if TURN ICE servers should be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

enableSTUNServer boolean <optional>
true

The flag if STUN ICE servers should be used when constructing Peer connections to allow TURN connections when required.

forceTURN boolean <optional>
false

The flag if Peer connections should enforce connections over the TURN server.

This overrides enableTURNServer value to true and enableSTUNServer value to false.
TURNServerTransport boolean <optional>
Note that configuring the protocol may not necessarily result in the desired network transports protocol used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. This simply configures the TURN ICE server urls query option when constructing the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols.
The option to configure the ?transport= query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. Skylink.TURN_TRANSPORT
credentials JSON <optional>
Note that we strongly recommend developers to return the credentials.duration, credentials.startDateTime and defaultRoom and generate the credentials.credentials from a web server as secret shouldn't be exposed on client web app as it poses a security risk itself.
The credentials used for authenticating App Key with credentials to retrieve the Room session token used for connection in Skylink#joinRoom. Note that switching of Rooms is not allowed when using credentials based authentication, unless init() is invoked again with a different set of credentials followed by invoking the Skylink#joinRoom.
Properties
Name Type Description
startDateTime String

The credentials User session in Room starting DateTime in ISO 8601 format.

duration number

The credentials User session in Room duration in hours.

credentials String

The generated credentials used to authenticate the provided App Key with its "secret" property.

To generate the credentials:
  1. Concatenate a string that consists of the Room name you provide in the defaultRoom, the credentials.duration and the credentials.startDateTime. Example: var concatStr = defaultRoom + "_" + duration + "_" + startDateTime;
  2. Hash the concatenated string with the App Key "secret" property using SHA-1. Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); See the CryptoJS.HmacSHA1 library.
  3. Encode the hashed string using base64 Example: var b64Str = hash.toString(CryptoJS.enc.Base64); See the CryptoJS.enc.Base64 library.
  4. Encode the base64 encoded string to replace special characters using UTF-8 encoding. Example: var credentials = encodeURIComponent(base64String); See encodeURIComponent() API.
audioFallback boolean <optional>
false

The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when retrieving audio and video Stream fails.

forceSSL boolean <optional>
true

The flag if HTTPS connections should be enforced during request to Auth server and socket connections to Signaling server when accessing window.location.protocol value is "http:". By default, "https:" protocol connections uses HTTPS connections.

socketTimeout number <optional>
7000

The timeout for each attempts for socket connection with the Signaling server to indicate that connection has timed out and has failed to establish. Note that the minimum timeout value is 5000. If less, this value will be 5000. Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting using Polling transports to prevent connection errors.

forceTURNSSL boolean <optional>
false

The flag if TURNS protocol should be used when enableTURNServer is enabled.

Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, TURN ICE servers using port 443 will be used instead.
iceServer String | Array <optional>

The ICE servers for debugging purposes to use.

  • When defined as string, the value is considered as [iceServer]. Note that this is a debugging feature and is only used when instructed for debugging purposes.
Properties
Name Type Attributes Description
#index String <optional>

The ICE server url for debugging purposes to use.

socketServer String | JSON <optional>

The Signaling server for debugging purposes to use.

  • When defined as string, the value is considered as { url: socketServer }. Note that this is a debugging feature and is only used when instructed for debugging purposes.
Properties
Name Type Attributes Description
url String

The Signaling server URL for debugging purposes to use.

ports Array <optional>

The list of Signaling server ports for debugging purposes to use. If not defined, it will use the default list of ports specified.

Properties
Name Type Description
#index number

The Signaling server port to fallback and use for debugging purposes.

protocol String <optional>

The Signaling server protocol for debugging purposes to use. If not defined, it will use the default protocol specified.

beSilentOnStatsLogs boolean <optional>
false

The flag if all logs triggered by the statistics module should be silent.

beSilentOnParseLogs boolean <optional>
false

The flag if media and codec parsing logs should be silent.

Source:

joinRoomOptions :Object

The Room session configuration options.

Properties:
Name Type Attributes Default Description
roomName String <optional>

The Room name. When not provided or is provided as an empty string, its value is the defaultRoom provided in the initOptions. Note that if you are using credentials based authentication, you cannot switch the Room that is not the same as the defaultRoom defined in initOptions.

userData JSON | String <optional>

The User custom data. This can be set after Room session has started using the Skylink#setUserData.

useExactConstraints boolean <optional>

The Skylink#getUserMedia useExactConstraints parameter settings. See the useExactConstraints parameter in the Skylink#getUserMedia for more information.

audio boolean | JSON <optional>

The Skylink#getUserMedia audio parameter settings. When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If video is not defined, it will be defined as false. Object signature matches the audio parameter in the Skylink#getUserMedia.

video boolean | JSON <optional>

The Skylink#getUserMedia video parameter settings. When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If audio is not defined, it will be defined as false. Object signature matches the video parameter in the Skylink#getUserMedia.

voiceActivityDetection boolean <optional>
true

The flag if voice activity detection should be enabled. This can only be toggled if User is and for the offerer, which is determined if User's peerInfo.config.priorityWeight is higher than Peer's.

bandwidth JSON <optional>

The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured constant VIDEO_QUALITY for recommended values.

Note that this is currently not supported with Firefox browsers versions 48 and below as noted in an existing bugzilla ticket here. This option will override the autoBandwidthAdjustment option below.
Properties
Name Type Attributes Description
audio number <optional>

The maximum audio streaming bandwidth sent to Peers in kbps. Recommended values are 50 to 200. 50 is sufficient enough for an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

video number <optional>

The maximum video streaming bandwidth sent to Peers. Recommended values are 256-500 for 180p quality, 500-1024 for 360p quality, 1024-2048 for 720p quality and 2048-4096 for 1080p quality.

data number <optional>

The maximum data streaming bandwidth sent to Peers. This affects the P2P messaging in Skylink#sendP2PMessage, and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

autoBandwidthAdjustment boolean | JSON <optional>
false

The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted each time based on a specified interval.

This feature is also only available for non-MCU enabled Peer connections. Note this will cause the peer connection to restart. If bandwidth option is set above, autoBandwidthAdjustment will not be honoured.
Properties
Name Type Attributes Default Description
interval number <optional>
10

The interval each time to adjust bandwidth connections in seconds. Note that the minimum value is 10.

limitAtPercentage number <optional>
100

The percentage of the average bandwidth to adjust to. E.g. avgBandwidth * (limitPercentage / 100).

useUploadBwOnly boolean <optional>
false

The flag if average bandwidth computation should only consist of the upload bandwidth.

Source:

logItems :Array

Properties:
Name Type Description
logItems.0 Date

The DateTime of when the log was stored

logItems.1 String

The log level

logItems.2 String

The log message

logItems.3 Object

The debug object

Source:

mediaInfo :Object

An object that represents a media.

Properties:
Name Type Description
mediaInfo.publisherId String
mediaInfo.mediaId String
mediaInfo.mediaType String
mediaInfo.mediaState String
mediaInfo.transceiverMid String
mediaInfo.mediaMetaData String | JSON
mediaInfo.simulcast JSON
streamId String

The stream id associated with the media.

Source:

MediaStream :Object

Source:

MediaStreams :Array

Properties:
Name Type Description
MediaStreams.0 MediaStream

Audio stream

MediaStreams.1 MediaStream

Video stream

Source:

peerInfo

Properties:
Name Type Description
userData JSON | String

The Peer current custom data.

settings customSettings

The Peer sending stream settings.

agent JSON

The Peer agent information.

Properties
Name Type Attributes Description
name String

The Peer agent name. Data may be accessing browser or non-Web SDK name.

version number

The Peer agent version. Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", it will be interpreted as 0.90601 where 0 helps to separate the minor dots.

os String <optional>

The Peer platform name. Data may be accessing OS platform version from Web SDK.

pluginVersion String <optional>

The Peer Temasys Plugin version. Defined only when Peer is using the Temasys Plugin (IE / Safari).

DTProtocolVersion String

The Peer data transfer (DT) protocol version.

SMProtocolVersion String

The Peer signaling message (SM) protocol version.

room roomInfo

The Room Peer is from.

config JSON

The Peer connection configuration.

Properties
Name Type Description
enableDataChannel boolean

The flag if Datachannel connections would be enabled for Peer.

enableIceRestart boolean

The flag if Peer connection has ICE connection restart support. Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

priorityWeight number

The flag if Peer or User should be the offerer. If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. However for the case where the MCU is connected, User will always be the offerer.

Source:

peerListMessage

Properties:
Name Type Description
type SkylinkConstants.SIG_MESSAGE_TYPE.GET_PEERS
showAll boolean
Source:

recordingSessions :Object

Properties:
Name Type Description
#recordingId Object.<string, Object>

The recording session keyed by recording id.

Properties
Name Type Description
active Boolean

The flag that indicates if the recording session is currently active.

state String

The current recording state. [Rel: RECORDING_STATE]

startedStateTime String

The recording session started DateTime in ISO.Note that this value may not be very accurate as this value is recorded when the start event is received.

endedDateTime String

The recording session ended DateTime in ISO.Note that this value may not be very accurate as this value is recorded when the stop event is received. Defined only after state has triggered STOP.

mixingDateTime String

The recording session mixing completed DateTime in ISO.Note that this value may not be very accurate as this value is recorded when the mixing completed event is received. Defined only when state is LINK.

links String

The recording session links. Object signature matches the link parameter payload received in the RECORDING STATE event event.

error Error

The recording session error. Defined only when state is ERROR.

Source:

refreshConnectionResolve :Object

Properties:
Name Type Description
failedRefresh Object.<string, Array.<String>>

Array of refresh errors keyed by peer Id.

successfulRefresh Object.<string, {'customSettings': customSettings, iceRestart: boolean}>

List of successfull refreshes keyed by peer Id.

Source:

roomInfo

Properties:
Name Type Description
roomName String

The room name

duration Number

The maximum allowed room duration

id String

The room id

inRoom Boolean

The flag if the peer is in the room

Source:

socketSession :Object

The socket connection session information.

Properties:
Name Type Description
socketSession.serverUrl String

The socket connection Signaling url used.

socketSession.transportType String

The socket connection transport type used.

socketSession.socketOptions JSON

The socket connection options.

socketSession.attempts Number

The socket connection current reconnection attempts.

socketSession.finalAttempts Number

The socket connection current last attempts for the last available transports and port.

Source:

statistics :Object

The Peer connection current statistics. Defined only when state payload is RETRIEVE_SUCCESS.

Properties:
Name Type Description
peerId String

The peer to which the statistics belong to

statistics.raw JSON

The Peer connection raw statistics.before parsing.

statistics.audio audioStats

The Peer connection audio streaming statistics.

statistics.video videoStats

The Peer connection video streaming statistics.

statistics.selectedCandidatePair JSON

The Peer connection selected ICE candidate pair statistics.

Properties
Name Type Attributes Description
local JSON

The Peer connection selected local ICE candidate.

Properties
Name Type Attributes Description
ipAddress String

The Peer connection selected local ICE candidate IP address.

portNumber Number

The Peer connection selected local ICE candidate port number.

transport String

The Peer connection selected local ICE candidate IP transport type.

candidateType String

The Peer connection selected local ICE candidate type.

turnMediaTransport String <optional>

The Peer connection possible transport used when relaying local media to TURN server. Types are "UDP" (UDP connections), "TCP" (TCP connections) and "TCP/TLS" (TCP over TLS connections).

remote JSON

The Peer connection selected remote ICE candidate.

Properties
Name Type Description
ipAddress String

The Peer connection selected remote ICE candidate IP address.

portNumber Number

The Peer connection selected remote ICE candidate port number.

transport String

The Peer connection selected remote ICE candidate IP transport type.

candidateType String

The Peer connection selected remote ICE candidate type.

writable boolean <optional>

The flag if Peer has gotten ACK to an ICE request. Defined as null if it's not available in original raw statistics.before parsing.

roundTripTime String <optional>

The current STUN connectivity checks RTT (Round-trip delay time). Defined as null if it's not available in original raw statistics.before parsing.

totalRoundTripTime String <optional>

The total STUN connectivity checks RTT (Round-trip delay time). Defined as null if it's not available in original raw statistics.before parsing.

requests JSON

The ICE connectivity check requests.

Properties
Name Type Attributes Description
received String <optional>

The current ICE connectivity check requests received. Defined as null if it's not available in original raw statistics.before parsing.

sent String <optional>

The current ICE connectivity check requests sent. Defined as null if it's not available in original raw statistics.before parsing.

totalReceived String <optional>

The total ICE connectivity check requests received. Defined as null if it's not available in original raw statistics.before parsing.

totalSent String <optional>

The total ICE connectivity check requests sent. Defined as null if it's not available in original raw statistics.before parsing.

responses JSON

The ICE connectivity check responses.

Properties
Name Type Attributes Description
received String <optional>

The current ICE connectivity check responses received. Defined as null if it's not available in original raw statistics.before parsing.

sent String <optional>

The current ICE connectivity check responses sent. Defined as null if it's not available in original raw statistics.before parsing.

totalReceived String <optional>

The total ICE connectivity check responses received. Defined as null if it's not available in original raw statistics.before parsing.

totalSent String <optional>

The total ICE connectivity check responses sent. Defined as null if it's not available in original raw statistics.before parsing.

consentRequests JSON

The current ICE consent requests.

Properties
Name Type Attributes Description
sent String <optional>

The current ICE consent requests sent. Defined as null if it's not available in original raw statistics.before parsing.

totalSent String <optional>

The total ICE consent requests sent. Defined as null if it's not available in original raw statistics.before parsing.

statistics.certificate JSON

The Peer connection DTLS/SRTP exchanged certificates information.

Properties
Name Type Attributes Description
local JSON

The Peer connection local certificate information.

Properties
Name Type Attributes Description
fingerprint String <optional>

The Peer connection local certificate fingerprint. Defined as null if it's not available in original raw statistics.before parsing.

fingerprintAlgorithm String <optional>

The Peer connection local certificate fingerprint algorithm. Defined as null if it's not available in original raw statistics.before parsing.

derBase64 String <optional>

The Peer connection local base64 certificate in binary DER format encoded in base64. Defined as null if it's not available in original raw statistics.before parsing.

remote JSON

The Peer connection remote certificate information.

Properties
Name Type Attributes Description
fingerprint String <optional>

The Peer connection remote certificate fingerprint. Defined as null if it's not available in original raw statistics.before parsing.

fingerprintAlgorithm String <optional>

The Peer connection remote certificate fingerprint algorithm. Defined as null if it's not available in original raw statistics.before parsing.

derBase64 String <optional>

The Peer connection remote base64 certificate in binary DER format encoded in base64. Defined as null if it's not available in original raw statistics.before parsing.

srtpCipher String <optional>

The certificates SRTP cipher. Defined as null if it's not available in original raw statistics.before parsing.

dtlsCipher String <optional>

The certificates DTLS cipher. Defined as null if it's not available in original raw statistics.before parsing.

tlsVersion String <optional>

The certificates DTLS TLS Version agreed. Defined as null if it's not available in original raw statistics.before parsing.

statistics.connection JSON

The Peer connection object statistics.

Properties
Name Type Attributes Description
iceConnectionState String

The Peer connection ICE connection state.

iceGatheringState String

The Peer connection ICE gathering state.

signalingState String

The Peer connection signaling state.

localDescription JSON

The Peer connection local session description.

Properties
Name Type Description
type String

The Peer connection local session description type. Defined as null when local session description is not available.

sdp String

The Peer connection local session description SDP. Defined as null when local session description is not available.

remoteDescription JSON

The Peer connection remote session description.

Properties
Name Type Description
type String

The Peer connection remote session description type. Defined as null when remote session description is not available.

sdp String

The Peer connection remote session description sdp. Defined as null when remote session description is not available.

candidates JSON

The Peer connection list of ICE candidates sent or received.

Properties
Name Type Description
sending JSON

The Peer connection list of local ICE candidates sent.

Properties
Name Type Description
host Array

The Peer connection list of local "host" (local network) ICE candidates sent.

Properties
Name Type Description
#index JSON

The Peer connection local "host" (local network) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection local "host" (local network) ICE candidate connection description.

sdpMid String

The Peer connection local "host" (local network) ICE candidate identifier based on the local session description.

sdpMLineIndex Number

The Peer connection local "host" (local network) ICE candidate media description index (starting from 0) based on the local session description.

srflx Array

The Peer connection list of local "srflx" (STUN) ICE candidates sent.

Properties
Name Type Description
#index JSON

The Peer connection local "srflx" (STUN) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection local "srflx" (STUN) ICE candidate connection description.

sdpMid String

The Peer connection local "srflx" (STUN) ICE candidate identifier based on the local session description.

sdpMLineIndex Number

The Peer connection local "srflx" (STUN) ICE candidate media description index (starting from 0) based on the local session description.

relay Array

The Peer connection list of local "relay" (TURN) candidates sent.

Properties
Name Type Description
#index JSON

The Peer connection local "relay" (TURN) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection local "relay" (TURN) ICE candidate connection description.

sdpMid String

The Peer connection local "relay" (TURN) ICE candidate identifier based on the local session description.

sdpMLineIndex Number

The Peer connection local "relay" (TURN) ICE candidate media description index (starting from 0) based on the local session description.

receiving JSON

The Peer connection list of remote ICE candidates received.

Properties
Name Type Description
host Array

The Peer connection list of remote "host" (local network) ICE candidates received.

Properties
Name Type Description
#index JSON

The Peer connection remote "host" (local network) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection remote "host" (local network) ICE candidate connection description.

sdpMid String

The Peer connection remote "host" (local network) ICE candidate identifier based on the remote session description.

sdpMLineIndex Number

The Peer connection remote "host" (local network) ICE candidate media description index (starting from 0) based on the remote session description.

srflx Array

The Peer connection list of remote "srflx" (STUN) ICE candidates received.

Properties
Name Type Description
#index JSON

The Peer connection remote "srflx" (STUN) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection remote "srflx" (STUN) ICE candidate connection description.

sdpMid String

The Peer connection remote "srflx" (STUN) ICE candidate identifier based on the remote session description.

sdpMLineIndex Number

The Peer connection remote "srflx" (STUN) ICE candidate media description index (starting from 0) based on the remote session description.

relay Array

The Peer connection list of remote "relay" (TURN) ICE candidates received.

Properties
Name Type Description
#index JSON

The Peer connection remote "relay" (TURN) ICE candidate.

Properties
Name Type Description
candidate String

The Peer connection remote "relay" (TURN) ICE candidate connection description.

sdpMid String

The Peer connection remote "relay" (TURN) ICE candidate identifier based on the remote session description.

sdpMLineIndex Number

The Peer connection remote "relay" (TURN) ICE candidate media description index (starting from 0) based on the remote session description.

dataChannels JSON

The Peer connection list of Datachannel connections.

Properties
Name Type Description
#channelName JSON

The Peer connection Datachannel connection statistics.

Properties
Name Type Description
label String

The Peer connection Datachannel connection ID.

readyState String

The Peer connection Datachannel connection readyState. [Rel: Skylink.DATA_CHANNEL_STATE]

type String

The Peer connection Datachannel connection type. [Rel: Skylink.DATA_CHANNEL_TYPE]

currentTransferId String

The Peer connection Datachannel connection current progressing transfer session ID. Defined as null when there is currently no transfer session progressing on the Datachannel connection.

currentStreamId String

The Peer connection Datachannel connection current data streaming session ID. Defined as null when there is currently no data streaming session on the Datachannel connection.

constraints JSON

The constraints passed in when constructing the Peer connection object.

optional JSON

The optional constraints passed in when constructing the Peer connection object.

sdpConstraints JSON <optional>

The constraints passed in when creating Peer connection offer or answer.

error Error

The error object received. Defined only when state payload is RETRIEVE_ERROR.

Source:

streamsList :Object.<String, Object>

Properties:
Name Type Description
#peerId Object.<String, Object>

Peer streams info keyed by peer id.

Properties
Name Type Description
isSelf Boolean

The flag if the peer is local or remote.

streams Object

The peer streams.

Properties
Name Type Description
audio Object

The peer audio streams keyed by streamId.

audio#streamId MediaStream

streams keyed by stream id.

video Object

The peer video streams keyed by streamId.

video#streamId MediaStream

streams keyed by stream id.

screenShare Object

The peer screen share streams keyed by streamId.

screenShare#streamId MediaStream

streams keyed by stream id.

Source:

streamSources :Object

Properties:
Name Type Description
audio Object

The list of audio input (microphone) and output (speakers) sources.

Properties
Name Type Description
input Array.<Object>

The list of audio input (microphone) sources.

Properties
Name Type Attributes Description
deviceId String

The audio input source item device id.

label String

The audio input source item device label name.

groupId String <optional>

The audio input source item device physical device id. Note that there can be different deviceId due to differing sources but can share a groupId because it's the same device.

output Array.<Object>

The list of audio output (speakers) sources. Object signature matches audio.input format.

video Object

The list of video input (camera) sources.

Properties
Name Type Description
input Array.<Object>

The list of video input (camera) sources. Object signature matches audio.input format.

Source:

userDataMessage

Properties:
Name Type Description
type SkylinkConstants.SIG_MESSAGE_TYPE.UPDATE_USER
mid SkylinkUser.sid
rid SkylinkRoom.id
userData SkylinkUser.userData
state Number
Source:

videoStats

Properties:
Name Type Description
videoStats.sending JSON

The Peer connection sending video streaming statistics.

Properties
Name Type Attributes Description
ssrc Number

The Peer connection sending video streaming RTP packets SSRC.

bytes Number

The Peer connection current sending video streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

totalBytes Number

The Peer connection total sending video streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

packets Number

The Peer connection current sending video streaming packets.

totalPackets Number

The Peer connection total sending video streaming packets.

roundTripTime Number

The Peer connection sending video streaming Round-trip delay time. Defined as 0 if it's not present in original raw statistics before parsing.

jitter Number
This property has been deprecated and would be removed in future releases as it should not be in sending property.
The Peer connection sending video streaming RTP packets jitter in seconds. Defined as 0 if it's not present in original raw statistics before parsing.
qpSum Number <optional>

The Peer connection sending video streaming sum of the QP values of frames passed. Defined as null if it's not available in original raw statistics before parsing.

frames Number <optional>

The Peer connection sending video streaming frames. Defined as null if it's not available in original raw statistics before parsing.

frameWidth Number <optional>

The Peer connection sending video streaming frame width. Defined as null if it's not available in original raw statistics before parsing.

frameHeight Number <optional>

The Peer connection sending video streaming frame height. Defined as null if it's not available in original raw statistics before parsing.

hugeFramesSent Number <optional>

The Peer connection sending video streaming number of huge frames sent by this RTP stream. Huge frames, by definition, are frames that have an encoded size at least 2.5 times the average size of the frames. Defined as null if it's not available in original raw statistics before parsing.

framesPerSecond Number <optional>

The Peer connection sending video streaming fps. Defined as null if it's not available in original raw statistics before parsing.

framesEncoded Number <optional>

The Peer connection sending video streaming frames encoded. Defined as null if it's not available in original raw statistics before parsing.

nacks Number <optional>

The Peer connection current sending video streaming nacks. Defined as null if it's not available in original raw statistics before parsing.

totalNacks Number <optional>

The Peer connection total sending video streaming nacks. Defined as null if it's not available in original raw statistics before parsing.

plis Number <optional>

The Peer connection current sending video streaming plis. Defined as null if it's not available in original raw statistics before parsing.

totalPlis Number <optional>

The Peer connection total sending video streaming plis. Defined as null if it's not available in original raw statistics before parsing.

firs Number <optional>

The Peer connection current sending video streaming firs. Defined as null if it's not available in original raw statistics before parsing.

totalFirs Number <optional>

The Peer connection total sending video streaming firs. Defined as null if it's not available in original raw statistics before parsing.

codec JSON <optional>

The Peer connection sending video streaming selected codec information. Defined as null if local session description is not available before parsing.

Properties
Name Type Attributes Description
name String

The Peer connection sending video streaming selected codec name.

payloadType Number

The Peer connection sending video streaming selected codec payload type.

implementation String <optional>

The Peer connection sending video streaming selected codec implementation. Defined as null if it's not available in original raw statistics before parsing.

channels Number <optional>

The Peer connection sending video streaming selected codec channels (2 for stereo). Defined as null if it's not available in original raw statistics before parsing, and this is usually present in statistics.audio property.

clockRate Number <optional>

The Peer connection sending video streaming selected codec media sampling rate. Defined as null if it's not available in original raw statistics before parsing.

params String <optional>

The Peer connection sending video streaming selected codec parameters. Defined as null if it's not available in original raw statistics before parsing.

videoStats.receiving JSON

The Peer connection receiving video streaming statistics.

Properties
Name Type Attributes Description
ssrc Number

The Peer connection receiving video streaming RTP packets SSRC.

bytes Number

The Peer connection current receiving video streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

totalBytes Number

The Peer connection total receiving video streaming bytes. Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

packets Number

The Peer connection current receiving video streaming packets.

totalPackets Number

The Peer connection total receiving video streaming packets.

packetsLost Number

The Peer connection current receiving video streaming packets lost.

totalPacketsLost Number

The Peer connection total receiving video streaming packets lost.

frames Number <optional>

The Peer connection receiving video streaming frames. Defined as null if it's not available in original raw statistics before parsing.

frameWidth Number <optional>

The Peer connection sending video streaming frame width. Defined as null if it's not available in original raw statistics before parsing.

frameHeight Number <optional>

The Peer connection sending video streaming frame height. Defined as null if it's not available in original raw statistics before parsing.

framesDecoded Number <optional>

The Peer connection receiving video streaming frames decoded. Defined as null if it's not available in original raw statistics before parsing.

framesDroped Number <optional>

The Peer connection receiving video streaming frames dropped. Defined as null if it's not available in original raw statistics before parsing.

nacks Number <optional>

The Peer connection current receiving video streaming nacks. Defined as null if it's not available in original raw statistics before parsing.

totalNacks Number <optional>

The Peer connection total receiving video streaming nacks. Defined as null if it's not available in original raw statistics before parsing.

plis Number <optional>

The Peer connection current receiving video streaming plis. Defined as null if it's not available in original raw statistics before parsing.

totalPlis Number <optional>

The Peer connection total receiving video streaming plis. Defined as null if it's not available in original raw statistics before parsing.

firs Number <optional>

The Peer connection current receiving video streaming firs. Defined as null if it's not available in original raw statistics before parsing.

totalFirs Number <optional>

The Peer connection total receiving video streaming firs. Defined as null if it's not available in original raw statistics before parsing.

codec JSON <optional>

The Peer connection receiving video streaming selected codec information. Defined as null if remote session description is not available before parsing. Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. The value is derived from the remote session description.

Properties
Name Type Attributes Description
name String

The Peer connection receiving video streaming selected codec name.

payloadType Number

The Peer connection receiving video streaming selected codec payload type.

implementation String <optional>

The Peer connection receiving video streaming selected codec implementation. Defined as null if it's not available in original raw statistics before parsing.

channels Number <optional>

The Peer connection receiving video streaming selected codec channels (2 for stereo). Defined as null if it's not available in original raw statistics before parsing, and this is usually present in statistics.audio property.

clockRate Number <optional>

The Peer connection receiving video streaming selected codec media sampling rate. Defined as null if it's not available in original raw statistics before parsing.

params String <optional>

The Peer connection receiving video streaming selected codec parameters. Defined as null if it's not available in original raw statistics before parsing.

Source: