Solution suitability

Link copied to clipboard

What do I get when launching an independent MVNO with PortaBilling compared to using an MVNE?

Link copied to clipboard

Using PortaBilling BSS (Business Support System) assumes that you will sign your own agreement with MNO and organize the interface between your data center and MNO for SIM card activation, charging, and other activities. When using MVNE typically you will rely on the connection they have already established with MNO and on their existing BSS.

Let's look at the differences between launching an independent MVNO using PortaBilling and launching an MVNO with MVNE in more detail in the table below:

Criteria Independent MVNO (PortaBilling as own BSS) Using MVNE
Launch time Slightly longer initial setup time due to the need to establish connections with an MNO for SIM card activation, charging requests, and other activities. Quick setup with a ready-to-set-up package.
Competitive advantage of product catalog Full control over the configuration of product catalog, tariff plans, and service monetization tailored to target market demands. Ability to manage product catalog is limited by MVNE’s BSS; high competition among MVNOs under the same MVNE may restrict unique product definitions or monetization capabilities. Changes in the product catalog often require MVNE involvement, with response times affected by their current workload and staff availability. Simple requests might face delays of several  weeks.
Flexibility of integrations, associated cost, & wait time Direct integrations with other systems such as CRM,  ERP, or third-party services to be bundled into your products  via the intuitive PortaBilling API or low-code Workflows. Dependence on MVNE for modifications and integrations may cause delays and incur additional costs.
Control over the update to new versions You can choose the version and timing of updates to minimize service disruption. Updates are managed by the MVNE, which might not align with your specific needs or timing preferences.
Data ownership You have full control of your customer data and should you choose to use another platform* you are free to do so. *However, in over 20 years we have never had a customer who found a BSS with better functionality and operational costs. Switching platforms due to dissatisfaction with service levels or flexibility provided by the MVNE, can be costly and time-consuming, potentially leading to customer downtime and revenue loss.

The unique things you can only get with your own BSS (PortaBilling):

  • Multi-MNO Capability: Partner with multiple Mobile Network Operators (MNOs), offering a wider range of services to customers.
  • Potential to Resell: You have an opportunity to evolve into an MVNE by reselling PortaBilling partitions to other MVNOs, especially those on less versatile platforms.
  • Revenue Boost: Obtain new value added services for extra profit via the Add-on Mart Marketplace.

Integrations and user interfaces

Link copied to clipboard

How can we connect PortaBilling with the CRM/helpdesk system we are already using?

Link copied to clipboard

You can use one of the following options:

  1. Integrate a CRM system of your choice with PortaBilling using the PortaBilling API.
  2. Use PortaOne Workflows, a low-code/no-code Integration Platform as a Service (iPaaS), to implement an integration with a CRM system of your choice without extensive development efforts.

Do you provide any portals where our subscribers can manage their services?

Link copied to clipboard

You can save costs and effort by offering your subscribers a ready-to-use self-care web portal or mobile app instead of developing your own solution.

PortaOne Mobile Account Self-Care Portal enables mobile subscribers to access their account and manage services, e.g., check available minutes or activate new service bundles without sending a USSD code or contacting your support team. The subscribers can easily access the portal from a mobile browser like Google Chrome, Firefox, and Safari, or by installing the app on iOS or Android devices.

To start offering the Mobile Account Self-Care Portal, you need to subscribe to the corresponding module in the Add-on Mart. You can publish your branded mobile app on the App Store or Google Play Store.

How can we brand self-care portals?

Link copied to clipboard

You can brand the PortaOne Mobile Account Self-Care Portal, accessible through the Add-on Mart, with your own logo.

If you work with sales partners like resellers or distributors, you can brand the built-in reseller and distributor portals that come with PortaBilling. This includes adding your company’s logo and name, and adjusting the color theme to match your company’s branding guidelines. Please note that this feature is only available for PortaBilling versions MR113 or later.

Infrastructure configuration

Link copied to clipboard

What do we need to perform real-time charging with an MNO?

Link copied to clipboard

First of all, you need to sign an agreement with a Mobile Network Operator (MNO) that is ready to provide you with their services. After that, you need to connect your Online Charging System (OCS), in this case PortaBilling, to the MNO’s network for processing authorization requests and producing user charges.

Typically, MNOs use the Diameter protocol, which is a standard protocol for authentication, authorization, and accounting (AAA) in telecommunications networks based on 4G technology (most popular now).

PortaBilling supports the following Diameter interfaces:

  • Diameter Gy –  real-time charging of data sessions
  • Diameter Ro –  real-time charging of voice calls and SMS

Refer to the handbook for an example of the configuration of the Diameter real-time charging connection.

Does PortaBilling support USSD operations such as balance check or bundle activation?

Link copied to clipboard

Unstructured Supplementary Service Data (USSD) operations, such as balance inquiries, bundle activations, or interactive menus, are enabled through a USSD gateway. This gateway bridges the complex world of mobile protocols with the modern world of APIs. This is an external component which may be offered by your MNO or can be purchased alongside with other elements of the mobile core such as HLR or PCRF.

PortaBilling can be integrated with a USSD gateway via the API. Upon receiving a request, the gateway connects to PortaBilling via the API to extract the required information or perform necessary changes, such as assigning a new tariff plan.

Here’s how USSD operations work:

First you configure the service menu on the third-party USSD gateway and then provide the service codes to your subscribers upon signup. Say a subscriber wishes to check their account balance and dials a short USSD code, e.g., *123#. The USSD gateway receives the USSD request and queries PortaBilling for the subscriber account balance via the API. PortaBilling then identifies the subscriber’s account and returns their balance amount in the API response to the USSD gateway. The subscriber receives a USSD message displaying their balance, such as "Your current balance is 10 USD.”

Integration with a specific USSD gateway can be implemented as part of PortaOne professional services. This integration enables the gateway to use the appropriate API methods to query balances, retrieve information about remaining monthly quotas, change products, and more. An example of a recently completed interop for USSD operations is Pharos Charging Interworking Gateway (Pharos CIG) which is used in South Africa.

How can we enable our customers to port their mobile number from another operator to our service?

Link copied to clipboard

PortaBilling supports mobile number portability (MNP) functionality. For instance, if a user dials a number such as (555) 123-4567, that originally belonged to Operator A but has since been transferred to Operator B, PortaBilling automatically identifies the current operator of the number. PortaBilling then routes the call to Operator B and applies Operator B’s rate for the call. This ensures calls are always directed correctly and billed according to the current service provider’s charges.

When a customer signs up for your services and wishes to keep their phone number, PortaBilling sends a port-in request to the relevant authority to transfer the number to your network. Whereas if the customer decides to switch to another service provider, PortaBilling receives a port-out request, leading to the closure of the customer’s account in your system.

However, the process of obtaining information about already ported numbers and managing number porting requests differs in each country, as different authorities oversee MNP requests.

To integrate with these authorities and their services, which are offered through API, thorough investigation and tailored implementation are necessary. PortaOne offers two options for this integration:

  • Developing it as part of our professional services.
  • Using PortaOne Workflows to implement it yourself.

CDR (xDR) import

Link copied to clipboard

How can we import roaming xDRs into PortaBilling and what file formats are supported for the xDR import?

Link copied to clipboard

The standard for exchanging the roaming сharges is TAP3 (Transferred Account Procedure version 3). PortaBilling allows you to easily import roaming CDRs (also referred to as xDRs) in TAP3 files into PortaBilling. The only aspect requiring coordination is how these files are transferred: whether PortaBilling automatically downloads them from your roaming partner or if your partner uploads them to PortaBilling via FTP/SFTP.

If your roaming partner doesn't use TAP3, other supported file formats include CSV (Comma-Separated Values), Fixed-width, and Generic XML.

However, importing roaming xDRs from these files can introduce risks such as potential balance overdrafts and fraud. Сonsider a scenario in which PortaBilling receives xDRs for a customer who, while roaming in a foreign country for one week, accumulates $100 in service charges, but their pre-paid balance is only $10. This discrepancy can result in revenue loss. To mitigate such risks, many roaming partners have switched to using real-time Diameter requests for charging. This method is preferred for its ability to prevent balance overdraft and enhance fraud protection by enabling immediate charge calculations.

Product configuration

Link copied to clipboard

Can we configure a bundle such as 1000 minutes, 10 GB of data, and 100 SMS?

Link copied to clipboard

Yes, PortaBilling allows you to configure prepaid bundles that combine different services all for one fixed fee, such as “1000 minutes of domestic voice calls, 10 GB of wireless data, and 100 SMS for $19.” The allocated minutes, GB, and SMS are available for a defined period (bundle lifecycle), e.g., 30 days, and can be automatically renewed at the end of this period for a fee. Renewal is possible only if a customer has sufficient balance. If the bundle is not renewed, the customer can no longer use the service – but does not accrue additional debt. If a particular service (e.g., data) is used up before the bundle is renewed, a customer can “top-up” that service for a separate fee.

You can offer your mobile subscribers to activate new service bundles and perform “top-ups” via the PortaOne Mobile Account Self-Care Portal available via the Add-on Mart.

What is the difference between quotas and service wallets within a bundle?

Link copied to clipboard


  • Quotas provide periodically renewed service volumes. For example, if a customer subscribes to a bundle with a 1000-minute quota, they will automatically receive 1000 minutes each month for a specific fee. Configure a bundle with quotas to provide services that customers consume regularly.

Service Wallets:

  • Service wallets allow funds to be allocated into virtual subwallets, each dedicated to a specific service (e.g., “10 GB of data as a one-time promotion”). These funds do not affect the customer's balance.

    A service wallet usually has an initial balance either in service units or monetary units, e.g., 100 minutes or 10 USD. Once the initial balance is used up, your subscribers need to top up the service wallet manually to continue using the service.

    You can configure various top-up options for each service wallet, such as 5 GB for $6.99 or 10 GB for $10.99. Subscribers can top up a specific service wallet at any time via a self-care web interface, such as the PortaOne Mobile Account Self-Care Portal.

    Example: You can offer travelers SIM cards with 10 GB of data for roaming in the EU. If, during the trip, the traveler needs more data, they can top up the specific service wallet for roaming in the EU.

Can we configure different quotas within the same bundle , for instance, for domestic calls and calls within the EU?

Link copied to clipboard

Each quota within a bundle allocates funds for a combination of a specific service and destination group.

For example, you can create:

  • A 1000-minute quota for service “Voice calls” and destination group "Spain"
  • A 200-minute quota for service “Voice calls” and the destination group "Rest of the EU"

When a subscriber makes calls within Spain, the EU quota remains unaffected.

Can we offer a bundle with 20 GB for YouTube and unlimited access to messaging for a monthly fee?

Link copied to clipboard

Yes, a bundle can include distinct service volume allocations for internet traffic, depending on the type of content users access. For example, unlimited messaging, 20 GB for video streaming, and 2 GB for standard web browsing.

To implement content-based charging, each type of internet traffic should be defined as a rating group on the LTE network side within the Policy and Charging Rules Function (PCRF). Each rating group is assigned a unique identifier (e.g., RG101 for video streaming, RG102 for messaging, RG103 for web browsing).

The rating groups are then provisioned from the PCRF to the Policy and Charging Enforcement Function (PCEF) within the Packet Data Network gateway (P-GW).

PCRF to PCEF rating groups provisioning

To set up the rating groups in PortaBilling, you need to add their identifiers, like RG101, RG102, RG103, as destinations and organize them into distinct destination groups such as “Video streaming,” “Messaging,” and “Web browsing.” For instance, to provide 20 GB for video streaming, you would create a prepaid bundle with a "20 GB for video streaming" allocation linked to the “Video streaming” destination group. Here’s how the content-based charging works:

  1. When a subscriber visits a web page, the type of content being accessed is analyzed by the Deep Packet Inspection (DPI) technology.
    DPI can be either integrated into the P-GW or used alongside it in other network components.
  2. The DPI informs the P-GW (PCEF) which traffic category (rating group) the content belongs to.
  3. Periodically, e.g., once every 10 minutes, P-GW (PCEF) sends charging requests to PortaBilling with accumulated traffic amounts for each rating group with the corresponding rating group identifier. PortaBilling matches the identifier with the destination from the destination group and subtracts the consumed service volume from the user’s bundle. Content-based charging

For detailed configuration instructions, refer to the LTE service with content-based billing handbook.

Is it possible to restrict bandwidth after a subscriber has consumed the allocated service volume?

Link copied to clipboard

Yes, when allocating data units within a bundle, you have the option to restrict the bandwidth (e.g., from 5 Mbps to 256 Kbps) once the units are used up. The bandwidth limits that should be applied when the allocated units are available/depleted are configured within policy rules. Depending on the mobile network equipment, this information can either be provided by PortaBilling to the MNO’s packet gateway (P-GW is the network element that passes all customer’s data traffic) using the Diameter protocol, or it can be pre-configured directly within the PCRF. Reach out to the PortaOne support team for assistance with the configuration.

How can we secure information about voucher PINs and prevent unauthorized leakage from the database?

Link copied to clipboard

To prevent the leakage of voucher data during regular operations with the database, such as creating reports, PortaBilling allows you to create vouchers with encrypted PINs. Each PIN (e.g., 1119876522212345) consists of a voucher ID (11198765) and an auto-generated password (22212345), with the password  securely stored in encrypted form in the database.

To additionally prevent users from stealing individual voucher data via the PortaBilling web interface, you can restrict access to passwords for specific PortaBilling users. By default, the passwords are visible on the PortaBilling web interface. To restrict access, open a specific user role and set the “Restrict” permission for the Account > Service password section. This ensures that only authorized users will have access to sensitive voucher information.

How can we ensure overdraft protection for internet service?

Link copied to clipboard

Typically, users have only one internet session active at a time on their mobile device. When a user starts an internet session, PortaBilling grants authorization within the limit of their available quota or funds.

However, users may have multiple concurrent sessions, such as when they watch a YouTube video while browsing the web, and these types of internet traffic are rated separately. To ensure overdraft protection when a few simultaneous sessions are established, PortaBilling locks a specific amount of available service units or funds during each new session authorization. By default, PortaBilling locks a maximum of 1 GB (or equivalent funds). When the locked amount is consumed, the session is automatically re-authorized, so the user can continue using the service only if they have enough quota or funds. This feature, enabled by default at the product level, allows simultaneous consumption of the same quota or balance across different sessions.

To control the maximum authorized service volume, you can adjust this value globally using the Diameter.MaxSessionGrantedData option or per product. For detailed instructions, refer to the  Overdraft protection step-by-step configuration guide.

Additionally, you can control the maximum session duration, after which re-authorization is required, even if the previously authorized amount of data has not been fully used. By default, this duration is set to 2 hours but can be adjusted using the global option Diameter.MaxSessionTimeout. As soon as either the authorized data volume (e.g., 1 GB) is exhausted or the session timeout (e.g., 2 hours) expires, the LTE network initiates session re-authorization.

Can my customers pay for bundled external services like video streaming or pay-per-view using their phone balance?

Link copied to clipboard

Yes, it's possible. Here's how you can set this up using PortaBilling:

  • Define custom services: Within PortaBilling you can define an unlimited number of custom services to cover external services such as streaming packages. These can be integrated either as a part of the main product or as an add-on product that customers purchase.
  • Automate the service activation and deactivation: Connect PortaBilling with the external service provider’s backend. This can be achieved using low-code or regular programming tools. This integration ensures that customer actions like new subscriptions activate the service automatically. Similarly, it handles service blocking when an account is closed or suspended due to non-payment.
  • Enable real-time charging for on-demand services: For one-time service charges, such as a $5 fee to watch a special event (e.g., a boxing or football match), you can utilize PortaBilling's real-time charging capabilities. The Charging API module, available via Add-on Mart Marketplace, enables PortaBilling to perform real-time authorization and charge for external services. In this scenario, funds are immediately withdrawn from the customer’s pre-paid balance upon service activation.
  • Import charges post-factum: For certain services where real-time charging cannot be implemented, such as parking services (e.g., metered or mobile app-based parking) that may incur fines from authorities for exceeding time limits or incorrect parking at a later date, PortaBilling provides the option to import batch charges from files. However, this method can lead to issues such as balance overdrafts and potential revenue loss, since customers may accumulate a significant amount of these delayed charges.

Identity verification

Link copied to clipboard

How can we implement processes to meet the local Know Your Customer (KYC) requirements?

Link copied to clipboard

PortaBilling enables you to store any number of custom attributes for customers, e.g., passport ID, and program your local no-code integrations with external systems imposed by your government or used at the point of sale. This allows you to create an automated workflow that satisfies the local Know Your Customer (KYC) requirements.

Contact our business analysts to correctly map what is required and identify which solution component should be used to construct individual steps of this process.

SIM card management

Link copied to clipboard

Can we provision eSIMs alongside physical SIM cards using PortaBilling?

Link copied to clipboard

For both the mobile network and PortaBilling, there is no difference between an eSIM (embedded SIM) and a physical SIM card. The registration process, based on the IMSI and authorization keys stored on the SIM card, is identical for the mobile network, and the information recorded in the HLR/HSS is exactly the same. PortaBilling allows you to store eSIM card data, such as IMSI and activation code (which an authorized user receives as a QR code to download the eSIM profile to their mobile phone), alongside the information about physical SIM cards.

However, to provide eSIM cards, you additionally need an eSIM provisioning platform that allows users' mobile phones to connect to it, for instance, by scanning a QR code, and to download eSIM profiles that contain authentication keys and other related information.

An eSIM provisioning platform may be offered by your MNO, although this is relatively uncommon as many MNOs have not yet adopted this technology. Alternatively, you can opt for integration with an external eSIM platform. PortaOne has successfully partnered with the Nordic eSIM platform and developed an integration via PortaOne Workflows. This setup can serve as a template for you to develop your own integration with any eSIM platform of your choice.

For more information on eSIM service, you can watch the related videos:

What is eSIM and How does it Differ From Traditional SIM? Can MVNOs Sell eSIMs?

How to Integrate eSIM into Your Service Offerings (webinar with Nordic eSIM)

To enable SIM card provisioning to the MNO’s network, it's necessary to store the SIM card information in the SIM card inventory in PortaBilling. In addition to parameters required for provisioning of SIM card to HSS/HLR (IMSI) we also allow storage of additional info that is required for customer support, for instance, default PIN written on the SIM card when it is shipped, PUK1, PUK2, activation code for eSIM (if you have an eSIM platform), and more. You can enter these details into dedicated fields when manually adding SIM cards or by uploading them from a file. Additionally, if you need to store custom information about SIM cards, such as the marketplace where they are offered or the name of the SIM card provider, you can create custom fields within the SIM inventory.

Is it possible to use multi-IMSI SIM cards with PortaBilling?

Link copied to clipboard

With the multi-IMSI (International Mobile Subscriber Identity) functionality, a device can use multiple SIM card profiles, each containing a distinct IMSI, within a single physical SIM card. This means that a mobile phone can automatically connect to multiple mobile networks, typically when a device (fleet tracking sensor installed in a truck) travels across different countries or regions, without the need to physically change SIM cards. For example, if the device is in an area where Operator A lacks coverage, the device will automatically switch to the IMSI of Operator B to maintain mobile network access. This functionality improves connectivity and allows users to avoid expensive roaming charges while using the same SIM card. The algorithm of IMSI switching is fully implemented at the SIM card level.

There are several ways to implement the association of multiple IMSIs to the end-user account on the PortaBilling side, such as using aliases on accounts or beneficiary accounts. The specific method depends on your requirements such as how these multiple IMSIs should be provisioned and so on. Therefore, it would be best to discuss this with PortaOne's business analysts.

Finances and Reporting

Link copied to clipboard

How can we create custom reports?

Link copied to clipboard

If the reports supplied out-of-the-box don’t meet your needs, you can use one of the following options to create a custom report:

  • Create your own custom report using third-party reporting tools such as SAP Crystal Reports to extract data from the PortaBilling database. This option requires a certain level of technical expertise on your end.

    Refer to this guide to check the configuration details.

  • Contact the PortaOne support team to have a custom report developed for you and uploaded to your system within the scope of Professional Services.

On this page

What's new
Admin manuals
UI help
Back to main menu