System Management

Licensing

The number of service accounts and the term of using SmartTUBE are controlled by the license. You can find the list of your licenses on the Administration > Licenses page.

Important!

  • Licenses are added to the system and signed by the SmartLabs Support Team only.
  • When changing the license parameters, its resigning is required.
  • Unsigned licenses (as well as accidentally deleted ones) are not taken into account by the system. Such licenses do not allow you to register new accounts or devices.

Image12


List of licenses

Here you can see the type of licenses, their usage statistics, and warnings like License is expired or License is not signed. To see details on a specific license, click on its title.

Image25

License details

Adding Licenses

To purchase primary and subsequent SmartTUBE licenses, please send a request to the sales@smartlabs.tv, taking into account the information below.

  • You can purchase one or more simultaneously active licenses of the following types:
    • License by accounts
      This method considers only active service accounts — accounts with a status other then Suspended, Trial closed, Closed, Deleted, regardless of whether the subscriber uses the services or not.
    • License by devices
      This method considers only active devices   devices with a non-empty UID and linked to the active account, which were authorized at least once and (optional) with the date of the last authorization is no more than N days ago (set by the countActiveDevice.filter.byLastAuthDateInterval.period.days parameter of the system.conf file). You can specify which device types will be considered by this license.

      Image17
    • License by service account with devices
      This method considers only active service accounts to which only the specified types of devices can be connected. Also you should specify the number of active devices licensed under one license.

      Image24


      For example, if you set 3 devices here, and 6 active devices are connected to the same account, then this account will consume 2 licenses.

  • All license types are independent of each other.
  • If you reach the maximum number of service accounts or devices allowed by the license, new accounts or devices cannot be registered in the system.
  • Licenses have an expiration date.​ If it expires and you do not prolong the license, your subscribers will not be able to use the services.
  • Before any of your licenses expire, you will receive a notification when you log in to SmartTUBE Admin Console.

    Image3

Please contact a SmartLabs representative by email sales@smartlabs.tv before your license expires to continue using SmartTUBE.

Multitenancy

Multitenancy is a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such a manner are “shared”. A tenant is a group of users who share a common access with specific privileges to the software instance.

For example, one global IPTV/OTT operator may have several regional divisions. The audience of these divisions may differ geographically, culturally, socially, etc. So may the content. For this case, SmartTUBE Service Delivery Platform (SDP) provides 2 options for multitenant architecture implementation:

  1. Independent SDP instances used for each tenant. We recommend this option for tenants with a number of subscribers more than 10000–15000.
  2. One SmartTUBE instance serves several tenants. This configuration is recommended if the tenants serve an audience of 2000–5000 subscribers.
Image11

Architecture options with multiple tenants

As for TV stream recording and content storage subsystem, in both cases it is recommended to place them close to the content sources. This ensures efficient localization of content and its seamless delivery to subscribers with minimal latency.

Multitenancy Features

  1. SmartTUBE SDP contains a list of tenants. Some special parameters can be configured for each tenant, such as:
    1. Tenant name and description
    2. OSS/BSS integration URL
    3. Standard Tenant UI Customization parameters (detailed in point 7.)
  1. Service accounts and terminals (client devices) have to be linked to only one specific tenant.
  2. Pricing rules for services (TV channel bundles (Live, Time Shift, Catch-up, etc.), SVOD/TVOD bundles) could be managed for each tenant separately, but some tenants could use the same services and pricing plans.
  3. Users of SmartTUBE Admin Console could be configured to have access and management rights for one or several tenants, so employees of one tenant will not have rights for viewing and managing content, services, accounts, etc. from other tenants. Users with administration rights could manage all tenants.
  4. All content (TV channels, VOD movies and serials) is common for all tenants. SDP allows to combine content into different services for each tenant, providing a flexible management tool to enable content from a common headend and VOD library to be presented to multiple tenants.
    EPG is imported common for all channels and is available for all tenants.
  5. All reports provide information for each tenant independently.
  6. Operators can customize the following elements of SmartTUBE Apps UI dependent on tenant:

– Tenant logo on the splash screen when starting the app

– Tenant logo on the status bar

– Selector color

– Limited styling features on the Home screen

Details are provided in the configuration documentation.

Please note that the app remains the same for all tenants. The operator cannot change the app icon and name individually for each tenant!

  1. Messaging system allows sending messages and notifications only to devices of a specific tenant.
  2. Licensing calculation could be separate for each tenant, but administrators have access to full licensing information for the whole system.
  3. Dictionaries (content genres, access levels, supported DRM types, languages, settings, and etc.) are common for all tenants and could be managed by system administrators only.

Configuring Multitenancy. Quick Guide.

If you choose the Option 2, you need to configure tenants the following way:

  1. Log in to the SmartTUBE Admin Console under an account with the Platform administrator role.
  2. Create billing connections in the Administration > Billings dictionary.
    Specify the
    Name, External ID, and URL of the OSS/BSS endpoint for each billing. For more details on OSS/BSS endpoint URLs, please see Method Invocation > On the side of OSS/BSS.

In case of “one-tenant” configuration, the URL of the OSS/BSS endpoint is defined by the oss.standard.url.value parameter in the SmartTUBE Server configuration file system.conf. In case of multitenant configuration this parameter is ignored.

  1. Create tenants in the Administration > Tenants dictionary, specifying corresponding billing connection in the Billing field.
  2. Create SmartTUBE Admin Console users in the Administration > Users dictionary, specifying their affiliation to the tenants in the Tenants field.
    Read more about users and roles
    here.
  3. Create content bundles as it described in the Setting up TV Services and Setting up xVoD Services sections.
  4. Create pricing plans in the Pricing plans > Pricing plans dictionary, specifying their affiliation to a particular tenant in the Tenant field.
    Read more about creating pricing plans
    here.
  5. Create service account templates in the Service accounts > Service account templates dictionary, specifying the pricing plan corresponding to a particular tenant.
    Read more about creating service accounts
    here.

Scheduled Jobs

If you need certain tasks to run automatically at set times, you can create a scheduled job it in the Administration > Scheduled Jobs section:

Image7

The type of a job is selected in the the Method field of a certain job:

Image2

To schedule a job, please specify it’s parameters in the Method parameters tab. Refer to the tooltips for guidance on each field. Once you have filled in the details, check the Active box to enable the job. Finally, click on Apply to save the changes. The job will then be added to the schedule and will run at the specified time.

You can modify any job, whether it’s active or not.

Job Execution Statuses

To the right of the job settings panel, information about its last execution is displayed: start and end time, IP of the executing SDP node, code and text of the execution error, current status. The job can have one of 3 statuses:

  • Completed — the job is completed;
  • Running — the job is currently running;
  • Cancelled — the status is reset. It is assumed that the job was interrupted for some reason. This can happen, for example, if the SmartTUBE SDP restarts while a job is running.

After the job is launched, its status changes to Running. Parallel launch on other SDP nodes before the job completes is excluded.

If the task was Completed successfully, the Error code and Error text fields remain empty. Otherwise, they contain relevant information.

Auto Removing of Junk Service Accounts

Over time, SmartTUBE can accumulate junk service accounts, that can affect the number of accounts available under the license. They may appear for various reasons and usually have a number of similar features (for example, inactive or without connected services). Thus you can filter them and delete.

  1. Create an Account Filter
    1. Go to SmartTUBE Admin Console > Administration > Filters for deleting service accounts
    2. Click the Add (+) button  and create the filter. Follow the field tooltips.
    3. Click the Save button to save the filter.
    4. Click the Reload button appeared to check the filtered accounts.
Image5
  1. Create a Job for Periodically Account Removing
    1. Go to Administration > Scheduled jobs 
    2. Click the Add (+) button to create the job. Follow the field tooltips and these notes:
    3. Select the Delete inactive Service Accounts garbagecollector#deleteinactiveserviceaccounts method in the Method field.
    4. Select the filter you’ve created in the Filter for deleting service accounts field.
    5. Set the Store deleted items in Archive checkbox and the number of days to store. Thus you will prevent accidental permanent deletion of accounts.

If you have archived the wrong accounts, then contact the SmartLabs Support Team to restore them.

  1. Click the Save button to save the job.
Image19

Importing Currency Rates

As an additional service, you can provide your subscribers with currency exchange rates directly in the SmartTUBE apps. The main source of data is the European Central Bank (ECB), but you can use any other service providing currency rates in the same format if the necessary currencies are not in the provided list.

To import currency rates regularly, please create a job with the following required parameters:

  • Method  Exchange rates data import (currencyratesimport#doimport)
  • URL   URL of an XML file with dynamically updated currency rates, e.g. https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml for importing rates from ECB.

For the format reference, please see Currency Rates File Format.

Importing Weather Forecast

SmartTUBE apps allow you to provide your subscribers with a weather forecast. The Openweather service is used as the data source. If you do not know whether the corresponding module is installed on your system, please contact the SmartLabs Technical Support . Then create a job for regularly updating weather data:

  1. Register on the website Openweathermap.org and get your unique API key {appid=} by following the instructions on the “Guide” page.
  2. Create a new job using the weatherforecastsimport#doimport method in the Method field.
  3. In the Method parameters > appid field, specify your Openweather API key.
  4. In the Dictionaries > Cities > [desired city] > External ID field, specify the corresponding city ID on the Openweather website. You can find it on the https://openweathermap.org/city page after searching by the desired city. The last parameter in the URL is the city ID. Example for Moscow:
Image1

You can also specify the city geo coordinates in the Coordinates field. Example:

 

Image15

Please note that this field has a lower priority than the External ID.

Geoblocking

SmartTUBE SDP provides IP geofiltering of end-user devices in distributed IPTV/OTT solutions so that users access only that content, which is intended for distributing to them in their territory regions, and have no access to content intended for other territorial regions. IP geo filtering protects content from accessing by users from unauthorized regions.

How does it work?

In case of IPTV service, the service provider defines an IP subnetwork for each territorial region. In turn, each end-user device gets an IP address belonging to a particular subnetwork by the device’s physical location. This allows SDP to determine the device’s location by its IP with the appropriate API request to the service provider.

In case of OTT service, the geolocation of the device is performed using third-party services such as Maxmind (API is provided with a contract).

SDP allows you to apply geoblocking to TV channel broadcasting services grouped into service packages (Picture 1). Each service package includes information about the regions where enabled TV channels can be distributed to users.

Image23

Picture 1. Region-Level Content Specification

After the device startup, it sends the authorization request to the SmartTUBE server (picture 2). SmartTUBE server determines the device’s location by its IP and returns the list of service packages available to this region.

Image10

Picture 2. Separating Service Packages Between Regions

Processing Logic

A detailed description of the operation logic and geofiltration settings is provided below.

  1. The end-user device starts up and sends an authorization request to the SDP, which includes the IP address.
  2. SDP sends this IP either to a third-party geolocation service (in the case of OTT), or to the service operator (in the case of IPTV) in accordance with the API provided.
  3. SDP receives the device’s location ID, which must match one of the location IDs in the “Regions” dictionary.
  4. Then the following logic is applied:
    1. If the terminal has already been assigned a Region ID (via Admin Console or OSS API), then data from the geolocation system is ignored.
    2. If the terminal has not yet been assigned the Region ID (via Admin Console or OSS API), the Region ID came from the geolocation system is used.
    3. If the terminal is not assigned the Region ID via Admin Console or OSS API, and the geolocation system defines its location as “OUTNETWORK”, then the default Region ID is used (determined by the corresponding mark for the region in the SDP “Regions” dictionary).
  1. The device is provided with a list of services corresponding to the assigned region.

Note: Region ID assigned via OSS API or manually via Admin Console has a higher priority than the Region ID saved during the last authorization. In other words, if there was at least one authorization, the terminal in the Admin Console will be assigned the last defined Region ID. But if the Region ID has been assigned via OSS API or manually via Admin Console, the Admin Console will display the assigned Region ID, and the Region ID obtained from the geolocation system will be ignored.

Configuring the Types of Content Delivery Subnets

SmartTUBE allows you to broadcast different URLs of TV streams to devices, depending on the type of content delivery subnet. To do this, you should configure a list of such subnets and their types.

  1. Configure the default network type in the file /opt/smartlabs/nginx/conf/http.d/50_smtube_authgeo.conf. For example, “OTT”:

geo $remote_addr $networkType {
include http.d/geonetloc.inc;
default OTT;
}

  1. Specify subnets and their types in the file /opt/smartlabs/nginx/conf/http.d/geonetloc.inc. For example:

10.0.0.0/8              Multicast;
0.0.0.0.0           OTT;

  1. Reload or restart nginx.

How to redefine the streaming sources depending on the distribution subnet, see the section Redefining the Channel Streams Depending on Content Delivery Network.

Users and Roles

Only authorized users can view and make changes to SmartTUBE Admin Console entities. Users are created and edited on the Administration > Users page. There are 6 possible user roles with the following possibilities:

Role

Manageable entities

TV channels editor

TV channels

VoD editor

Meta content

Commercial editor

Pricing plans

Analyst

Reports

Message editor

Messages

Manager of Device manager

Device Manager (is separate UI)

Technical support specialist

All of the above

Administrator

Users and all of the above

Only users with the Administrator role can add, edit or delete users.

The Administrator can assign one or more roles to each user depending on the functions the user is going to perform. The interface is adapted to the convenience of each role, so the user sees only those entities that are needed to perform the user’s duties within the assigned role or roles. For example, report settings are not displayed for the VoD editor, whose main duty is to manage meta content. Only the Administrator can see all entities.

Deleting a User

A number of SmartTUBE Admin Console entities (pricing plans, content, service accounts, etc.) are associated with the user who created them. As a result, you should consider the following aspects of deleting users:

  1. On the Administration > Users page, open the details page for the desired user and click the Delete button, and confirm the deletion in the pop-up window.
  2. The system will check the entity relationships with this user. This process may take a few minutes.
    • If the check does not reveal any errors, the user will be silently deleted.
    • Otherwise, the error text will be displayed and the Force Delete button will appear. The forced deletion allows you to delete all the entities created by the user.

The Forced user deletion feature is available on request.

User Activity Monitoring

The Administrator can control user activity on the Administration > Users activity page. Tracking is performed for the following actions on the SmartTUBE Admin Console entities:

  • Create
  • Update
  • Copy
  • Delete

To manage the data storage time:

  1. Open the Administration > Scheduled jobs page.
  2. Create a job with the auditing#cleanlogs method.
  3. In the system.conf file, specify the number of days of data storage using the auditing.shelfLife parameter. If the parameter is not specified, the default value of 60 days is used.

Failure Alerts

SmartTUBE provides an email alerting to failures in certain services. There are currently 4 types of notifications available:

  • OSS integration errors
  • EPG import errors
  • VOD metacontent import errors
  • Database connection limit errors

You can enable/disable them and specify a list of recipient mailboxes in SmartTUBE Admin Console > Administration > Email Alerts.

Image18

Dictionaries

A number of SmartTUBE Admin Console fields are drop-down lists formed from dictionaries, such as genres, countries, device types, and so on. You can edit dictionaries in the Dictionaries section. See below for some dictionary explanations.

Image20

Dictionaries menu of the SmartTUBE Admin Console

Dictionary

Description

Devices

Device types

The data of this dictionary is used to manage the distribution of platform services and resources, depending on the type of end-user devices. Device types are formed from devices that use the same technology (i.e. STB, ANDROID, IOS, etc.). You can also combine multiple types into a single group. See the “Redefining the Channel Streams Depending on Content Delivery Network” chapter for details on the Redefinitions tab.

Device settings

Settings requested by end-user devices at authorization.

Device limit restrictions

Restrictions on the maximum quantity of devices which could be linked to service accounts (devices without UID are not considered).

Sessions

Concurrent session limit

Limits on the number of end-user devices linked to an account and consuming services simultaneously.

Session limit actions

List of actions applied to user sessions that have reached the limits set in the “Concurrent session limit” dictionary.

Servers

Recorder video servers

Video servers used to overlay an additional logo on top of the original channel stream.

Video servers

Video servers used for Catch-up and nPVR services.

Regional settings

Cities

Cities are used for displaying the weather forecast and map services in the SmartTUBE app. Also, the data of this dictionary is used when localizing the subscriber during authorization.

Countries

Countries of content production used to filter VoD content. For more information on how to use the Linked external IDs tab, see the “How to Avoid Duplicates” chapter.

Languages

Languages used for multilingual fields. See Multilingual fields.

Custom languages

Differs from the Languages dictionary by the ability to specify the external language ID with an arbitrary string (instead of 2-symbol ISO 639-1 language code).

Currencies

Currencies are used, e.g. for displaying in the SmartTUBE app in the “Exchange Rate” section.

Content grouping

Content genres

Content genres used to filter VoD content. Genres can be nested. For more information on how to use the Linked external IDs tab, see the “How to Avoid Duplicates” chapter.

TV channel topics

Topics of TV channels. Used for displaying and for filtering by topic in the SmartTUBE apps.

Keywords

Keywords used to filter content

Year ranges

Periods of years used to filter VOD content

Movie related

Movie occupations

Roles of personalities in the production of the movie or episode.

Personalities

Personalities involved in content production. Used only for displaying in the subscriber’s interface.

Awards

Awards for content. Used only for displaying in the SmartTUBE app.

Nominations

Nominations for content

Non-grouped dictionaries

Access levels

Age restrictions. This dictionary specifies the list of available access levels for user profiles and the age restrictions for content in the SmartTUBE app.

Account state switches

Rules for automatic switching of account states when certain conditions occur.

Additional service fields

Additional user-filled information (e.g. email, promocodes, subscriber suggestions, etc.) passed from the SmartTUBE app to the OSS/BSS when subscribing to a specific service.

Dictionary notifications

List of dictionaries upon the updating of which notification needs to be sent to devices. Only updates during the EGP and VoD metadata import are taken into account.

Regions

Regions used for restricting the area of content providing.

Icons

Icons used with Information messages

Image tags

Tags used for labeling banners. For more detail, see Content Promotion.

UI skins

Tenant dependent UI skins for SmartTUBE apps

WV security policy

Widevine security policies set for individual TV channel streams and VoD assets

The Administration menu also contains the following dictionaries:

Dictionary

Description

Users

Users of SmartTUBE Admin Console. Allows to set access rights and bounding to tenant

Cache servers

Allows you to reload cache servers’ configuration, update its data and get statistics.

System properties

Allows to redefine the system configuration parameters (of the system.conf file) and update them on the data and cache servers on-the-fly.

Email alerts

Provides an email alerting to failures in certain services, e.g. OSS integration errors, EPG import errors, VOD metacontent import errors, Database connection limit errors.

Licenses

List of licenses managing the number of service accounts, devices and terms of using SmartTUBE.

Scheduled jobs

Scripts (methods) of different type to be performed regularity, e.g. EPG import, weather forecast update, delete expired logs or messages, inactive service accounts, etc.

Encryption types

Type of content encryption. Used for associating with CAS/DRMs. The External ID must be specified as follows (otherwise the errors may occur):

Name

External ID

without encryption

0

widevine

widevine

securemedia

securemedia

Basic HTTP authentication

basicAuth

DRM license servers

Settings of DRM licensing servers

Integration API users

Users allowed to access SmartTUBE OSS/BSS API

Tenants

List of tenants, if the multitenant architecture is applied.

OSS/BSS Urls

List of connections (end points) to OSS/BSS systems

Filters for deleting service accounts

Filters of service accounts to be periodically removed. See more…

Content providers

List of external content providers

Offers

Offer texts displayed to users when subscribing to a service packages

Logs

Users activity

SmartTUBE Admin Console user activity log

SmartMEDIA warnings

Warnings of situations when the DVR/nPVR packages of SmartTUBE have a channel recording time longer than is actually recorded on SmartMEDIA servers.

Tools

Content dictionary merger

Allows to find and remove duplicate content genres, categories, rubrics and countries by merging the similar entries into one.

Export Wizard

Allows to filter and export into the CSV file data on a number of the SmartTUBE entities

How to Avoid Metadata Duplicates

When you import EPG and/or VoD metadata from different providers, comparison of genres, countries, types and categories of content with existing ones is done by their External IDs. Thus, for example, several content genres with the same name, but differing only in External ID, may appear in the Content genres dictionary.

In order to avoid it, you can associate multiple genres or External IDs of a genre with a single content genre. The same is for the content categories, types, and countries.

Let’s consider three situations.

  1. You have found duplicate genres
    1. Find the genre you want to subordinate to another.
    2. In the Add to the group dropdown field, choose the genre to which you want to subordinate it.
Image14
  1. You know in advance (before importing) that the External ID of a certain genre does not match with an existing one.
    1. Find the genre you want to add an additional External ID to.
    2. Add a new External ID to the genre in the Linked external IDs tab.
Image4
  1. You want to import EPG or VoD metadata and you don’t care.

In this case, two situations may occur:

  1. If the External ID matches, the imported genre will be linked to the existing one without any problems.
  2. If the External ID does not match, a new genre will be created. You can link it to another one later in the way described above.

Admin Console Tips & Tricks

In order to speed up your management duties, the SmartTUBE Admin Console has several useful features.

Multilingual Fields

Some SmartTUBE Admin Console entities may have multilingual fields (for example, movie name, country, director name, etc.). To fill them in multiple languages, follow these steps:

  1. Add the language in the Dictionaries > Regional Settings > Languages dictionary.

    Image8
  2. Select a language from the drop-down list in the top panel.
    This will only affect the value of the fields, and the UI language will remain as it was selected on the login page.

    Image13
  3. Fill the fields in the selected language and save changes.
  4. Repeat steps 2–3 for all needed languages.

Field Hints

SmartTUBE Admin Console has hints for the most critical fields. These hints can help you through the configuring process. To read a hint, hover mouse over the (?) icon next to the field.

Image22

Entity Details Without Leaving the Page

When you open some listing (for example, the list of channels, EPG programs or TV bundles), the pane to the right is empty. In order to view details on a list item in this pane, hover mouse over the item and click on the appeared Play Arrow icon.

Image16

Copying & Bulk Editing / Deleting

If you need to create an item similar to the already existing one, you may select it and click the Copy button.

Image9

If you need to change the same parameters for several similar items (for example, movies) to the same value you may use the Bulk editing feature instead of editing each item separately:

  1. Select or filter the needed entries.
  2. Click the Bulk editing button.

    Image21
  3. Click the Edit button to edit entries or Delete to remove them.

Quick Jump to the Next Item

If you are editing items sequentially, for example, a list of channels or movies, use the Left-Arrow and Right-Arrow buttons to quickly navigate between items.

Image6

Exporting Lists to CSV

You can export item lists (movies, service accounts, messages, etc.) to a CSV file by clicking the Export button on the correspondent page.

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