What’s new in MR118

Link copied to clipboard

Automated removal of the “+” prefix

Link copied to clipboard

The “+” symbol in mobile communications serves as a prefix to indicate that a phone number includes a country code (e.g., +3804412345). This helps to avoid confusion with numbers that could be interpreted in a local dialing format (e.g., 380-441-2345 would be a phone number in Columbus, OH). However, the E.164 standard, which specifies that phone numbers start with a country code followed by the area code (e.g., 38044 for Ukraine, Kyiv) and is commonly used in PortaSwitch, requires digits only, without the “+” at the beginning. With this release, your admins no longer need to manually configure number translation rules to remove the “+” symbol. PortaSwitch now automatically removes it not only from called (destination) numbers but also from caller numbers. This automation ensures that the phone numbers are accurately matched in tariffs, call barring, call screening, CLI validation, and other features, eliminating mismatches caused by the presence of the “+” symbol.

EXAMPLE 1
Let’s say a cloud PBX user, Adam, creates a call screening rule to always forward calls from his VIP customer’s phone number, 12025557812, to Adam’s mobile number. When PortaSwitch receives a call from +12025557812, it applies a built-in translation rule that removes the “+” symbol and matches only digits against the specified pattern “12025557812.” As the received number matches the pattern, the call is forwarded to Adam’s mobile number.
EXAMPLE 2

Say a service provider Owl Telecom prohibits the routing of calls with invalid CLI to the vendor GlobalNet to avoid surcharges that GlobalNet imposes on such calls. Owl Telecom configures the system to route only calls with a valid CLI that follows the E.164 standard.

When a customer’s on-premise PBX sends the number “+27134567890,” PortaSwitch applies a built-in translation rule that removes the “+” symbol and then matches the resulting number against the CLI validation rule. Since “27134567890” is a valid E.164 phone number, the call is successfully routed.

Benefits
  • Admins can save time and avoid configuration errors, as there is no need for manual configuration to remove the “+”.
  • Service providers can ensure correct call handling.
Specifics
  • When adding number patterns for call barring or call screening, customers can choose to include or exclude the “+” at the beginning. In either case, only the digits will be used when matching a phone number against the pattern.
  • If a service provider specifies a number with “+” to override the customer’s caller identity on the web interface and the identity gets overridden, it will still contain “+”. As a result, in example 2, such a call will not be sent to the vendor GlobalNet, because the identity is not an E.164-compliant number and fails validation.

Build custom voice applications using enhanced call control API

Link copied to clipboard

You can now build various custom voice apps like auto-dialers or auto-attendants more quickly and easily using the Call Control API.

Auto-dialers

Link copied to clipboard

The Call Control API’s new originate_call method allows you to develop custom apps for automated dialing, such as apps for telemarketing, conducting surveys, or sending reminders. The app initiates an outgoing call to a phone number, and once it is connected, it can play pre-defined prompts, collect DTMF codes dialed by the user, and connect the user with an agent if needed.

EXAMPLE
Let’s say you’ve built a virtual assistant app that calls users to remind them of upcoming medical appointments. When a user receives a call, they hear a prompt like, “You have an appointment with Dr. Smith, your dentist, on November 15th at 10:00 AM. Please press 1 to confirm, press 2 to reschedule, or press 3 to cancel.” The user presses “2”, and hears “Please hold while we connect you to a receptionist .” Then, the call is automatically transferred to the receptionist.

In the background, the app uses the new originate_call method of the Call Control API to initiate a call to the user and apply the custom logic that includes playing prompts, collecting the DTMF inputs, and transferring the user.

Auto-attendants (custom IVR apps)

Link copied to clipboard

When building a custom IVR app (e.g., an auto-attendant for tracking parcel status), there’s now no need to configure special “access numbers” for users to reach the app. Simply assign a specific DID number to the account designated as the auto-attendant and activate the “User application” option in the account settings.

Custom Click-to-Call (callback) applications

Link copied to clipboard

If you need to build custom callback applications that allow users to initiate calls from their phones directly via any web page, such as PortaOne’s Click2Call, or a CRM system, you can use the new method connect_two_parties of the Call Control API. This method enables the application to place a call to the user’s phone, and once the call is answered, the user is automatically connected to the destination number without having to actually dial this number.

Benefits
  • Developers can build custom voice apps faster and easier.
  • Service providers can save resources with application development, offer new voice apps, and stay competitive in the market.

Skip generating invoices without charges

Link copied to clipboard

Starting with this release, service providers can choose to not issue invoices for periods that don’t contain any charges and include only payment/refund transactions.

This allows service providers to be compliant with local regulations that require invoices to be issued only when services are provided, as invoices indicate an obligation to pay for services. When an invoice contains only payment/refund transactions that do not represent any “sellable” service, such an invoice should not be issued.

Service providers can configure PortaBilling to not generate such invoices for a specific customer class.

EXAMPLE
Suppose a customer, John Doe, cancels services in September. On October 1st, he receives a final invoice for $100. In October, John makes a $100 payment to settle the September invoice and has no new charges. As a result, John does not receive an invoice for October, since no services were billed during that period.
Configuration

For PortaBilling to skip generating invoices for payments only (with no charges or credits/adjustments), an admin opens a specific customer class, navigates to Invoicing > Regular invoices, and turns on the Skip billing periods that include only payments toggle.

Skip billing periods that include only payments

Benefits
  • Service providers can comply with local regulations.
  • Customers are not confused by receiving an invoice for a period when they didn’t use any services.

Redefined bundle types

Link copied to clipboard

The “Bundles” feature has been updated to clearly differentiate between “Quotas,” “Service wallets,” and “Repeated use with renewal” (prepaid bundles) as distinct bundle types tailored to specific business scenarios.

Previously, “Quotas” and “Service wallets” were grouped under the same bundle type, separate from the “Repeated use with renewal” (prepaid bundle) type. Redefining all three as distinct types, set during bundle creation, makes configuring and filtering bundles more straightforward.

Additionally, the terms “Quotas,” “Service wallets,” and “Repeated use with renewal” have been renamed to better reflect the functionality of each bundle type.

Newly redefined bundle types

Balance-dependent renewable:

  • Previously referred to as: “Repeated use with renewal” (prepaid bundle).
  • Business scenario: Tailored for prepaid services with activation and renewal based on the customer’s balance, making it suitable for use by mobile operators.
  • Example: “1000 minutes of domestic calls, 10 GB of data, and 100 SMS for 14 days at $20.”
  • Specifics: Allocated service volumes are available for a single fixed fee during a set period (e.g., 14 days). They are renewed for another period only if the customer has sufficient balance to cover the fee.

Renewable by calendar (new quota):

  • Previously referred to as: “Quota.”
  • Business scenario: Tailored for services provided to postpaid customers for a subscription periodic fee.
  • Example: “200 minutes of international calls and 40 GB of internet per month for a $25 subscription.”
  • Specifics: Each service volume (e.g., “200 minutes”) is automatically renewed based on the calendar cycle (daily, weekly, semimonthly, or monthly, typically aligned with the customer’s billing cycle) regardless of the customer’s balance or unsettled invoices, as long as the customer has access to the service.

One-off with top-ups (new wallet):

  • Previously referred to as: “Service wallet.”
  • Business scenario: Provides a one-time allowance of specific services, such as voice calls, internet access, SMS, that can be used until it is depleted. Customers can “top up” the allowance as needed, e.g., a customer might need extra international minutes for a one-time business call or additional data for a remote work project.
  • Example: “Get 30 minutes of international calls and 1 GB of data as a welcome offer for new customers. Add more with top-ups: “60 minutes for $10” (valid for 14 days) and “5 GB for $6.99” (valid for 7 days).
  • Specifics: A purchased service volume (e.g., 5 GB) has a validity period, such as 7 days.
Benefit

More clarity and streamlined configuration for admins managing bundles.

Specifics
  • Existing bundles that only include quotas will be automatically converted to “Renewable by calendar (new quota),” and those that only include wallets will be automatically converted to “One-off with top-ups (new wallet).” The bundles that include a mix of quotas and service wallets will retain the “Legacy (former volume discount plan)” type after the system update.
  • New bundles of the “Legacy (former volume discount plan)” type can no longer be created.
Configuration

To create a bundle of a specific type, select it in the corresponding field during bundle creation.

Redefined bundle configuration

Each bundle can include multiple items, such as internet access, domestic calls, international calls, SMS to specific networks, etc.

Redesigned “Rate upload” page

Link copied to clipboard

The “Rate upload” page has been redesigned with a modern UI, making it more user-friendly for admins to import rates into a tariff.

Here are more details about the changes:

  • Admins now gain a clear overview of all rate import steps, which are Rate upload, File parsing, Data mapping, Rate information review, New destinations, and Rates summary.
  • Admins can also choose how many rows per page to display on the File parsing review or Data mapping steps.

    Rate upload redesign

  • Admin can more easily adjust the rate info on the Data mapping step. For example, if the file parsing does not identify the column with the Country name, an admin can click on the dropdown above the needed column and select Country as a title. This action will set the values in the Country column as the respective attribute for the uploaded rates.

    Rate upload redesign

  •  The Data mapping step now also shows a warning with the column name if no file column is linked to a mandatory rate field, such as “Destination” or “Price”. Then, the admin can choose the column title to correctly identify the rate field.

    Rate upload redesign

  • The Review rate information page has an improved indication of rate changes. When a new rate or destination is added within this tariff, a New rate or New destination icon is shown.

    Rate upload redesign

  • Now, upon rate upload, admins can filter rates with reduced/increased prices.

    Rate upload redesign

  • Admins can now perform an advanced search, allowing them to quickly find rates with fields that start, end, contain, or exactly match the entered symbols. For example, the admin can choose to search by Destination and select the Starts with mode.

    Rate upload redesign

Benefit

This enhancement improves the rate upload experience for the admin.

File playback in custom web portals

Link copied to clipboard

Now, cloud PBX admins using your custom portals can play uploaded audio files, such as auto-attendant, conference, or voicemail prompts, directly from a portal web page. This feature can be implemented via the PortaSIP API. For example, a cloud PBX admin configures voice prompts for an auto-attendant and can listen to each prompt.

Your web portals can fetch audio files from your PortaSwitch server in the .wav format. This format is supported by popular browsers and allows seamless playback.

EXAMPLE

When the admin selects the prompt for the auto attendant’s main menu, they can play this prompt to ensure that the correct audio file is being used. In the background, the web app sends the AutoAttendant/get_menu_prompt API request to PortaSwitch to fetch the prompt in the needed audio format (.wav).

AutoAttendant/get_menu_prompt -d auth_info='{"login":"***","password":"***","domain":"***"}' -d params='{"i_menu":30, "codec":"wav","prompt_type":"intro"}' -J -O
Benefits
  • Service providers can make their cloud PBX portals more user-friendly.
  • Cloud PBX admins can quickly verify and replace voice prompts if needed.

Disable archiving xDR for vendors

Link copied to clipboard

By default, PortaBilling automatically generates a .csv file with the vendor’s CDRs (also called xDRs) for each reconciliation period, such as a month. This allows service providers to store call information for calls routed through a vendor for a longer period than xDRs stored in the database. However, if a large volume of vendor xDRs is produced, file generation may become resource-consuming for the system, potentially causing slowdowns, such as slow-loading pages with vendor xDRs in the UI.

With this release, you can disable the generation of vendor xDRs files if it is not necessary to store them (e.g., you already export them into an external data warehouse), to avoid unnecessary load.

EXAMPLE

After the vendor reconciliation period closed, Owl Telecom’s admin was unable to access session details for calls for some time. The investigation showed that the generation of a .csv file with millions of the vendor’s xDRs in the background caused a slowdown in loading the xDRs on the UI.Since Owl Telecom regularly exports xDRs to an external data warehouse, additional backups are unnecessary, so they decide to disable the generation of files with vendor xDRs to avoid extra load on the system and slowdowns in the future. Admin opens the Vendor page > General configuration and turns off the Generate CSV files after each billing period toggle.

Disable xDR archiving

Benefit

Avoid the unnecessary load on your system when the vendor’s reconciliation period ends.

Brazilian Portuguese language support for web interfaces

Link copied to clipboard

Admin, reseller, distributor, and representative portals are now available in Brazilian Portuguese, enabling service providers to offer a native-language web interface to their Brazilian employees and partners. For example, a reseller operating in Brazil can now navigate the interface in their native language, making it easier to manage accounts, monitor transactions, and provide customer support without language barriers.

Brazilian Portuguese language support for web interfaces

Benefit

This enhancement helps service providers grow their business by engaging Portuguese-speaking team members and sales partners.

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