What’s new in MR123

Link copied to clipboard

New service provisioning system (NSPS)

Link copied to clipboard

PortaOne introduces the New Service Provisioning System (NSPS) – a cloud-based solution that simplifies real-time provisioning of subscriber data into external systems, such as mobile network components (like HSS or PCRF) or IPTV systems.

Suppose a mobile virtual network operator (MVNO) needs to automatically activate SIM cards in the HSS when a new subscriber is created in PortaBilling. For this, they typically need middleware to process PortaBilling events and update the HSS. Before NSPS, the operator either had to develop a custom application from scratch, which is complex and time-consuming, or use a low-code platform like PortaOne Workflows, which might be too costly and better suited for complex scenarios than for simple provisioning.

NSPS provides a simple, cost-effective alternative that doesn’t require deep knowledge of PortaBilling internals. It uses a microservice-based approach, where each integration component (called a connector) is an independent service that communicates with external systems via their proprietary APIs. PortaOne provides a reference connector for the Wireless Technology Labs (WTL) mobile core, which developers can easily customize to create their own integrations.

Requirements

To deploy NSPS, you need:

  • PortaBilling/PortaSwitch version MR100 or later with enabled External system provisioning framework (ESPF).
  • An active subscription to the NSPS module in the Add-on Mart.

What’s included

  • NSPS infrastructure A cloud-based system, deployed on Google Cloud Platform. It receives provisioning events from PortaBilling via HTTP webhooks, enriches them with required data using the PortaBilling API, queues these events, and forwards them to the connectors.
  • Connector template A ready-made cloud service for subscriber provisioning into the Wireless Technology Labs (WTL) mobile core. This service receives events like SIM/Updated with the required details and updates subscriber data in the WTL system via its proprietary API.

    The events can be sent for the following scenarios:

    • SIM card assignment to an account
    • Account block/termination
    • Bundle activation, removal, or depletion
    • Product changes
    • SIM card changes

    Detailed information about the provisioned data will be available in the upcoming documentation.

    Developers can use this as a reference to build custom connectors for other platforms. For example, they can modify this connector’s code with the help of AI tools.

  • Web interface A user-friendly UI for configuring provisioning workflows (e.g., defining what additional data is required for a specific event) and monitoring the status of provisioning events.

    NSPS - Handler list

    NSPS - handler events

    NSPS - handler settings

EXAMPLE
An MVNO, Owl Mobile, uses the WTL mobile core to provide services. When a subscriber upgrades their data plan (e.g., from a 5 GB to a 20 GB data bundle), NSPS receives a provisioning event from PortaBilling. The event includes the subscriber’s SIM card IMSI, MSISDN, and the external profile ID corresponding to the new data plan. The WTL connector uses this information to update the mobile network’s PCRF via the WTL API. The provisioning status is logged and visible in the NSPS web interface.

How it works

  1. PortaBilling generates an event (e.g., a subscriber upgrades their plan).
  2. The built-in External system provisioning framework (ESPF) sends this event to NSPS via an HTTP request (webhook).
    NSPS supports both ESPF event versions v1 and v2.
  3. NSPS enriches the data it receives from PortaBilling by calling the PortaBilling API to fetch additional data, such as the product and access policy details.
    NSPS caches this additional data to reduce API load.
  4. The NSPS queues the event and passes it to the connector.
    NSPS uses separate event queues per connector.
  5. The connector communicates with the external system (PCRF) to apply the required changes.

NSPS architecture

Benefit

Service providers can develop provisioning integrations with external systems at a lower cost and launch services sooner.

Additional IP phone models supported for auto-provisioning

Link copied to clipboard

In this release, more Polycom IP phone models are available for fast automatic setup via auto-provisioning:

  • Polycom VVX300
  • Polycom VVX301
  • Polycom VVX310
  • Polycom VVX350
  • Polycom VVX450

Auto-provisioning of these phone models is available via Add-on Mart with an active subscription to the corresponding Add-on Mart modules.

In addition to provisioning basic settings, such as SIP credentials, SIP proxy address, and codec preferences, PortaSwitch also supports self-provisioning of programmable phone keys for these phone models.

Cloud PBX customers can self-provision programmable phone keys on their own and apply the setup to multiple phones at once. They can do this via the CloudPBX Self-care Portal (available through Add-on Mart) or a third-party portal using the PortaBilling API.

Benefits
  • Service providers can offer more competitive Cloud PBX solutions.
  • Customers can handle employee onboarding quickly on their own.

Real-Time Text (RTT) for accessible communication

Link copied to clipboard

With this release, users no longer need to press “Enter/Send” to exchange messages during a phone call. Text appears on both screens instantly, as it’s being typed, character by character, with the help of a communication technology called Real-Time Text (RTT). This feature allows service providers to offer fully accessible communication services for users with hearing or speech impairments and helps them comply with regulations such as the European Accessibility Act (EAA) and the Next Generation 911 (NG911).

Users can communicate via both text and voice simultaneously, enabling immediate interaction, which is especially critical in time-sensitive or emergency situations when voice calls are not safe or feasible. For instance, when users call emergency services such as 911 in North America or 112 in Europe.

The feature works out of the box starting with this release, and no special configuration is required.

EXAMPLE

David is a graphic designer based in Europe who works from home. Despite his hearing impairment, he communicates with clients and colleagues using a softphone, which supports Real-Time Text (RTT).

David is at home alone one day when he suddenly feels a sharp pain in his chest. He contacts Emergency Services using the RTT feature in his softphone and starts communicating with the emergency service center operator via text, explaining his symptoms. The operator can see David typing the text and, recognizing the urgency of the situation, asks him to enable the voice stream in addition to the text to hear David’s labored breathing and coughing. While David types his responses, the operator simultaneously sends text instructions on how to stay calm and how to position himself to ease the pain while awaiting medical help. David begins typing his address – 742 Evergreen Terrace, Apt 3B, Spri… – but loses consciousness before finishing. The operator sees the partially typed address, 742 Evergreen Terrace, Apt 3B, Spri, and dispatches emergency services.

By combining both voice and text, the agent provides immediate and effective assistance, ensuring David’s condition is closely monitored while awaiting the arrival of paramedics.

Specifics
  • Both devices must support the RTT feature for text communication.
  • Text recording and conferencing aren’t supported for RTT calls.
  • RTT calls use text/t140 and text/red codecs.
Benefits
  • Service providers comply with local regulations.
  • Users can communicate in real-time through text, combined with speech.

Apply multiple taxes to one subscription and schedule tax rate changes

Link copied to clipboard

In some countries like Cameroon, telecom service providers must collect different taxes for subscription-based services to comply with local laws. For example, a voice and data bundle service is taxed with VAT (Value-added tax) and DA (Excise Duty) at the same time. 

Previously, a customized tax applied to subscriptions or usage сharges was system-wide – it affected all subscriptions or services in the system without exceptions. Now, customized taxes can be assigned to specific subscriptions or services individually. Additionally, service providers can also apply a tax to only a portion of the charge, for example, only 50% of the charged amount. Multiple taxes can be grouped under a single tax transaction code in PortaBilling. To ensure accurate tax calculation, admins should configure tax transaction codes to use one of the two tax types:

This flexibility ensures that service providers comply with jurisdiction-specific tax rules and can configure taxes more flexibly, by applying different tax rates to the same service and combining several individual taxes together to get the total tax amount. 

As a result, PortaBilling creates tax xDRs, adjusts the customer balance, and generates an invoice that includes these tax amounts. This ensures that service providers can collect taxes from the customer properly and in accordance with the corresponding regulations.

Basic taxes

Link copied to clipboard

When the service provider needs to apply an individual tax or a combination of multiple individual taxes, they can use the basic tax calculation. In this type of calculation, each tax is applied individually to the charged amount, and then the total tax amounts are summed up.

EXAMPLE

Bamenda Tech is a customer located in Cameroon. According to the tax jurisdiction, they are required to pay a VAT of 19.25% and a DA of 2% tax for the services. If the customer’s charge is $100, then the tax calculation will be as follows:

  • VAT is 19.25% and the tax will be $100 * 0.1925 = $19.25
  • DA is 2%, then it will be $100 * 0.02 = $2

    Basic taxes

Tax amount: $19.25 + $2 = $21.25

Total amount: $121.25 ($100 base amount + $21.25 tax amount)

Cumulative taxes

Link copied to clipboard

In cases where tax calculation requires multiple taxes to be applied on top of the previous tax, such as excise taxes, a compound tax can be used. This type of tax is applied on a cumulative basis, meaning that it is applied in a specific order, and the second tax is calculated on the charged amount that includes the first tax.

EXAMPLE

The same customer, Bamenda Tech in Cameroon, has to pay different taxes for a leased line service. According to the tax jurisdiction, they are first required to pay a DA of 2% and then a VAT of 19.25% tax on top of that. If the customer’s charge is $100, then the tax calculation will be as follows:

  • DA is 2%, then it will be $100 * 0.02 = $2
  • VAT is 19.25% and the tax will be $102 * 0.1925 = $19.64, where $102 is the amount that already includes the DA tax.

    Cumulative taxes 

Tax amount: $19.64

Total amount: $119.64

Partial taxes

Link copied to clipboard

Service providers may need to collect partial or reduced taxes according to tax laws. For instance, a service provider offers their customers a subscription that combines both internet and voice call services. Since only 50% of the charge covers voice calls, only that portion is subject to taxation.

Both basic and cumulative taxes can be applied to a portion of the tax.

EXAMPLE

Bamenda Tech, the customer in Cameroon, has to pay partial tax for a converged service (voice and data subscription). They are required to pay VAT (19.25%) for the voice calls portion only, meaning that the tax should be applied to 50% of the customer charge. If the customer’s charge is $100, then the tax calculation will be as follows:

  • Сharge for voice call (50% * $100)
  • VAT is 19.25% and the tax will be (50% * $100) * 0.1925 = $9.63. Partial taxes

Tax amount: $9.63

Total amount: $109.63

Tax rates scheduling

Link copied to clipboard

If a tax rate is scheduled to change in the future, admins can preconfigure the update in PortaBilling. On the effective date, the new rate will be applied automatically. Now, the Customized taxes panel shows:

  • the current tax rate,
  • any scheduled (future) rates, and
  • a history of past rates – all in one place for easy tracking.

    Tax rates scheduling

Benefit

Service providers comply with local regulations for taxation.

Specifics
  1. To configure tax transaction codes with customized taxes, each tax must have the “Applied to” option set to All charges.
  2. Customized tax used in the taxation code for a subscription or a service should be enabled in the customer class/customer.
  3. If a customer charge does not include a taxation code, the system will calculate all the enabled taxes defined at the customer class/customer level.
  4. Previously configured customized taxes and taxation codes are preserved for backward compatibility. However, the “Applied to” option for customized taxes will be discontinued in the future and completely replaced by taxation codes.

See the configuration details here.

Web interface changes

Link copied to clipboard

Preventing IP address conflicts in account and connection setup

Link copied to clipboard

With this release, service providers can avoid human errors and potential financial losses when creating vendor connections and accounts. Admins will now receive a warning if they attempt to use an IP address that is already in use for IP-based authorization.

For example, when setting up an account for the SIP trunking client, the admin may manually add the wrong IP address. If the IP address is already in use for a “From vendor” SIP connection, then a warning will appear. This allows the admin to correct the mistake before saving the settings, ensuring the correct IP address is used. By enabling this double-check, the system helps prevent charging calls to the wrong entity.

If the admin ignores the warning and saves the settings, the system will authorize and charge calls based on the existing “From vendor” SIP connection rather than the newly created account.

IP address conflict

Similarly, when adding a new connection, if an account already exists with the same IP used as account ID, a conflict warning will appear. If the admin ignores the warning, the system will start to authorize and charge the call using the newly created vendor connection instead of the account.

Benefit

Admins avoid human error while creating connections and accounts.

Easier activation or deactivation of origin-based rates

Link copied to clipboard

A “Now” option is now available in the Effective from and Expiration date pickers for origin-based rates. With one click, admins can set the current date and time for immediate rate activation or deactivation – no need to type it manually.

EXAMPLE
An admin needs to manually discontinue a test rate. Instead of entering the exact date and time, they can simply click Expiration date – Now to immediately stop the rate from being applied.

In addition, when switching between different date options, the system now automatically sets the time to 00:00:00 (start of the day), unless the admin specifically selects another time. This makes rate timing predictable and helps prevent errors.

Click Expiration date – Now

Benefit

This enhancement speeds up manual rate management and reduces the risk of errors.

When resellers, representatives, and distributors log in to their portals for the first time, the Company info page opens by default. In this release, a tooltip has been added to help them quickly find the Main menu.

Tooltip for the main menu

Benefits
  • Resellers, representatives, and distributors can navigate the portal more quickly and intuitively.
  • For the service providers, this enhancement reduces customer service requests.

×
Docs for
What's new
Admin manuals
Handbooks
UI help
Developers documentation