MVNO Service Provisioning 


MVNO case without real-time authorization and rating


Initial configuration of PortaBilling®

Configure ESPF event handler module

Configure xDR importer

Create a node

Create a vendor tariff

Enter rates

Create a vendor

Define connections

Create a tariff for end users

Create a bundled product

Enter SIM cards into the SIM card inventory

Create invoice template

Create customer class

Create a customer

Create an account

Create an account for combined mobile and SIP services access


MVNO (Mobile Virtual Network Operator) is a mobile service operator that does not have its own network infrastructure for providing mobile services to its customers. Instead, MVNOs lease network capacity from existing mobile carriers and then perform service provisioning and billing under their own brand names that are different from the carrier names.


In the MVNO model, PortaBilling® provides the customer management, rating and invoicing platform. End users use the mobile carrier network but are billed by the MVNO.


As PortaBilling® is at the core of the MVNO network, it interacts with the mobile carrier. The interaction can occur in real-time, meaning that real-time user authorization and rating are performed.


Alternatively, MVNOs can also operate without real-time authorization and rating. In this case, data acquired from the mobile carrier is imported into PortaBilling® for processing and creating customer invoices.


This chapter demonstrates how to configure PortaBilling® for MVNO without real-time authorization and rating.

MVNO case without real-time authorization and rating

For every MVNO business model, two main aspects must be considered:

·       How account activation/deactivation done via PortaBilling® will be mapped/provisioned to the mobile carrier’s network;

·       The format that the carrier will use to send xDRs so that they are correctly imported and processed by PortaBilling®.


PortaBilling® has flexible tools for handling these aspects individually. Account management is done by developing the special ESPF (External Systems Provisioning Framework) which will map and transmit all events occurring in PortaBilling® (account activation, balance top up, service suspension, etc.) to the carrier’s network.


The xDR Mediation utility performs the xDR import according to the carrier’s CDR format. It can be configured to import xDRs in any format so that PortaBilling® can properly process them and correctly charge the customers.


Please submit a request to for the ESPF and xDR import configuration guidelines and assistance.


The following business scenario is an example that illustrates the service configuration provided by an MVNO:


You are the MVNO operating on the Vodafone network. You provide the service bundle, which includes Voice calls, Internet data transfer and Messaging, to your customers.


At the end of each billing period Vodafone sends xDRs to you that are then imported into PortaBilling® and processed. Customers are invoiced for their service usage based on this acquired data.


The steps below first demonstrate how to configure the Voice calls service. After you are done with Voice calls service, configure the remaining Internet access and Messaging services as described in the LTE Configuration and SMS Services handbooks, and include them in the bundled product.


Please refer to the PortaBilling Help for detailed instructions on how to navigate and operate the web interface, as well as for detailed explanations of particular fields.


Print the following page and use it 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.






General сonfiguration


Perform initial configuration of PortaSwitch as described in the Initial Configuration of PortaBilling® handbook

[     ]

Contact PortaOne support for the ESPF event handler module configuration

[     ]

Network configuration


Configure the xDR import as described in the xDR Import Configuration handbook

[     ]

Create a node that represents the CDR Rating instance

[     ]

Rating configuration (Vendor)


Create a tariff (referred to as tariff A later on) that describes your termination costs and routing for off-net calls (make sure it is not the Routing type!)

[     ]

Upload the rates provided by the mobile carrier in tariff A  

[     ]

Create a vendor

[     ]

Create a connection for this vendor using tariff A

[     ]

Rating configuration (Customer)


Create a tariff (referred to as tariff B later on) that will be applied to users for making outgoing calls

[     ]

Create a tariff (referred to as tariff C later on) that will be applied to users for receiving incoming calls

[     ]

Enter rates in tariff B for the destinations that your customers will call (both on-net and off-net calls)

[     ]

Enter rates in tariff C for the destinations that your customers receive incoming calls from

[     ]

Product configuration


Create a bundled product

[     ]

Create a rating entry for this product for the Voice Calls service and tariff B. Leave the Node and Access Code fields empty

[     ]

Create a rating entry for this product, associating the Voice Calls service and tariff C with the INCOMING Access сode. Leave the Node field empty

[     ]

Add a SIM card into the SIM card inventory

[     ]

Account provisioning


Create an invoice template

[     ]

Create a customer class for your customers

[     ]

Create a residential customer

[     ]

Create an account for this customer and assign the SIM card to it

[     ]

Initial configuration of PortaBilling®

If you have just installed the PortaBilling® software or dedicated a new billing environment to configure the services described in this handbook, make sure to first perform the initial configuration of PortaBilling®. To do this, use the PortaBilling® Initial Configuration handbook.

Configure ESPF event handler module

ESPF (External System Provisioning Framework) is the event handler framework for provisioning service configuration and account management operations done in PortaBilling® to the mobile carrier’s core.


It consists of events that are processed by handlers – special Perl modules. The events processing results are sent to the carrier’s core.


Since there is no unified interface for mobile core systems, the modules are individually developed for you. Please refer to the PortaSwitch® External System Interfaces Guide for guidelines to the ESPF configuration. For further assistance, please contact our support team by submitting a request to

Configure the xDR import

Prior to configuring the xDR Mediation utility, obtain the .CSV file from your carrier that contains examples of CDRs to be imported to PortaBilling®.


Submit a request to for assistance with implementing and configuring the module for the xDR Mediation utility. If you wish to configure the xDR Mediation utility on your own, follow the instructions provided in the xDR Import Configuration handbook.

Create a node

At this step it is necessary to create a node that represents the xDR Mediation utility.


1.      On the Navigation menu on the left, select Infrastructure, then Billing data sources and click Nodes.


Navigation menu


2.      On the Create node panel, fill in the node details:


Create a node


·       Name – a short descriptive name for the node (that will be used in the lists).

·       Node ID – enter the IP address assigned to the CDR Rating instance on the Configuration server web interface.

·       IP – the IP address assigned to the CDR Rating instance on the Configuration server web interface

·       Manufacturer – select PortaOne.

·       Type – select Generic.

3.      Click Save.

4.      On the Communication with billing panel enable the Enable communication with billing option.


Configure the node


5.      Client protocol – leave RADIUS, since the xDR Mediation utility (node) must be able to communicate with PortaBilling® via RADIUS.

6.      RADIUS key – specify the authentication key used for communication with PortaBilling® via RADIUS. Specify SecretKey here.

NOTE: The RADIUS key value can be found in the /home/porta-cdrimport/etc/cdr_importer.<xdr-import_instance_name>.conf file in the [Radius] section.

7.      Click the Save button in the toolbar to save the changes.

Create a vendor tariff

The tariff is a single price list of calling services or for your termination costs. PortaBilling® requires that every call be accounted for both on the revenue side (customers) and on the cost side (vendors). Therefore the tariff is used to calculate your costs.


Since xDRs are imported into PortaBilling® for sessions already completed and the vendor must not participate in call routing, the Routing option must be disabled for the vendor tariff.


1.      In the upper left-hand corner click the  menu icon, select Service catalog, then Tariffs.

2.      On the Create panel fill in the Create tariff form:


Create a vendor tariff


·       Name – a short name for the tariff object; this is the name you see in select menus.

·       Currency – indicates the currency in which the vendor charges you.

NOTE: The currency for the tariff may only be chosen once and cannot be changed later.

·       Service – select Voice calls here.

·       Applied to – select Vendor.

·       Routing – disable.


3.      Click Save.

Enter rates

Rates are per-destination prices. Please refer to the Call Billing Parameters section of the PortaBilling Administrator Guide for more information on billing parameters.


Depending on whether or not you control the vendor costs in PortaBilling® by creating vendor xDRs, specify the rates for the following destinations in the tariff:

·       Enter the symbolic destination “|” (pipe) and specify a zero price for it if you do not control vendor costs, or

·       Upload the rates for geographical destinations according to the tariff sheet acquired from the carrier.


Please consult the Rate import handbook for more details.


Perform the Create tariff and Enter rates steps described above until you have created tariffs for other services you provide (LTE and Messaging services).

Create a vendor

Vendors are your termination partners. PortaBilling® requires that every call be accounted for on both the revenue side (customers) and on the cost side (vendors). In the case of calls going via the mobile carrier’s network, no vendor (in the traditional sense) is involved – so you still need to create a vendor which will be used to keep the xDRs for these calls. This vendor and the connections to the vendor are required in order to properly bill for calls.


1.      On the navigation menu on the left, select Infrastructure, then Vendors.

2.      Click Create and fill in the Create vendor form.


Create a vendor


3.      Click Save.

4.      Continue configuring the vendor as described in the Basic Residential VoIP Services handbook.

Define connections

A connection represents the point from which calls leave or enter your network and are directed to or from vendors where charges are incurred.


1.      From the edit Vendor panel, select Connections.

2.      Click Create and fill in the Connection create form.


Create a connection


·       Description – specify the descriptive name for this connection. It will be displayed in the list of connections.

·       Service type – select Voice.

·       Type of connections – select SIP.

·       Direction – select To vendor.

·       Tariff – choose the tariff that defines your termination costs for this connection/vendor.

·       Active – disable to exclude the connection from routing.

·       Internal – leave disabled.

·       Identify gateway by – choose how to identify the gateway: If your vendor mentions which gateway was used for your calls in xDRs, mention this gateway’s IP address in the Remote IP field.

If the IP address of the vendor’s gateway is not mentioned, specify any IP address since this connection is only used for associating a tariff with the vendor.

·       Specify the IP address and/or ID of the vendor’s gateway or switch.

·       Capacity – fill in the maximum number of simultaneous calls.

3.      Click Save.

4.      Click the Save button in the toolbar to save the changes.

Create a tariff for end users

To enable your customers to make and receive calls it is necessary to create two tariffs: one to apply for outgoing calls and another one for incoming calls and then to enter the rates to these tariffs.


Please follow the steps described in the Create Customer Tariffs and Enter Rates sections of the Basic Residential VoIP Service handbook to create customer tariffs. 


Create a customer tariff


Create a bundled product

End users will use accounts issued for specific products to access the services you provide. Products are powerful tools that define different ways for billing an account for one or several included services. Product definition is always realized through these steps: product definition, service definition and configuration and creating a rating list.


1.      On the navigation menu on the left, select Service catalog, then Products.

2.      Click Create and fill in the Create product form:


Create a product


·       Name – type in the internal name of the product.

·       Name visible to end-users – specify the name of the product that your customers will see on their self-care interface.

·       Product type – select Main product here.

·       Currency – specify the currency used for the product; only tariffs sharing the same currency are permitted in the rating list.

·       Managed by – select Administrator only here, since a service is being set up without the involvement of resellers.

·       Account default ACL – select Account self-care. This account control list is then assigned to accounts using this product.

·       Account role – select Mobile from the list since this product is intended for use by mobile subscribers.

·       Realm – in order to distinguish products for mobile services from other products, they are created with a @msisdn realm. Leave this field empty.


 TIP: if you want to impose a scope of uniqueness for the product and accounts that use it, first configure a sub-realm for it on the Configuration server and then select it here.


3.      Click Save.


1.      On the Product panel select Services and click Add a service.


Add services


2.      Select Voice calls.

3.      Click Add.


The rating list has two functions: it defines the permitted access points (nodes and access numbers) and specifies which tariff should be used for billing for each of these points. At this step, two rating entries must be created – one for handling outgoing calls and one for handling incoming calls.


1.      On the Product panel in the Charges section select Usage charges and click Add.

2.      Define the Usage charges details:


Add rating entries


·       Service – select Voice calls.

·       Node – select the node you created for the xDR import (xDR in our example).

·       Access code – leave this field empty.

·       Tariff – select the tariff used to calculate charges for outgoing calls.

3.      Click Save.


4.      Click Add to add the second rating entry and define the following:


Add more entries


·       Service – select Voice calls.

·       Node – the node you have created for the xDR import (xDR in our example).

·       Access code – type INCOMING into this field.

·       Tariff – the tariff that will be used to calculate charges for incoming calls.

5.      Click Save.


Save the rating entries


6.      Click the Save button in the toolbar to save the product.


Now you are done with configuring the Voice calls service. Configure the remaining Internet Access and Messaging services as described in the Broadband Internet Access Services and SMS Services handbooks, and include them in the bundled product.


Check rating entries


Enter SIM cards into the SIM card inventory

In order to provision SIM cards, they must be entered into the SIM Card Inventory – the unified storage space for the provisioned SIM cards. SIM cards can be added to a SIM card inventory either manually, i.e., one at a time, or can be bulk uploaded from a .csv file.

Add SIM cards one by one

1.      From the Infrastructure section, select Inventory and then SIM cards.

2.      Click Create and fill in the Create SIM card form:


Create a sim card


·       IMSI – enter the unique International Mobile Subscriber Identity of the card here.

·       Managed by – select Administrator only.

·       ICCID – type the SIM card’s unique serial number into this field (it can be found on the back of the SIM card). (The minimum length is ‘19’).

·       Authentication Key – type in the authentication key value associated with this SIM card. This key will be used during card authentication on the mobile network and for communication encryption between the SIM card and the mobile network. (The key length should be equal to ‘32’)

·       OPc Key – enter here the operator key that is associated with and stored on this SIM card. (The key length should be equal to ‘32’)

·       AMF – specify the authentication code to be added to the SIM authentication request.

·       HLR – specify the home location register name. The maximum number of text characters is 255.

·       Description – provide a description for this SIM card.

3.      Click Save.

4.      Repeat steps 1-4 to enter more SIM cards into the SIM card inventory.

Bulk upload SIM cards

You can bulk upload SIM cards into the SIM card inventory from the .csv file. To do this, follow the steps below:


1.      From the Infrastructure section of the main menu select Inventory and then SIM cards.

2.      Click Upload.

3.      In the Upload SIM Cards dialog box, specify the file location (click Browse and select the .csv file), and then click Upload.


Create a sim card


Adobe SystemsFind out more about SIM card upload and the .csv file structure in the PortaBilling® Help.

Create invoice template

At the end of a billing period, you can produce invoices for your customers. The invoice reflects all transactions (calls, payments, refunds, subscription charges, etc.) that occurred during a specific period. It serves as the primary record of services provided to a certain customer as well as the primary record of their current status. To enable invoice generation you need to create a template for the invoice layout first.


Even if you do not plan to distribute invoices to customers (e.g., invoices are produced by an external accounting system), it is still a good idea to create a template and use the word “statement” instead of “invoice.” This way your customers will always have up-to-date information about the history of their service consumption.


1.      On the navigation menu, select My company and click Templates.

2.      On the Create a templates panel, fill in the template details:

·       Name – type a name for the template object; this will be used on the web interface.

·       Template type – select Invoice.

·       Managed by – select Administrator only.


Create a template


3.      Click Save.

Create customer class

Having a customer class provides the capability to define a group of parameters in a centralized manner, and then apply those parameters to many customers simultaneously.


1.      From the Sales section of the main menu, select Customer Classes.

2.      Click Create and fill in the Create a customer class form:


Add a customer class


·       Name – provide a short name for this customer class.

·       Business model – select Mobile from the list.

·       Currency – specify which currency you want to set the Collection threshold to. When specified, this customer class can only be assigned to customers using the same currency. Once the currency selection is saved, it cannot be changed.

·       Managed by – select Administrator only from the list.

3.      Click Save.


4.      On the Edit customer class panel select Finances and click General info.

5.      On the General info panel configure the following:


Configure the customer class


·       The billing period is closed – select Automatically.

·       Statistics:

o   Generate invoices – leave enabled.

o   Send statistics via email – choose how you provide statistics to your customers.

·       Status change – for now, you may leave these options disabled. If you change these later, the changes automatically affect all customers who are already assigned to this customer class.


6.      From the Finances section selectInvoicing.

7.      From the Invoicing panel select Regular invoices.


Configure invoicing


·       Use regular invoices – enable this option to generate invoices for customers who belong to this customer class.

·       Invoice template – select the previously created template.

·       Generate invoice pdf – leave At the end of the billing period.

·       Configure payment terms, payment collection parameters and actions if an invoice is overdue.


8.      From the Finances section selectTaxation.


Configure taxation


9.      On the Taxation panel, select the taxation method and specify the taxation parameters for the selected taxation method. For inclusive taxation (Tax included in the rate), select which taxes will be calculated.

10.   Click Save.

Create a customer

A customer is an owner of accounts. The customer’s contact information is used to distribute account usage information, call statistics, invoices, and so on.


1.      From the Sales section of the main menu, select Customers.

2.      Click Create and fill in the Create a customer form:


Jane Roe


·       Name – short name for the customer object; that is used on the web interface.

·       Balance control – since you import and process xDRs received from your MNO and then charge your customers, select Postpaid in this field.

·       Currency – the currency in which this customer will be billed. This is defined by the customer class selected.

·       Credit limit – assign a credit limit for the customer.

·       Business model – select Mobile from the list.

·       Customer class – customer class allows you to define a policy for automated payment collection. By choosing a specific class the customer automatically inherits all of the class properties (grace period, invoice template, etc.). Select the previously created Texas customer class.

·       Billing period – frequency of invoice generation. For more details about the different available billing periods, see the PortaBilling Administrator Guide.

·       Billing period time zone – this is the time zone in which a customer’s billing period is closed and invoices are generated.

3.      Click Save.

General info panel

1.      On the edit Customer panel select Personal.

2.     Select General info and fill in the customer’s personal information:


Add the general info


·       Name – customer’s name.

·       Middle name – customer’s middle name.

·       Last name – customer’s last name.

·       Email – an email address for distributing accounting information. After the billing period is over, a list of xDRs and other statistics are sent to this address.

Services panel

Configure services for the customer


Using this panel, you can activate/deactivate various features of the services provided to customers. Note that features are defined per service type (the physical service provided to the user such as Conferencing, Data service, Voice calls, Messaging, etc.)


This panel provides you with a convenient tool for managing parameters that must be the same for an entire set of accounts. Instead of trying to configure them for each individual account, you can define them once at the customer level, then in the account configuration, specify that the value in the customer’s configuration be used. Should you wish to change this value later, you need only modify it once for the change to be automatically propagated to all accounts.


Click  Help for a description of other parameters available here. For now you may leave these with their default values. If you change them later, these changes will automatically affect all accounts created under this customer.


4.      Click Save.

Create an account

1.      On the edit Customer panel click Accounts.

2.      On the Create an account panel, fill in the account details:


Configure the account


·       IDyou can type in the user’s mobile phone number manually or provision it from the DID inventory.

·       Account role – the intended usage for this account. Select Mobile from the list.

·       IMSI – click the  icon and provision a SIM card to this account from the SIM card inventory.

·       Product – select the main product that you want your account to have.

·       Activation date – select the date upon which the account can be used. By default, the account is activated immediately upon creation.

·       Service password – together with the account ID, this password will be used to authenticate registrations and call attempts on the SIP server. It is very important to assign a secure (difficult to guess) password to prevent the account from being wrongfully entered and used to inject fraudulent calls to your network.

·       Type – account type; select credit for postpaid and debit for prepaid service. Choose Credit in this field.

·       Balance control – choose the way the account balance is controlled. Choose Subordinate in this field.

Web self-care panel

1.      On the Personal info panel select General info.

2.      On the General info panel select Web self-care and fill in the Web self-care form:


Configure web self-care access


·       Login – account login to web self-care portal. Can be the same as the account ID.

·       Password – password for the web self-care pages.

·       Time zone – the time zone for the account self-care interface.

·       Web interface language – the language use on the account self-care web interface.

Services panel

Using this panel, you can activate/deactivate various features of services provided to this account. Note that features are defined per service type (the physical service provided to the user such as Conferencing, Data service, Voice calls, Messaging, etc.)


3.      After clicking Save, you will see a confirmation screen announcing that a new account has been created.


Create an account for combined mobile and SIP services access

_Hint_ExclamationMark If you operate as a SIP service provider (e.g., cloud PBX solution) and MVNO, you can enable your customers to have several phone numbers. One can be used for SIP services while another can be used for mobile services. In this case, there will be an account containing the actual balance and other billing information, and an account alias associated with it.


When a phone number assigned as an alias is authenticated, PortaBilling® retrieves information about the main account and uses its balance, product and other parameters for all further operations.


Let’s say that your PBX customer ABC company wishes that their employees have one phone number for internal communication and another one for mobile services.


To do this, modify the configuration of the main product that is used for accessing SIP services and include access to the mobile services as described in the steps above.


Modify the main product


To differentiate among phone numbers used for SIP services and those used for mobile, it is necessary to assign an alias with the mobile account role to the account. This is done by first creating an add-on product with a mobile account role and then assigning this add-on to the main account.


1.      Create an add-on product with the Mobile account role and associate it with the main product.


Create add-on


2.      Click Save.

3.      From the Edit product panel select Additional information.


 Allow add-on with the main product


4.      On the Additional information panel click Add product for the Add-on product is allowed with option.

5.      Select the main product and click OK.

6.      Click Save.


7.      Find the account you wish to modify and on the Edit account panel select Finances, then Add-on products.


Assign an add-on to the account


8.      On the Select add-on products to add panel select the add-on product to be used with the main one for the SIP services.

9.      Click Save.

10.   From the Personal info section select Account alias.  Fill in the alias details on the Alias create panel:


Create an alias


·       Account role – select Mobile.

·       Alias ID – type in the mobile phone number or provision it from the DID inventory.

·       Select MSISDN realm.

·       Click Save.  

11.   On the Account toolbar click Save.