# Namespace: WebRTCSession

## QB.webrtc. WebRTCSession

### Methods

#### staticQB.webrtc.WebRTCSession.accept(extension)

modules/webrtc/qbWebRTCSession.js, line 349
  Accept a call(read more).

  Name | Type | Description
  --- | --- | ---
  `extension` | Object | A map with custom parameters.

#### staticQB.webrtc.WebRTCSession.attachMediaStream(elementId, stream, options)

modules/webrtc/qbWebRTCSession.js, line 154
  Attach media stream to audio/video element(read more).

  Name | Type | Description
  --- | --- | ---
  `elementId` | string | The Id of an ellement to attach a stream.
  `stream` | MediaStream | The stream to attach.
  `options` | Object | optional The additional options.
  Name | Type | Description
  --- | --- | ---
  `muted` | boolean | optional Whether video element should be muted.
  `mirror` | boolean | optional Whether video should be "mirrored".

#### staticQB.webrtc.WebRTCSession.call(extension, callback)

modules/webrtc/qbWebRTCSession.js, line 302
  Initiate a call(read more).

  Name | Type | Description
  --- | --- | ---
  `extension` | Object | optional A map with a custom parametrs .
  `callback` | function | optional

#### staticQB.webrtc.WebRTCSession.closeConnection(userId)

modules/webrtc/qbWebRTCSession.js, line 517
  Close connection with a user.

  Name | Type | Description
  --- | --- | ---
  `userId` | Number | Id of a user.

#### staticQB.webrtc.WebRTCSession.connectionStateForUser(userID)

modules/webrtc/qbWebRTCSession.js, line 143
  Get the state of connection.

  Name | Type | Description
  --- | --- | ---
  `userID` | number |

#### staticQB.webrtc.WebRTCSession.detachMediaStream(elementId)

modules/webrtc/qbWebRTCSession.js, line 196
  Detach media stream from audio/video element.

  Name | Type | Description
  --- | --- | ---
  `elementId` | string | The Id of an element to detach a stream.

#### staticQB.webrtc.WebRTCSession.getUserMedia(params, callback)

modules/webrtc/qbWebRTCSession.js, line 105
  Get the user media stream(read more).

  Name | Type | Description
  --- | --- | ---
  `params` | MediaParams | Media stream constraints and additional options.
  `callback` | function | Callback to get a result of the function.

#### staticQB.webrtc.WebRTCSession.mute(type)

modules/webrtc/qbWebRTCSession.js, line 583
  Mutes the stream(read more).

  Name | Type | Description
  --- | --- | ---
  `type` | string | 'audio' or 'video'

#### staticQB.webrtc.WebRTCSession.reject(extension)

modules/webrtc/qbWebRTCSession.js, line 449
  Reject a call(read more).

  Name | Type | Description
  --- | --- | ---
  `extension` | Object | A map with custom parameters.

#### staticQB.webrtc.WebRTCSession.stop(extension)

modules/webrtc/qbWebRTCSession.js, line 482
  Stop a call(read more).

  Name | Type | Description
  --- | --- | ---
  `extension` | Object | A map with custom parameters.

#### staticQB.webrtc.WebRTCSession.switchMediaTracks(deviceIds, callback)

modules/webrtc/qbWebRTCSession.js, line 223
  Switch media tracks in audio/video HTML's element and replace its in peers(read more).

  Name | Type | Description
  --- | --- | ---
  `deviceIds` | Object | An object with deviceIds of plugged devices.
  Name | Type | Description
  --- | --- | ---
  `audio` | string | optional The deviceId, it can be gotten from QB.webrtc.getMediaDevices('audioinput').
  `video` | string | optional The deviceId, it can be gotten from QB.webrtc.getMediaDevices('videoinput').
  `callback` | function | The callback to get a result of the function.

#### staticQB.webrtc.WebRTCSession.unmute(type)

modules/webrtc/qbWebRTCSession.js, line 593
  Unmutes the stream(read more).

  Name | Type | Description
  --- | --- | ---
  `type` | string | 'audio' or 'video'

#### staticQB.webrtc.WebRTCSession.update(extension, userID)

modules/webrtc/qbWebRTCSession.js, line 542
  Update a call.

  Name | Type | Description
  --- | --- | ---
  `extension` | Object | A map with custom parameters.
  `userID` | number | optional