SMS service configuration for MVNO

Link copied to clipboard

This handbook demonstrates how a Mobile Virtual Network Operator (MVNO) can configure in PortaBilling the charging of SMS (Short Message Service).

To send and deliver SMS messages, MVNOs typically rely on the infrastructure of Mobile Network Operators (MNOs), which includes the Short Message Service Center (SMSC) as the core component responsible for receiving and delivering SMS messages.

The SMSC communicates with PortaBilling via the Diameter (Ro) interface for real-time authorization (AAA) and charging for outgoing SMS messages.

SMS service configuration for MVNO

Example
Link copied to clipboard

MVNO offers a bundle “1000 minutes of domestic voice calls, 5 GB of wireless data, and 200 domestic SMS for $19.

Here, we will focus solely on configuring the SMS service included in the bundle. Refer to the “LTE configuration” and “Voice calls service configuration for MVNO” step-by-step configuration guides for information on configuring internet access and voice calls correspondingly.

Preparation

Link copied to clipboard

Before you proceed with the configuration steps, coordinate with your MNO on the following:

  1. If you have not enabled billing via the Diameter protocol yet, you need to decide on the “host” and “realm” values that will be used as your system identifiers in the mobile network, e.g., ocs.company-domain.com as “host” and company-domain.com as “realm.” The MNO’s network equipment should be configured with these identifiers, for the equipment to “know” where to send the Diameter requests (these values will be specified in the Destination-Host and Destination-Realm attribute-value pairs). These values should also be set on the Configuration server web interface within the Origin-Host and Origin-Realm options.
    Enabling the Diameter module using these identifiers is a common step for configuring LTE, voice calls, and SMS. If you have already configured LTE service or voice calls, you can skip this step. For SMS, billing via Diameter Ro should be separately enabled (see configuration step 1.3).
  2. Obtain the MNO’s SMSC identifiers to further specify them in the node settings. These identifiers are sent in the Origin-Host (e.g., ucn1.epc.3gppnetwork.org) and Origin-Realm (e.g., epc.3gppnetwork.org) AVPs (attribute-value pairs) in the Diameter requests sent from the mobile network to PortaBilling. This way, PortaBilling will be able to “understand” which piece of network equipment it’s interacting with. In case of roaming, prices will depend on the operator tier. Therefore, it will be necessary to create separate tariffs depending on the pricing tier. This depends on various factors, including your circumstances and your roaming hub provider. For more details, please contact our support team.
    Skip this step if your MNO uses the same piece of equipment for both voice calls and SMS, and if you have already configured the node during the setup of the voice call service.

Configuration overview

Link copied to clipboard
  1. Setup on the Configuration server web interface
  2. Enable the external systems provisioning framework
  3. Create a node
  4. Create a service policy
  5. Configure MNO as a vendor:
    1. Create a vendor tariff
    2. Create a vendor
    3. Define a vendor connection
  6. Set up the service package:
    1. Create a customer tariff
    2. Create a destination group set and a destination group
    3. Create a bundle and define the SMS quota
    4. Create a product
  7. Upload mobile phone numbers (MSISDNs) into the DID inventory
  8. Upload SIM cards into the SIM card inventory
  9. Configure a mobile Internet subscriber:
    1. Create a customer
    2. Create an account

1. Setup on the Configuration server web interface

Link copied to clipboard

To set up the messaging service, ensure that the corresponding service type is enabled in the system. Also, allow the PortaBilling server to exchange packages with the mobile network via the Diameter Ro protocol.

For this, log in to the Configuration server web interface and perform the following steps:

1.1 To enable the messaging service type, set the MessagingService_Enabled option to Yes.

Set the MessagingService_Enabled option to Yes

If you have already configured billing via the Diameter Ro for voice calls, skip steps 1.2 and 1.3 and proceed directly to step 2.

1.2 To allow billing via the Diameter protocol, go to BillingEngine > Diameter group and configure the following global options:

  • Enabled – set to Yes.
  • Origin_Host – specify the “host” value that is configured as your system identifier on the MNO’s network equipment, e.g., ocs.company-domain.com (on the MNO’s side, it’s the Destination-Host value).
  • Origin_Realm – specify the “realm” value that is configured as your system identifier on the MNO’s network equipment, e.g., company-domain.com (on the MNO’s side, it’s the Destination-Realm value).

Leave the default values for other fields.

1.3 To enable billing via the Diameter Ro, set the GW_Adaptors.Ro_enabled option to Yes.

Allow billing via the Diameter protocol

2. Enable the External Systems Provisioning Framework

Link copied to clipboard
Skip this step if it has already been completed during the configuration of other services.

PortaBilling uses the External Systems Provisioning Framework (ESPF) to automatically notify the mobile core network when a new SIM card should be activated for a specific account and which policy rule to apply. The ESPF captures changes in the account configuration within PortaBilling and sends provisioning events, such as “SIM card has been assigned to an account” or “account product has changed,” to the mobile core network. Then, a code written by PortaOne or a third party translates those events into changes in the mobile core network, such as creation of a new record representing a SIM card with a specific IMSI in HLR/HSS.

For the step-by-step instruction on how to configure ESPF handlers and enable sending the needed events to the mobile core network, refer to the ESPF configuration handbook.

You can find the list of supported events here.

If you need to integrate your system with other equipment, the handlers can be individually developed for you. For assistance, please contact our support team by submitting a request to support@portaone.com and provide the corresponding documentation.

3. Create a node

Link copied to clipboard

You need to add the MNO’s SMSC as a node to enable it to exchange charging requests with PortaBilling.

If your MNO uses the same piece of equipment for both voice calls and SMS, and you have already configured the node during the setup of the voice call service, you can skip this step and proceed to step 4.

3.1 To add a node:

  1. Navigate to Infrastructure > Nodes.
  2. Click Add and fill in the node details:
    • Name – a short descriptive name for this node (e.g., “SMS Node”).
    • Node ID – specify the “host” value identifying the MNO’s equipment (on the MNO’s side it’s specified in the Origin-Host AVP, e.g., ucn1.epc.3gppnetwork.org).
    • IP – specify the IP address of the MNO’s equipment. Since the node will be identified solely by the Node ID, the IP address is used solely for information purposes.
    • Manufacturer – select PortaOne.
    • Type – select Generic.

      Create node

3.2 Enable the communication with PortaBilling via the Diameter protocol:

  1. Go to Node > Communication with billing.
  2. Turn on the Enable the communication with billing toggle.
    • Fill in the details:
    • Client protocol – select Diameter.
    • Realm – specify the “realm” value identifying the MNO’s equipment (on the MNO’s side it’s the Origin-Realm value, e.g., epc.3gppnetwork.org).

      Communication with billing

4. Create a service policy

Link copied to clipboard

PortaBilling is designed to calculate revenue and cost for each transaction to avoid revenue leaks. Therefore, regardless of the service provided, both "customer" and "vendor" entities have to be involved in each charging request. The MNO is configured as a “vendor.”

For the “vendor” entity a connection should be defined. Whenever charging for a messaging service via Diameter Ro protocol is configured in PortaBilling, the system requires a connection of the messaging type (the simplest one to create is an SMPP connection) with a service policy attached to it by design.

To create a service policy in PortaBilling, follow these steps:

  1. Navigate to Service catalog > Service policies.
  2. Click Add and fill in the details:
    • Name – specify a descriptive name (can be any).
    • Service type – select Messaging service.
    • Managed by – choose Administrator only.

      Create a service policy

5. Configure MNO as a vendor

Link copied to clipboard

A tariff needs to be specified for a vendor in PortaBilling to store the corresponding xDRs (extended Detail Records). This makes it possible to calculate the costs for messages transmitted via the network, which can be used for reconciliation.

The vendor tariff also allows you to calculate the costs incurred for utilizing the MNO's network resources.

5.1 Create a vendor tariff

Link copied to clipboard
  1. Navigate to Service catalog > Tariff.
  2. Click Add and fill in the tariff details:
    • Name – specify a descriptive name for the tariff, e.g., “Vendor SMS tariff,” which will be used within the system.
    • Currency – choose the currency in which the vendor charges you.
      The currency for the tariff may be chosen only once and cannot be changed later.
    • Service – select Messaging service.
    • Format – select E.164.
    • Applied to – choose Vendor.
    • Routing – leave this toggle disabled.

      Create tariff

  3. Open the Rates tab in the "Vendor SMS tariff."
    To add a rate, you need a destination. Make sure that the needed destinations have been added to the system. See more detail on how to create destinations in the Initial configuration of PortaBilling handbook.

    You can add rates one by one or upload them from a file. To download the file sample with all the required columns, click Rate download on the toolbar, then open the notifications tab and click download. To add a rate manually, click Add and fill in the rate details:

    • Rate code – type in a specific phone prefix directly or select it from the list.
    • Rating mode – select Flat rate.
    • Unit price – this is the price per SMS.

      Add rate

5.2 Create a vendor

Link copied to clipboard
This step is only required if you have not entered vendor information in the system before.
  1. Navigate to Infrastructure > Vendors.
  2. Click Add and fill in the vendor details:
    • Name – specify a descriptive name for the vendor (e.g., “LTE Vendor”).
    • Currency – leave the base currency.
    • Opening balance – this option is usually used when you migrate a vendor from a legacy system to PortaSwitch. Leave “0” here.
    • Billing period – choose a billing period for the vendor. A billing period defines how often the vendor will bill you, e.g., monthly.

      Create vendor

5.3 Define a vendor connection

Link copied to clipboard

By design, a connection needs to be defined for the “vendor” entity in PortaBilling. Since SMS messages are routed by the MNO and you only calculate charges for them, you can create a “dummy” connection:

  1. Open Vendor > Connections.
  2. Click Add and fill in the connection details:
    • Description – type in a short description for this connection (e.g., “SMS”).
    • Service type – select “Messaging service”.
    • Type of connections – select SMPP.
    • Tariff – select the vendor tariff that you created at step 5.1.
    • Active – leave this toggle disabled.
    • Internal – leave this toggle disabled.
    • Gateway ID – specify the “RO” value here.
    • Port – leave the default port (“2775”).
    • Service policy – select the service policy created at step 4.

      Create connection

6. Set up the service package

Link copied to clipboard

To provide SMS service to your customers as described in the example, you need to create a Product that includes:

  • A Bundle that includes 200 SMS.
  • A Tariff for messaging service with at least one rate, as it should always be included in any main product in PortaBilling.

6.1 Create a customer tariff

Link copied to clipboard
  1. Navigate to Service catalog > Tariffs.
  2. Click Add and fill in the tariff details:
    • Name – type in a short name for the customer tariff; this name will be shown within the system.
    • Currency – select the currency in which you will charge your customers.
    • Service – select Messaging service.
    • Applied to – select Customer as this tariff will be used to charge your customers.
    • Managed by – select Administrator only here.

      Create a customer tariff

  3. Open the Rates tab in the "Customer SMS tariff" tariff.
    To add a rate, you need a destination. Make sure that the needed destinations have been added to the system. See more details on how to create destinations in the Initial configuration of PortaBilling handbook.

    You can add rates one by one or upload them from a file. To download the file sample with all the required columns, click Rate download on the toolbar, then open the notifications tab and click download. To add a rate manually, click Add and fill in the rate details:

    • Rate code – type in a specific phone prefix directly or select it from the list.
    • Rating mode – select Flat rate here.
    • Unit price – specify price per SMS. If you do not plan to offer pay-as-you-go access beyond the consumed quota, you can specify the unit price as "0."

      Add rate to the customer tariff

6.2 Create a destination group set and a destination group

Link copied to clipboard

In PortaBilling, a bundle (step 6.3) always incorporates a destination group set, which must consist of at least one destination group. A destination group may include phone prefixes (e.g., 1206) and/or special destinations used for the services provided within the bundle.

To create a destination group set and a destination group:

  1. Navigate to Service catalog > Destination group sets.

    Navigate to Destination group sets

  2. Click Add and fill in the required information:
    • Name – type in a descriptive name for the destination group set (e.g., “World”).
    • Type – leave the default type Regular.

      Create Destination group set

  3. Open the created Destination group set.
  4. Click Add and fill in the Destination group name and description, e.g., “Spain”.

    Destination group name and description

  5. Click Save to save the destination group.
  6. To add the phone prefixes to the created destination group:
    • On the Destination group page, click the default All destinations group.

      All destinations

    • On the Destination search panel, specify the parameters (e.g., format, prefix, country) to find the required destination in the list and click Apply filters.

      Destination search

    • On the Destination list panel select the prefix you want to include in the destination group and click Assign to group.

      Assign to group

    • Select the destination group (“Spain”) and click Assign. The selected prefixes will be added automatically to the destination group.

      Assign

6.3 Create a bundle and define the SMS quota

Link copied to clipboard

The SMS quota (e.g., 200 SMS) that has auto-renewal for a defined renewal fee (e.g., $19) can be provided within a prepaid bundle.

To configure a bundle with the quota:

  1. Navigate to Service catalog > Bundles.

    Navigate to Bundles

  2. Click Add and fill in the bundle details:
    • Name – specify a unique bundle name (e.g., “5GB-1000min-200SMS”).
    • Currency – select the currency in which you charge your customers.
    • Destination group set – select the destination group set created at step 6.2.
    • Managed by – select “Administrator only”.
    • Apply bundle if a destination is found that – leave the default option “Matches the rate exactly”.
    • Bundle type – select “Repeated use with renewal”.
    • Automatic renewal – select “On sufficient fund” to automatically renew the bundle if the customer has enough ($19) on their balance.
    • Bundle lifetime, days – specify the value, e.g., 30 days.
    • Renewal fee – specify $19.
    • Description – optionally, you can add a short description for this bundle.

      Add bundle

  3. Click Save.
  4. Open the created Bundle and go to Bundle items.
  5. Click Add and fill in the bundle item details:
    • Service – select the Messaging service.
    • Destination group – select the destination group configured at step 6.2.
    • Measured as – select Service used.
    • Service volume  – specify 200 messages.

      Add bundle item

  6. Click Save (you will be redirected to the Bundle item panel).
  7. Go to Bundle item > Configuration and set up the bundle item according to the given example:
    • Set “Block the service” within the If the volume is used up option. This way, the SMS service will become unavailable when the allocated 200 SMS are used up.
    • Turn on the Allow rollovers toggle if you wish to allow rolling over the unused volume to the next 30-day cycle.

      Bundle item configuration

  8. Go to Bundle item > Notifications to configure notifications that will be sent to customers:
    • Notify end users when remaining service volume – set a specific value to notify a customer when their remaining service volume drops, e.g., to 10 SMS.
    • Service volume is depleted – turn on the toggle to notify customers when the allocated service volume (200 messages) is depleted.

      Bundle item notifications

  9. Click Save.

6.4 Create a product

Link copied to clipboard

Create a product which will be assigned to accounts for service provisioning:

  1. Navigate to Service catalog > Products.
  2. Click Add and fill in the product details:
    • Name – type in a short name for the product; this name will be used within the system.
    • Name visible to end users – specify the name of the product that your customers will see on their self-care web 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 and which actions they can perform.
    • Account role – select Mobile to associate this product with mobile subscribers.

      Create LTE product

  3. Click Save.
  4. Go to Product > Services and click Add to select services included in the product. To provide messaging service, you need to include two services: Mobile network provisioning (the default one, used for provisioning) and the Messaging service.
    To provide other services within this product, e.g., voice calls, include them in the list too.

     

    LTE product services

  5. Configure general info:
    • Go to Product > Charges > General info and fill in the details:
    • Overdraft protection – leave the toggle turned on (turning off the overdraft protection is not recommended for general use).
    • Default bundle – select the bundle created at step 6.3.

      LTE product general info

    • Click Save.
  6. Configure usage charges: The rating list has two functions: it defines permitted access points (nodes and access numbers), and specifies which tariff should be used for billing in each of these points.
    • On your product’s panel, click Charges, then click Usage charges.
    • On the Usage charges panel, click Add.
    • Fill in the required information:
      • Service – select Messaging service.
      • Node – select the SMS node created at step 3.
      • Access code – leave this field empty.
      • Tariff – select the tariff that applies to your customers when they use the messaging service.
      • Overdraft protection – to configure overdraft protection for this product, consult the Overdraft protection configuration handbook. In short, overdraft protection locks a certain amount of resources for each session. This enables the simultaneous consumption of the same quota across different sessions on various devices. Although it's typically not a concern for basic LTE service, where customers generally use only one SIM card, it's a good practice to leave the overdraft protection turned on.

        LTE product Usage charges

    • Click Save.

7. Upload mobile phone numbers (MSISDNs) into the DID inventory

Link copied to clipboard

Follow the instructions in the Managing available phone numbers (DID inventory) handbook to upload MSISDNs to the DID inventory.

8. Upload SIM cards into the SIM card inventory

Link copied to clipboard

Enter SIM cards into the SIM card inventory. You can add them manually (e.g., for testing purposes) or upload them from a file.

To manually add a SIM card, navigate to Infrastructure > Inventory > SIM cards, click Add, and fill in the details.

To upload SIM cards from a file, perform the following steps:

  1. Prepare a file in .csv, .xls or .xlsx format. Find the structure of the file in the table below:

Field

Mandatory

Format

Description

Action

Yes

Text. There are four possible defined values:

  • +

  • add

  • -

  • remove

This defines the action applied to the given SIM card: “+” or add for adding a SIM card to the inventory; “-” or remove for removing a SIM card from the inventory.

IMSI

Yes

Maximum 15 numerical characters.

The unique international mobile subscriber identity of the card.

ICCID

Minimum 19, maximum 20 numerical characters.

A SIM card’s unique serial number that can be found on the back of the SIM card.

KI

32 hexadecimal characters.

Authentication key used during card authentication on the mobile network and for communication encryption between a SIM card and a mobile network.

OPC

32 hexadecimal characters.

The operator key associated with and stored on this SIM card.

AMF

4 hexadecimal characters.

The authentication code added to the SIM authentication. request.

Description

Maximum 255 text characters.

Short description about a given SIM card.

HLR

Maximum 255 text characters.

Home location register name.

Managed by

Text

  • Leave this field empty if you want the SIM card to be managed by the Administrator only.

  • Specify a reseller’s name, if you want the SIM card to be managed by a specific reseller.

You can change your choice later for the uploaded SIM cards that are not in use.

The column headers are important! Make sure the field names and formatting in your upload file are correct.

 

SIM card list

  1. Navigate to Infrastructure > Inventory > SIM cards.
  2. Click Upload.

    Upload SIM Cards

  3. Drag and drop your file in the Upload SIM Cards dialog box or specify the file location (click Browse Browse and select the .csv file), and then click Upload.

9. Configure a mobile Internet subscriber

Link copied to clipboard

9.1 Create a customer

Link copied to clipboard

A customer is an owner of accounts. Customer contact information is used for distributing account usage information, Internet access statistics, invoices, etc. You usually need to create one customer per each retail prepaid user.

  1. On the navigation menu, select Sales, then select Customers.
  2. On the Create customer panel, fill in the customer details:
    • Name – type a short name for the customer object; this will be used on the web interface.
    • Balance control – select Prepaid in this field.
    • Currency – choose the currency in which this customer will be billed.
    • Available funds – the amount of funds available for the customer to spend on services (e.g., $19 for bundle activation). If the customer has a debit account, the account’s funds will be used.
    • Business model – a business model defines what type of service is to be provided to the customer. Select Mobile for this customer.
    • Customer class – customer class allows you to define a policy for automated payment collection. By choosing a specific class here the customer will automatically inherit all of the class properties (grace period, invoice template, etc.). Select the previously created customer class.
    • Billing period – choose a billing period for the customer.
    • Billing period time zone – choose a time zone in which the  customer’s billing period will be closed and invoices will be generated.

      Create LTE customer

  3. Click Save.

9.2 Create an account

Link copied to clipboard

Create an account for each device that has a unique SIM card.

  1. On your customer’s panel, click Accounts.
  2. On the Create an account panel, specify the account’s details:
    • ID – you can type in the user’s mobile phone number manually or provision it from the DID inventory.
    • Account role – select Mobile.
    • IMSI – click on IMSI icon and select one of the available SIM cards from the SIM Card Inventory dialog box.
    • Product – select the “LTE Product” here.
    • Activation date – the date from which the account is usable.
    • Type – select Credit.
    • Balance control – select Subordinate from the list (the account doesn’t have a separate balance – the customer’s prepaid balance will be used).

      Add account

  3. Click Save to create an account.

On this page

Release
What's new
Admin manuals
Handbooks
Developers documentation
UI help