{
    "id": "com.mattermost.calls",
    "name": "Calls",
    "description": "Integrates real-time voice communication in Mattermost",
    "homepage_url": "https://github.com/mattermost/mattermost-plugin-calls/",
    "support_url": "https://github.com/mattermost/mattermost-plugin-calls/issues",
    "release_notes_url": "https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v0.13.0",
    "version": "0.13.0",
    "min_server_version": "7.6.0",
    "server": {
        "executables": {
            "darwin-amd64": "server/dist/plugin-darwin-amd64",
            "darwin-arm64": "server/dist/plugin-darwin-arm64",
            "freebsd-amd64": "server/dist/plugin-freebsd-amd64",
            "linux-amd64": "server/dist/plugin-linux-amd64",
            "linux-arm64": "server/dist/plugin-linux-arm64",
            "openbsd-amd64": "server/dist/plugin-openbsd-amd64"
        },
        "executable": ""
    },
    "webapp": {
        "bundle_path": "webapp/dist/main.js"
    },
    "settings_schema": {
        "header": "Calls plugin enables voice calls with screensharing in channels. See [documentation](https://docs.mattermost.com/channels/make-calls.html) to learn more.",
        "footer": "",
        "settings": [
            {
                "key": "DefaultEnabled",
                "display_name": "Test mode",
                "type": "custom",
                "help_text": "When test mode is enabled, only system admins are able to start calls in channels. This allows testing to confirm calls are working as expected.",
                "placeholder": "",
                "default": null,
                "hosting": "on-prem"
            },
            {
                "key": "UDPServerAddress",
                "display_name": "RTC Server Address",
                "type": "text",
                "help_text": "The IP address used by the RTC server to listen on.",
                "placeholder": "127.0.0.1",
                "default": "",
                "hosting": "on-prem"
            },
            {
                "key": "UDPServerPort",
                "display_name": "RTC Server Port",
                "type": "number",
                "help_text": "The UDP port the RTC server will listen on.",
                "placeholder": "8443",
                "default": 8443,
                "hosting": "on-prem"
            },
            {
                "key": "MaxCallParticipants",
                "display_name": "Max call participants",
                "type": "number",
                "help_text": "The maximum number of participants that can join a call. If left empty, or set to 0, it means unlimited.",
                "placeholder": "",
                "default": 0,
                "hosting": "on-prem"
            },
            {
                "key": "ICEHostOverride",
                "display_name": "ICE Host Override",
                "type": "text",
                "help_text": "(Optional) The IP (or hostname) to be used as the host ICE candidate. If empty, it defaults to resolving via STUN.",
                "placeholder": "",
                "default": "",
                "hosting": "on-prem"
            },
            {
                "key": "ICEServersConfigs",
                "display_name": "ICE Servers Configurations",
                "type": "longtext",
                "help_text": "(Optional) A list of ICE servers (STUN/TURN) configurations to use. This field should contain a valid JSON array.",
                "placeholder": "[{\n \"urls\":[\"turn:turnserver.example.org:3478\"],\n \"username\": \"webrtc\",\n \"credential\": \"turnpassword\"\n}]",
                "default": "[{\"urls\":[\"stun:stun.global.calls.mattermost.com:3478\"]}]",
                "hosting": "on-prem"
            },
            {
                "key": "TURNStaticAuthSecret",
                "display_name": "TURN Static Auth Secret",
                "type": "text",
                "help_text": "(Optional) The secret key used to generate TURN short-lived authentication credentials.",
                "placeholder": "",
                "default": "",
                "hosting": "on-prem"
            },
            {
                "key": "TURNCredentialsExpirationMinutes",
                "display_name": "TURN Credentials Expiration (minutes)",
                "type": "number",
                "help_text": "(Optional) The number of minutes that the generated TURN credentials will be valid for.",
                "placeholder": "",
                "default": 1440,
                "hosting": "on-prem"
            },
            {
                "key": "ServerSideTURN",
                "display_name": "Server Side TURN",
                "type": "bool",
                "help_text": "(Optional) When set to true it will pass and use configured TURN candidates to server initiated connections.",
                "placeholder": "",
                "default": false,
                "hosting": "on-prem"
            },
            {
                "key": "AllowScreenSharing",
                "display_name": "Allow screen sharing",
                "type": "bool",
                "help_text": "When set to true it allows call participants to share their screen.",
                "placeholder": "",
                "default": true,
                "hosting": ""
            },
            {
                "key": "RTCDServiceURL",
                "display_name": "RTCD service URL",
                "type": "text",
                "help_text": "(Optional) The URL to a running RTCD service instance that should host the calls. When set (non empty) all calls will be handled by the external service.",
                "placeholder": "https://rtcd.example.com",
                "default": null,
                "hosting": "on-prem"
            },
            {
                "key": "EnableRecordings",
                "display_name": "Enable call recordings (Beta)",
                "type": "bool",
                "help_text": "(Optional) When set to true it enables the call recordings functionality.",
                "placeholder": "",
                "default": false,
                "hosting": ""
            },
            {
                "key": "JobServiceURL",
                "display_name": "Job service URL",
                "type": "text",
                "help_text": "The URL to a running calls job service instance used for call recordings.",
                "placeholder": "https://calls-job-service.example.com",
                "default": null,
                "hosting": ""
            },
            {
                "key": "MaxRecordingDuration",
                "display_name": "Maximum call recording duration",
                "type": "number",
                "help_text": "The maximum duration (in minutes) for call recordings. Value must be in the range [15, 180].",
                "placeholder": "",
                "default": 60,
                "hosting": ""
            }
        ]
    },
    "props": {
        "calls_recorder_version": "v0.2.3",
        "min_rtcd_version": "v0.9.0"
    }
}