diff --git a/docs/constants.md b/docs/constants.md
index 4507e39011..d1eb3f16fc 100644
--- a/docs/constants.md
+++ b/docs/constants.md
@@ -88,6 +88,14 @@ title: Constants
* `bots` - Used by commands (actor-id is the used `/command`) and the changelog conversation (actor-id is `changelog`)
* `bridged` - Users whose messages are bridged in by the [Matterbridge integration](matterbridge.md)
+## Call
+
+### Start call
+* `0` - Everyone
+* `1` - Participants of the conversation with an account on the instance
+* `2` - Moderators
+* `3` - No one
+
## Chat
### Shared item types
diff --git a/docs/settings.md b/docs/settings.md
index 5713dafa8c..3877338a06 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -24,7 +24,7 @@
| Key | Capability | Default | Valid values |
|-----------------------|-----------------------------------|---------|----------------------------------------------------------------------------------------------------------|
| `attachment_folder` | `config => attachments => folder` | `/Talk` | Path owned by the user to store uploads and received shares. It is created if it does not exist. |
-| `read_status_privacy` | `config => chat => read-privacy` | `0` | One of the read-status constants from the [constants list](constants.md#Participant-read-status-privacy) |
+| `read_status_privacy` | `config => chat => read-privacy` | `0` | One of the read-status constants from the [constants list](constants.md#participant-read-status-privacy) |
## Set SIP settings
@@ -44,3 +44,50 @@
* Response:
- Status code:
+ `403 Forbidden` When the user is not an admin
+
+## App configuration
+
+**Note:** All app configs are stored as `string` in the `oc_appconfig` database table. Arrays and objects are therefor JSON encoded, integers are casted to string and booleans are replaced with `0/1` or `no/yes` strings.
+
+When available the dedicated UI or OCC command option should be used to configure the setting rather then directly manipulating the database.
+
+Option legend:
+
+* 🖌️ - UI option in the admin settings available
+* 💻 - Dedicated OCC command available
+
+| Key | Internal type | Default | Option | Valid values |
+|--------------------------------------|------------------------------------------------------------------|------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `allowed_groups` | string[] | `[]` | 🖌️ | List of group ids that are allowed to use Talk |
+| `sip_bridge_groups` | string[] | `[]` | 🖌️ | List of group ids that are allowed to enable SIP dial-in in a conversation |
+| `start_conversations` | string[] | `[]` | 🖌️ | List of group ids that are allowed to create conversations |
+| `hosted-signaling-server-account` | array | `{}` | 🖌️ | Account information of the hosted signaling server |
+| `stun_servers` | array[] | `[]` | 🖌💻️ | List of STUN servers, should be configured via the web interface or the OCC commands |
+| `turn_servers` | array[] | `[]` | 🖌️💻 | List of TURN servers, should be configured via the web interface or the OCC commands |
+| `signaling_servers` | array[] | `[]` | 🖌️💻 | List of signaling servers, should be configured via the web interface or the OCC commands |
+| `signaling_mode` | string
`internal` or `external` or `conversation_cluster` | `internal` | | `internal` when no HPB is configured, `external` when configured, `conversation_cluster` is an experimental flag that is deprecated |
+| `sip_bridge_dialin_info` | string | | 🖌️ | Additional information added in the SIP dial-in invitation mail and sidebar |
+| `sip_bridge_shared_secret` | string | | 🖌️ | Shared secret allowing the SIP bridge to authenticate on the Nextcloud server |
+| `signaling_ticket_secret` | string | | | Secret used to secure the signaling tickets for guests (255 character random string) |
+| `signaling_token_alg` | string
`ES256`, `ES384`, `RS256`, `RS384`, `RS512` or `EdDSA` | `ES256` | | Algorithm for the signaling tickets, |
+| `signaling_token_privkey_*` | string | * | | Private key for the signaling ticket creation by the server |
+| `signaling_token_pubkey__*` | string | * | | Public key for the signaling ticket creation by the server |
+| `hosted-signaling-server-nonce` | string | | | Temporary nonce while configuring the hosted signaling server |
+| `hosted-signaling-server-account-id` | string | | | Account identifier of the hosted signaling server |
+| `matterbridge_binary` | string | | | Path to the matterbridge binary file |
+| `bridge_bot_password` | string | | | Automatically generated password of the matterbridge bot user profile |
+| `start_calls` | int | `0` | 🖌️ | Who can start a call, see [constants list](constants.md#start-call) |
+| `max-gif-size` | int | `3145728` | | Maximum file size for clients to render gifs previews with animation |
+| `session-ping-limit` | int | `200` | | Number of sessions the HPB can ping in a single request |
+| `grid_videos_limit` | int | `19` | | Maximum number of videos to show (additional to the own video) |
+| `token_entropy` | int | `8` | | Length of conversation tokens, can be increased to make tokens harder to guess but reduces readability and dial-in comfort |
+| `default_group_notification` | int | `2` | 🖌️ | Default notification level for group conversations [constants list](constants.md#participant-notification-levels) |
+| `conversations_files` | string
`1` or `0` | `1` | 🖌️ | Whether the files app integration is enabled allowing to start conversations in the right sidebar |
+| `conversations_files_public_shares` | string
`1` or `0` | `1` | 🖌️ | Whether the public share integration is enabled allowing to start conversations in the right sidebar on the public share page (Requires `conversations_files` also to be enabled |
+| `enable_matterbridge` | string
`1` or `0` | `0` | 🖌️ | Whether the matterbridge integration is enabled and can be configured |
+| `changelog` | string
`yes` or `no` | `yes` | | Whether the changelog conversation is updated with new features on major releases |
+| `grid_videos_limit_enforced` | string
`yes` or `no` | `no` | | Whether the number of grid videos should be enforced |
+| `has_reference_id` | string
`yes` or `no` | `no` | | Indicator whether the clients can use the reference value to identify their message, will be automatically set to `yes` when the repair steps are executed |
+| `hide_signaling_warning` | string
`yes` or `no` | `no` | 🖌️ | Flag that allows to suppress the warning that an HPB should be configured |
+| `signaling_dev` | string
`yes` or `no` | `no` | | Developer flag that allows to suppress various requirements like a Redis server when using the HPB |
+| `federation_enabled` | string
`yes` or `no` | `no` | | 🏗️ *Work in progress:* Whether or not federation with this instance is allowed |