Server Component Configuration Reference

Settings Common to all Components

A number of configuration files have the following common parameters:

description, string

Component description.

install-path, string

Full path to the directory, where a SmartTUBE component is installed. The jar file of the component must be stored in the {Component-Install-Directory}/bin directory. The {Component-Install-Directory}/lib directory contains jar files of external libraries that affect the component’s work.

jar, string

Name of the components jar file. For example, SmartBGPTableAggregator.jar

class, string

Full name (including the Java package name) of the main class of the component. For example, smartlabs.bgptableaggregator.main.SmartBGPTableAggregator

singleton, boolean

Flag to make the component work as a single instance (“true”), otherwise multiple instances can be launched (“false”).

load-on-startup, integer

Priority of running the component: components with a smaller value are started earlier than the components with a bigger value.

servlet-context-path, string

Only for servlet components: context of HTTP requests.

properties, {object}

Initial values of the component properties and links with other components. Properties can be simple properties (e.g., load-on-startup = 12) or collections (e.g., sdp-dataservers = [ “10.25.190.11:8084”, “10.25.190.12:8084” ]).

cache.thread.pool.http.workers.maximumPoolSize, integer

Maximum HTTP thread pool size

cache.thread.pool.http.workers.queueCapacity, integer

Queue size if no free thread is found in the HTTP thread pool

cache.thread.pool.http.workers.keepAliveTimeSec, integer

Thread keepalive time (in seconds), i.e. how long idle threads live in the pool and wait for new tasks.

sdp-properties-file-path, string 

Path to the file with SmartTUBE server settings

number-of-http-get-handlers, integer

Number of worker streams processing HTTP GET requests

http-client-connection-timeout-millis, integer  

HTTP client connection timeout, in ms.

http-client-socket-timeout-millis, integer  

HTTP client socket timeout, in ms.

number-of-http-post-handlers, integer  

Number of worker streams processing HTTP POST requests

number-of-notification-handlers, integer  

Number of notification processors

trace-notification, boolean

Flag to trace notifications in the log

trace-http-requests, boolean 

Flag to trace HTTP requests in the log

akka-local, {object}

Settings for the Akka system local for the current component

host, string

Host of the Akka system

port, integer

Port of the Akka system

General Configuration Settings

The system.conf file contains the general configuration settings for the SmartTUBE SDP server.

Parameter Description

system-properties, {object}

Core section of system settings

advLimitImport.ftp.ip, string

IP of the FTP for importing data on ad rewind limits

advLimitImport.ftp.port, integer

Port of the FTP for importing data on ad rewind limits

advLimitImport.ftp.dir, string

FTP directory containing data on ad rewind limits

advLimitImport.ftp.login, string

Login to FTP for importing data on ad rewind limits

advLimitImport.ftp.password, string

Password to FTP for importing data on ad rewind limits

advLimitImport.mongodb.uri,string

URI of MongoDB storing data on ad rewind limits

advLimitImport.mongodb.databaseName,string

Name of MongoDB database storing data on ad rewind limits

advLimitImport.mongodb.collection,string

Name of MongoDB database collection storing data on ad rewind limits

advLimitImport.scheme.id.uri, string

Data scheme used to import inband event messages (data on ad rewind limits)

default-profile-language, string

Code of the default profile language

default-profile-currency, string

Code of the default currency

createAccountByTemplate.generateByMask.generateCount.maxValue, integer

Default value: 10000

Max number of service accounts that can be automatically generated by template via Admin Console (Service accounts –> Service account templates –> [any template] –> “Service account generator” button) or OSS/BSS API.

user-accounts.store-days,integer

Number of days the data about the user account are kept in cache

pending-notifications.store-hours,integer

Number of hours notifications for STBs are kept

media-positions.store-days,integer

Number of days data on media positions are kept in cache

upload-path, string

Directory, where images are loaded to

images-store-days,integer

EPG image storage period in days, used for the garbagecollector#deleteexpiredepg job

channel-list-generate-drmtoken, integer

Flag to pass DRM tokens in the channel list to devices.

use-session-cache-in-memory,

Flag to use the in-memory session caching mechanism

send-media-position-notify,

Flag to send notifications when receiving a media position change command

sdp-dataservers,

Host and port of data servers. The port must match tomcat-attributes.port port in container.conf on the servers with installed SmartSDPDataServer component

cache-servers,

Host and port of Cache servers. The port must match tomcat-attributes.port port in container.conf on the servers with installed SmartSDPCacheServer component

relogin-notification,

Flag to prohibit concurrent client sessions. Used when the operator is not using the DRM token mechanism.

subscription-timeout,

Timeout after the device subscribes to Comet notification channel used by the server to close the old channel socket, ms

drm-widevine-getToken-expirationDurationSeconds,

Widevine DRM token validity period in seconds

drm-widevine-getToken-signer,

Widevine DRM signer ID (configurable backend or operator ID)

drm-widevine-getToken-signer-secret,

Configurable secret of a specific Widevine DRM signer

drm-widevine-getToken-licenseServer-url,

URL of the Widevine DRM license server

listContentOrderByName,

Flag to sort VoD content in the Client UI by name only. Takes priority over the metacontent.defaultSortExpression setting.

userfeed.filterAvailableProgram,

Flag to show only the programs available to the subscriber in the “Top viewed programs” feed in the Client UI

userfeed.topPrograms.fetch.size,

Fetch size of “Top viewed programs”

userfeed.topPrograms.list.size,

The number of programs to show in the “Top viewed programs” in the Client UI

purchaseOffer.skipDuplicateOffers,

Flag to ignore duplicate offers from different price lists (for example, SVOD and TVOD) for the same content item

use_http_connection_pool,

Flag to use HTTP connection pool for sockets

default-authorize-login-priority,

Login return priority when client authorization:

  • “ACCOUNT_TERMINAL”: first — from the account, second — from the connection
  • “TERMINAL_ACCOUNT”: first — from the connection, second — from the account
  • “TERMINAL”: from the connection only
  • “ACCOUNT”: from the account only

ppv-minus-hours,

Period during which PPV programs can be viewed using the TSTV service, in hours

same.site.cookie, {object}

Settings of same-site cookies

adminUI.use,

Flag to use the same-site cookies when logging in from SmartTUBE Admin Console

adminUI.direct.value,

Sets the same-site value in explicit constant form for requests from SmartTUBE Admin Console. For example: “SameSite=Strict”

device.use,

Flag to use the same-site cookies when authorization from client devices

value.setByHeaders,

Flag to calculate the value for the SameSite based on the request headers. Otherwise, it will always be SameSite=Strict (for both Admin Console and client devices). Calculation is performed using the following logic:

  • if the header Origin = host from the URL, it will be SameSite=Strict
  • if the header X-Forwarded-Proto = http, it will be SameSite=None
  • if the header X-Forwarded-Proto = https, it will be SameSite=None; Secure
  • if scheme from URL = http, it will be SameSite=None
  • if scheme from URL = https, it will be SameSite=None; Secure

device.direct.value,

Sets the SameSite value in explicit constant form for requests from client devices. For example: “SameSite=None; Secure”

epg-search-fields,string

Fields used for EPG search with prioritization. Example: “name^2, description” — search results for the program name are two times more weight in comparison with the results of the search by description. Allowable fields to search: name, description, episodeName, oName (original name).

scheduled.jobs.notificationsService.tick.try.count

Default value: 6

Total number of attempts to perform the notificationsservice#tick job

scheduled.jobs.notificationsService.tick.try.timeoutMillisec

Default value: 10000

Timeout between attempts to perform the notificationsservice#tick job

scheduled.jobs.notificationsService.tick.generateSqlErr.count

Default value: 0

For debugging only. The number of attempts with SQL errors to generate. For example, if the value is 2, the tick job will only be executed on 3 attempts.

scheduled.jobs.setFinishStatus.try.count

Default value: 30

Total number of attempts to set the “Completed” status for the job

scheduled.jobs.setFinishStatus.try.timeoutMillisec

Default value: 10000

Timeout between attempts to set the “Completed” status for the job

scheduled.jobs.setFinishedInStatus.generateSqlErr.count

Default value: 0

For debugging only. The number of attempts with SQL errors to generate. For example, if the value is 2, the “Completed” status for the tick job will only be set on 3 attempts.

userfeed.topPrograms.method, string

Method used by client devices to retrieve the Top10 rail feed:

  • topprogramlistv1 — the /api/v1/userfeed/topPrograms? method
  • topprogramlistv2 — the /api/v1/userfeed/topProgramsV2? method

metacontent.search.fields,string

Default value: “name^4, originalName^3, tag^2, description”

Fields used for VoD search with prioritization. Example: “name^2, description” — search results for the movie name are two times more weight in comparison with the results of the search by description. Allowable fields to search: name, description, episodeName, originalName, tag.

metacontent.defaultSortExpression

Default sequence of sorting VoD content by metadata fields, used when the client device does not send the sort parameter in the request. The field names can be retrieved using the metacontent/list? method of SmartTUBE End-User Device API. For example, “defaultRating,defaultOrder,-startDate,+nameSort.#lang”,

where

  • defaultRating, defaultOrder, startDate, etc.  — searchable field names,
  •  — descending sorting order,
  • + — ascending sorting order,
  • #lang — an instruction to search the specified field by the current Client UI language

metacontent.load.queryFetchSize

Default value: 10000

The size of the data fetch from the DBMS in one iteration when the metacontent cache is fully reloaded

metacontent,{object}

Settings for processing metadata and sending it to client devices.

providers, string

List of providers to import and process separated by comma (optional). If not set, the import job performs import sequentially for all active providers in the SmartTUBE Admin Console > Administration  > Content providers dictionary.

purchaseAvailable-ignoreForDeviceTypes

Type of devices to which is needed to return an empty response to the /api/v1/metacontent/purchaseAvailable method request (this method returns the purchased content which is available for the service account at the moment).

defaultLangForProvidersExternalIds

Language for searching and comparing movies/directories when importing (“en” by default). For example, the system has more than one external provider. The importer compares the movie from Provider 1 and Provider 2 in the specified language. If the name of the movie and the year are the same for both providers, it is considered to be the same movie. Thus, only 1 movie with two links (for each provider) is created in the database.

importNotActive, boolean

Flag to import content for an inactive provider (i.e. a provider with the “Display on device” checkbox not checked in the SmartTUBE Admin Console > Administration > Content providers dictionary)

job, {object}

Metadata import jobs settings

doimport-enabled

Flag to perform a scheduled metacontent import job on the current SDP node. Important: if the job is performed on several SDP nodes, content duplication is possible.

{external provider ID in lowerCase}, {object}

Parameters used by the multiprovider import job for the content of specified provider

providerSupportedLangsMap

Languages of the imported MEGOGO metadata with the correspondence of their IDs to SmartTUBE IDs. Default value: “ru=ru, en=en”. The left value — MEGOGO language ID; the right value — SmartTUBE language ID.

use.provider.logic, string

Metadata processing logic used during import. The “logic” here means a set of settings and rules for processing metadata specific to each provider. Thus, in the example below, the FBOD provider will download content from the FTP server, with the same folder naming rules, using the same logic and in the same XML format as the HBO provider. Example: fbod.use.provider.logic = “HBO”

ftpErrLog, boolean

Flag to log the FTP errors

ftpErrLogDirectory

Directory for the FTP error log of the HBO metadata import

ftpErrLogSaveToMainLog, boolean

Flag to log FTP errors in the main log

ftpErrLogDirectoryRemoveAfterDays

FTP error log storage period, in days

ftp.server, string

Content provider’s FTP server hostname

ftp.login, string

Content provider’s FTP server login

ftp.password, string

Content provider’s FTP server password

ftp.contentRootPath, string

Path to the content root directory on the provider’s FTP server

accessLevelRemoveAllButDigits, boolean

Flag to ignore all characters except digits in incoming metadata about the content access level

accessLevelPrefix, string

Prefix that is inserted before the number specified in the incoming metadata about the content access level. For example, if “TV-15+” is specified in the incoming metadata, parameter accessLevelRemoveAllButDigits is enabled, and the value of this parameter is “PEGI-”, then the value “PEGI-15″ is written to the SDP DB.

providerAccessLevelMap, string

For example, “All=PEGI-3,15+=PEGI-12,15=PEGI-12”,

checkOtherProvLinkExists, boolean

Flag to hide movies from this provider if they already exist from others (to avoid overlapping content)

doUnpublishCorrects, boolean

Flag to unpublish the content in the end of import process if there is not enough data to publish the content

dropUnusedProviderLinks, boolean

Flag to not delete assets if they are missing from the provider’s FTP

overrideContentFields.do, boolean

Flag to override the content metadata fields each time the re-import job is run

megogo, {object}

Settings specific to the MEGOGO content import

public.key, string

Public key for interacting with MEGOGO services

private.key, string

Private key for interacting with MEGOGO services

billing.partnerId, string

Partner ID for interacting with MEGOGO services

content-sortBy

Type of MEGOGO content sorting. Default value: “popular”. Other valid values: “recommended” — sort by recommended movies, “add” — sort by date of adding a movie to the database (in descending order).

saveFreeAndNonFreeSvodInSinglePackage

Flag to combine AVOD and SVOD MEGOGO content into one bundle

ivi, {object}

Settings specific to the IVI content import

appVersion, integer

ID of the IVI app version. Allows to get a catalog containing content that is available for watching on a specific version of the app.

purchase.partnerId, string

IVI partner ID

purchase.psKey.toUse, string

Payment system

getPurchaseInfo.skipTestPrices, boolean

Flag to ignore test price plans

device, {object}

Client device settings

notifications, {object}

Settings for notifications sent to client devices

comet.nginx, {object}

Comet server settings

use

Flag to redirect comet messages to the Nginx Nchan server

urls

List of comet Nginx Nchan servers, comma separated. For example, [“http://10.65.2.63/nchan/pub1”, “http://10.65.2.63/nchan/pub2”]. Messages are sent to each specified server.

httpPooling, {object}

HTTP pooling settings

use

Flag to use HTTP pooling (keep HTTP connections in keep-alive and reuse them for sending messages)

keepAliveMillisec

Connection lifetime. If 0, the connection will not be closed from the client side.

defaultMaxPerRoute

Max. number of simultaneous connections for a single host

maxTotalConnections

Max. total number of connections

connectionTimeoutMillis

Connection timeout

soTimeoutMillis

Socket timeout

authorize.linkByLoginFromOss.do,boolean

Flag to enable linking of client devices to accounts without a password via the device_get_info request to OSS/BSS.

http-proxy, {object}

HTTP proxy server settings

host

HTTP proxy host address. Leave the field empty, if proxy is not used

port

HTTP proxy server port

formats, {object}

Format of date and time for incoming and outgoing data

date-incoming

Format of date for incoming data

date-outgoing

Format of date for outgoing data

time-incoming

Format of time for incoming data

time-outgoing

Format of time for outgoing data

datetime-incoming

Format of date and time for incoming data

datetime-outgoing

Format of date and time for outgoing data

auth.jwt, {object}

Settings for the JWT authorization used for secure interaction between end-user devices and the SDP through the SmartTUBE End-User Device API, as well as for restricting access to OTT TV channel streams and VOD streams.

use, boolean

Default value: true

Flag to enable JWT authorization

key.private.path, string

Private key path. Example: “/opt/smartlabs/smarttube5/jwt/keys/jwtRS256.key”

key.public.path, string

Public key path. Example: “/opt/smartlabs/smarttube5/jwt/keys//jwtRS256.key.pub”

exp.sec, integer

Default value: 86400

Token expiration period, in seconds.

integrationApi.auth,{object}

Settings for the OSS/BSS API authorization

basic,{object}

Settings for the HTTP Basic Authorization

use,boolean

Default value: false

Flag to use the HTTP Basic Authorization

jwt,{object}

Settings for the JWT (JSON Web Token) authorization

use,boolean

Default value: false

Flag to use the JWT authorization

key.private.path, string

Path for the private key for the JWT sign/check. Initialized only on SmartTUBE startup. Cannot be reloaded by the configuration files reloading.

key.public.path, string

Path for the public key for the JWT sign/check. Initialized only on SmartTUBE startup. Cannot be reloaded by the configuration files reloading.

exp.sec, integer

Default value: 86400

Token expiration period, in sec

kid,string

Default value: none

JWT key ID

oss.standard.url.value, string

URL of the OSS/BSS endpoint

oss.standard.auth.basic.login.value, string

Login for accessing OSS/BSS

oss.standard.auth.basic.password.value, string

Password for accessing OSS/BSS

standard-oss-url,string

URL of the OSS/BSS endpoint. Obsolete parameter.

standard-oss-login,string

Login for accessing OSS/BSS. Obsolete parameter.

standard-oss-password, string

Password for accessing OSS/BSS. Obsolete parameter.

oss-send-activate, boolean

Flag to inform OSS/BSS about new client device activation

use-oss,boolean

Flag to interact with OSS / BSS when performing purchases / subscriptions

subscribe.recursive.notify.oss,boolean

Flag to send OSS/BSS notifications on subscription to dependent bundles (if the SVoD bundle has dependent bundles).

dictionary.update.device.notification.delay.sec, integer

Default value: 3600

Period during which notifications about dictionary data updates should be sent to devices at random times.

dictionary.update.device.notification.hold.sec, integer

Default value: 600

Period until the first notification on dictionary data updates is sent to the devices. It is necessary in order to be sure that the data has time to be updated on the SmartTUBE Cache servers.

dictionary.update.device.notification.hold.cache.plus.sec, integer

Default value: 600

Additional period until the first notification on dictionary data updates is sent to the devices. It is necessary in order to be sure that the data has time to be updated on other caches (i.e. nginx).

auditing.on, boolean

Default value: true

Flag to enable monitoring of the Admin Console users’ activity.

auditing.shelfLife, integer

Storage time of the Admin Console user activity log. If omitted, the default value of 60 days is used.

license,{object}

Settings for calculating “Licenses for the number of client devices of a certain type”

calcCountsAggInfo.do, boolean

Default value: true

Flag to cache in memory the last calculated total number of client devices by type

calcCountsAggInfo.period.sec, integer

Default value: 600

Period between calculations, in sec

countActiveDevice.filter.byLastAuthDateNotNull.do, boolean

Default value: true

Flag to consider only devices with at least one authorization

countActiveDevice.[device type].filter.byLastAuthDateNotNull.do, boolean

Similar to license.countActiveDevice.filter.byLastAuthDateNotNull.do, but specific to the specified [device type]. Valid values for [device type] — entities of the Device types dictionary in lowerCase.

countActiveDevice.filter.byLastAuthDateInterval.period.days, integer

Default value: 0

Flag to consider when calculating only devices that were last logged in no earlier than N days ago

countActiveDevice.[device type].filter.byLastAuthDateInterval.period.days, integer

Similar to license.countActiveDevice.filter.byLastAuthDateInterval.period.days, but specific to the specified [device type]. Valid values for [device type] — entities of the Device types dictionary in lowerCase.

action.authorize.changeDeviceType.check.do, boolean

Default value: false

Flag to check the license during authorization, if the device type for the client device has been changed.

metacontent.remove.asset.removeFromStorage.forProviders, {object}

list, string

List of content providers (separated by commas) whose content assets should be removed from the video server when content is deleted from the SmartTUBE catalog

[content provider name in lowercase].http.url.value, string

URL of the video server for the specified content provider

[content provider name in lowercase].http.useProxy, boolean

Default value: false

Flag to use HTTP proxy

[content provider name in lowercase].http.retryCount, integer

Default value: 2

Number of attempts to send a request to the video server

[content provider name in lowercase].http.retryTimeoutMillis, integer

Default value: 500

Time between attempts to send a request to the video server

[content provider name in lowercase].http.connectionTimeoutMillis, integer

Default value: 1000

Video server connection timeout

[content provider name in lowercase].http.socketTimeoutMillis,integer

Default value: 10000

Video server socket connection timeout

serviceAccount.deleteInactive.removeAlreadyDeletedAccountsFromArchive.do, boolean

Flag to remove deleted service accounts from archive

serviceAccount.deleteInactive.removeAlreadyDeletedAccountsFromArchive.storeDays, number

Days to store deleted service accounts in the archive

serviceAccount.terminal.adminUI.oss.deactivateIfUpdateUuid.send, boolean

Default value: false

Flag to send the deactivate_uid request to the OSS/BSS when the terminal’s UUID is being edited via the SmartTUBE Admin Console

serviceAccount.terminal.adminUI.oss.deactivateIfClearUuid.send, boolean

Default value: false

Flag to send the deactivate_uid request to the OSS/BSS when the terminal’s UUID is being cleared via the SmartTUBE Admin Console

serviceAccount.terminal.adminUI.oss.activateIfUpdateUuid.send, boolean

Default value: false

Flag to send the  request to the OSS/BSS when the terminal’s UUID is being edited via the SmartTUBE Admin Console

serviceAccount.terminal.adminUI.oss.deactivateIfDeleteTerminal.send, boolean

Default value: false

Flag to send the deactivate_uid request to the OSS/BSS when the terminal is being deleted via the SmartTUBE Admin Console

serviceAccount.adminUI.oss.deactivateTerminalsIfDeleteAccount.send, boolean

Default value: false

Flag to send the deactivate_uid requests to the OSS/BSS for all terminals of the service account when it is being deleted via the SmartTUBE Admin Console

serviceAccount.adminUI.oss.deactivateIfDeleteAccount.send, boolean

Default value: false

Flag to send the deactivate_account requests to the OSS/BSS if the service account is being deleted via the SmartTUBE Admin Console

multiroom-link-accept-rebind, boolean

Flag to allow to link the STB device to another terminal, even if some UUID is already registered on this terminal. The UUID is replaced with a new one, and so the device is bound to the new terminal. May be used within the multiroom functionality.

multiroom.link.uuidOverride.deviceType.list, [array of strings]

Default value: empty

DEPRECATED! See instead multiroom.link.uuidOverride.bySession.deviceType.list below.

List of device types for which the UUID should be overridden when linking to a service account (multiroom group). Device activation logics:

  • when activation by the terminal login/password — the UUID is overridden and the device is linked to the terminal found by the login/password;
  • when activation by the service account login/password and if the account has only 1 terminal of the specified device type — the UUID is overridden and the device is linked to this terminal;
  • when activation by the service account login/password and if the account has 0 or more than 1 terminal of the specified device type — the standart device linking logics is applied (i.e. with checking device limits).

multiroom.oss.relink.deactivate.send, boolean

Default value: false

Flag to send the deactivate_uid request to the OSS/BSS when the existing service account (already activated, with the specified UUID) is being re-linked to another account.

multiroom.oss.relink.activate.send, boolean

Default value: false

Flag to send the activate_uid request to the OSS/BSS when the existing service account (already activated, with the specified UUID) is being re-linked to another account.

multiroom.oss.relink.likeSdp4Rebind.deactivate.send, boolean

Default value: false

Flag to send the deactivate_uid request to the OSS/BSS when the existing service account (already activated, with the specified UUID) is being re-linked to another account. Only for the case if “multiroom-link-accept-rebind”: true

multiroom.oss.relink.likeSdp4Rebind.activate.send, boolean

Default value: true

Flag to send the activate_uid request to the OSS/BSS when the existing service account (already activated, with the specified UUID) is being re-linked to another account. Only for the case if “multiroom-link-accept-rebind”: true 

multiroom.oss.relink.uuidOverride.deactivate.send, boolean

Default value: true

DEPRECATED! Flag to send the deactivate_uid request to the OSS/BSS for the overridden UUID (see the multiroom.link.uuidOverride.deviceType.list parameter above). May be used within the multiroom functionality.

multiroom.oss.relink.uuidOverride.activate.send, boolean

Default value: true

DEPRECATED! Flag to send the activate_uid request to the OSS/BSS for the new UUID (see the multiroom.link.uuidOverride.deviceType.list parameter above). May be used within the multiroom functionality.

multiroom.link.uuidOverride.bySession.deviceType.list, [array of strings]

Default value: [“WEB”]

Currently used instead of multiroom.link.uuidOverride.deviceType.list.

List of device types for which the “UUID overriding logics” should be applied when linking a new device to a service account (multiroom group). The feature logics:

  1. Check whether a device can be linked using standard logic (based on device limits).
  2. If unsuccessful, the linking based on existing session information is applied (i.e. sessions’ keep alive data is checked).
  3. Already linked devices are analyzed, excluding those currently in an active “online” session. These devices become candidates for re-linking to the same terminal, with their UUID replaced by a new one.
  4. Selection of suitable terminal for UUID replacement is based on the absence of a session (due to expired keep alive or its absence), with priority given to older devices in terms of last authentication date.
  5. If a suitable terminal is not found, offline sessions with keepalive are assessed, starting from the oldest sessions. A session is considered offline if no activity is detected within 5 minutes (by default, see device.session.keepalive.consider.online.period.sec.value). Keepalive time is updated for each session request (e.g. SmartTUBE End-user Device API requests epg/list, metacontent/list, mediaposition requests, etc., except for requests for non-session related metadata and multiroom/link).

multiroom.link.uuidOverride.bySession.replacesUuid.dropSession.do, boolean

Default value: true

Flag to reset the old session after a new device is re-linked to it. See the multiroom.link.uuidOverride.bySession.deviceType.list feature logics.

multiroom.link.uuidOverride.bySession.replacesUuid.notification.sendReboot.do, boolean

Default value: true

Flag to sent the SmartTUBE End-user Device API notification commandName=Reboot (for device/app reboot) to the device whose UUID has been replaced with the UUID of the new device. See the multiroom.link.uuidOverride.bySession.deviceType.list feature logics.

multiroom.unlink.goToPreviousAccount.nonDemo.do, boolean

Default value: true

Flag to return the client device to the previous logged-in “non-demo” account, when unlinking from the current “non-demo” one. If false, the device exits to the login form. “Demo” statuses that cannot be returned to are described in the parameter multiroom.unlink.goToPreviousAccount.nonDemo.disallowedStates. May be used within the multiroom functionality.

multiroom.unlink.goToPreviousAccount.nonDemo.disallowedStates, string

List of the “demo” account statuses the return to which from the “non-demo” account is prohibbited, separated by comma. For example: “TRIALCLOSED, SUSPENDED”. See the multiroom.unlink.goToPreviousAccount.nonDemo.do parameter. May be used within the multiroom functionality.

multiroom.unlink.goToPreviousAccount.demo.do, boolean

Default value: true

Flag to return the client device to the previous logged-in “non-demo” account, when unlinking from the current “demo” one. If false, the device exits to the login form. “Demo” statuses that cannot be returned to are described in the parameter multiroom.unlink.goToPreviousAccount.demo.disallowedStates. May be used within the multiroom functionality.

multiroom.unlink.goToPreviousAccount.demo.disallowedStates, string

List of the “demo” account statuses the return to which from the “demo” account is prohibbited, separated by comma. For example: “TRIALCLOSED, SUSPENDED”. See the multiroom.unlink.goToPreviousAccount.demo.do parameter. May be used within the multiroom functionality.

device.authorize.accountState.suspended.changeTo.active.do, boolean

Default value: true

Flag to change the SUSPENDED status to ACTIVE upon authorization

device.authorize.accountState.suspended.return.active.do, boolean

Default value: false

Flag to respond with the status ACTIVE upon authorization, but leave the SUSPENDED status in the DB.

device.authorize.generateFromTemplate.checkTrialPeriodAlreadyUsed.do, boolean

Default value: true

Flag to check the terminal for the completed trial period when trying to authorize by template

device.authorize.generateFromTemplate.checkTrialPeriodAlreadyUsed.demoAvailable.block.do, boolean

Default value: true

Flag to check the terminal for the completed trial period when trying to authorize by demo template. If true and the trial period has expired, than the demoAvailable=true sign will not be returned to the device.

device.notifications.log.notification.listdevice.notifications.log.notification.list, array[string]

List of notifications to log. For example: [“updateDictionary”, “reloadEpg”, “reloadChannelsModifyTime

device.notifications.log.notification.listdevice.notifications.log.notification.list, array[string]

List of notifications to log. For example: [“updateDictionary”, “reloadEpg”, “reloadChannelsModifyTime”]

device.session.keepalive.save.period.millisec.value, integer

Default value: 10000

Period of resetting keepalive time in Elastic with a special job, in msec.

device.session.keepalive.consider.online.period.sec.value, integer

Default value: 300

Consider a session online, if actions were performed within the specified time period, in sec.

account.state.suspended.change.unsubscribeAllServices.do, boolean

Default value: false

Flag to unsubscribe the service account from all services when the status changes to SUSPENDED (without reporting to OSS/BSS)

account.state.suspended.change.toActive.subscribeUnsubscribedDefaultActiveServices.do, boolean

Default value: false

Flag to subscribe the service account to default services when the status changes from SUSPENDED to ACTIVE

account.state.suspended.listServices.returnEmpty.do, boolean

Default value: false

Flag to respond with an empty list to the services/list request if the service account has the SUSPENDED status

userfeed.aliasMetaContent.elements.cached.count, integer

Default value: 100

Default number of meta content units requested by end-user devices for search aliases and cached on the SmartTUBE Cache server. The response to the device is filtered according to the subscriber’s settings. Thus, the max number of units in the rail in the SmartTUBE app ⩽ max number of cached units. It is used when there is an increased load on the data server for alias-requests.

userfeed.aliasMetaContent.elements.cached.max.count, integer

Default value: 500

Max value that can be entered in the field SmartTUBE Admin Console > Content > Search aliases > Content > Units to be cached

userfeed.aliasEpg.elements.cached.count, integer

Default value: 100

Default number of EPG units (programs) requested by end-user devices for search aliases and cached on the SmartTUBE Cache server. The response to the device is filtered according to the subscriber’s settings. Thus, the max number of units in the rail in the SmartTUBE app ⩽ max number of cached units. It is used when there is an increased load on the data server for alias-requests.

userfeed.aliasEpg.elements.cached.max.count, integer

Default value: 500

Max value that can be entered in the field SmartTUBE Admin Console > Content > Search aliases > EPG > Units to be cached

userfeed.aliasEpg.toDate.limit.hours, integer

If no date filters are configured on EPG aliases, SmartTUBE SDP will pass to devices all past programs up to userfeed.aliasEpg.toDate.limit.hours hours.

userfeed.aliasEpg.sort.value, string

Default value: sdate desc

Default sort order for a rail, if no sorts is applied to it in the SmartTUBE Admin Console > Content > Search aliases > EPG > [some alias] > Sort parameters section.

npvr.add.delta.decMin, integer

The number of minutes that is subtracted from the start of the TV program specified in the EPG when the TV program is scheduled to nPVR recording.

npvr.add.delta.incMin, integer 

The number of minutes that is added to the end of the TV program specified in the EPG when the TV program is scheduled to nPVR recording.

npvr.create.dataServer.httpClient.single.use, boolean

Default value: false

Flag to use override the system HTTP connection timeout (http-client-connection-timeout-millis) and socket timeout (http-client-socket-timeout-millis) with npvr.create.dataServer.httpClient.single.connectionTimeoutMillis and npvr.create.dataServer.httpClient.single.soTimeoutMillis respectively for the npvr/create method of the SmartTUBE End-User Device API.

npvr.create.dataServer.httpClient.single.connectionTimeoutMillis,integer

Default value: 500

HTTP client connection timeout for the npvr/create method of the SmartTUBE End-User Device API, in ms.

npvr.create.dataServer.httpClient.single.soTimeoutMillis,integer

Default value: 5000

HTTP client socket timeout for the npvr/create method of the SmartTUBE End-User Device API, in ms.

npvr.schedule.create.epgId.online.record.do, boolean

Default value: true

For the interval nPVR recording. Flag to record the first program (interval), if an end-user device passed to the SmartTUBE server the epgId parameter with the npvr/createSchedule method.

npvr.schedule.create.epgId.online.record.devices.notifyAll.do, boolean

Default value: false

For the interval nPVR recording. Flag to send the reloadNpvrListRecordInterval notification to all devices in the multiroom group, including the current one (from which the the npvr/createSchedule request was sent). The default value is false, so this notification is sent to other devices in the group. The current device is received the list of recorded intervals with the response of the npvr/createSchedule method.

npvr.schedule.create.epgId.online.record.listRecord.return, boolean

Default value: true

For the interval nPVR recording. Flag to return the list of recorded programs (intervals) with the response of the npvr/createSchedule method.

npvr.schedule.listRecordInterval.epgInfo.accessLevel.consider.do, boolean

Default value: true

Flag to filter the npvr/listRecordInterval method’s response by the Access Level bounded to the program (epg.al)

npvr.series.create.epgId.online.record.do, boolean

Default value: true

For the series nPVR recording. Flag to record the first program, if an end-user device passed to the SmartTUBE server the epgId parameter with the npvr/createSeries method.

npvr.series.create.epgId.online.record.devices.notifyAll.do, boolean

Default value: false

For the series nPVR recording. Flag to send the reloadNpvrList notification to all devices in the multiroom group, including the current one (from which the the npvr/createSeries request was sent). The default value is false, so this notification is sent to other devices in the group. The current device is received the list of recorded intervals with the response of the npvr/createSeries method.

npvr.series.create.epgId.online.record.listRecord.return, boolean

Default value: true

For the series nPVR recording. Flag to return the list of recorded programs with the response of the npvr/createSeries method.

npvr.public.accountNumber, string

Default value: ACCOUNT_FOR_PUBLIC_NPVR

Number of the service account (san) used to initiate the recording of TV programs within the ‘Time Shift as VoD‘ feature.

recordseries.job.record.newEpisodesOnly.do, boolean

Default value: true

Flag to record only new episodes, i.e. record the same episode of a TV show only once if it has aired more than once (regardless of the /api/v1/npvr/createSeries request with the newEpisodesOnly=true argument from the end-user device).

recordseries.job.record.newEpisodesOnly.useAccountSettings.do, boolean

Default value: false

Flag to record only new episodes (i.e. record the same episode of a TV show only once if it has aired more than once), when the end-user device requests the /api/v1/npvr/createSeries method with the newEpisodesOnly=true argument set.

recordseries.job.record.newEpisodesOnly.byEpisodeNumber.do, boolean

Default value: true

Flag to record new episodes of TV shows, fetching them by season and episode number.

recordseries.job.skipSameEpisode.byFirstShowingFlag.do, boolean

Default value: false

Flag to record new episodes of TV shows, fetching them by the first_showing tag in the imported EPG file (the SmartLabs EPG XML format is supported only).

cache.http.options.cors.accessControlAllowHeaders.set, string

Default value: “X-Requested-With, Content-Type, Cookie, Accept-Encoding, Accept, Accept-Language, Connection, Host, Origin, Referer, User-Agent, X-Smartlabs-Request-ID, Authorization, jwt, Range, SoapAction, If-Modified-Since, If-None-Match”

A list of hiders to be passed by the SmartTUBE App for Web to the backend

cache.http.options.cors.accessControlExposeHeaders.add, string

A list of additional hiders to be passed by the SmartTUBE App for Web to the backend

epg.logoForStream.urlForVideoServer.value, string

URL prefix (HTTP or HTTPS) of the additional logo overlaid on top of the stream. The full URL is obtained by concatenation of the prefix and relative part taken when importing the EPG.

epg.list.fetchPublicNpvr.enabled, boolean

Flag to enable responding with recorded Public nPVR (Time Shift as VoD) programs to requests from devices.

oss.use, boolean

Flag to send SmartTUBE OSS/BSS API requests to the OSS/BSS.

oss.methods.activate.send, boolean

Flag to send the SmartTUBE OSS/BSS API request activate_uid to the OSS/BSS.

oss.methods.account.deactivate.send, boolean

Flag to send the SmartTUBE OSS/BSS API request deactivate_uid to the OSS/BSS.

oss.methods.purchase.send, boolean

Flag to send the SmartTUBE OSS/BSS API requests purchase, prepare_purchase, confirm_purchase to the OSS/BSS.

oss.methods.subscribe.send, boolean

Flag to send the SmartTUBE OSS/BSS API requests subscribe, prepare_subscribe, confirm_subscribe to the OSS/BSS.

oss.methods.authorize.send, boolean

Flag to send the SmartTUBE OSS/BSS API request authorize_uid to the OSS/BSS.

channels.list.serverType.default.value, string

Default value for the server type intended for the live streams (the serverType property of the channels/list method response of the SmartTUBE End-User device API)

channels.list.dvrServerType.default.value, string

Default value for the server type intended for the DVR streams (the dvrServerType property of the channels/list method response of the SmartTUBE End-User device API)

npvr.serverType.default.value, string

Default value for the server type intended for the nPVR streams (the serverType property of the npvr/list method response of the SmartTUBE End-User device API)

profile.watchingLimit.inMemory.removeUnused.job.run.period.sec, integer

Default value: 86400

Period of relaunch of the internal SDP job responsible for resetting content watching limits on kids profiles

profile.watchingLimit.inMemory.removeUnused.sec, integer

Default value: 86400

Amount of time (in seconds) of absence of content watching limit update on kids profile, after which the limit should be reset by internal SDP job. See also the parameter profile.watchingLimit.inMemory.removeUnused.job.run.period.sec 

Change Log

SmartTUBE SDP 9.2

  • New parameters profile.watchingLimit.inMemory.removeUnused.job.run.period.sec, profile.watchingLimit.inMemory.removeUnused.sec supported.

SmartTUBE SDP 9.1

  • New parameters multiroom.link.uuidOverride.bySession.replacesUuid.dropSession.do, multiroom.link.uuidOverride.bySession.replacesUuid.notification.sendReboot.do, device.session.keepalive.save.period.millisec.value, device.session.keepalive.consider.online.period.sec.value, epg.list.fetchPublicNpvr.enabled, channels.list.serverType.default.value, channels.list.dvrServerType.default.value, npvr.serverType.default.value supported

SmartTUBE SDP 8.4

  • New parameters npvr.public.accountNumber, epg.list.fetchPublicNpvr.enabled supported

SmartTUBE SDP 8.2

  • New parameters userfeed.aliasEpg.toDate.limit.hours, userfeed.aliasEpg.elements.cached.count, userfeed.aliasEpg.elements.cached.max.count, userfeed.aliasEpg.sort.value, npvr.create.dataServer.httpClient.single.use, npvr.create.dataServer.httpClient.single.connectionTimeoutMillis, npvr.create.dataServer.httpClient.single.soTimeoutMillis,recordseries.job.record.newEpisodesOnly.do, recordseries.job.record.newEpisodesOnly.useAccountSettings.do, recordseries.job.record.newEpisodesOnly.byEpisodeNumber.do, recordseries.job.skipSameEpisode.byFirstShowingFlag.do

Components Container

The container.conf file contains settings of the Components Container (CC) of the SmartTUBE server.  

Default Configuration

component-container = {

   logback.use = true

   check-dependences = true

   cli-enabled = false

   container-name = “CC on HOST”

   control-port = 4440

   log-file-path = “/var/log/smartlabs/smarttube5/”

   log-level = INFO

   pause-before-notify-tomcat-runned = 5000

   stop-on-component-error = false

   tomcat-attributes {

       keepAliveTimeout = 10

       maxConnections = 10000

       maxThreads = 20

       port = 8084

       protocol = “org.apache.coyote.http11.Http11NioProtocol”

   }

   web-interface-enabled = true

}

Parameter Description

component-container, {object}

Core section of settings

check-dependences

Flag to check the versions of jar libraries when starting the component

logback.use

Flag to use the Logback logging. The logging configuration is specified in the /conf/logback.xml file.

container-name

Name of the components container (CC) that is used to create the logger name for debugging (by default the name of the host is used, where CC is deployed)

cli-enabled

Managing the CC in a command line or by sending ccadmin utility commands over the socket.

If you install the container as a Linux daemon, this parameter must be set to false.

control-port

The port for managing the CC; commands from the ccadmin utility are accepted at this port. By default the value is 4440

log-file-path

Log file directory with the file SmartSDPCompContainer.log

log-level

Minimum level of detail for the log

log-delete-timeout-days

Timeout for deleting logs, in days. If not specified, the default is 30.

check-dependencies

Indicator of the requirement to check when loading the component of libraries JAR files versions: true | false

web-interface-enabled

Indicator of the web interface permission through built-in Apache Tomcat servlet container: true | false

If web-interface-enabled equals true, Apache Tomcat servlet container is going to launch, which is going to create Contaner_Install_Directory/work directory for its operation. This requires that the launcher has the respective rights.

stop-on-component-error

Indicator of the requirement to stop if an error occurs when creating / initializing / launching components. If it equals false, the specified errors are ignored (but recorded in the log).

pause-before-notify-tomcat-runned

Pause after which the components are notified on the successful launch of Tomcat, in ms.

tomcat-attributes, {object}

Tomcat server settings

keepAliveTimeout

Keep-alive timeout for connections to the integrated Apache Tomcat

port

Port number for the integrated Apache Tomcat

maxConnections

Maximum number of connections for integrated Apache Tomcat

maxThreads

Maximum number of streams served for integrated Apache Tomcat

protocol

The connector protocol used

connectionTimeout

Timeout of Apache Tomcat connection

socket-soKeepAlive

Value of the keep-alive socket setting (Apache Tomcat): true/false

remote-logging-server, {object}

Remote logging server settings

host

Host, where the remote log server is deployed

port

Port of the remote log server. To disable remote logging, delete the remote-logging-server section

Cache Server

The cache-server.conf file contains the configuration settings for the SmartTUBE Cache server.

Default Configuration

component = {

   class = “smartsdp.cacheserver.main.SmartSDPCacheServer”

   description = “SmartTUBE Cache Server”

   install-path = “/opt/smartlabs/smarttube5/modules/cache-server”

   jar =”sdp-cache-server.jar”

   load-on-startup = 12

   properties {

       akka-local {

           host = “127.0.0.1”

           port = 5060

       }

       cache-server-id = “demo-helpdesk”

       elasticsearch {

           auth.password = “sfgsfrsvq3ds”

           auth.username = “lapopumpo”

           cluster-name = “smtube_cache_client”

           connectTimeoutMillisec = 1000

           lang-analyzer-char-filters = [

               “Á => A”,”á => a”,

               “Č => C”,”č => c”,

               “Ć => C”,”ć => c”,

               “Đ => D”,”đ => d”,

               “Ď => D”,”ď => d”,

               “É => E”,”é => e”,

               “Ě => E”,”ě => e”,

               “Ё => Е”,”ё => е”,

               “Í => I”,”í => i”,

               “Ň => N”,”ň => n”,

               “Ó => O”,”ó => o”,

               “Ř => R”,”ř => r”,

               “Š => S”,”š => s”,

               “Ť => T”,”ť => t”,

               “Ú => U”,”ú => u”,

               “Ů => U”,”ů => u”,

               “Ý => Y”,”ý => y”,

               “Ž => Z”,”ž => z”

           ]

           lang-analyzer-stopwords = [

               _english_,

               _russian_,

               _czech_

           ]

           nodes = [

               “127.0.0.1:9200”

           ]

           socketTimeoutMillisec = 30000

       }

       http-client-connection-timeout-millis = 500

       http-client-socket-timeout-millis = 5000

       http-requests-dispatch-batch-size = 100

       http-requests-dispatch-period = 0

       number-of-http-get-handlers = 500

       number-of-http-post-handlers = 10

       number-of-notification-handlers = 100

       recreate-indices-on-startup = false

       request-inprogress-size-threshold = 256

       request-queue-size-threshold = 100

       trace-http-requests = true

       trace-notification = false

   }

   servlet-context-path = “/api/*;/cmds/*”

   singleton = true

}

Parameters description

component, {object}

Core section of settings. A number of settings are described in the “Common parameters” chapter.

properties, {object}

cache.thread.pool.http.workers.corePoolSize, integer

Initial HTTP thread pool size

cache-server-id

ID of the current cache server. Must match the cache server Name in the SmartTUBE Admin Console > Administration > Cache servers dictionary.

recreate-indices-on-startup

Indicator of the requirement to recreate all caches when reloading the component

epg-import.minusDays

EPG storage depth in days

elasticsearch, {object}

Settings of the Elasticsearch

auth.password

Authentication password

auth.username

Authentication username

cluster-name

Name of Elasticsearch server cluster. Must be unique for the local network.

nodes, [array]

Elasticsearch servers, combined into a cluster.

connectTimeoutMillisec

Connection timeout, in ms.

socketTimeoutMillisec

Socket timeout, in ms.

lang-analyzer-char-filters

List of characters to be replaced in the query text during search and analysis. Each letter must be defined by a pair of uppercase and lowercase characters. If the setting is omitted, the default value is [“ё => е”, “Ё => E”]

lang-analyzer-stopwords

List of languages for which a general list of stop words is formed. These words are excluded from the query text during search and analysis. If the setting is omitted, the default value is [“english”]. Reserved language names and stop words see here.

Data Model Core

The data-model-core.conf file contains the configuration setting for the Data Model Core component of the SmartTUBE server.

Default Configuration

component = {

   description = “Core Data Model”

   jar = “sdp-datamodel-core.jar”

   class = “smartsdp.datamodelcore.main.SmartSDPDataModelCore”

   singleton = true

   load-on-startup = 1

   install-path = “/opt/smartlabs/smarttube5/modules/data-core”

}

For parameter description see the “Common parameters” chapter.

This component does not require any special settings.

Reporting Module

The report.conf file contains the configuration settings for the SmartTUBE reporting module.

Default Configuration

component = {

   class = “smartsdp.report.main.SmartSDPReport”

   description = “SDP Report”

   install-path = “/opt/smartlabs/smarttube5/modules/reports”

   jar = “sdp-report.jar”

   load-on-startup = 14

   number-of-http-get-handlers = 20

   properties {

       akka-local {

           host = “127.0.0.1”

           port = 5054

       }

       datasources = [

           {

               connection-string = “JDBC_POSTGRES_URL”

               ds-name = “jdbc/sdp”

               login = report_user

               max-connections = 5

               password = report_password

               server = postgresql

           }

       ]

   }

   servlet-context-path = “/report/*”

   singleton = true

}

Parameter Description

component, {object}

Core section of settings. A number of settings are described in the “Common parameters” chapter.

datasources, {object}

Settings of the DBMS used as a data source for the reporting service

server

Type of the database server

connection-string

Connection string to the DB server

login

Login of the DB user

password

Password of the DB user

max-connections

Max number of connections to the DB

SmartTUBE JSON Data Server

The data-server.conf file contains the configuration settings for the SmartTUBE JSON Data Server.

Default Configuration

component ={

   class =”smartsdp.dataserver.main.SmartSDPDataServer”

   description =”SmartTUBE JSON Data Server”

   install-path =”/opt/smartlabs/smarttube5/modules/data-server”

   jar =”sdp-data-server.jar”

   load-on-startup =10

   properties {

       akka-local {

           host =”127.0.0.1″

           port =5050

       }

       database {

           connection-string =”jdbc:postgresql://127.0.0.1:5432/master?tcpKeepAlive=true&ApplicationName=sdp5_application”

           login = master

           max-connections =50

           password = master38

           server = postgresql

       }

       http-request-handlers =2000

       log-generated-sql =false

       logValidationErrors =true

       messaging {

           watermark {

               default_autohide_timeout =3600

           }

       }

       notifications {

           database-path =”/var/smartlabs/smarttube5/data-server/db”

           database-type = mem

           receptionists =[

               “127.0.0.1:5060”

           ]

       }

       removeAbandoned =true

       sdp-properties-file-path =”/opt/smartlabs/smarttube5/conf/”

       trace-http-requests =true

   }

   servlet-context-path =”/sdpapi/*;/sdpapibd/*”

   singleton =true

}

Parameter Description

component, {object}

Core section of settings. A number of settings are described in the “Common parameters” chapter.

sdp.thread.pool.http.workers.corePoolSize, integer

Initial HTTP thread pool size

properties, {object}

http-request-handlers

Number of the HTTP request processors

trace-http-requests

Flag to trace HTTP requests in the log

database, {object}

server

Type of database server

connection-string

Database server connection string

login

Database user login

password

Database user password

max-connections

Maximum number of connections to the database

messaging, {object}

watermark, {object}

Settings of Watermark messages

default_autohide_timeout, integer

Default duration of watermark message display

notifications, {object}

database-path

Path to the database notifications folder

database-type

Type of the database

scheduled-jobs, {object}

JSON array of objects describing jobs that are run periodically

name

Job name

enabled

Flag enabling to run this job

runWhen, string

Time / period of running the job. Please see the format description here.

method, string

Name of the service and method to run in “service#method” format.

params

Parameters passed to the methods during the launch. For example:

for EPG import from the file:

  • epg-import.url — URL of a file with EPG
  • epg-import.login — login to access the EPG file
  • epg-import.password — password to access the EPG file

for importing a weather forecast from an external system:

  • appid — identifier of the application from which the forecast is going to be imported

cryptPasswords, object

Settings of terminal password encryption

on, boolean

Flag to enable terminal password encryption. If , all data passed via SmartTUBE OSS API or SmartTUBE End-User Device API is encrypted/decrypted.

storeUnhashed, boolean

Flag to store unencrypted passwords along with encrypted ones

checkUncrypted, boolean

Flag to check the unencrypted password if the encrypted password verification failed

defaultHashMethod, string

Default encryption method. Accepted values: .

SmartTUBE Device Manager JSON Data Server

The manager-data-server.conf file contains the configuration settings for the SmartTUBE Device Manager JSON Data Server.

Default Configuration

component = {

   description = “SmartTUBE Device Manager JSON Data Server”

   jar = “manager-data-server.jar”

   # class = “smartmanager.dataserver.main.SmartManagerDataServer”

   singleton = true

   load-on-startup = 10

   servlet-context-path = “/managerapi/*;/managerapibd/*”

   install-path = “/smartlabs/sdp/api/SmartSDP/SmartManagerDataServer/target”

   properties = {

       firmwareManagement = {

           uploadPathFirmwares = “/tmp/smartlabs/firmwares/”

           uploadPathAndroidApps = “/tmp/smartlabs/android-apps/”

           uploadPathSettings = “/tmp/smartlabs/manager/settings/”

           httpBaseRoot = “http://some.server:12345/some/path/”

           httpBaseAndroidRoot = “http://some.android.server:12345/some/path/”

           httpBaseSettingsRoot = “http://some.android.server:12345/some/path/”

           maxIncrementChainLength = 3

           fileStoragePath = “/tmp/smartlabs/manager/filestorage”

           fileStorageRoot = “http://someurl/”

       }

       multicast = {

           enabled = true

           normServerUrl = “http://qtbuild01:8180/”

           normServerBaseRoot = “/home/norm/”

       }

       server = {

           clearUidCacheTimout = 10

       }

       databases = {

           default = {

               server = “postgresql”

               connection-string = “jdbc:postgresql://10.65.50.71:5433/master”

               login = “vandam”

               password = “vandam”

               max-connections = 10

               max-wait = 100000

           }

           RO = {

               server = “postgresql”

               connection-string = “jdbc:postgresql://10.65.50.71:5433/master”

               login = “bamboleo”

               password = “bamboleo”

               max-connections = 10

               max-wait = 100000

           }

       }

       sdpProxy = {

           enabled = true

       }

   }

}

Parameter description

component, {object}

Core section of settings. A number of settings are described in the “Common parameters” chapter.

firmwareManagement, {object}

Configuration of the storage and the paths by which files are returned from the storage

uploadPathFirmwares, string

Local directory for storing firmware files

uploadPathAndroidApps , string

Local directory for storing Android apps

uploadPathSettings, string

Local directory for storing configuration files

httpBaseRoot, string

URL prefix for getting firmware files

httpBaseAndroidRoot, string

URL prefix for getting Android apps

httpBaseSettingsRoot, string

URL prefix for getting configuration files

maxIncrementChainLength, integer

Maximum number of incremental updates between target and source firmware versions. If this number is exceeded, the entire firmware is updated. If less than or equal and incremental updates are available, an incremental update is performed.

fileStoragePath, string

Local directory where the files managed by the file manager are located

fileStorageRoot, string

URL prefix for getting files from the file storage

multicast, {object}

Settings for the multicast firmware broadcasting (for the Linux-based SmartLabs STBs only)

enabled, boolean

Flag to enable the multicast firmware broadcasting: true — enabled; false — disabled.

normServerUrl, string

URL of the utility that manages the norm-server

normServerBaseRoot, string

Local path with the firmwares broadcasted by the norm-server

server, {object}

Server settings

clearUidCacheTimout, integer

Timer for clearing the cache of devices in staging groups, in seconds.

databases, {object}  

Setting for the DB access pools

default, {object}  

Settings for the first (default) DB access pool. Read-write operations are permitted. Used by the admin console.

server, string 

Type of the DB server

connection-string, string 

DB server connection string

login, string 

DB user login

password, string 

DB user password

max-connections, integer 

Maximum number of connections to the DB

RO, {object}  

Settings for the second DB access pool. Write operations are permitted only. Used for requests from end-user devices. Settings set is equal to the default section above.

sdpProxy, {object}  

Settings for proxy to the SmartTUBE SDP. The first versions of the Device Manager worked autonomously (login was local). Now the Device Manager only works with the SmartTUBE SDP.

enabled, boolean

Flag to enable the proxy to the SmartTUBE SDP. URL of the SmartTUBE SDP server is set in the system.conf file in sdp-dataservers property.

CONTENTS
Sign-in
Sign-in with your SmartLabs Support Portal account credentials to see non-public articles.