Overview
Real-time authorization and rating is an important requirement for providing prepaid mobile services. PortaBilling fully supports this, allowing real-time charging for activities such as voice calls, sending SMSs and/or Internet usage.
With this solution, PortaBilling communicates with the EPC elements via the Diameter protocol for processing authorization requests and producing user charges. It also manages customer balance and service configuration (service policies, allocated quotas, etc.) and provisions this data to other components of the mobile network.
This chapter provides instructions for how to configure PortaBilling as the OCS (online-charging system) in the mobile network to perform real-time user authorization and charging.
If you operate as the MVNO, you need to interconnect PortaBilling with the MVNE’s EPC so that PortaBilling can accept and respond to authorization requests via the Diameter protocol.
Let’s say you are operating on the LTE network and provide the Internet access, voice calls and SMS services to your customers. Your SAE-GW and PortaBilling communicate with each other via Diameter (Gy) for Internet service provisioning and via Diameter (Ro) for voice calls and SMS delivery.
The steps below describe the configuration of voice calls and SMS services. Follow the instructions provided in the LTE сonfiguration handbook to configure Internet access services for your users on the LTE network.
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.
General configuration
Operation |
Done |
Contact PortaOne support for the ESPF event handler module configuration |
|
Enable the Diameter module on the Configuration server |
|
Configure Diameter (Ro) settings on the Configuration server |
|
Enable the PSTN type of connections on the Configuration server |
|
Enable the Netaccess and Messaging services on the Configuration server |
|
Create all required destinations |
|
Add the SAE-GW as a node |
|
Upload DID numbers to the DID inventory |
|
Upload SIM cards to the SIM card inventory |
Vendor configuration
Operation |
Done |
Create a tariff (later on referred to as tariff A) that describes your costs for passing calls through the mobile carrier’s network |
|
Upload the rates provided by the mobile carrier in tariff A |
|
Create a tariff (later on referred to as tariff B) that describes your SMS transmission costs |
|
Upload rates in tariff B for the destinations your customers will send SMS messages to |
|
Create a service policy (that later on will be referred to as service policy A) for the vendor connection. It will be used to provision parameters required for connecting to the vendor |
|
Create your mobile carrier as a vendor |
|
Create a connection for this vendor to associate the Voice calls service and tariff A. Make sure it is of the “Calls to vendor via PSTN” type |
|
Create a connection for this vendor to associate the Messaging Services service, service policy A and tariff B |
Product configuration
Operation |
Done |
Rating configuration (Customer) |
|
Create a tariff (later on referred to as tariff C) that will be applied to users for making outgoing calls |
|
Create a tariff (later on referred to as tariff D) that will be applied to users for receiving incoming calls |
|
Enter rates in tariff C for the destinations that your customers will call (both on-net and off-net calls) |
|
Enter rates in tariff D for the destinations that your customers receive incoming calls from |
|
Create a tariff (later on referred to as tariff E) which will be applied to charge end users for sending SMSs |
|
In tariff E, enter the rates for the destinations to which your customers will send messages |
|
Create a bundled product |
|
Create a rating entry for this product associating the Voice Calls service and tariff C with the node you created. Type OUTGOING in the Access сode field |
|
Create a rating entry for this product associating the Voice Calls service and tariff D with the node you created. Type INCOMING in the Access сode field |
|
Create a rating entry to the product for the Messaging Services service and tariff E. Leave the Access сode field empty. |
Account provisioning
Operation |
Done |
Create a customer class for your prepaid customers |
|
Create a prepaid customer |
|
Create an account for this customer and assign the SIM card to it |
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 provisions the data using dedicated provisioning handlers – the special Perl modules that send events processing results to the mobile core. Since there is no unified interface for mobile core systems, the provisioning handlers are individually developed for every system. Find the full list of available handlers in the Supported event handlers section.
Alternatively, the ESPF can send the provisioning events to the external web application, which in turn, provisions the mobile core.
Either contact support@portaone.com for assistance with the ESPF configuration or refer to the instructions in the ESPF configuration handbook and configure provisioning on your own.
Enable the Diameter module on the Configuration server
Since PortaBilling interacts with the LTE network via the Diameter protocol, it is necessary to enable and set up the Diameter module.
- On the Configurations tab of the configuration server, clone the currently active configuration.
- From the configuration tree, select BillingEngine > Diameter and configure the following parameters:
- Enabled – select Yes.
- Origin_Host – specify the domain name of your billing node (recommended format: hostname.domainname). This will be used to identify the node in data communications.
- Origin_Realm – specify the realm of your billing node.
Leave the default values for other options.
Configure Diameter (Ro) settings
- From the Configuration tree select BillingEngine > GW_Adaptors and set Yes for the Ro_Enabled option.
- Click the Save button and then the Verify button.
- Verify the new configuration and click the Check/Apply button.
Note that the RADIUS service will need to be reloaded, so consider applying the configuration during an off-peak time.
Enable PSTN types of connections
- Clone the existing configuration.
- Select Admin from the Configuration tree. Select the Connections for the required billing environment.
- Select Yes for the ShowPSTNConnectionType option.
- Click the Save button and then the Verify button.
- Verify the new configuration and click the Check/Apply button. Note that the Apache service will need to be restarted, so consider applying the configuration during an off-peak time.
Enable services on the Configuration server
- Select BillingEngine > Service types group.
- Set Yes for the MessagingService_Enabled and NetAccess_Enabled options.
- Click Save and then Verify.
- Verify the new configuration and click Check/Apply to apply it.
Note that the RADIUS service will need to be reloaded. Therefore, apply the configuration during an off-peak time.
Create destinations
PortaBilling is supplied with default destinations set both in E.164 and E.212 formats. To upload the default destinations set, complete the Create destinations step from the Initial Configuration of PortaSwitch handbook.
Alternatively, you can upload destinations from a custom file using the Upload destinations tool.
Upload a set of destinations from a file
- Create a file for upload. The supported file format is .csv, .xls, .xlsx. Find the file structure in the table below:
Field
Description
Action
Specify “+” or "add" to add a destination.
Prefix
Specify the prefix to be added.
Two-letter ISO Country Code
Specify the country code as defined in ISO 3166-2 (e.g., CA for Canada, BR for Brazil, etc.).
To add prefixes that have no geographical reference (e.g., 882, 8700, etc.) set the “--” value. The destinations with the “--” value are then considered to be Not applicable (non-geographic).
Note that if the Country and/or Subdivision names do not match the ISO 3166-2, they are also added to the system as Not applicable.
Description
Type a short description for a destination.
Country subdivision
Type the name of the territory (e.g., province, state, county, etc.). We recommend that you add the territories as they are defined in the ISO 3166-2 (e.g., Ain Defla for Algeria). PortaBilling is supplied with the full list of subdivisions per country. Use the ‘get_subdivisions_list’ API method to retrieve it.
- On the Destinations page, click Upload, drag&drop your file in the Custom file area and click Upload.
Create a node
At this point, it is necessary to add the SAE-gateway to the system as a node. This node will communicate with PortaBilling for real-time user authentication and will send accounting information when the session has terminated.
- On the Navigation menu on the left, select Infrastructure, then Billing data sources and click Nodes.
- On the Create node panel, fill in the node details:
- Name – a short descriptive name for the node (that will be used in the lists).
- Node ID – specify the host name of your gateway (recommended format: hostname.domainname).
- IP – the IP address of your gateway.
- Manufacturer – select PortaOne.
- Type – select Generic.
- Click Save.
- On the Communication with billing panel enable the Enable communication with billing option.
- Client protocol – select Diameter.
- Realm – specify the gateway’s realm. This is used to identify the node in Diameter messages.
- Click the Save button in the toolbar to save the changes.
Upload DID numbers
Follow the instructions in the Managing DIDs for customers manually (DID inventory) handbook to upload DID numbers to the DID inventory and define DID usage pricing.
Upload SIM cards
Enter SIM cards into the SIM card inventory. You can add them manually (e.g., for testing purposes) or upload them from a file you receive from your host MNO.
Please refer to the MVNO service provisioning handbook for instructions on how to manually add SIM cards.
To upload SIM cards from a file, do the following:
- 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:
|
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 |
You can change your choice later for the uploaded SIM cards that are not in use (select the checkbox for a specific SIM card > click Manage on the toolbar > select who will manage the selected SIM card in the dialog that opens). |
- From the navigation tree select Infrastructure > Inventory and then select SIM cards.
- Click Upload.
- Drag and drop your file in the Upload SIM Cards dialog box or specify the file location (click Browse and select the .csv file), and then click Upload.
Create vendor tariffs
The tariff is a single price list for calling services. A tariff combines:
- Conditions which are applicable for every call regardless of the called destination.
- Per destination rates.
Create a tariff for voice calls
- In the upper left-hand corner click the menu icon, select Service catalog, then Tariffs.
- On the Create panel fill in the Create tariff form:
- 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.
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.
- Click Save.
- On the Edit tariff panel select General info and then configure the following options:
- Off-peak period – if you do not differentiate between peak and off-peak rates, leave None; otherwise, select one of the previously defined off-peak periods.
- Click Save.
Create a tariff for messaging services
- On the Create panel fill in the Create tariff form:
- Name – a short name for the tariff object; this is the name you see in the select menus.
- Currency – choose the currency in which the vendor charges you.
- Service – select Messaging service.
- Format – leave the default E.164 format. If your SMS provider supports the E.212 format, select E.212 from the list.
- Applied to – choose Vendor in the Applied to list.
- Routing – disable.
- Click Save.
Enter rates for your vendor tariff
Rates are per-destination prices. Please refer to the Call Billing Parameters section of the PortaBilling administrator guide for more information on billing parameters.
Managing rates online
Managing rates online is very convenient for maintaining existing rate tables, as well as for reference purposes. For new price lists or for major updates, an offline method is better.
- On the Tariff panel select Rates, then Add and fill in the Add rate form:
- Destination – select a destination prefix from the list or type it in directly, e.g.,420 for Czech Republic.
You must create an entry for certain phone prefixes in the Destination register before creating a rate for them in the tariff.
- Rating mode – select the Flat rate option here. If you want to enter different rates for the peak and off-peak periods, select the Separate peak/off-peak rate option.
- First interval, seconds – type a first billing unit in seconds.
- Next interval, seconds – type the next billing unit in seconds.
- First price – type a per minute price for a first interval.
- Next price – type a per minute price for the next interval.
Off-peak fields appear only if the Separate peak/off-peak rate rating mode is selected or an off-peak period has already been assigned to this tariff on the General info panel.
- Effective from – if you want this rate to take effect sometime in the future, you can either type in a date manually, or use the calendar.
When using the calendar, you can specify that the date you are entering is in a different time zone than your present one. PortaBilling will then automatically adjust the time.
- Destination – select a destination prefix from the list or type it in directly, e.g.,420 for Czech Republic.
- Click Save.
- Repeat these steps if you need to enter more rates.
Managing rates offline
You can also upload rates from a .csv or .xls file – please consult the Rate import handbook for more details.
Create a vendor
Vendors are your termination partners. At this step, you must add your host MNO in PortaBilling as a vendor.
- On the navigation menu on the left, select Infrastructure, then Vendors.
- Click Create and fill in the Create vendor form.
- Click Save.
- Continue configuring the vendor as described in the Basic residential VoIP services handbook.
Create a service policy
The service policy for a vendor connection defines the specific parameters for this connection. For these parameters to apply, the service policy must be associated with the corresponding vendor connection.
- On the navigation menu on the left, select Service catalog and click Service policies.
- On the Create service policy panel, fill in the service policy details:
- Name – specify the name of the service policy (for example, SMS service).
- Service type – select Messaging service from the list.
- Click Save.
- On the Service policy panel that opens, go to the Attributes panel, select Processing messages over SIP/SMPP and select SMPP from the list in the Transport protocol field.
- Click Save.
Note that service policy changes are not applied immediately. It takes several minutes until they are propagated to PortaBilling.
Define connections
A connection represents the point from which calls and/or SMS messages leave or enter your network and are directed to or from vendors where charges are incurred.
At this step, it is necessary to define a connection for Voice Calls and Messaging Service services.
Define a connection for voice calls
- From the Edit vendor panel, select Connections.
- Click Create and fill in the Connection create form.
- Description – specify the descriptive name for this connection. It will be displayed in the list of connections.
- Service type – select Voice calls.
- Type of connections – select PSTN.
- Direction – select To vendor.
- Tariff – shoose the tariff that defines your termination costs for this connection/vendor.
- Active – disable to exclude the connection from routing.
- Node – select the node you created (SAE-GW in our example).
- Capacity – fill in the maximum number of simultaneous calls.
- Click Save.
Define a connection for Messaging service
- From the Edit vendor panel, select Connections.
- Click Create and fill in the Connection create form.
- Description – specify a descriptive name for this connection. It will be displayed in the list of connections.
- Service type – select Messaging Service.
- Type – select Messages to Vendor via SMPP.
- Active – disable this option to exclude this connection from routing lists for IMGate.
- Tariff – choose the tariff that defines your SMS transmission costs.
- Gateway ID – type RO in this field.
- Port – leave this field empty.
- Service policy – select the service policy that you created earlier for this connection.
- Click Save.
- Click the Save button in the toolbar to save the changes.
Create customer tariffs
To enable your customers to make/receive calls and send SMSs, it is necessary to create the following tariffs:
- The tariff to be applied for outgoing calls;
- The tariff to be applied for incoming calls;
- The tariff to be applied for sending SMSs.
Create tariffs for voice calls
- From the navigation menu, select Service catalog, then Tariffs.
- On the Create panel fill in the Create tariff form:
- Name – a short name for the tariff object; this is the name you see in select menus.
- Currency – indicates the currency in which your charge end users.
The currency for the tariff may only be chosen once and cannot be changed later.
- Service – select Voice calls here.
- Applied to – select Customer, as this tariff will be used to charge your customers.
- Managed by – select Administrator only, since we are setting up a service without the involvement of resellers.
- Click Save.
- Please follow the steps described in the Create customer tariffs and Enter rates sections of the Basic residential VoIP service handbook to complete the tariff configuration.
- Click the Save button in the toolbar to save the changes.
Create a tariff for messaging services
- On the Create panel fill in the Create tariff form:
- Name – a short name for the tariff object; this is the name you see in the select menus.
- Currency – choose the currency in which the vendor charges you.
- Service – select Messaging Service.
- Format – leave the default E.164 format. If your SMS provider supports the E.212 format, select E.212 from the list.
- Applied to – select Customer.
- Managed by – select Administrator only.
- Click Save.
- From the Tariff management panel select Rates and fill in the required information:
- Rate codes – start typing the destination prefix (e.g., 42060 for Czech Republic Mobile) and then select it from the dropdown list.
Make sure you have created entries for certain rate codes in the Destination register before creating a rate for them in the tariff.
- Unit price – price per message (e.g., $0.02).
- Rate codes – start typing the destination prefix (e.g., 42060 for Czech Republic Mobile) and then select it from the dropdown list.
- Click Save and repeat these steps if you need to enter more rates.
- Click the Save button in the toolbar to save the changes.
Create a 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.
The Diameter credit-control requests (CCRs) include the Service-Identifier (SI) AVP which defines which service the user is accessing. The SI values are pre-configured on the gateway and are used by the billing engine to form the access code and match the corresponding tariff in the product.
- On the navigation menu on the left, select Service catalog, then Products.
- Click Create and fill in the Create product form:
- 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.
- Click Save.
Services
- On the Product panel select Services and click Add a service.
- Select Voice calls, Messaging service, LTE and Mobile Network Provisioning services. The latter service is required to trigger data provisioning to the mobile core.
- Click Add.
Usage charges
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.
- On the Product panel in the Charges section select Usage charges and click Add.
- Define the Usage charges details for outgoing calls:
- Service – select Voice calls.
- Node – select the node you have created.
- Access code – type OUTGOING in this field.
- Tariff – select the tariff used to calculate charges for outgoing calls.
- Click Save.
- Click Add and fill in details for incoming calls:
- Service – select Voice calls.
- Node – select the node you have created.
- Access code – type INCOMING in this field.
- Tariff – select the tariff used to calculate charges for incoming calls.
- Click Save.
- Click Add and fill in details for the messaging service:
- Service – select Messaging service.
- Node – select the node you have created.
- Access code – leave this field empty.
- Tariff – select the tariff used to calculate charges for SMS.
- Click Save.
Configure Internet access as described in the LTE configuration handbook and include it with this product. It is important to enable the LTE service on the Included Services tab of the product configuration.
Create a 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.
- From the Sales section of the main menu, select Customer classes.
- Click Create and fill in the Create a customer class form:
- 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.
- Click Save.
- On the Edit customer class panel select Finances and click General info.
- On the General info panel configure the following:
- The billing period is closed – select Automatically.
- Statistics:
- Generate statistics – leave enabled.
- 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.
- From the Finances section select Invoicing.
- From the Invoicing panel select Regular invoices.
- 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 and Action upon non-payment parameters.
- From the Finances section select Taxation.
- 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.
- 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.
- From the Sales section of the main menu, select Customers.
- Click Create and fill in the Create a customer form:
- Name – short name for the customer object; that is used on the web interface.
- Balance control – specify the way the customer will pay for the service: Select Prepaid in this field.
- Currency – the currency in which this customer will be billed. This is defined by the customer class selected.
- Available funds – specify the amount of the customer’s available funds.
- 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 customer class (Texas in our example).
- Billing period – frequency of invoice generation. For more details about the different available billing periods, see the PortaBilling administrator guide.
- Billing period timezone – this is the time zone in which a customer’s billing period is closed and invoices are generated.
- Click Save.
General info panel
- On the Edit Customer panel select Personal.
- Select General info and fill in the customer’s personal information:
- 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
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 Save.
Create an account
- On the Edit Customer panel click Accounts.
- On the Create an account panel, fill in the account details:
- ID – you can type in the user’s 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
- On the Personal info panel select General info.
- On the General info panel select Web self-care and fill in the Web self-care form:
- 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.)
- After clicking Save, you will see a confirmation screen announcing that a new account has been created.