What’s new in MR114

Link copied to clipboard

Transcription of call recordings

Link copied to clipboard

With this release, we introduce an integration with AI-driven speech-to-text service available via Add-On Mart. This feature offers a seamless solution to transcribe call recordings. The speech-to-text integration allows you to connect to different AI transcription models based on your preferences or the language of the region where you provide your services.

The speech-to-text transcription may be helpful for cloud PBX and call center customers who need to save time when reviewing and noting important details of lengthy conversations.

Once a call is completed and the recording is ready, the conversation will be automatically transcribed and made available for download on the PortaBilling web UI. Additionally, you can use the PortaBilling API to integrate this functionality into your self-care portals, developed in-house or by a third party.

To monetize the speech-to-text service, create an add-on product that includes this service and a subscription fee. Please note that charging for service usage based on the duration of transcribed conversations is currently unavailable; this feature will be introduced in MR115.

Currently, the integration is based on the OpenAI Whisper service and supports all major languages. If you want an integration with your preferred speech-to-text transcription service, contact our support team. If you develop your own integration with a 3rd party speech-to-text service, contact our sales team to become an Add-On Mart partner and receive a revenue-share from other CSPs who will use it.

To use the speech-to-text transcription, you need to:

  1. Sign up for an account with an external service (such as Whisper)
  2. Subscribe for the corresponding module in Add-on Mart
  3. Configure the integration:
    1. Obtain the API key from the external service and enter it on the Add-on Mart module’s Configuration UI
    2. If it’s the first module you activate, specify the Add-on Mart credentials in PortaBilling

During a conversation with the customer, John, a sales manager, made a deal and promised а 10% discount for the first 3 months of subscription.

As John’s extension has call recording and transcription features enabled, the system immediately processes the recorded dialogue and runs it through the speech-to-text service as soon as their conversation ends. After some time, John needs to re-check the information on the deal he made, so he opens the service provider’s custom self-care portal and finds his call successfully transcribed. He downloads the file which contains the information provided by the customer during their conversation.

The transcription download will also be available on the CloudPBX Self-Care Portal in the future.
  • Service providers can offer this feature for a subscription fee to their customers as an extra revenue source.
  • End-users can conveniently access important call information in the text format for quick analysis.

Flexible configuration for number portability lookups

Link copied to clipboard

Number porting allows users to switch from one service provider to another while keeping their phone number. When handling outbound calls from their subscribers, service providers need to identify whether the destination number has been ported to ensure that calls are routed to the correct operator and charged at the correct rate. To determine which network the number belongs to, service providers can either:

  • Receive the information about newly ported numbers from the central authority and insert that data into the internal PortaBilling database. This can be done by using PortaOne Workflows or other tools.
  • Use third-party providers, such as Telnyx, that maintain the database of ported numbers, directly connecting to authorities and offering APIs to retrieve the porting status of a specific phone number. Service providers typically incur costs for each lookup when checking the porting status.

With MR114, a new framework for number portability lookup has been implemented. This allows you to optimize the costs associated with lookups in external number portability services.

The new framework offers the following capabilities:

  • Configuring number portability lookups in a preferred external service not only for voice calls but also for SMS. The SMS messages sent to ported numbers will be correctly routed, guaranteeing delivery to the end users without incurring additional costs for sending an SMS to an “incorrect” network.
    You can use Telnyx service for both voice calls and SMS out-of-the-box or to add your preferred number portability service, such as your local provider, if it uses the ENUM (Telephone Number Mapping) protocol.
  • Configure how the number portability lookups are handled per virtual environment. For example, if you as a service provider operate virtual environments 1 and 2 and lease environments 3 and 4 to your partners, you can choose to limit paid lookups with an external service to environments 1 and 2. The partners can adjust their settings independently.
  • It’s also possible to set up caching and even to use lookup results across environments for additional cost savings. For example, if a user in environment 1 just made a call to +4206021234567 and the lookup shows that a number has been ported to network A, it is highly unlikely that the number will get ported to another network within a few hours. Therefore, there’s no need for another paid lookup when sending a call or SMS to the same number +4206021234567 from any user in environment 1 (or any other environment) shortly after.
  • In an environment setup, you can configure different number portability sources based on the destination. This allows you to apply least-cost number portability lookup, similar to least-cost call routing. For example, if “ABC” offers cheaper lookups for European numbers while “XYZ” provides cheaper lookups for North American numbers, then you can configure the system to use them respectively, thereby saving costs on number lookups.
  • Route SMS correctly based on up-to-date information from a preferred number portability data source.
  • Tailor number portability lookups, optimizing for cost-effectiveness.

Find more details here.

Integration with WTL (Wireless Technology Labs)

Link copied to clipboard

PortaBilling is now integrated with WTL (Wireless Technology Labs) mobile core infrastructure. WTL specializes in providing mobile core and small cell solutions for MVNOs. With this integration, mobile operators using WTL solutions can streamline the provisioning of subscriber data into the mobile network and enable real-time charging for internet access, voice calls, and SMS services.

The subscriber data provisioning to WTL’s HLR/HSS is performed based on PortaOne Workflows. Events such as SIM card assignment, account blocking/termination, or service package changes trigger corresponding updates in WTL’s system via an API. Contact our sales team if you need to provision additional data.

For real-time authorization and charging (AAA), the WTL’s mobile core and PortaBilling communicate via the Diameter protocol. When a user attempts to use a service, PortaBilling authenticates them, and authorizes the internet session, voice call, or SMS to verify that the user has sufficient balance/quota to use the service.

This integration is compatible with earlier release versions starting from MR105.

MVNOs/MVNEs can launch services using WTL’s flexible solutions.

See the configuration details here.

Setting a longer storage period for payment data

Link copied to clipboard

To prevent excessive database growth – which can decrease performance and eventually fill the available server disk space – all CDRs, charges, adjustments, payments, and other transactions are periodically cleaned up according to global settings. With MR114, you can set a separate storage period for payment xDRs (for e-commerce, manual, and automatic credit card payments, as well as refunds). For instance, payment xDRs can be stored for 12 months, while other transactions, such as voice call charges, are cleaned up after 2 months.


Say a service provider has many prepaid customers who occasionally request downloadable receipts for payments older than 2 months. Service providers can supply these receipts using xDR data. There is no need to store all the xDRs for more than 2 months, as they may occupy disk space and potentially affect PortaSwitch performance. Therefore, the service provider sets a storage period of 12 months for payments but keeps 2 months for all other xDRs (e.g., voice calls).

  • Service providers and resellers can provide financial information to their end users and save storage space by extending the storage period only for payment-related xDRs.
  • End users can get information on payments made months ago.

See the configuration details here.

Process call events (connected, queued, etc.) for calls initiated via an auto-dialer app

Link copied to clipboard

Apps (such as an auto-dialer) that use the originate_advanced_call method of call control API to initiate calls, can now receive from PortaSwitch events such as “ringing,” “connected,” “queued,” “terminated,” etc., about the call progress. Real-time information about the state of each call can be used to fine-tune the auto-dialing process, allowing call centers to optimize outbound call campaigns.

Note that calls initiated by the auto-dialer app connect called users with available agents using the call queue functionality in PortaSwitch.


Say a call center uses an auto-dialer app to automatically call a list of prospects’ phone numbers. When Mary, a call center admin, launches an outbound call campaign via the app’s UI, the app initiates calls automatically, connecting prospects who pick up the call with available call center agents. The app continuously receives call events in real-time, indicating the state of each call, including “ringing,” “answered,” “declined,” “queued,” “connected to agent,” or “terminated.” The current state of each call is also displayed on the app’s UI. If the app detects an excessive number of “queued” calls, signaling a shortage of available agents, it automatically pauses the auto-dialing process. Additionally, the app is programmed to redial the phone numbers of prospects who do not answer the initial call.

When the call campaign is completed, Mary can analyze statistics, e.g., check the percentage of the answered calls that were not connected to an agent. Using this data, Mary can optimize the settings of the auto-dialer app and fine-tune the strategy of the campaign.

  • Creators of auto-dialer apps can implement advanced logic for call processing.
  • Call centers can optimize the performance of outbound call campaigns.

Find more details here.

Add account identification to P-Charge-Info SIP header

Link copied to clipboard

Now, when sending outbound calls from PortaSwitch to your network equipment such as SBC, service providers can relay user identification by including an account ID in the P-Charge-Info SIP header of the outgoing INVITE request. This allows for data analysis and accurate user identification. For instance, providers may regularly compare PortaSwitch and SBC CDRs to prevent “rogue” traffic, e.g., calls routed through the service provider’s SBC to other vendors bypassing PortaSwitch with no customers being charged.


Service providers can reconcile CDRs to detect potential revenue loss.


Relaying user identification doesn’t work for calls made through IVR applications such as prepaid card calling IVR.

Find the configuration details here.

Seamless transmission of audio streams using the Opus codec

Link copied to clipboard

PortaSwitch now ensures seamless audio transmission even when call parties use the Opus codec with different sampling frequencies. Alongside transcoding, such as converting Opus to G.729 for compatibility with traditional VoIP devices like IP phones and PSTN gateways, PortaSwitch can also perform transrating (adjusting the sampling frequency) for the Opus codec. This flexibility enables smooth call processing between various WebRTC clients that use the Opus codec. For instance, this ensures smooth communication between a third-party WebRTC app operating at the standard 8 kHz frequency and PortaPhone set at 48 kHz for high audio quality.


This enhancement allows customers who use PortaPhone or other WebRTC apps that use Opus codec to seamlessly interconnect with other parties.

Possibility of setting sale discount in percentage for commitments

Link copied to clipboard

With MR114, it’s possible to set a relative sale discount for commitments as an alternative to a fixed discount value. This enhancement allows for a more accurate reflection of deals with end-users, for instance, admin can now define the agreed sale discount either in a fixed monetary amount (e.g., $5) or as a percentage (e.g., 5%).


Owl Telecom’s sales manager offers John Smith, their new customer, an additional 5% discount on the subscription fee for the first three months, encouraging him to sign up for a 12-month commitment. John agrees, and the sales manager sets the 5% sale discount when assigning the commitments to John’s account.

Sales discount configuration


This enhancement eliminates the need for manual calculations upon assigning a sale discount for commitment.

Improved clarity for invoices under review

Link copied to clipboard

Admins can reissue invoices during the review process if there’s a need to recalculate per-service amounts, such as when late xDR imports occur. Now, once the reissue process is initiated by an admin, the invoice status will change to “Being reissued.” During this time, the invoice becomes unavailable for download, and attributes such as the issue date, due date, period total, paid amount, and outstanding amount are temporarily hidden.

Being reissued status


Better clarity and control during the invoice reissue process for admins.

On this page

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