Legacy themes file requirements

This topic describes the file requirements for legacy style themes which were used by default in Pexip Infinity version 17 and earlier. You can still use these legacy themes in version 18 and later, and if you have previously applied customized themes as your default theme or applied a customized theme to a service, they will continue to work as before. Legacy style themes (identified as "version 1" themes) and new style themes (identified as "version 2" themes) can both be used on the same platform, with legacy style themes applied to some services and new style themes applied to other services if required. If you have not previously used customized themes, or want to replace your customized legacy themes with new style themes, then follow the customization instructions for the new style themes at Rules and requirements for customized themes.

The following sections list the complete set of configuration, audio and image files that make up a full legacy style theme. They also include the requirements for each of those files, how to manage video watermarking, and which files are relevant to themes used by Call Routing Rules.

When creating or editing a theme, you upload your own customized version of one or more of these files (ensuring that you use the same file name as the file you are replacing).

Configuring overlay and background colors, text and other settings

The wording and color of some image backgrounds, text and other settings that control conference features can be customized via the themeconfig.json file.

All colors in this file are specified using RGB hexadecimal notation (in the format 0xnnnnnn).

themeconfig.json

The themeconfig.json file contains the following settings. If any setting within this file is not specified, Pexip Infinity will simply use the equivalent setting from the Base theme. For example, if the only thing you want to customize from the default settings is to disable watermarks, then your themeconfig.json file only needs to contain the disable_watermark_icon setting.

Note that if this file contains "theme_version": 2 then this is deemed to be a new style theme and uses different settings and images to control the layout. See Rules and requirements for customized themes instead.

{
    "dtmf_conference_control_commands" : {
        "*7" : "toggle_lock",
        "*5" : "toggle_guest_mute",
        "##" : "end_conference"
    },
    "no_main_video_bg" : "0x000000",
    "plus_n_indicator_text_color" : "0xFFFFFF",
    "recording_indicator_text" : "Recording",
    "conference_locked_indicator_text": "Conference locked",
    "virtual_reception_text_color" : "0xFFFFFF",
    "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,
    "plus_n_indicator_bg_color" : "0x323232",
    "test_call_service_disconnect_timeout" : 10,
    "theme_version": 1,
    "conference_unlocked_indicator_text": "Conference unlocked",
    "conference_locked_indicator_n_waiting_text": "{number_of_waiting_participants} waiting for host"
}

 

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_lock (*7): toggles the locked/unlocked state of the conference
  • toggle_guest_mute (*5): toggles the muted/unmuted status of all Guest participants
  • 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. *7, *5 and ##). Editing anything else will disable DTMF commands.

Each control must be two DTMF digits long, and all the commands must be different. See Changing DTMF controls for guidance on best practice.

"*7" : "toggle_lock"
"*5" : "toggle_guest_mute"
"##" : "end_conference"
no_main_video_bg The color of the background to the no_main_video_icon.png image. 0x000000
(black)

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 appears to the right of the recording indicator when it slides out over the main video image. Recording

conference_locked_indicator_text

The text that appears to the right of the conference locked indicator when it slides out over the main video image.

This has a maximum limit of 20 characters.

Conference locked

virtual_reception_text_color

The color of the text that is overlaid at the bottom of the transfer.jpg and two_stage_dialing.jpg images. 0xFFFFFF
(white)

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 appears to the right of the streaming indicator when it slides out over the main video image. Streaming enabled
public_streaming_indicator_text The text that appears to the right of the streaming indicator when it slides out over the main video image 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

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 appears to the right of the conference unlocked indicator when it slides out over the main video image. Conference unlocked

conference_locked_indicator_n_waiting_text

The text that appears underneath the conference locked indicator text, and shows the number of participants waiting to join the locked conference.

{number_of_waiting_participants} waiting for host

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

Audio

You can replace any of the audio files by using your own version of the file in your customized theme. You must use the same file name as the file you are replacing. All audio files must be:

  • .WAV format
  • RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 48000 Hz

Points to note:

  • mono and 48000Hz are essential - audio files that do not meet these requirements will fail to upload.
  • The volume level of the audio recording is important - use the default Pexip Infinity prompts as a guide.
  • Some endpoints may take a few seconds after a call connects before they are able to receive audio. For this reason, we have included a 2-second pause at the start of any audio files that may be played when a user first connects to Pexip Infinity. We recommend that you include a similar pause; use the default Pexip Infinity files as a guide.

Audio files

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

Images

Each image must be a specific size and file format (PNG or JPEG), as specified in Image files. PNG images support transparency; JPEG images do not.

Points to note:

  • Ensure that the images display acceptably on both 16:9 endpoints and 4:3 endpoints (if applicable). For example, the original 1920 x 1080 pixel (16:9) images may have approximately 240 pixels cropped from both the left and right sides when displayed as 4:3. You should therefore check that any details on the far left or far right of the image are visible in both formats; for this reason we recommend keeping the image fairly central.
  • Depending on the endpoint capabilities and network conditions, images may be scaled down to CIF (352 x 288) or even QCIF (176 x 144), so ensure that images are not overly detailed, and any text uses a clear, large font to ensure that it is legible at low resolutions.
  • The transfer and two_stage_dialing images will be overlaid with system-generated text. By default this text is white, but the color can be changed via the themeconfig.json file. When creating customized themes, you must therefore ensure these images include sufficient empty space starting from 755 pixels from the top of the image, in a contrasting color to the text, to allow the text to be visible.
  • 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. When using legacy themes, all other overlay text also uses Roboto.
  • Pexip provides some resources for constructing your own themes at http://download.pexip.com/resources/themes/. This includes white and black colored versions of the "no other participants" and "no other video participants" graphics. They are provided as transparent PNG files and can be used as overlays on top of your own background JPEG images.

Video watermarking

Video watermarking overlays a small transparent image onto the main speaker video during a conference (VMRs and Virtual Auditoriums). Watermarks are never added to calls placed via the Infinity Gateway.

The default watermark is a white "Pexip" logo and is enabled by default. You can change the watermark image or disable watermarking completely.

Themes used by Call Routing Rules (gateway calls)

You can assign a theme to a Call Routing Rule. Only a subset of the theme's image files are used when they are applied to an Infinity Gateway call. Thus, you only need to customize a subset of the files for any themes that are only assigned to one or more Call Routing Rules. The theme image files that are used in gateway calls are identified in the table below.

Also note that:

  • the audio files are not used in themes assigned to Call Routing Rules.
  • from the themeconfig.json file, only the disable_streaming_indicator and streaming_indicator_text / recording_indicator_text settings are used (for gateway calls into an externally-hosted conference, such as a Microsoft Teams or Skype for Business meeting, or Google Meet).

Image files

File name Image size (width, height) File format Content in Base theme Notes Used in gateway calls
audio_indicator.png 100 x 100 pixels .PNG

Used to represent an audio-only participant.

For more information, see Features common to all layouts.

This is a transparent image and is shown here against a gray background.

capacity_exceeded_image.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants when they attempt to join a conference that has reached its maximum number of participants. For more information, see Limiting the number of participants.

 
conference_locked_indicator.png 100 x 100 pixels .PNG

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.

This is a transparent image and is shown here against a gray background.

 
conference_unlocked_indicator.png 100 x 100 pixels .PNG

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.

This is a transparent image and is shown here against a gray background.

 
connecting.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown briefly when placing a person-to-person call via the Infinity Gateway.

insufficient_license_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants when they are unable to join a conference because all call licenses are currently in use. For more information, see Insufficient licenses.

 

invalid_license_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants when they are unable to join a conference because the Pexip Infinity license is not valid. For more information, see Invalid license.

 
no_incoming_video_icon.png 400 x 400 pixels .PNG

Shown when a participant's video stream is not available.

no_main_video_icon.png 400 x 400 pixels .PNG

Used when streaming a conference to indicate that there is currently no main video.

 

 

no_other_participants.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown when there are no other participants in the conference.

Also shown to a VTC-based participant that is being held in a Microsoft Teams or Skype for Business meeting lobby.

no_other_video_participants.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown when all other participants are audio-only or presentation and control-only.

no_presentation_video_icon.png 400 x 400 pixels .PNG

Used to indicate that there is currently no presentation stream.

 

 
no_video_license.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants when they are unable to join a conference because all port (video) licenses are currently in use, but there was an audio license available. For more information, see Insufficient licenses.

pin_entry_0_digits_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

The pin_ screens are shown to participants when entering PINs.

Participants entering PINs via these screens will be disconnected after three unsuccessful attempts.

The length of time participants can remain at these screens is configurable via the global PIN entry timeout option (Platform > Global settings > service configuration).

 

pin_entry_1_digits_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

pin_entry_2_digits_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

pin_entry_3_digits_image.jpg

 

 

 

 

 

... and so on, up to...

1920 x 1080 pixels .JPG (RGB mode only)

pin_entry_20_digits_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

pin_entry_correct_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

pin_entry_incorrect_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

presence_avatar_image.jpg

128 x 128 pixels .JPG (RGB mode only)

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.

recording_indicator.png 100 x 100 pixels .PNG

Indicates that the conference is being recorded.

streaming_indicator.png 100 x 100 pixels .PNG

Indicates that the conference is being streamed.

This is a transparent image and is shown here against a gray background.

test_call.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown at the start of a call to a Test Call Service.

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

 

test_call_during_recording.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown during a call to a Test Call Service. Note that a large, live (with a short delay) video image of the test call participant is shown on top of this screen during a test call.

 
test_call_disconnect.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown briefly prior to automatically disconnecting the participant from a Test Call Service.

 
timed_out.jpg 1920 x 1080 pixels .JPG (RGB mode only)

Shown briefly prior to disconnecting participants who have connected to a Virtual Reception but did not enter a valid conference number.

 
transfer.jpg * 1920 x 1080 pixels .JPG (RGB mode only)

Shown briefly to participants while being transferred from a Virtual Reception.

Note that the name of the destination VMR or matching Call Routing Rule is overlaid onto this image (the image file from the Virtual Reception's theme is used).

 

two_stage_dialing.jpg *

1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants who have connected to a Virtual Reception.

 

two_stage_dialing_conf_number_invalid_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown to participants who have connected to a Virtual Reception and have entered an invalid conference number.

 

waiting_for_conference_leader_image.jpg

1920 x 1080 pixels .JPG (RGB mode only)

Shown to Guests while waiting for a Host to either:

The length of time Guests can remain at this screen is configurable via the global Waiting for Host timeout option (Platform > Global settings > Service configuration).

 
watermark_icon.png 200 x 100 pixels .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.

See Video watermarking for more information.

 

* These images will be overlaid with system-generated text. By default this text is white, but the color can be changed via the themeconfig.json file. When creating customized themes, you must therefore ensure these images include sufficient empty space starting from 755 pixels from the top of the image, in a contrasting color to the text, to allow the text to be visible.

† Except for participants that are using Infinity Connect clients.

†† Only applies to gateway calls into an externally-hosted conference, such as a Microsoft Teams or Skype for Business meeting, or Google Meet. In Google Meet conferences, the recording_indicator.png image is used when the conference is being recorded and the streaming_indicator.png image is used when the conference is being streamed.