From 2fc8d2bb9bb9ae594e4074cc4c773fa9e4e0ce06 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Thu, 26 Oct 2023 13:19:09 +0200 Subject: [PATCH 1/3] Update call types page --- shared/video/_call-capabilities.md | 23 +++++ shared/video/_call-type-settings.md | 111 +++++++++++++++++++++++ shared/video/_call-types.md | 135 ++-------------------------- 3 files changed, 140 insertions(+), 129 deletions(-) create mode 100644 shared/video/_call-capabilities.md create mode 100644 shared/video/_call-type-settings.md diff --git a/shared/video/_call-capabilities.md b/shared/video/_call-capabilities.md new file mode 100644 index 0000000..e4774a3 --- /dev/null +++ b/shared/video/_call-capabilities.md @@ -0,0 +1,23 @@ +- `join-call` +- `read-call` +- `create-call` +- `join-ended-call` +- `join-backstage` +- `update-call` +- `update-call-settings` +- `screenshare` +- `send-video` +- `send-audio` +- `start-record-call` +- `stop-record-call` +- `start-broadcast-call` +- `stop-broadcast-call` +- `end-call` +- `mute-users` +- `update-call-permissions` +- `block-users` +- `create-reaction` +- `pin-for-everyone` +- `remove-call-member` +- `start-transcription-call` +- `stop-transcription-call` diff --git a/shared/video/_call-type-settings.md b/shared/video/_call-type-settings.md new file mode 100644 index 0000000..4d0bd5d --- /dev/null +++ b/shared/video/_call-type-settings.md @@ -0,0 +1,111 @@ +### Audio + +| Setting Name | Type | Description | +| -------------------------- | ------------------------------ | --------------------------------------------------------------------------------------- | +| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | +| `opus_dtx_enabled` | Boolean | Enable OPUS DTX | +| `redundant_coding_enabled` | Boolean | Enable redundant audio transmission | +| `mic_default_on` | Boolean | When true the user will join with microphone enabled by default | +| `speaker_default_on` | Boolean | When true the user will join with audio turned on by default | +| `default_device` | String `speaker` or `earpiece` | The default audio device to use by default | + +### Backstage + +| Setting Name | Type | Description | +| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by user only after `goLive` is called | + +### Video + +| Setting Name | Type | Description | +| ------------------------ | ------------------------------------ | -------------------------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether video is enabled for the call | +| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | +| `camera_default_on` | Boolean | When true the camera will be turned on by when joining the call | +| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default | +| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send | + +The target resolution object is an advanced resolution. Changing this from the default values can lead to poor performance. This is how you define it: + +| Setting Name | Type | Description | +| ------------ | ------ | ------------------- | +| `width` | Number | The width in pixels | +| `height` | Number | The hight in pixels | +| `bitrate` | Number | The bitrate | + +### Screensharing + +| Setting Name | Type | Description | +| ------------------------ | ------- | -------------------------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether screensharing is enabled | +| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | + +### Recording + +| Setting Name | Type | Description | +| ------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `mode` | String `available`, `disabled` or `auto-on` | available → recording can be requested
disabled → recording is disabled
auto-on → recording starts and stops automatically when user join the call | +| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording | +| `audio_only` | `boolean` | If `true` the recordings will only contain audio | +| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Confoguration options for the recording application | + +### Broadcasting + +| Setting Name | Type | Description | +| ------------ | --------------------- | --------------------------------------- | +| `enabled` | Boolean | Defines whether broadcasting is enabled | +| `hls` | HLS Settings (object) | Settings for HLS broadcasting | + +### HLS Settings + +| Setting Name | Type | Description | +| ---------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether HLS is enabled or not | +| `auto_on` | Boolean | When true HLS streaming will start as soon as users join the call | +| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) | + +### Geofencing + +| Setting Name | Type | Description | +| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| `names` | List of one or more of these strings `european_union`, `iran_north_korea_syria_exclusion`, `china_exclusion`, `russia_exclusion`, `belarus_exclusion`, `india`, `united_states`, `canada` | The list of geofences that are used for the calls of these type | + +### Transcription + +| Setting Name | Type | Description | +| --------------------- | ------------------------------------------- | ------------------- | +| `mode` | String `available`, `disabled` or `auto-on` | Not implemented yet | +| `closed_caption_mode` | String | Not implemented yet | + +### Ringing + +| Setting Name | Type | Description | +| -------------------------- | ------ | ----------------------------------------------------------------------------------- | +| `incoming_call_timeout_ms` | Number | How long should the SDK display the incoming call screen before discarding the call | +| `auto_cancel_timeout_ms` | Number | How long should the caller wait for others to accept the call before canceling | + +### Push Notifications Settings + +| Setting Name | Type | Description | +| ------------------- | ---------------------------------- | ----------------------------------------------------------- | +| `enabled` | Boolean | | +| `call_live_started` | Event Notification Settings Object | The notification settings used for call_live_started events | +| `session_started` | Event Notification Settings Object | The notification settings used for session_started events | +| `call_notification` | Event Notification Settings Object | The notification settings used for call_notification events | +| `call_ring` | Event Notification Settings Object | The notification settings used for call_ring events | + +In order to define the _event notification settings object_, here is the structure of how it should look: + +| Setting Name | Type | Description | +| ------------ | -------------------- | ---------------------------------- | +| `enabled` | Boolean | Whether this object is enabled | +| `apns` | APNS Settings Object | The settings for APN notifications | + +### APNS Settings Object + +Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope. + +| Setting Name | Type | Description | +| ------------ | -------- | ----------------------------------------------------------- | +| title | Template | The string template for the title field of the notification | +| body | Template | The string template for the body field of the notification | diff --git a/shared/video/_call-types.md b/shared/video/_call-types.md index 104f841..fc84f3a 100644 --- a/shared/video/_call-types.md +++ b/shared/video/_call-types.md @@ -1,3 +1,6 @@ +import CallCapabilities from './\_call-capabilities.md'; +import CallTypeSettings from './\_call-type-settings.md'; + The Video SDK uses a set of pre-defined call types that come with different default permissions and feature configurations. Depending on your use case you can also extend those and use custom types that suit your needs. @@ -75,115 +78,7 @@ You can see a full table of which call type has which setting enabled in [the ne First, we'll describe the different settings that exist in different categories. -### Audio - -| Setting Name | Type | Description | -| -------------------------- | ------------------------------ | --------------------------------------------------------------------------------------- | -| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | -| `opus_dtx_enabled` | Boolean | Enable OPUS DTX | -| `redundant_coding_enabled` | Boolean | Enable redundant audio transmission | -| `mic_default_on` | Boolean | When true the user will join with microphone enabled by default | -| `speaker_default_on` | Boolean | When true the user will join with audio turned on by default | -| `default_device` | String `speaker` or `earpiece` | The default audio device to use by default | - -### Backstage - -| Setting Name | Type | Description | -| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by user only after `goLive` is called | - -### Video - -| Setting Name | Type | Description | -| ------------------------ | ------------------------------------ | -------------------------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether video is enabled for the call | -| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | -| `camera_default_on` | Boolean | When true the camera will be turned on by when joining the call | -| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default | -| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send | - -The target resolution object is an advanced resolution. Changing this from the default values can lead to poor performance. This is how you define it: - -| Setting Name | Type | Description | -| ------------ | ------ | ------------------- | -| `width` | Number | The width in pixels | -| `height` | Number | The hight in pixels | -| `bitrate` | Number | The bitrate | - -### Screensharing - -| Setting Name | Type | Description | -| ------------------------ | ------- | -------------------------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether screensharing is enabled | -| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | - -### Recording - -| Setting Name | Type | Description | -| ------------ | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `mode` | String `available`, `disabled` or `auto-on` | available → recording can be requested
disabled → recording is disabled
auto-on → recording starts and stops automatically when user join the call | -| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording | - -### Broadcasting - -| Setting Name | Type | Description | -| ------------ | --------------------- | --------------------------------------- | -| `enabled` | Boolean | Defines whether broadcasting is enabled | -| `hls` | HLS Settings (object) | Settings for HLS broadcasting | - -### HLS Settings - -| Setting Name | Type | Description | -| ---------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether HLS is enabled or not | -| `auto_on` | Boolean | When true HLS streaming will start as soon as users join the call | -| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) | - -### Geofencing - -| Setting Name | Type | Description | -| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -| `names` | List of one or more of these strings `european_union`, `iran_north_korea_syria_exclusion`, `china_exclusion`, `russia_exclusion`, `belarus_exclusion`, `india`, `united_states`, `canada` | The list of geofences that are used for the calls of these type | - -### Transcription - -| Setting Name | Type | Description | -| --------------------- | ------------------------------------------- | ------------------- | -| `mode` | String `available`, `disabled` or `auto-on` | Not implemented yet | -| `closed_caption_mode` | String | Not implemented yet | - -### Ringing - -| Setting Name | Type | Description | -| -------------------------- | ------ | ----------------------------------------------------------------------------------- | -| `incoming_call_timeout_ms` | Number | How long should the SDK display the incoming call screen before discarding the call | -| `auto_cancel_timeout_ms` | Number | How long should the caller wait for others to accept the call before canceling | - -### Push Notifications Settings - -| Setting Name | Type | Description | -| ------------------- | ---------------------------------- | ----------------------------------------------------------- | -| `enabled` | Boolean | | -| `call_live_started` | Event Notification Settings Object | The notification settings used for call_live_started events | -| `session_started` | Event Notification Settings Object | The notification settings used for session_started events | -| `call_notification` | Event Notification Settings Object | The notification settings used for call_notification events | -| `call_ring` | Event Notification Settings Object | The notification settings used for call_ring events | - -In order to define the _event notification settings object_, here is the structure of how it should look: - -| Setting Name | Type | Description | -| ------------ | -------------------- | ---------------------------------- | -| `enabled` | Boolean | Whether this object is enabled | -| `apns` | APNS Settings Object | The settings for APN notifications | - -### APNS Settings Object - -Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope. - -| Setting Name | Type | Description | -| ------------ | -------- | ----------------------------------------------------------- | -| title | Template | The string template for the title field of the notification | -| body | Template | The string template for the body field of the notification | + ### Defaults for call type settings @@ -233,7 +128,7 @@ There are 5 pre-defined user roles, these are: - `admin` - `call-member` -As mentioned before each user role is associated with a set of call capabilities. If you want to view a full list of associations go to the [Default settings](#default-settings) chapter. +As mentioned before each user role is associated with a set of call capabilities. You can access the default roles and their capabilities in your [Stream Dashboard](https://dashboard.getstream.io/). In general, it makes sense to have a solid setup of roles as it makes handling permissions and requests easier. @@ -256,22 +151,4 @@ When a call is fetched from the API by a user, the response includes the list of These are the following: -- `join-call` -- `read-call` -- `create-call` -- `join-ended-call` -- `join-backstage` -- `update-call` -- `update-call-settings` -- `screenshare` -- `send-video` -- `send-audio` -- `start-record-call` -- `stop-record-call` -- `start-broadcast-call` -- `stop-broadcast-call` -- `end-call` -- `mute-users` -- `update-call-permissions` -- `block-users` -- `create-reaction` + From a574e5649ea81f63da679842a10cab9f218fbcb7 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 27 Oct 2023 13:48:30 +0200 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Stefan Blos --- shared/video/_call-type-settings.md | 32 ++++++++++++++--------------- shared/video/_call-types.md | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/shared/video/_call-type-settings.md b/shared/video/_call-type-settings.md index 4d0bd5d..96590c2 100644 --- a/shared/video/_call-type-settings.md +++ b/shared/video/_call-type-settings.md @@ -3,25 +3,25 @@ | Setting Name | Type | Description | | -------------------------- | ------------------------------ | --------------------------------------------------------------------------------------- | | `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | -| `opus_dtx_enabled` | Boolean | Enable OPUS DTX | -| `redundant_coding_enabled` | Boolean | Enable redundant audio transmission | -| `mic_default_on` | Boolean | When true the user will join with microphone enabled by default | -| `speaker_default_on` | Boolean | When true the user will join with audio turned on by default | -| `default_device` | String `speaker` or `earpiece` | The default audio device to use by default | +| `opus_dtx_enabled` | Boolean | When `true` OPUS DTX is enabled | +| `redundant_coding_enabled` | Boolean | When `true` redundant audio transmission is enabled | +| `mic_default_on` | Boolean | When `true` the user will join with the microphone enabled by default | +| `speaker_default_on` | Boolean | When `true` the user will join with the audio turned on by default | +| `default_device` | String `speaker` or `earpiece` | The default audio device to use | ### Backstage | Setting Name | Type | Description | | ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by user only after `goLive` is called | +| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by users only after `goLive` is called | ### Video | Setting Name | Type | Description | | ------------------------ | ------------------------------------ | -------------------------------------------------------------------------------- | | `enabled` | Boolean | Defines whether video is enabled for the call | -| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | -| `camera_default_on` | Boolean | When true the camera will be turned on by when joining the call | +| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | +| `camera_default_on` | Boolean | When `true`, the camera will be turned on when joining the call | | `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default | | `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send | @@ -30,7 +30,7 @@ The target resolution object is an advanced resolution. Changing this from the d | Setting Name | Type | Description | | ------------ | ------ | ------------------- | | `width` | Number | The width in pixels | -| `height` | Number | The hight in pixels | +| `height` | Number | The height in pixels | | `bitrate` | Number | The bitrate | ### Screensharing @@ -38,16 +38,16 @@ The target resolution object is an advanced resolution. Changing this from the d | Setting Name | Type | Description | | ------------------------ | ------- | -------------------------------------------------------------------------------- | | `enabled` | Boolean | Defines whether screensharing is enabled | -| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it | +| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | ### Recording | Setting Name | Type | Description | | ------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `mode` | String `available`, `disabled` or `auto-on` | available → recording can be requested
disabled → recording is disabled
auto-on → recording starts and stops automatically when user join the call | +| `mode` | String `available`, `disabled` or `auto-on` | `available` → recording can be requested
`disabled` → recording is disabled
`auto-on` → recording starts and stops automatically when one or multiple users join the call | | `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording | | `audio_only` | `boolean` | If `true` the recordings will only contain audio | -| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Confoguration options for the recording application | +| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Configuration options for the recording application | ### Broadcasting @@ -61,7 +61,7 @@ The target resolution object is an advanced resolution. Changing this from the d | Setting Name | Type | Description | | ---------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- | | `enabled` | Boolean | Defines whether HLS is enabled or not | -| `auto_on` | Boolean | When true HLS streaming will start as soon as users join the call | +| `auto_on` | Boolean | When `true` HLS streaming will start as soon as users join the call | | `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) | ### Geofencing @@ -81,8 +81,8 @@ The target resolution object is an advanced resolution. Changing this from the d | Setting Name | Type | Description | | -------------------------- | ------ | ----------------------------------------------------------------------------------- | -| `incoming_call_timeout_ms` | Number | How long should the SDK display the incoming call screen before discarding the call | -| `auto_cancel_timeout_ms` | Number | How long should the caller wait for others to accept the call before canceling | +| `incoming_call_timeout_ms` | Number | Defines how long the SDK should display the incoming call screen before discarding the call (in ms) | +| `auto_cancel_timeout_ms` | Number | Defines how long the caller should wait for others to accept the call before canceling (in ms) | ### Push Notifications Settings @@ -103,7 +103,7 @@ In order to define the _event notification settings object_, here is the structu ### APNS Settings Object -Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope. +Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations, you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope. | Setting Name | Type | Description | | ------------ | -------- | ----------------------------------------------------------- | diff --git a/shared/video/_call-types.md b/shared/video/_call-types.md index fc84f3a..ca1e8f4 100644 --- a/shared/video/_call-types.md +++ b/shared/video/_call-types.md @@ -128,7 +128,7 @@ There are 5 pre-defined user roles, these are: - `admin` - `call-member` -As mentioned before each user role is associated with a set of call capabilities. You can access the default roles and their capabilities in your [Stream Dashboard](https://dashboard.getstream.io/). +As mentioned before each user role is associated with a set of call capabilities. You can access the default roles and their capabilities in the [Stream Dashboard](https://dashboard.getstream.io/). In general, it makes sense to have a solid setup of roles as it makes handling permissions and requests easier. From da45fa08dd82add4b4b4bce034fd49bf14a714a2 Mon Sep 17 00:00:00 2001 From: Zita Szupera Date: Fri, 27 Oct 2023 13:55:00 +0200 Subject: [PATCH 3/3] Add links for geofence explanation --- shared/video/_call-type-settings.md | 64 +++++++++++++++-------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/shared/video/_call-type-settings.md b/shared/video/_call-type-settings.md index 96590c2..f2fa63b 100644 --- a/shared/video/_call-type-settings.md +++ b/shared/video/_call-type-settings.md @@ -3,51 +3,51 @@ | Setting Name | Type | Description | | -------------------------- | ------------------------------ | --------------------------------------------------------------------------------------- | | `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | -| `opus_dtx_enabled` | Boolean | When `true` OPUS DTX is enabled | -| `redundant_coding_enabled` | Boolean | When `true` redundant audio transmission is enabled | -| `mic_default_on` | Boolean | When `true` the user will join with the microphone enabled by default | -| `speaker_default_on` | Boolean | When `true` the user will join with the audio turned on by default | -| `default_device` | String `speaker` or `earpiece` | The default audio device to use | +| `opus_dtx_enabled` | Boolean | When `true` OPUS DTX is enabled | +| `redundant_coding_enabled` | Boolean | When `true` redundant audio transmission is enabled | +| `mic_default_on` | Boolean | When `true` the user will join with the microphone enabled by default | +| `speaker_default_on` | Boolean | When `true` the user will join with the audio turned on by default | +| `default_device` | String `speaker` or `earpiece` | The default audio device to use | ### Backstage -| Setting Name | Type | Description | -| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------- | +| Setting Name | Type | Description | +| ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------- | | `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by users only after `goLive` is called | ### Video -| Setting Name | Type | Description | -| ------------------------ | ------------------------------------ | -------------------------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether video is enabled for the call | +| Setting Name | Type | Description | +| ------------------------ | ------------------------------------ | --------------------------------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether video is enabled for the call | | `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | -| `camera_default_on` | Boolean | When `true`, the camera will be turned on when joining the call | -| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default | -| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send | +| `camera_default_on` | Boolean | When `true`, the camera will be turned on when joining the call | +| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default | +| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send | The target resolution object is an advanced resolution. Changing this from the default values can lead to poor performance. This is how you define it: -| Setting Name | Type | Description | -| ------------ | ------ | ------------------- | -| `width` | Number | The width in pixels | +| Setting Name | Type | Description | +| ------------ | ------ | -------------------- | +| `width` | Number | The width in pixels | | `height` | Number | The height in pixels | -| `bitrate` | Number | The bitrate | +| `bitrate` | Number | The bitrate | ### Screensharing -| Setting Name | Type | Description | -| ------------------------ | ------- | -------------------------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether screensharing is enabled | +| Setting Name | Type | Description | +| ------------------------ | ------- | --------------------------------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether screensharing is enabled | | `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it | ### Recording -| Setting Name | Type | Description | -| ------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Setting Name | Type | Description | +| ------------ | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | String `available`, `disabled` or `auto-on` | `available` → recording can be requested
`disabled` → recording is disabled
`auto-on` → recording starts and stops automatically when one or multiple users join the call | -| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording | -| `audio_only` | `boolean` | If `true` the recordings will only contain audio | -| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Configuration options for the recording application | +| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording | +| `audio_only` | `boolean` | If `true` the recordings will only contain audio | +| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Configuration options for the recording application | ### Broadcasting @@ -58,11 +58,11 @@ The target resolution object is an advanced resolution. Changing this from the d ### HLS Settings -| Setting Name | Type | Description | -| ---------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- | -| `enabled` | Boolean | Defines whether HLS is enabled or not | +| Setting Name | Type | Description | +| ---------------- | ------------------------------------------------------------- | ------------------------------------------------------------------- | +| `enabled` | Boolean | Defines whether HLS is enabled or not | | `auto_on` | Boolean | When `true` HLS streaming will start as soon as users join the call | -| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) | +| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) | ### Geofencing @@ -70,6 +70,8 @@ The target resolution object is an advanced resolution. Changing this from the d | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | | `names` | List of one or more of these strings `european_union`, `iran_north_korea_syria_exclusion`, `china_exclusion`, `russia_exclusion`, `belarus_exclusion`, `india`, `united_states`, `canada` | The list of geofences that are used for the calls of these type | +More information can be found in the [API docs](https://getstream.io/video/docs/api/call_types/geofencing/). + ### Transcription | Setting Name | Type | Description | @@ -79,8 +81,8 @@ The target resolution object is an advanced resolution. Changing this from the d ### Ringing -| Setting Name | Type | Description | -| -------------------------- | ------ | ----------------------------------------------------------------------------------- | +| Setting Name | Type | Description | +| -------------------------- | ------ | --------------------------------------------------------------------------------------------------- | | `incoming_call_timeout_ms` | Number | Defines how long the SDK should display the incoming call screen before discarding the call (in ms) | | `auto_cancel_timeout_ms` | Number | Defines how long the caller should wait for others to accept the call before canceling (in ms) |