What’s new in MR130

Link copied to clipboard

Offer AI voice agents as a billable service

Link copied to clipboard

AI-powered services can act as virtual receptionists and handle customer inquiries.  You can now offer these capabilities as a billable service alongside your existing voice services. Voice AI Agent (Apifonica) is a new Add-on Mart module that allows you to add AI-powered voice bots to your cloud PBX and SIP Trunking services.

Your business customers configure AI agents in Apifonica‘s platform, then assign them to any phone number or extension in the CloudPBX Self-Care Portal. When a call comes in, the AI agent responds to caller inquiries in real time based on the knowledge base and instructions configured for that agent.

With Voice AI Agent, you become a white-label provider of AI voice bots. You set your own markup on top of the wholesale price from the AI provider (Apifonica) and charge customers per minute or bundle the service into a subscription plan, adding a new revenue stream to your existing business.

See a more detailed module description here.

Benefits
  • Service providers add a new revenue stream alongside their existing voice services.
  • Business customers save on handling incoming calls.
EXAMPLE

Owl Telecom provides Cloud PBX services to business customers. Alongside regular voice calls, Owl Telecom defines a separate charge of $0.20/min for calls to AI agents.

ABC Company, a dental clinic, is a Cloud PBX customer. They use an AI agent as a virtual assistant to answer questions about their services and pricing, and to schedule patient appointments. For this:

  • ABC Company admin goes to the CloudPBX Self-Care Portal, creates a new extension, and enables an AI agent for it.
  • The admin then goes to the AI provider’s platform and configures how the AI agent should handle incoming calls.
  • The configured agent is assigned to the extension.

    AI agent tab on CloudPBX Self-Care Portal.

  • The admin then modifies the auto-attendant for the main clinic DID (34639890397) to route calls to that extension when a caller dials 9 to hear the list of available services and schedule an appointment.

John Doe calls 34639890397 to reach ABC Company. John hears a greeting and the available options. He dials 9 to find out about teeth whitening services and scheduling a consultation. The AI agent answers his questions and books an appointment for him. After 3 minutes, John ends the call.

Owl Telecom charges ABC Company $0.60 for the AI agent call (3 min × $0.20/min).

Find the configuration details here.

Requirements
Specific

To enable the AI agent feature for an account in the CloudPBX Self-Care Portal, the customer must have a country and email address defined.

Connect AI agents to PortaBilling without hosting infrastructure

Link copied to clipboard

Service providers can use AI agents to answer service-related questions and help customers and admins to perform routine tasks faster. Typically, integrating AI agents with billing and customer management systems requires deploying, configuring, and maintaining a local Model Context Protocol (MCP) server that connects AI tools to business system APIs.

With the PortaBilling MCP Server module, you can connect AI agents to PortaBilling. Subscribe to the PortaBilling MCP Server module on Add-On Mart, and PortaOne will provision, host, and maintain the MCP server for you. The MCP server ensures AI agents interact with PortaBilling securely, giving each user access only to the entities their permissions allow.

The MCP server exposes PortaBilling data as MCP tools, where each tool corresponds to a group of API methods, such as Customer, Product, or Service.

Benefit

Service providers reduce the time and cost of setting up AI agents.

EXAMPLE

ABC Company is a new call center that has just signed up with Owl Telecom. Owl Telecom provides ABC Company with an AI agent, Kairo. John, the PBX admin at ABC Company, has access only to PBX management and needs to set up extensions for all call center agents.

Instead of using the CloudPBX portal, John opens Kairo and asks it to create extensions for the new agents. He provides the required details, including agent names, extension numbers to assign to each agent, and the products to use. After the extensions are created, Kairo also shows how many extensions can be created in the future under the service agreement.

John can continue in the same conversation: set up ring groups, adjust extension settings, and configure the auto-attendant.

In the background, Kairo performs the configuration via PortaBilling API methods exposed through the MCP server, within the permissions granted to John. So, if John asks the assistant to pull up the company’s invoice history, Kairo notifies John that he does not have access to the financial data and declines the request.

Specific

The MCP server module requires PortaSwitch MR105 or later.

Real-time text-to-speech for custom voice applications

Link copied to clipboard

You can now build custom voice applications that generate personalized voice messages in real time using the Text-to-Speech (ElevenLabs) Add-on Mart module. This text-to-speech (TTS) functionality is useful when pre-recorded voice prompts are not sufficient because the content depends on information available only at call time (such as the caller’s name, appointment details, service status updates, or a verification code).

Previously, all prompts used by a custom voice application had to be prepared and uploaded in advance.

The new module enables PortaSwitch to automatically handle speech synthesis, caching, and playback. A custom application only needs to look up the relevant data and send the text to PortaSwitch using a single CallControl/say API request. PortaSwitch then generates the speech using ElevenLabs and immediately plays it during the active call. If the same voice message is requested again, the previously generated audio is played from the cache instead of being synthesized again, reducing text-to-speech synthesis costs.

EXAMPLE

A solar panel company uses a custom voice application to handle incoming calls from existing customers. When a call comes in, the application looks up the caller’s phone number in the CRM, retrieves the customer’s name and their assigned account manager, and composes a greeting message.

The application passes the message text to PortaSwitch, which synthesizes the audio via ElevenLabs and plays the personalized message to the caller in real time: “Hello Mark Spencer. Connecting you to your account manager, Alex Brown.”

If Mark calls again within 30 days, PortaSwitch plays the cached version of that message instantly, without making a new synthesis request to ElevenLabs.

Benefits
  • Develop more competitive voice applications that provide a better caller experience.
  • Reduce text-to-speech synthesis costs through automatic audio caching.
Requirements

Two-factor authentication for Configuration server users

Link copied to clipboard

You can now enable two-factor authentication (2FA) for Configuration server web interface users, making access to technical PortaSwitch configuration more secure. Previously, 2FA was already available for PortaBilling admins, resellers, customers, and other entities accessing their portals.

With 2FA enabled, a user can log in to the Configuration server web interface only after entering a valid one-time password (OTP) in addition to their login and regular password. The time-based OTP is generated by an authenticator app, such as Google Authenticator, installed on the user’s smartphone. So, even if the user’s credentials are compromised, an unauthorized person can’t access the Configuration server web interface without the OTP.

EXAMPLE

Owl Telecom is expanding its PortaSwitch installation with a new SIP cluster. The admin (Root user) creates a new user in the Configuration server web interface for Adam Smith, a network engineer who will be responsible for creating the new configuration. The admin enables 2FA for the user by checking Require one-time password in the User details dialog.

Enable 2FA for the user

Adam opens the Configuration server web interface and enters his login and password. Since this is the first time he is logging in with 2FA enabled, he sees the 2FA setup window with a QR code.

2FA setup window with a QR code

Adam scans the QR code with the Google Authenticator app installed on his smartphone to save the 2FA key in the app. The app generates an OTP, which Adam enters and successfully logs in.

The next time he logs in, Adam enters his username and password, opens his authenticator app, and enters the current OTP.

If Adam loses access to his authenticator app (e.g., if he loses his smartphone), the admin can reset 2FA for him, so Adam can re-activate 2FA during his next login.

Benefits
  • More secure access to the Configuration server web interface for engineers.
  • Compliance with security policies and the ability to pass security audits.
Requirements
  1. Users need to install an authenticator app on their smartphone or PC to generate OTPs.
  2. For successful 2FA, the time on the Configuration server web interface and the user’s device should be synchronized with an internet time server.

Deliver one-time password (OTP) via branded emails

Link copied to clipboard

Many modern apps, including PortaPhone, allow users to sign in with a one-time password (OTP) delivered by SMS or email instead of a traditional password. PortaBilling generates and validates OTPs out of the box, but there was no way to brand the emails containing those OTPs. This enhancement enables integration with third-party email platforms, such as Brevo or custom in-house solutions, allowing you to brand emails for OTP verification with your own templates. A middleware application (e.g., a web application that gets EventSender notifications) receives the user details and OTP from PortaBilling and passes them to the email platform. The platform then uses your predefined template to generate and send a branded OTP email to the user.

EXAMPLE

Owl Telecom offers the PortaPhone app and wants OTP emails to match its brand. The admin creates a custom email template in the external platform, setting the company logo, brand colors, social media links, and other visual elements.

When a user opens PortaPhone and enters their phone number, they receive an email with an OTP that follows the Owl Telecom template. They enter the received code in the app and can use the softphone.

Sending OTP via external tools with custom email templates

On the backend, PortaBilling generates the OTP and passes it to the external platform via ESPF, which applies the branded template and delivers the email to the user.

Benefit

Service providers increase brand awareness.

Specifics
  • The account must have a valid email address or phone number configured. Otherwise, OTP delivery via email or SMS will not be possible.
  • The IP address of the app requesting the OTP should be specified in the Security.AllowLoginByOTPFrom option on the Configuration web server.

Tax transaction codes for built-in services

Link copied to clipboard

Admins can now assign a tax transaction code to a predefined (built-in) service – such as Voice calls, Network access, or Messaging. Previously, predefined services did not support tax code assignment. To apply a tax code to a predefined service, admins had to create a custom service of the same type and assign the tax code to it.

Define tax code for predefined service.

The tax code is the only editable property on a predefined service.

EXAMPLE
Owl Telecom provides voice services to business customers. The Owl Telecom admin configures the service catalog using the predefined Voice calls service. Owl Telecom also uses an external taxation plugin to calculate taxes for the provided services. When configuring taxation, the admin opens the Voice calls service settings and assigns the required tax transaction code. At the end of each billing period, the plugin correctly classifies and calculates voice call charges and taxes.
Benefit

Setting up taxation for predefined services takes less time and effort.

Current password confirmation on update and password expiry visibility

Link copied to clipboard

To improve security, resellers, distributors, and representatives must now enter their current password before setting a new one on their portals. This applies both to regular password changes and when updating an expired password, ensuring that only the actual owner can modify credentials and preventing account takeover.

Users can also see the exact date when their password will expire, making it easier to plan password updates instead of hitting an unexpected login block.

Current password confirmation on update and password expiry visibility

Benefit

Partners are better protected against unauthorized password changes.

Web interface changes

Link copied to clipboard

More precise account status filtering

Link copied to clipboard

Admins can now filter accounts by two distinct status types: billing status and additional status. Previously, a single Status filter was available. It has been renamed to Billing status, and a new Additional status filter has been added.

Billing status indicates the account lifecycle: open, inactive, or closed.

Billing status filter for accounts.

Additional status reflects whether the account’s services are active or restricted – for example, blocked, suspended, or expired.

Additional status filter for accounts.

Both filters are available on the Find account page and on the customer’s Accounts tab.

Benefit

Admins can find the required accounts more quickly.

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