Base theme and other preconfigured themes

Pexip Infinity ships with its own Base theme. Files and configuration settings from the Base theme are used when no other theme has been selected, or the selected theme does not contain the required file or setting.

You cannot change the contents of the Base theme, but you can create your own themes by uploading customized versions of one or more of the Base files.

When a user accesses a service that has a customized theme applied, Pexip Infinity presents them with the sounds and images from the files included in that theme. If the customized theme does not include a specific file, or the service does not have a theme applied, then Pexip Infinity uses the relevant file from the default theme. If the default theme does not include the specific file either, then the file from the Base theme is used.

The same rules apply when modifying the configuration settings in the themeconfig.json file. If any values within this file are not specified, Pexip Infinity will use the values from the Base theme's themeconfig.json file.

The following sections list the complete set of configuration, endpoint data, audio, and image files that make up the Base theme. If you want to see details of the base theme used in legacy-style themes (customized themes used with version 17 or earlier of Pexip Infinity), see Legacy themes file requirements.

In addition to the files and settings included within the Base theme, there are some advanced settings (such as controlling where screen text is positioned) that are used by default but are not contained with the Base theme's themeconfig.json file, but they can be overridden by adding them to your own customized themeconfig.json file. See Splash screen elements (to control the size and position of text/graphics) for full information about what can be configured, and Default element configuration for each screen to see the default positions, offsets and sizes used by each splash screen.

Pexip Infinity also ships with a number of preconfigured themes which are similar to the Base theme, but contain alternative audio files with different conference entry and exit tones, and alternative references to the "#" key (as the "hash key" or as the "pound key").

The default font for the in-conference display of participant names is Roboto (which cannot be changed), or if that is not available for the character set, Noto Sans. All other overlay text (splash screen text and in-conference messages) uses GT Pressura Light and this can be changed by using a customized theme.

Theme configuration

The themeconfig.json file is the theme's primary configuration file. It is a JSON dictionary that specifies the background and layout of the splash screens used when joining a conference (such as the Welcome screen and PIN entry screens), specifies which image files are used, and controls some of the features and overlays that are used within a conference. It does not control any of the audio (sound) elements of the theme.

{
    "dtmf_conference_control_commands": {
        "*6": "toggle_self_mute",
        "*7": "toggle_lock",
        "*5": "toggle_guest_mute",
        "*4": "toggle_pres_in_mix",
        "*9": "toggle_multiscreen",
        "*8": "cycle_layout",
        "##": "end_conference"
    },
    "dtmf_allowed_layouts": ["1:7", "ac", "1:21", "2:21", "2x2", "3x3", "4x4", "5x5", "1:0", "1:33"],
    "plus_n_indicator_text_color": "0xFFFFFF",
    "recording_indicator_text": "Recording",
    "conference_locked_indicator_text": "Conference locked",
    "test_call_service_media_delay": 2,
    "disable_streaming_indicator": false,
    "disable_conference_locked_indicator": false,
    "streaming_indicator_text": "Streaming enabled",
    "public_streaming_indicator_text": "Public streaming enabled",
    "enable_dtmf_conference_control": true,
    "disable_watermark_icon": false,
    "disable_watermark_mute_icon": true,
    "plus_n_indicator_bg_color": "0x323232",
    "test_call_service_disconnect_timeout": 10,
    "theme_version": 2,
    "conference_unlocked_indicator_text": "Conference unlocked",
    "conference_locked_indicator_n_waiting_text": "{number_of_waiting_participants} waiting for host",
    "transcribing_indicator_text": "Transcribing"
}

Each object in the themeconfig.json file is described in the following table.

All of the colors in these controls are specified using RGB hexadecimal notation (in the format 0xnnnnnn).

Name Description Value in Base theme

dtmf_conference_control_commands

If DTMF controls are enabled, this section specifies the DTMF digits used for each control. Current controls are:

  • toggle_self_mute (*6): toggles the mute status of the participant *
  • toggle_lock (*7): toggles the locked/unlocked state of the conference
  • toggle_guest_mute (*5): toggles the muted/unmuted status of all Guest participants
  • toggle_pres_in_mix (*4): toggles whether the presentation stream is sent to that endpoint in the main video mix (replacing some of the other video participants), or as a separate stream
  • toggle_multiscreen (*9): toggles multiscreen participant display *
  • cycle_layout (*8): cycles the layout through the set of available layouts as defined in dtmf_allowed_layouts
  • end_conference (##): terminates the conference

When changing the DTMF controls, you must only edit the digits inside the first pair of quotes on each line (i.e. *6, *7, *5, *4, *9, *8 and ##). Editing anything else will disable DTMF commands.

If you change the *6 control for self-mute, you should also change the associated watermark_mute_icon.png graphic to reference the revised command.

Each control must be two DTMF digits long, and all the commands must be different.

Note that with calls made via the Infinity Gateway, any DTMF signals are forwarded to the other party. The only exception to this is CVI calls to Microsoft Teams where DTMF controls can be used to control the layout and toggle self mute (see Configuring Pexip Infinity as a Microsoft Teams gateway for more information).

See Using a DTMF keypad to control a conference for guidance on best practice.

"*6": "toggle_self_mute"
"*7": "toggle_lock"
"*5": "toggle_guest_mute"
"*4": "toggle_pres_in_mix"
"*9": "toggle_multiscreen"
"*8": "cycle_layout"
"##": "end_conference"
dtmf_allowed_layouts

The set of layouts that are cycled through on each press of the cycle_layout DTMF command (*8 by default).

The order of the layout identifiers in the list determines the cycle sequence, starting with the layout next in the list after the current layout.

However, if the initial (default) layout is not in the list then:

  • The layout that is first in the list is used in the first instance.
  • You cannot use DTMF to return to that initial layout during the conference.
["1:7", "ac", "1:21", "2:21", "2x2", "3x3", "4x4", "5x5", "1:0", "1:33"]

plus_n_indicator_text_color

The color of the text on the thumbnail that shows how many additional participants are in the conference. This is used in conjunction with plus_n_indicator_bg_color. 0xFFFFFF
(white)
recording_indicator_text The text that is associated with the recording indicator and that is temporarily displayed when a conference is being recorded. Recording

conference_locked_indicator_text

The text that is associated with the conference locked indicator and that is temporarily displayed when a conference is locked.

This has a maximum limit of 20 characters.

Conference locked

test_call_service_media_delay

The number of seconds that media is delayed before being looped back to the caller when using a Test Call Service.

(For more information, see Configuring the Test Call Service.)

2

disable_streaming_indicator Determines whether the streaming indicator icon is disabled (true) or enabled (false). false

disable_conference_locked_indicator

Determines whether the conference locked and conference unlocked indicators are disabled (true) or enabled (false). false
streaming_indicator_text The text that is associated with the streaming indicator and that is temporarily displayed when a conference is being streamed. Streaming enabled

public_streaming_indicator_text

The text that is associated with the streaming indicator and that is temporarily displayed when Google Meet public streaming is enabled. Public streaming enabled

enable_dtmf_conference_control

Determines whether Host participants can use DTMF to control the conference (true) or not (false).

true
disable_watermark_icon Determines whether the watermark icon is overlaid onto the main speaker video (false) or is not used (true). See Video watermarking for more information. false

disable_watermark_mute_icon *

Determines whether the "Your mic has been muted" watermark icon is overlaid onto the stream sent to a participant when that participant has been muted (false) or is not used (true). See Video watermarking for more information. true

plus_n_indicator_bg_color

The background color of the thumbnail that shows how many additional participants are in the conference. This is used in conjunction with plus_n_indicator_text_color. 0x323232
(dark gray)

test_call_service_disconnect_timeout

The number of seconds that a user can test their media before the disconnect message is played, when using a Test Call Service.

10

theme_version Controls whether legacy (version "1") or new style (version "2") themes are used. If "theme_version": 2 is not present in a themeconfig.json file at the lowest level of the theme file hierarchy then it is assumed to be a legacy-style theme (see How do I know which files and configuration settings will be used in a particular VMR? for more information). 2

conference_unlocked_indicator_text

The text that is associated with the conference unlocked indicator and that is temporarily displayed when a conference is unlocked. Conference unlocked

conference_locked_indicator_n_waiting_text

The text that is associated with the conference locked indicator text, and shows the number of participants waiting to join the locked conference.

{number_of_waiting_participants} waiting for host

transcribing_indicator_text

The text that is associated with the conference transcribing indicator and that is temporarily displayed when a conference is being transcribed. Transcribing

* This is new in version 28.

† This setting has no effect in the Adaptive Composition layout.

◊ Note that Google Meet public streaming has not been launched by Google yet.

Endpoint data (vendordata.json)

The vendordata.json file contains information about videoconferencing endpoints from different manufacturers.

It is used to determine whether a specific endpoint is a single-screen or two-screen device (unless the endpoint explicitly signals to Pexip Infinity how many screens it has). This information is used when determining if presentation content could be sent as part of the layout mix when using Adaptive Composition, and if multiscreen participant display is supported:

  • Single screen endpoints:

    • Presentation content may be sent as part of the layout mix, or as a separate presentation stream.
    • Multiscreen participant display is not available.
  • Dual screen endpoints:

    • Presentation content is always sent as a separate presentation stream.
    • Multiscreen participant display is available for the supported layouts.

See Receiving the presentation stream as part of the layout mix (Adaptive Composition) and Multiscreen participant display for more information.

The default vendordata.json file is shown below:

{
    "endpoints_by_display_count": {
        "1": [
            "Cisco-Board",
            "Cisco-DX",
            "Cisco-Desk",
            "Cisco-EX60",
            "Cisco-EX90",
            "Cisco-MX200",
            "Cisco-MX300",
            "Cisco-RoomKitMini",
            "Cisco-SX10",
            "TANDBERG/257",
            "Yealink VC200",
            "PolycomRealPresenceTrio",
            "PolycomStudioX30",
            "Polycom (HDX 4000",
            "Polycom (HDX 4500",
            "Polycom (HDX 6000"
        ],
        "2": []
    }
}

The JSON dictionary in the file contains an endpoints_by_display_count object, which contains two further objects:

  • "1": this contains an array of names of single screen endpoints (the absence of a closing bracket for the HDX device names is deliberate).
  • "2": this contains an array of names of dual screen endpoints (this array is empty by default).

The name is contained in the user agent string used by the endpoint, and can be seen in the Vendor field when viewing participant status information.

Pexip intends to maintain and update this file as appropriate in future software versions, however you may amend the contents of the arrays and provide your own vendordata.json file as part of a custom theme upload and then apply that theme to your platform, VMRs or rules in the normal way to override the default behavior. Ensure that you do not break the syntax of the JSON file.

Audio files

The following table lists the default audio files and their content, which is contained within the Base theme:

Image files

Background image files (JPG)

Two full-size background JPG image files are used — one (which is just a black screen) for the Test Call Service, and one (fjord) for all other cases. Other SVG images and text that are specified in other theme files is overlaid onto these screens according to any layout requirements that have been added to the themeconfig.json file, and the type and status of the call.

File name Image size (width, height) Content in Base theme Notes
background.jpg 1920 x 1080 pixels
JPG (RGB mode only)
The background image used by default on all splash screens except for those used by the Test Call Service.
background_test_call.jpg 1920 x 1080 pixels
JPG (RGB mode only)
The background image (a black screen) used by default on the Test Call Service splash screens.

Splash screens

The following table lists the splash screens that you can configure within a theme. It describes when that screen is shown and shows its default appearance. It also identifies the screen key to use in a screens object if you want to override the default behavior, and the default icon image and text label elements used on that screen.

All of the screens used when joining a conference use background.jpg as the default background image. The Test Call Service uses background_test_call.jpg during the call.

Overlay SVG image files

All of the overlay vector images in the Base theme are listed below. All of the images are white, except for icon_inactive_page.svg, and are shown here against a gray background. The table also lists the splash screens on which the overlay images are used by default.

File name Content in Base theme Associated default splash screens
icon_active_page.svg

test_call_welcome
test_call_in_progress
test_call_complete
(they are rendered as the progress dots along the bottom of the screen)

icon_connecting.svg connecting
inlobby_status_unknown
icon_error.svg

error_capacity_exceeded
error_insufficient_licenses
error_invalid_license

icon_error_insufficient_video_licenses.svg

error_insufficient_video_licenses
icon_inactive_page.svg

test_call_welcome
test_call_in_progress
test_call_complete
(they are rendered as the progress dots along the bottom of the screen)

icon_is_in_lobby.svg inlobby

icon_other_participants_audio_only.svg

other_participants_audio_only
icon_pin_entry.svg pin_welcome
pin_entry
icon_pin_entry_digit.svg pin_entry
icon_pin_invalid.svg pin_invalid
icon_streaming_screen.svg

streaming_in_progress
stream_waiting

icon_timeout.svg timeout

icon_virtual_reception_conference_id_entry.svg

virtual_reception_conference_id_entry

icon_virtual_reception_conference_id_invalid.svg

virtual_reception_conference_id_invalid

icon_virtual_reception_connecting.svg

virtual_reception_connecting

icon_virtual_reception_welcome.svg

virtual_reception_welcome
icon_waiting_for_host.svg waiting_for_host
icon_welcome.svg welcome
pin_correct

Overlay SVG image files used by the Test Call Service

These overlay SVG image files are used only by the Test Call Service:

File name Content in Base theme Associated default splash screens
icon_test_call_complete.svg test_call_complete
icon_test_call_welcome.svg test_call_welcome

Indicator graphics used within an ongoing conference

The following graphics may be used during a conference. The SVG indicators are rendered on top of a dark gray background (the color is 0x7f323232, where 7f is the alpha channel which makes the background slightly transparent). The gray background is not part of the actual SVG image itself and it cannot be customized. If you use your own customized SVG images, ensure that they look appropriate when displayed on sizes from 20x20px to 48x48px, and are recognizable when displayed as 12x12px for participants that use very low resolutions.

If you are using a theme to customize gateway calls only, then you only need to consider a subset of these images, as indicated in the table below.

File name Content in Base theme Notes Used in gateway calls
icon_audio.svg

Used to represent an audio-only participant.

For more information, see Features common to all layouts.

icon_conference_locked.svg

Slides out over the main video image (displayed to Hosts only) to indicate that the conference is currently locked.

It is used in conjunction with the conference_locked_indicator_text and the conference_locked_indicator_n_waiting_text in the themeconfig.json file.

icon_conference_unlocked.svg

Slides out over the main video image (displayed to Hosts only) to indicate that the conference has been unlocked.

It is used in conjunction with the conference_unlocked_indicator_text in the themeconfig.json file.

icon_no_presentation.svg

Used to indicate that there is currently no presentation stream.

It is used by default on the no_presentation splash screen.

 
icon_no_video.svg

Shown when a video stream is not available.

It is used by default on the no_main_video and no_incoming_video splash screens. It should look appropriate when displayed at sizes up to 400 x 400 pixels.

icon_video_muted.svg

Used to represent a video-muted participant who is excluded from the video layout.

icon_notch57tp_audio.svg
icon_notch57tp_conference_locked.svg
icon_notch57tp_participants.svg
icon_notch57tp_public_streaming.svg
icon_notch57tp_streaming.svg
icon_notch57tp_video_muted.svg
<various>

These icon images are used to support the Adaptive Composition layout, instead of the other in-call indicators shown here.

We recommend that you do not customize these elements as we cannot guarantee compatibility with future versions of Pexip Infinity.

 

presence_avatar_image.jpg

Shown next to the conference alias when using legacy Infinity Connect clients, and as the contact avatar when using Skype for Business / Lync.

When the image is used, the corners are cropped so that it can be displayed as a round image.

It is a JPG image (RGB mode only) and should be 128 x 128 pixels.

icon_recording.svg

Indicates that the conference is being recorded.

icon_streaming.svg

Indicates that the conference is being streamed.

icon_public_streaming.svg Indicates that the conference is being publicly streamed via a Google Meet conference.

icon_transcribing.svg

Indicates that a Microsoft Teams conference is being transcribed.

watermark_icon.png

Transparent image used for applying a watermark to the main speaker video in a conference.

The default image is a white Pexip logo with 40% transparency and is shown here against a blue background.

It is a PNG image and should be 200 pixels wide x 100 pixels high.

See Video watermarking for more information.

 

watermark_footer_icon.png

A watermark that is only used in the 1 + 33 layout (it appears at the bottom of the layout).

It is the same size as the standard watermark_icon.png file, but it has inverted colors (so that it shows up on the white background of the layout).

 

watermark_mute_icon.png *

An overlay that is displayed to a participant when they have been administratively muted. It is shown at the top-middle of the screen (or just under the conference indicators if using Adaptive Composition) whenever the participant has been muted.

It is a PNG image and should be 200 pixels wide x 100 pixels high.

Note that:

  • This overlay is disabled by default, and is controlled by the disable_watermark_mute_icon setting in the themeconfig.json file.
  • It is not always appropriate in all call scenarios to state that the user can unmute themself in this way, such as when the user has dialed in over WebRTC, or for Guest participants in a VMR where all Guests have been muted.

* This is new in version 28.

† Only applies when the gateway call is into an externally-hosted conference, such as a Microsoft Teams or Skype for Business meeting, or Google Meet. In Google Meet conferences, the icon_recording.svg image is used when the conference is being recorded and the icon_streaming.svg image is used when the conference is being streamed. The icon_public_streaming.svg icon is used only in Google Meet conferences.

‡ Only applies to gateway calls into Microsoft Teams meetings.

◊ Note that Google Meet public streaming has not been launched by Google yet.

Preconfigured themes

Pexip Infinity ships with a number of preconfigured themes. These themes can be copied and edited, making it easier for you to select and create themes suitable for your deployment.

The preconfigured themes are identical to the Base theme with the following exceptions:

  • some include entry and exit tones (the Base theme contains "empty" tones files)
  • some refer to the "#" key as the "hash key" (the Base theme refers to this as the "pound key").

The files that may differ from those in the Base theme are:

  • Entry tone: conf-participant_entry_tone_48kHz_mono.wav
  • Exit tone: conf-participant_exit_tone_48kHz_mono.wav
  • "#" key reference: 2sd-number-pound-key_48kHz_mono.wav, conf-getpin_pound-key_48kHz_mono.wav, conf-waithostpin_pound-key_48kHz_mono.wav

The content of the above files for each of the preconfigured themes is as follows:

Theme Entry tone Exit tone "#" key references
Pexip theme (English_US) * <empty file> <empty file> "...the pound key"
Pexip theme (English_UK) <empty file> <empty file> "...the hash key"
Pexip theme (English_US) with entry tones A high tone followed by a low tone A low tone followed by a high tone "...the pound key"
Pexip theme (English_UK) with entry tones A high tone followed by a low tone A low tone followed by a high tone "...the hash key"

* This theme is identical to the Base theme, although unlike the Base theme it can be edited.