Quobis collaborator configuration

This section explain the configuration that needs to be done by an administrator to setup and configure Quobis collaborator.

File-based configuration

Most of the configuration settings of Quobis collaborator are grouped in a single file. That file’s name is “CONF.js” and must be always be located in the root folder. This is a Javascript file that follows a JSON-like structure, where its values must be one of the following data types:

  • a string

  • a number

  • an object (another JSON object)

  • an array

  • a boolean

  • null

This is an example of a JSON structure, just for reference:

{
  foo: bar,
  foo2: {
    foo3: bar3,
    foo4: bar4
  }
}

For more information on JSON file format, please refer to https://json-schema.org/

Configuration options list

Warning

There are two mandatory fields: WCO_URI and WAC_URI, all others are optional

Note

Please note that these default values apply when a key is not present in the configuration file.

Check the following CONF.js with the default values that apply when no configuration is defined:

window.STATIC_CONF = {
  ALLOW_CONTACT_SYNC: true,
  ANDROID_PERMISSIONS: {
    OPTIONAL: [],
    MANDATORY: [],
  },
  APP_SCHEME: 'collaborator://',
  APPS_FLYER: {
    APP_ID: null,
    DEV_KEY: null,
  },
  AUTOMATIC_STATUS_CHANGE_ON_CALL: {
    TIME_UNTIL_RESTORE: 0,
  },
  CHAT: {
    CLOSE_CHAT_BUTTON_EXTRA_ACTION: '',
    SHOW_IN_CONFERENCE: true,
    SEND_INSTANT_AUDIO_MESSAGE: false,
    SEND_INSTANT_VIDEO_MESSAGE: false,
  },
  CONFERENCE: {
    KEEP_INVITATIONS_WITH_ERROR_TIMEOUT: null,
    MATRIX: true,
    PARTICIPANT_LIMIT: Number.MAX_SAFE_INTEGER,
    ANONYMOUS_USERS_CAN_HOLD: false,
  },
  CUSTOM_CALL_LOG_URL: '',
  CUSTOM_SETTINGS_URL: '',
  CONTACTS: {
    NAME: ['displayName', 'contactName', 'username', 'phone'],
    SOURCES: [Agenda.PERSONAL, Agenda.DIRECTORY, Agenda.EXTERNAL, Agenda.PHONE],
    DEFAULT_SOURCE: Agenda.DIRECTORY,
    EXTERNAL_SOURCE_NAME: 'CONTACTS.EXTERNAL',
    ENABLE_FAV_FILTER: true,
  },
  DATE: {
    DATE_FORMAT: 'dd/MM/yyyy',
    DURATION_FORMAT: 'mm:ss',
  }
  DEFAULT_COUNTRY_CODE: null,
  DEFAULT_MEDIA_CONSTRAINTS: {
    audio: {
      autoGainControl: true,
      echoCancellation: true,
      noiseSuppression: true,
    },
    video: true,
  },
  DIALPAD, {
    'disableKeyboard': false,
    '0': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '1': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '2': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '3': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '4': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '5': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '6': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '7': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '8': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '9': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '#': {
      icon: '',
      phone: '',
      tooltip: '',
    },
    '*': {
      icon: '',
      phone: '',
      tooltip: '',
    },
  },
  DISPLAY_USER_NAME: true,
  DISPLAY_WARNING_CLOSING_TAB: true,
  DOCUMENT_TITLE: 'collaborator',
  DRAWER_FIRST_TAB: 'contacts',
  DRAWER_FOOTER_WITH_PROFILE: false,
  FORCED_DOMAIN: false,
  HEIGHT_AVATAR: 128,
  HTML_NOTIFICATIONS: {
    CALLS: true,
    MESSAGES: true,
  },
  MEETINGS_PATH: 'meeting',
  INPUT_MAX_LENGTH: 45,
  LANGUAGES: ['ca', 'de', 'en', 'es', 'fr', 'gl', 'it', 'pt'],
  PRESENCE_STATUS: null,
  PRIVACY_POLICIES_URL: 'https://quobis.com/privacy-policy/',
  PROFILE_LINK_MAX_LENGTH: 90,
  REQUIRE_SMS_VALIDATION: false,
  SEND_MEETING_VIA_WHATSAPP: false,
  SEND_REJECT_SMS: false,
  SHOW_CONTENT_INFO: false,
  SHOW_SIDEBAR: true,
  SOUND: {
    CALLING: {
      VOLUME: 0.2,
    },
    RINGING: {
      VOLUME: 0.2,
    },
    DTMF: {
      DURATION: 500,
      VOLUME: 1,
    },
  },
  SUBUSER_VALIDATION_URI: null,
  SUBUSER_MOBILE_URL: null,
  SUBUSER_WEB_URL: null,
  WIDTH_AVATAR: 128,
  WHITEBOARD: {
    SET_REMOTE_VIDEO_CAPTURE_BACKGROUND: false
    DEFAULT_BACKGROUND: '',
    DEFAULT_LINE_WIDTH: 2,
    PALETTE: [],
  },
};

We are going to explore each of these options in detail.

Top level configuration options

Warning

The following configuration variables as are deprecated with respect to previous versions of this documentation

  • PUSH_SERVER - Related with push notification management.

  • FORCE_FAVS_BY_DEFAULT - Related with the contacts favorite filter.

ALLOW_CONTACT_SYNC (boolean)
ALLOW_CONTACT_SYNC: true,

Quobis collaborator offers the posibility to sync contacts from the user’s device over to the web application making it easier to start using the platform and keep up to date their contacts. If set to false syncronization with sippo-server contacts will be disabled.

Note

This configuration option is only available in iOS and Android devices.

ANDROID_PERMISSIONS (object)
ANDROID_PERMISSIONS: {
              OPTIONAL: ['CAMERA', 'RECORD_AUDIO'],
              MANDATORY: ['READ_CONTACTS'],
      },

Quobis collaborator requieres some specific OS permissions when installed on android devices.

Check detailed object for extra information.

APP_SCHEME (string)
APP_SCHEME: 'collaborator://',

Variable which sets the url scheme to intercept in the authentication through the web app.

Note

This configuration option is only available when using cordova framework.

APPS_FLYER (object or false)
APPS_FLYER: false,

Quobis collaborator has been integrated with the third party solution “Apps Flyer”, an analytic and attribution platform.

Check detailed object for extra information

AUTOMATIC_STATUS_CHANGE_ON_CALL (object)
AUTOMATIC_STATUS_CHANGE_ON_CALL: {
              STATUS: 'busy',
              TIME_UNTIL_RESTORE: 1000,
      },

Quobis collaborator can be configured to change the presence status of a user during a call, according to its real presence. If this parameter is not configured no status change will take effect during a call.

Check detailed object for extra information.

BONUS_URL (string)
BONUS_URL: 'https://extra_url_more_info/',

With this variable Quobis collaborator allows the administrator to set up a button in the settings panel that will redirect users to the specified URL.

Note

The default value is null, so this feature will be disabled by default and no redirect button will appear in the settings.

CHAT (object)
CHAT: {
  SEND_INSTANT_AUDIO_MESSAGE: false,
  SEND_INSTANT_VIDEO_MESSAGE: false,
  SHOW_IN_CONFERENCE: false,
  CLOSE_CHAT_BUTTON_EXTRA_ACTION: '',
      },

When the chat service is activated, there are a number of customizations about the chat that can be done.

Check detailed object for extra information.

CONFERENCE (object)
CONFERENCE: {
              PARTICIPANT_LIMIT: 5,
              MATRIX_LIMIT: 5,
              KEEP_INVITATIONS_WITH_ERROR_TIMEOUT: 8000,
              MATRIX: true,
  ANONYMOUS_USERS_CAN_HOLD: false,
      },

Quobis collaborators allows to setup audio and video multi party conferences (requires the SFU or MCU components). The are several conference behavior related configuration options that can be changed at the CONF.js file.

Check detailed object for extra information.

CONTACTS (object)
CONTACTS: {
              NAME: ['displayName', 'contactName', 'username', 'phone'],
              SOURCES: [Agenda.PERSONAL, Agenda.DIRECTORY, Agenda.EXTERNAL, Agenda.PHONE],
              DEFAULT_SOURCE: Agenda.DIRECTORY,
              EXTERNAL_SOURCE_NAME: 'CONTACTS.EXTERNAL',
              ENABLE_FAV_FILTER: true,
      },

Quobis collaborator has an agenda section which allows for some customization via the CONF.js file. These are configured on the CONTACTS JSON object.

CUSTOM_CALL_LOG_URL (string)
CUSTOM_CALL_LOG_URL: '',

Allows to set an URL to access a custom call log endpoint. The default value is an empty string.

CUSTOM_SETTINGS_URL (string)
CUSTOM_SETTINGS_URL: '',

Allows to set an URL to access a custom settings endpoint. The default value is an empty string.

DATE (object)
DATE = {
              DATE_FORMAT: 'dd/MM/yyyy',
              DURATION_FORMAT: 'mm:ss',
      };

Allows to change the date and duration format. Check detailed object for extra information.

DEFAULT_COUNTRY_CODE (string)
DEFAULT_COUNTRY_CODE: '+34',

Quobis collaborator allows to append a default country code. This is used when a user adds a new contact to its agenda. Any value as country code (eg: “+34”, “+1”) according to ITU standards is valid.

Note

Default value is null. So this feature is disabled by default.

DEFAULT_DOMAIN (string)
DEFAULT_DOMAIN: 'quobis',

Quobis collaborator can enforce a domain in the login process. For example, if the DEFAULT_DOMAIN is set to quobis.com, a user loging with the username “john” will be send to the Quobis AS for authentication as john@quobis.com.

Note

Default value is null. So this feature is disabled by default.

Note

It is mandatory to configure this parameter in order for anonymous calls to work.

DEFAULT_MEDIA_CONSTRAINTS (object)
DEFAULT_MEDIA_CONSTRAINTS: {
              audio: true,
              video: true,
      },

This parameter allows a system administrator to establish constraints on the media track settings for each kind of track when initializing calls.

Check detailed object for extra information.

DIALPAD (object)
DIALPAD: {
              0: {
                      icon: 'icon sippo-plus',
                      phone: '',
                      tooltip: '',
              },
              1: {
                      icon: 'icon default-voicemail',
                      phone: '',
                      tooltip: '',
              },
      },

The dialpad allows to trigger customized actions that will be fired when a key is long pressed. You can customize the number that will be called and attach an icon and a tooltip to this key. To edit these dialpad actions, just edit the CONF.js file with the desired configuration.

Check detailed object for extra information.

DISPLAY_WARNING_CLOSING_TAB (boolean)
DISPLAY_WARNING_CLOSING_TAB = false;

Displays a warning message before closing the browser tab.

DISPLAY_USER_NAME (boolean)
DISPLAY_USER_NAME: true,

This variable enables the header of the left drawer section to change on mouse hover over the current user’s avatar (desktop only). It will change in order to display the user’s configured name (displayname) or the system username of the collaborator user.

  • true: Shows displayname, or username if displayname is not configured.

  • false: Nothing is displayed, hover disabled.

Note

Default value is true. So this feature is enabled by default.

DOCUMENT_TITLE (string)
DOCUMENT_TITLE: 'collaborator';

This configuration option refers to the HTML title of the web application. It defaults to collaborator

DRAWER_FIRST_TAB (string or string[])
DRAWER_FIRST_TAB: 'call-button',

This allows to configure which drawer tabs are open by default when the web application starts. This variable wiil contain a single string or an array of strings specifying the name of these drawer tabs. The following values are valid:

  • contacts

  • call-button

  • calls

  • conferences

  • chat

  • dialpad

  • meetings

FORCED_DOMAIN (boolean)
FORCED_DOMAIN: false;

Quobis collaborator can enforce a domain for each call, for example @quobis.com. This way, when a user dials the extension 200@othercompany.com, Quobis collaborator will change the domain and call to 200@quobis.com. Please note that this behavior does not happen if the user dials 200 (without the @).

This default domain is configured in the CONF.js file using the DEFAULT_DOMAIN field.

  • true: All phones will have the same domain as the logged user.

  • false: When FORCED_DOMAIN is set to false or absent, it will be ignored.

Note

Default value is null. So this feature is disabled by default.

Note

The domain is obtained from the IMS credentials not directly from the WAC

HEIGHT_AVATAR (number)
HEIGHT_AVATAR: 96,

Quobis collaborator allows users to upload its own avatar, which will be show to other Quobis collaborator users both in the contact list and also in every incoming call.

Allows the scaling of the avatar picture before uploading it to the Quobis AS server. Value needs to be set in pixels.

Note

Default value is null. So this feature is disabled by default. No scaling is done

HTML_NOTIFICATIONS (object)
HTML_NOTIFICATIONS: {
              CALLS: true,
              MESSAGES: true,
      },

Quobis collaborator has the ability to use the operating system notifications to alert the user of incoming audio, video and chat sessions.

Check detailed object for extra information.

INPUT_MAX_LENGTH (number)
INPUT_MAX_LENGTH: 45,

Defines the maximun character lenght which can be entered into the inputs of the web application

IOS_REDIRECT_URI (string)
IOS_REDIRECT_URI: 'http://www.quobis.com',

URI to redirect users that try to access the Quobis collaborator on Safari on iOS (usually the App Store)

Note

Default value is null. So this feature is disabled by default.

KNOW_MORE_URI (string)
KNOW_MORE_URI: 'https://know.more.uri.com/',

Quobis collaborator includes an URI to put extra information. It is shown in some screens with extra information about the product.

Note

Default value is null. So this feature is disabled by default.

LANGUAGES (string[])
LANGUAGES: ['es', 'en'],

Contains an array of strings of the language codes Quobis collaborator will be available in. By default, the following will be included:

  • ca : Catalonian

  • de : German

  • en : English

  • es : Spanish

  • fr : French

  • gl : Galician

  • it : Italian

  • pt : Portuguese

Note

Please note this is the list of all languages available. No other language code can be added

MEETINGS_PATH (string)
MEETINGS_PATH = 'm'

Meetings path for meetings url. Meetings URLS will be like: https://collaborator/${MEETINGS_PATH}/meetingId.

Warning

THIS CONFIG OPTION HAS TO MATCH THE SERVER’S CONFIGURED meetingsUri

OAUTH_LOGOUT_HEADER (object)
OAUTH_LOGOUT_HEADER: {'h1':'v1','h2':'v2'},

Adds to the OAuth revocation token URL the specified headers. For example {‘h1’:’v1’,’h2’:’v2’}. If no value is present, no header will be included.

PRESENCE_STATUS (string)
PRESENCE_STATUS: 'busy',

Quobis collaborator allows to customize the default presence status right after an user login is made. This can be useful in some scenarios, specially in contact center applications, where the user needs to perform a number of task before answering any audio or video session.

This can be done by setting the right value at the PRESENCE_STATUS parameter in the CONF.js file.

Any of the following strings are accepted values:

  • connected

  • busy

  • away

  • offline

Note

Default value is null. If this field is not included in the CONF.js file, Quobis collaborator will use the presence given by the Quobis AS by default.

PRIVACY_POLICIES_URL (string)
PRIVACY_POLICIES_URL: 'https://quobis.com/privacy-policy/',

Allows to customize the URL that links to privacy policies

REDIRECT_MEETING_TO_QUICK_CONF (boolean)
REDIRECT_MEETING_TO_QUICK_CONF: true,

Allows to redirect to Quick conference when the Meeting URI does not exists or is not available.

REQUIRE_SMS_VALIDATION (boolean)
REQUIRE_SMS_VALIDATION: false,

This feature allows the IT administrator to require a OTP validation. Quobis collaborator will require the user to introduce its phone number, and then Quobis AS will send a SMS with a verification code.

Note

Default value is null. So this feature is disabled by default.

SEND_MEETING_VIA_WHATSAPP (boolean)
SEND_MEETING_VIA_WHATSAPP: false,

If enabled Quobis collaborator will display an option to share a meeting invitation via WhatsApp.

In this case, as a difference with sms or email invites, the app creates a pre-populated WhatsApp message on the users device to share with its WhatsApp contacts. Default value is false.

Note

Applies only to mobile enviroments.

SEND_REJECT_SMS (boolean)
SEND_REJECT_SMS: true,

If set to true this variable allows to send an SMS in mobile devices when a call is rejected. Default value is false

SHOW_CONTENT_INFO (boolean)
SHOW_CONTENT_INFO: false,

Quobis collaborator’s interface is divided into two main panels. One to the left where all the tabs are present and a user selects contacts and manages their account, and another one to the right where calls and video calls appear (the content). If set to true this variable allows the administrator to show information in the content about the tab selected in the left drawer when there is no ongoing call.

SHOW_SIDEBAR (boolean)
SHOW_SIDEBAR: true,

Enabled allows to display a sidebar during a call or a video call which can hide the drawer maximizing the conversation space

Note

Default value is true so this feature is enabled by default.

SOUND (object)
SOUND: {
              CALLING: {
                      VOLUME: 0.9,
              },
              RINGING: {
                      VOLUME: 0.2,
              },
              DTMF: {
                      DURATION: 500,
                      VOLUME: 1,
              },
      },

The volume and duration for ringing and calling tones can be specified by using an object named “Sound”. This is achieved with two parameters which contain a number between 0 and 1, being 0 the minimum value and 1 the maximum value.

Check detailed object for extra information.

SUPPORT_URL (string)
SUPPORT_URL: 'http://www.quobis.com',

Allows to set an URL to access a support endpoint. The default value is an empty string.

WAC_URI (string)
WAC_URI: 'https://janus.quobis.com/wac',

Defines the URI of the Quobis wac that will manage the installation

Note

As mentioned before, this is a mandatory field.

WCO_URI (string)
WCO_URI: 'https://collaborator.quobis.com',

Defines the URI where the webphone will be running

Note

As mentioned before, this is a mandatory field.

WHITEBOARD (object)
WHITEBOARD: {
              SET_REMOTE_VIDEO_CAPTURE_BACKGROUND: false
              DEFAULT_BACKGROUND: 'localVideoCapture',
              DEFAULT_LINE_WIDTH: 10,
              PALETTE: [
                      ['black', 'red', 'green', 'blue'], // Each inner array is a palette row
                      ['white', 'cyan', 'magenta', 'yellow'],
                      ['rgba(0, 0, 0, 0.5)', '#88ff0000', '#8800ff00', '#880000ff'],
                      ['rgba(255, 255, 255, 0.5)', '#8800ffff', '#88ff00ff', '#88ffff00'],
              ],
      },

When two or more users are on a call, regardless of the type of the call (audio or video), a whiteboard session can be activated. This whiteboard enables the real-time interaction between all participants of the conference, which can use a set of tools such as pencils, drawing forms, move forms, etc…

There are several characteristics of the whiteboard that can be configured by the IT administrator under the JSON object “WHITEBOARD”

Check detailed object for extra information.

WIDTH_AVATAR (number)
WIDTH_AVATAR: 96,

Quobis collaborator allows users to upload its own avatar, which will be show to other Quobis collaborator users both in the contact list and also in every incoming call.

This parameter allows the scaling of the avatar picture before uploading it to the Quobis AS server. Value needs to be set in pixels.

Note

Default value is null so this feature is disabled by default. No scaling is done

Nested levels configuration options

ANDROID_PERMISSIONS
ANDROID_PERMISSIONS: {
              OPTIONAL: ['CAMERA', 'RECORD_AUDIO'],
              MANDATORY: ['READ_CONTACTS'],
      },

Recent versions of Android are configured to require explicit confirmation of certain permissions when using an app. Quobis collaborator can be configured to require these permissions when installed on android devices. The required permissions are divided into two fields:

  • OPTIONAL (string[]) - Default: []

    Array of strings which specifies the optional permissions of the application. Without these permissions the application will work although some features may be disabled or limited.

  • MANDATORY (string[]) - Default: []

    Array of strings which specifies the mandatory permissions of the application. Without these permissions the app will refuse to open.

Note

A complete list of all available android permissions can be found here. Configuration shown in the above example should be enough in most deployments, please contact your Quobis representative for extra details.

APPS_FLYER
APPS_FLYER: {
              DEV_KEY: 'NYCDpFn3s96r54DnrChK9',
              APP_ID: '1242742421',
      },

In order to activate the Apps Flyer integration, the following configurations needs to be done:

  • DEV_KEY (string) - Default: null

    Developer key as requested by Apps Flyer

  • APP_ID (string) - Default: null

    Application key as requested by Apps Flyer

Note

To disable this feature set the variable to false

AUTOMATIC_STATUS_CHANGE_ON_CALL
AUTOMATIC_STATUS_CHANGE_ON_CALL: {
              STATUS: 'busy',
              TIME_UNTIL_RESTORE: 1000,
      },

Presence status can be set manually by the users just by clicking on its presence switch selector. In addition, Quobis collaborator can be configured to change the presence status of a user during a call, according to its real presence. Two parameters can be configured as explained in the table below:

  • STATUS (string) - Default: null

    The status the application will change to. Accepted values are one of these strings:

    • away

    • busy

    • on-the-phone

  • TIME_UNTIL_RESTORE (number) - Default: 0

    Time (in ms) waited since the call has finished until the normal status value is restored. If a negative value is set, the status will never be restored.

Note

STATUS is not configured by default, so if not included the status will not change while on call.

CHAT
CHAT: {
              SEND_INSTANT_AUDIO_MESSAGE: false,
              SEND_INSTANT_VIDEO_MESSAGE: false,
              SHOW_IN_CONFERENCE: false,
  CLOSE_CHAT_BUTTON_EXTRA_ACTION: '',
      },

The Quobis collaborator chat feature, if activated, provides a set of customizations that can be done:

  • close_chat_button_extra_action (string) - Default: '' (deprecated)

    With the value close-chat, when a particular chat is closed, it goes to previous tab. Without value, it goes back to chat list. This parameter only applies when chats exists only associated to the conference.

  • show_in_conference (boolean) - Default: true

    If set to true, the webphone will show the chat button when a conference is started. This parameter is related only to the button, not the functionality itself, so even when it is set to false, the conference chat is created.

  • send_instant_audio_message (boolean) - Default: false

    If true, Quobis collaborator will allow to send instant audio messages over the chat.

  • send_instant_video_message (boolean) - Default: false

    If true, Quobis collaborator will allow to send instant video messages over the chat.

CONFERENCE
CONFERENCE: {
  PARTICIPANT_LIMIT: 5,
  MATRIX: true,
  KEEP_INVITATIONS_WITH_ERROR_TIMEOUT: 8000,
  ANONYMOUS_USERS_CAN_HOLD: false,
},

Quobis collaborators allows to setup audio and video multi party conferences (requires the SFU or MCU components). The table below summarizes the configuration options for multiparty conferencing:

  • PARTICIPANT_LIMIT (number) - Default: Number.MAX_SAFE_INTEGER

    Limits the number of participants at each meeting. It’s a system-wide parameter that cannot be set on a per-meeting basis. Please note that there is no default limit set.

  • MATRIX (boolean) - FEATURE FLAG - Default: false

    If true, the new conference layout with matrix format will be visible.

  • KEEP_INVITATIONS_WITH_ERROR_TIMEOUT (boolean) - Default: false

    If true, the invitations answered with an error will be kept in the matrix for this amount of time (in milliseconds).

  • ANONYMOUS_USERS_CAN_HOLD (boolean) - Default: false

    Defines wether an anonymous user can hold a conference or not. Default value is false.

CONTACTS

Quobis collaborator has an agenda section which allows for some customization via the CONF.js file. The table below summarizes the available keys under the JSON objects “CONTACTS”:

CONTACTS: {
              NAME: ['displayName', 'contactName', 'username', 'phone'],
              SOURCES: [Agenda.PERSONAL, Agenda.DIRECTORY, Agenda.EXTERNAL, Agenda.PHONE],
              DEFAULT_SOURCE: Agenda.DIRECTORY,
              EXTERNAL_SOURCE_NAME: 'CONTACTS.EXTERNAL',
              ENABLE_FAV_FILTER: true,
      },
  • NAME (string[]) - Default: ['displayName', 'contactName', 'username', 'phone']

    Allows to configure the priority of the visible name to be displayed of a contact in the list or detail views. For example, if one contact has not ‘displayName’ property, the ‘contactName’ will be displayed.

  • SOURCES (Agenda[]) - Default: [Agenda.PERSONAL, Agenda.DIRECTORY, Agenda.EXTERNAL, Agenda.PHONE]

    The sources to be displayed in the selector when they have available contacts.

  • DEFAULT_SOURCE (Agenda) - Default: Agenda.DIRECTORY

    Allows to select the default contact entries will be selected in the contacts selector. The available values are:

    • Agenda.DIRECTORY: To select Directory contacts as default like domain or contact groups.

    • Agenda.PERSONAL: To select the contacts created by the user as default.

    • Agenda.EXTERNAL: To select the external contacts as default.

    • Agenda.PHONE: To select the phone contacts as default. This is only available in mobile hybrid apps.

  • EXTERNAL_SOURCE_NAME (string) - Default: ‘CONTACTS.EXTERNAL’

    The display name of the External source of contacts. By default is ‘CONTACTS.EXTERNAL’, is a constant added in the localization files to display the translation of ‘External’. Here you can write any text to refer, for example, the organization that use the application as can be ‘Quobis’.

  • ENABLE_FAV_FILTER (boolean) - Default: true

    Allows to show the button to filter only the favorite contacts.

DATE (object)

Allows to change the date and duration format.

DATE = {
              DATE_FORMAT: 'dd/MM/yyyy',
              DURATION_FORMAT: 'mm:ss',
      };
  • DATE_FORMAT (string) - Default: ‘dd/MM/yyyy’

    Allows to change the Date format of the dates to be displayed in the different views.

  • DURATION_FORMAT (string) - Default ‘mm:ss’

    Allows to change the Time format of the time elements to be displayed in the different views.

DEFAULT_MEDIA_CONSTRAINTS
DEFAULT_MEDIA_CONSTRAINTS: {
  audio: {
    autoGainControl: true,
    echoCancellation: true,
    noiseSuppression: true,
  },
  video: {
    facingMode: 'user'
  },
},

This object has the following two fields to configure. These represent the constraints to the audio/video when requesting media tracks from the user. By default audio and video are set to true so no constraint is applied.

  • audio (object or boolean) - Default: true

    • MediaTrackConstraints (Constraint).

    • Following the configuration shown in the example above allows to reduce noise and improve audio quality during calls.

  • video (object or boolean) - Default: true

    • MediaTrackConstraints (Constraint).

    • Its main purpose is to allow a system administrator to easily change the default camera used by Quobis collaborator. This can be done by adding facingMode constraint to video set to environment (for the rear camera) or user (for the front camera) as shown in the example.

Note

See MediaTrackConstraints to learn more about constraints and their browser support.

Note

If the value DEFAULT_MEDIA_CONSTRAINTS is no present, the default camera is the front one (facing user). This configuration is system-wide so it applies to every user. For more information, please check this link

Please note that camera switch functionality is available as well, but only for SIPoWS environments in the current version”

DIALPAD
DIALPAD: {
              0: {
                      icon: 'icon sippo-plus',
                      phone: '',
                      tooltip: '',
              },
              1: {
                      icon: '',
                      phone: '',
                      tooltip: '',
              },
      },

The dialpad allows to trigger customized actions that will be fired when a key is long pressed. You can customize the number that will be called and attach an icon and a tooltip to this key.

The JSON object named DIALPAD makes a correspondence bewteen dialpad keys (0-9, *,#) and possible actions:

  • 0-9,*,# (object) - Default: null

    Corresponds to each dialpad key and it has the following properties:

    • phone (string): Phone number to call (E.164 or URI or extension)

    • icon (string): Icon name. It should include icon before the icon name, i.e: icon: ‘icon sippo-phone’.

    • tooltip (string): String that will be shown as a tooltip when the user holds the mouse over the key.

  • disableKeyboard (boolean) - Default: true

    When enabled, user cannot use the keyboard to “press” the dialpad keys. This is useful to prevent the end-user to dial into URIs and limit the destination only to numbers and * #

HTML_NOTIFICATIONS
HTML_NOTIFICATIONS: {
              CALLS: true,
              MESSAGES: true,
      },

Quobis collaborator has the ability to use the operating system notifications to alert the user of incoming audio, video and chat sessions.

Note

Please note that this feature is only available on desktop environments.

  • CALLS (boolean) - Default: true

    Allows to display HTML notification for incoming calls (audio and video).

  • MESSAGES (boolean) - Default: true

    Allows to display HTML notifications for incoming messages.

SOUND
SOUND: {
              CALLING: {
                      LOOP_DURATION: 3000,
                      VOLUME: 0.9,
              },
              RINGING: {
                      LOOP_DURATION: 4000,
                      VOLUME: 0.2,
              },
              DTMF: {
                      DURATION: 500,
                      VOLUME: 1,
              },
      },

The volume for ringing and calling tones as well as the duration of DTMF tones can be specified by using an object named SOUND. This is achieved with two parameters which contains with a number between 0 and 1, being 0 the minimum value and 1 the maximum value and another parameter for the duration of DMTF tones.

  • callingTone (object)

    • volume (number) - Default: 0.2: A value between “0” and “1” (eg: “0.5”)

    • loop_duration (number) - Default: 3000: How often is the ringing repeated.

  • ringingTone (object)

    • volume (number) - Default: 0.2: A value between “0” and “1” (eg: “0.5”)

    • loop_duration (number) - Default: 4000: How often is the calling repeated.

  • dmtf (object)

    • volume (number) - Default: 0.2: A value between “0” and “1” (eg: “0.5”)

    • duration (number) - Default: 500: Duration of the DTMF in miliseconds

WHITEBOARD
WHITEBOARD: {
  SET_REMOTE_VIDEO_CAPTURE_BACKGROUND: true
  DEFAULT_BACKGROUND: 'localVideoCapture',
  DEFAULT_LINE_WIDTH: 10,
  PALETTE: [
    ['black', 'red', 'green', 'blue'], // Each inner array is a palette row
    ['white', 'cyan', 'magenta', 'yellow'],
    ['rgba(0, 0, 0, 0.5)', '#88ff0000', '#8800ff00', '#880000ff'],
    ['rgba(255, 255, 255, 0.5)', '#8800ffff', '#88ff00ff', '#88ffff00'],
  ],
},

There are several characteristics of the whiteboard that can be configured by the IT administrator under the JSON object “WHITEBOARD”:

  • SET_REMOTE_VIDEO_CAPTURE_BACKGROUND (boolean) - Default: false

    When set to true a new button in the change whiteboard background popup will be shown to capture the remote video image and set is as background. This button will be enabled if the conference has remote video tracks and exactly two participants.

  • DEFAULT_BACKGROUND (string) - Default: ""

    Allows to configure a default background on whiteboard creation. Any of the following strings are accepted values. Any other value will be interpreted as the URL of an image to be used as backgroud.

    • localVideo: Local video of the whiteboard creator set as default.

    • remoteVideo: Remote video of the whiteboard creator set as default. This value will only apply when the call has exactly two participants

    • localVideoCapture: A capture of the local video of the whiteboard creator set as default.

    Please note that if this key is not present on the configuration file, a white image will be used as default background.

  • DEFAULT_LINE_WIDTH (number) - Default: 2

    Value in pixels of the resulting width of “free drawing” and “line drawing” tools.

  • PALETTE (string[] or string[][]) - Default: []

    Allows to select the palette colors. By default is an empty array. Can be a 1d or 2d array with the palette colors. When it is 2d, each inner array is a palette row as shown in the example.

Note

DEFAULT_BACKGROUND and SET_REMOTE_VIDEO_CAPTURE_BACKGROUND values will not apply if no video tracks are present in a call.

Note

If a call has more than two participants remote video related values will not be applied.

Example of basic configuration

The document below shows an example of a basic configuration. FILE CONF.js:

window.STATIC_CONF = {
   DEFAULT_COUNTRY_CODE: '+34',
   WCO_URI: 'https://www.example.com',
   WAC_URI: 'https://web.Quobis',
   KNOW_MORE_URI: 'https://www.quobis.com',
   DEFAULT_DOMAIN: 'quobis',
   DIALPAD: {
       1: {
           phone: '1004',
           icon: 'icon sippo-phone',
           tooltip: 'VoiceMail',
       },
   },
   FORCED_DOMAIN: false,
   CONFERENCE: {
       PARTICIPANT_LIMIT: 5,
   },
};

URL-based configuration

When a room’s lobby URL is loaded, the next query parameters can be used:

  • hideProfile: If present, it hides the log in link and the avatar and makes the display name field read-only.

  • username: If present, the parameter value is used as the default display name.

Both parameters can be combined to automatically set the display name and, at the same time, disallowing its edition by the user.