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:
- Check whether a device can be linked using standard logic (based on device limits).
- If unsuccessful, the linking based on existing session information is applied (i.e. sessions’ keep alive data is checked).
- 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.
- 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.
- 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.