This highly customizable IPTV solution enables PortaOne customers to generate additional revenue, raise profits, and increase customer satisfaction by delivering advanced television services.
IPTV service
Activation of the IPTV service in PortaBilling is done using the ESPF (External Systems Provisioning Framework) service provisioning framework. This makes it easy to provide the IPTV service to your customers and eliminates additional manual work. PortaBilling currently supports the following platforms:
- MatrixStream
- Minerva
- Telebreeze
It is possible to configure multiple MatrixStream, Minerva and/or Telebreeze instances within your PortaSwitch installation. However, an individual virtual billing environment can have only one instance of either platform running on it. Therefore, if you wish to have several IPTV instances running at the same time, configure each one in a separate virtual billing environment.
Video on demand (VOD) and pay per view (PPV) features configurations require separate approaches and are therefore out of the scope of this handbook. If you wish to use these features, please contact our support team.
IPTV Subscription
When a new or existing customer signs up for the IPTV service, the available channel information (based on the assigned subscription) is provisioned into the IPTV delivery platform via an extensible XML API. If a customer’s product configuration changes, or a customer is blocked (e.g., due to non-payment), PortaBilling transfers this information to the IPTV delivery platform.
An IPTV service is activated for the subscriber when:
- A new account assigned to the IPTV product is created in PortaBilling.
- An already existing account assigned to the IPTV product is unblocked in PortaBilling.
- A product assigned to an already existing account is changed to a new product with IPTV.
Integration with MatrixStream IPTV
An account in PortaBilling corresponds to a subscriber in MatrixStream.
An IPTV provider uses MatrixStream with the following assets:
- Channel packages (for example, Basic and Premium).
- Subscriptions (for example, “BasicTV” to charge for the Basic channel package, and “PremiumTV” to charge for the Gold channel package).
- When a customer is suspended in PortaBilling or the account is blocked or switched to the product that no longer has IPTV services included, his “subscriber” record is maintained in MatrixStream, although it is disabled.
- When a customer is terminated in PortaBilling, the account is deleted in MatrixStream.
- PortaBilling adds information to the customer’s bill about services provided and charges incurred.
Integration with Minerva IPTV
An account in PortaBilling corresponds to a customer in Minerva.
An IPTV provider uses Minerva with the following assets:
- Channel packages (for example, Basic and Premium).
- Service packages. (While Minerva’s channel packages include sets of IPTV channels only, service packages can include both channel sets and additional services such as VOD catalogue, WHDVR or Caller ID presentation.)
- Subscriptions (for example, “BasicTV,” to charge for the Basic channel package, the Start service package, and “PremiumTV,” to charge for the Gold channel package).
- When a customer is suspended in PortaBilling, the account is blocked or switched to the product that no longer has IPTV services included. Their “subscriber” record is maintained in Minerva, although it is disabled.
- When a customer is terminated in PortaBilling, the account is deleted in Minerva.
- PortaBilling adds information to the customer’s bill about services provided and charges incurred.
Integration with Telebreeze IPTV
An IPTV provider uses the Telebreeze IPTV platform with the following assets:
- An account in PortaBilling that corresponds to a customer in Telebreeze.
- Channel packages (for example, Basic and Premium).
- Subscriptions (for example, “BasicTV,” to charge for the Basic channel package, and “PremiumTV” to charge for the Gold channel package). Video-on-demand and pay-per-view services are solely handled by Telebreeze.
- Customers are authenticated in Telebreeze by either device ID or Telebreeze login/password. This information is defined in an account’s custom fields.
- When a customer is suspended (e.g., has no available funds) in PortaBilling, the account is blocked or switched to the product that no longer has IPTV services included – their “subscriber” record is maintained in Telebreeze.
- When a customer is terminated in PortaBilling, the customer record is deleted in Telebreeze.
Scenario
As an example, we will create two products with the following service configuration (note that service packages are applicable only for the Minerva platform users):
- Basic TV (30 basic channels (the Basic channel package), 5 sport channels (the Sport channel package), WHDVR and VOD catalogue (the Start service package): $30 monthly).
- Premium TV (30 basic channels plus 10 sport, 10 movie and 10 music channels (the Gold channel package), WHDVR and VOD catalogue (the Start service package), Caller ID presentation: $40 monthly).
Channel and service packages are created via the IPTV platform interface and the charges for them are assigned via PortaBilling.
Checklist
Use this checklist to check off the operations you have completed while performing the system setup according to the instructions in this chapter. Please be sure to perform all of the operations in the order designated (all of the boxes should be checked), otherwise, the service will not work.
Operation | Done |
Set up the IPTV Platform: MatrixStream, Minerva or Telebreeze | |
Configure IPTV service via the Configuration server | |
Configure IPTV service on the PortaBilling web interface. Create corresponding subscriptions | |
Create corresponding products | |
Account provisioning | |
Create custom fields for Telebreeze IPTV service provisioning | |
Create a customer class and define the custom fields within | |
Create a retail customer | |
Create an account for this customer |
Set up an IPTV platform
MatrixStream
Initial configuration is performed via MatrixStream GUI:
- Create all channels/lineups.
- Create the Basic (30 basic channels), Sport (5 sport channels) and Gold (30 basic channels plus 10 sport, 10 movie and 10 music channels) channel packages.
Please refer to MatrixStream for guidelines on how to set up the MatrixStream Platform.
Minerva
Initial configuration is performed via Minerva GUI:
- Create a region.
- Create all channels.
- Create the required lineups.
- Associate lineups with the appropriate region.
- Create the Basic (30 basic channels), Sport (5 sport channels) and Gold (30 basic channels plus 10 sport, 10 movie and 10 music channels) channel packages.
- Create the Start (WHDVR and VOD catalogue) and Caller ID presentation service packages.
Preparation:
- Create (import) all devices.
Please refer to MinervaNetworks for guidelines on how to set up the Minerva Platform.
Telebreeze
Initial configuration is performed via Telebreeze GUI:
- Configure the Telebreeze middleware.
- Create all channels/lineups.
- Create the Basic (30 basic channels), Sport (5 sport channels) and Gold (30 basic channels plus 10 sport, 10 movie and 10 music channels) channel packages.
Please refer to Telebreeze for guidelines on how to set up the Telebreeze Platform.
Configure IPTV service via the Configuration server
- Go to the Configurations tab.
- Clone the current configuration.
- From the Configuration Tree, select PortaSwitch.
- On the Environments panel, select the required environment.
- On the Groups panel, select the IPTV group.
- For the Provider option, select an IPTV provider for this environment: MatrixStream, Minerva or Telebreeze.
Then, depending on which platform you use, perform one of the following sets of actions:
MatrixStream
- Go to the Configurations tab.
- Clone the current configuration.
- From the Configuration Tree, select PortaSwitch.
- On the Environments panel, select the required environment.
- On the Groups panel, select the IPTV_MatrixStream group.
- Provide the following information:
- Click Save and then Verify.
- Verify the new configuration and click Check/Apply.
Minerva
- Go to the Configurations tab.
- Clone the current configuration.
- From the Configuration Tree, select PortaSwitch.
- On the Environments panel, select the required environment.
- On the Groups panel, select the IPTV_Minerva group.
- Provide the following information:
- API_URL – URL for Minerva API access.
- CustomerID_Provisioning_Format – format of the data to be provisioned as a customer ID for Minerva. Select {account_id}_{i_env} to use a combination of a PortaBilling account ID and a billing environment index number. This format is to become the default in the near future.
- Password – password for the Minerva API access.
- RegionID – the region to which the customer is added.
- Username – username for the Minerva API access.
- Click Save and then Verify.
- Verify the new configuration and click Check/Apply.
Telebreeze
- Go to the Configurations tab.
- Clone the current configuration.
- From the Configuration Tree, select the Admin node.
- On the Environments panel, select the required environment.
- On the Groups panel, select the IPTV_Telebreeze group.
- Provide the following information:
- Click Save and then Verify.
- Verify the new configuration and click Check/Apply.
Create subscriptions
Create the “Basic TV” subscription.
- On the navigation menu, select Service catalog and click Subscriptions.
- On the Create subscription panel, fill in the required information:
- Name – name of the subscription plan which is to be used on the admin interface.
- Subscription name visible to end users – provide the name of the subscription plan that your customers will see on their self-care interfaces and invoices.
- Currency – select the currency in which you charge your customers. The currency for the subscription plan may only be chosen once and cannot be changed later.
- Managed by – select Administrator only.
- Subscription charges applied – select At the end of the billing period, to apply subscription charges to the account/customer balance when the billing period is closed.
- Activation mode – defines when the subscription will be considered active (and charges begin to apply): either from the date it is entered into the system or it can be postponed until the actual date of the customer’s first usage of the account.
- Activation fee – the value charged for every new subscription upon startup. Leave this field empty to waive the activation fee.
- Monthly fee – specify the fee value that will be applied to your customers every month.
- Can be applied more than once – select this checkbox to assign the same subscription multiple times to one account. You can only use this option when you are adding a new subscription plan. For new subscriptions, the Can be applied more than once option is off by default (so that subscription charges are not applied multiple times for the same account).
- Click Save.
- On the Subscription plan panel, click General configuration.
- On the General configuration panel, you can configure the following options:
- Issue credits for the days when – here you can choose under which conditions to issue credits for a subscription fee.
Customers may not have access to the service due to suspension, block, account expiration, or lack of funds. To exclude charges for the days when no service was provided, a subscription fee is charged in full and then credits are issued for the days when no service was available. By default, credits for a subscription fee are issued under all conditions: the account was expired, the account or customer was blocked, the customer was suspended, or no funds were available (the balance of a customer or an individual account reached the credit limit or ran out of available funds).
Clear the checkboxes if you want to charge the subscription fee for these days.
- Skip credits, charge in full – when one or several conditions are set to issue credits for a subscription fee, you can skip credits for the first, last, or/and regular billing periods by selecting the corresponding checkbox.
- Description – you can specify an extended description of this subscription plan. Type “30 basic, 5 sport channels. WHDVR, VOD catalogue.”
- Issue credits for the days when – here you can choose under which conditions to issue credits for a subscription fee.
- Go to the Fees panel and fill in the required information:
- Round up to – leave the default value unchanged if you want to calculate charges with the maximum available precision; otherwise, see the UI help for more details about setting up rounding.
- Activation tax transaction code – specify the internal tax transaction code from the list. PortaBilling will use this code to extract taxation codes for EZTax, Avalara, GST or SureTax taxation plug-ins and send them for tax processing for services covered by a subscription activation fee.
- Monthly fee – click the
icon to select a specific billing period the periodic fee value will be defined for.
You can manage the periodic fee value for different billing periods. When another billing period is selected in the Show rates for drop down list, the Periodic Fee field is populated with auto-calculated fee values (e.g., if a $10.00 periodic fee is defined for customers with a monthly billing period, a $2.33333 periodic fee will be applied to customers with a weekly billing period, etc). Of course, you may change the actual values afterwards (e.g., make weekly billing more expensive by setting the fee to $3.00).
-
- Prorate fee for the partial billing period – when a customer signs up for/cancels a subscription in the middle of a billing period, you can charge either a prorated or full periodic fee. By default, customers are charged a prorated fee based on the number of days the subscription is active during the first/last partial billing period.
- First billing period – select the checkbox to charge a prorated fee for the first billing period. Clear the checkbox to charge customers a full periodic fee, no matter when they activate their subscription.
- Last billing period – select the checkbox to charge a prorated fee for the last billing period. Clear the checkbox to charge customers a full periodic fee, no matter when they cancel their subscription. If you set up the non-prorated (full) fee, credits may still be issued for the days when a customer cannot use the service due to service suspension, block, having exceeded credit limit, etc. (credits are issued according to the Issue credits for the days when and Skip credits, charge in full options configuration).
- Usage tax transaction code – specify the internal tax transaction code from the list. PortaBilling will use this code to extract taxation codes for EZTax, Avalara, GST or SureTax taxation plug-ins and send them for tax processing for services covered by the periodic subscription fees.
- Minimum subscription period – time (in months) during which the customer must keep the subscription plan active in order to avoid penalties. Leave this field empty to create a subscription plan that can be closed at any time.
- Early cancellation penalty – if the subscription is cancelled earlier than the minimum subscription period, a one-time fee is applied. The following options are available:
- Fixed – a fixed charge is applied without taking account of when the subscription was cancelled.
- Remaining subscription charges – the charge will depend on when the subscription was cancelled.
- Cancellation tax transaction code – specify the internal tax transaction code from the list. PortaBilling will use this code to extract taxation codes for EZTax, Avalara, GST or SureTax taxation plug-ins and send them for tax processing for services covered by the subscription cancellation fee (e.g., administrative costs).
- Prorate fee for the partial billing period – when a customer signs up for/cancels a subscription in the middle of a billing period, you can charge either a prorated or full periodic fee. By default, customers are charged a prorated fee based on the number of days the subscription is active during the first/last partial billing period.
- Click Save to save the Subscription plan.
- Repeat the above procedure for all your subscriptions.
To create the “PremiumTV” subscription, repeat steps 2–7, but in the Periodic Fee field in step 2, type“40.” and in the Description field in step 5 type “30 basic, 10 sport, 10 movie and 10 music channels. WHDVR, VOD catalogue, caller ID presentation”.
Create products
Create the “Basic TV” product.
- On the navigation menu, select Service catalog and click Products.
- On the Create product panel, fill in the product details:
- Name – type in a short name for the product; this is the name you will see in the select menus.
- Name visible to end users – specify the name of this product that your customers will see on their self-care interface.
- Product type – select Main product here.
- Currency – choose a currency the product will be priced in.
- Managed by – select Administrator only here, since we are setting up a service without the involvement of resellers.
- Account default ACL – choose an Access control list (ACL) for accounts with this product assigned. ACLs control which objects end users can access to and which actions they can perform.
- Account role – select Universal from the list.
- Click Save.
Services
Define which service types are included in the product. A service type is a description of the physical service provided to end users.
To add a service type:
- On your product’s panel, click Services.
- On the Services panel, click Add a service.
- In the Select services to add dialog box, select IPTV and click Add.
Service configuration
Define the default values of the service attributes for all the accounts that this product will be assigned to.
Go to the IPTV configuration panel and make the following configurations:
- Use a slider to enable the IPTV feature.
- Service package – applicable only for the Minerva platform. This list contains predefined sets of services created earlier via the Minerva interface. Select Start from the list.
- Channel package – this list contains predefined sets of channels that allow you to set different channel packages created earlier via the Minerva, MatrixStream or Telebreeze interface. Select Basic from the list. Click
Add to add another channel package field. Select Sport for this field.
Assign a subscription
- Click Charges on your product’s panel, then click General info.
- On the General info panel, select Subscription.
- On the Subscriptions panel, select BasicTV from the Subscriptions list. You will see brief information about this subscription below.
- Click the Save button to save the product configurations.
To create the Premium TV product, repeat the aforementioned steps, but:
- from the Channel packages list, select Gold Package; for Minerva, add another service packages field and select Caller ID Presentation for it.
- from the Subscriptions list, select the PremiumTV subscription.
Create a customer and accounts
When you create an account in PortaBilling using a related product, a corresponding subscriber will automatically be created on the IPTV platform side:
- in MatrixStream, the Subscriber ID corresponds to the Account ID in PortaBilling.
- in Minerva, the customer ID corresponds to either a combination of a PortaBilling account ID and a billing environment index number ({account_id}_{i_env}) or a PortaBilling account index number ({i_account}). Either the Minerva or MatrixStream service plan corresponds to the PortaBilling product.
- in Telebreeze, the Customer ID corresponds to a combination of a PortaBilling account ID and a billing environment index number ({account_id}_{i_env}.
Create custom fields (for Telebreeze IPTV)
An end-user who uses IPTV services via Telebreeze is authenticated by either a device ID or Telebreeze login/password. This information is defined in custom fields.
- On the navigation menu, select My company, and then select Custom data.
- On the Create custom data panel, fill in the following information:
- Name – type Password.
- Object – select Account
- Type – leave Text.
- Mandatory – enable this checkbox to make this field mandatory.
- Visible to the end user – enable this checkbox to allow users to edit this field.
- Contains personal data – enable this option to anonymize your user’s personal data (e.g., driver’s license or insurance ID) for your staff members who, according to GDPR, are not allowed to access it.
- Click Save.
- Repeat steps 1–3 to create a custom field for the device ID. In step 2, leave the Mandatory option disabled.
Create a customer class
By having a customer class, you have the ability to define a group of parameters in a centralized manner and then apply those parameters to many customers simultaneously.
- On the navigation menu, select Sales, then select Customer classes.
- On the Create a customer class panel, fill in the customer class details:
- Name – type a short name for this customer class.
- Business model – select which customers this customer class will apply to. Select Universal from the list.
- Currency – specify the currency in which you want to set the Collection threshold. When specified, this customer class can only be assigned to customers with the same currency. Once the currency selection is saved, it cannot be changed.
- Managed by – select Administrator only.
- Click Save.
- On the Custom fields panel, select the custom fields you have created.
- Configure other parameters for the customer class as described in the Basic residential VoIP services handbook.
- Click Save.
Create a customer
Create a customer (“John Doe”) who will use IPTV services:
- On the navigation menu, select Sales, then select Customers.
- On the Create customer panel, fill in the customer details:
- Name – a short name for the customer; this will be used on the web interface. Type “Joe Doe.”
- Balance control – specify the way the customer will pay for the service: Postpaid – after consuming the services; Prepaid – prior to consuming the services. Select Postpaid in this field.
- Currency – choose the currency in which this customer will be billed. Select USD – US Dollar.
- Credit limit – assign a credit limit for the customer.
- Business model – a business model defines what type of service is to be provided to the customer. Select Universal for this customer.
- Customer class – either select the customer class you have created or leave the Default customer class.
- Billing period – choose a billing period for the customer. A billing period defines the frequency of invoicing for this customer.
- Billing period time zone – choose a time zone in which customer’s billing period will be closed and invoices will be generated.
- Click Save.
Create accounts
Add an account under the created customer. This account will use the Basic TV product:
- On your customer’s panel, click Accounts.
- On the Create an account panel, specify the account’s details:
- ID – the ID which will be used to authorize IPTV access.
- Account role – select Universal.
- Product – select the Basic TV from the list.
- Activation date – the date from which the account is usable.
- Service password – the account ID and this password are used to authenticate IPTV users. Make sure you choose a password that is difficult to guess or crack. Use the Auto button next to the Service password field to generate a secure password.
- Type – select Credit for your postpaid IPTV users.
- Balance control – select Subordinate from the list.
- On the General info panel, select Address info and specify the phone number. In Minerva, phone numbers can be used as activation codes for the auto provisioning of set-top boxes (STB). To provision the phone number to Minerva, specify it in the Phone field. This phone number will then be sent to Minerva’s homePhone field.
- On the Service configuration panel, select IPTV and provide the following information:
- Click Save.
Let’s assume that John Doe wants to use one more STB, this time with the Gold channel package and additional Caller ID Presentation service package. Then repeat steps 1–5, but in step 2 select Premium TV as the main product.