Automated removal of the “+” prefix
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.
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.
- 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.
- 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
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
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.
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)
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
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.
- 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
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.
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.
- 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
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.
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.
More clarity and streamlined configuration for admins managing bundles.
- 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.
To create a bundle of a specific type, select it in the corresponding field during bundle creation.
Each bundle can include multiple items, such as internet access, domestic calls, international calls, SMS to specific networks, etc.
Redesigned “Rate upload” page
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.
- 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.
- 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.
- 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.
- Now, upon rate upload, admins can filter rates with reduced/increased prices.
- 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.
This enhancement improves the rate upload experience for the admin.
File playback in custom web portals
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.
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
- 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
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.
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.
Avoid the unnecessary load on your system when the vendor’s reconciliation period ends.
Brazilian Portuguese language support for web interfaces
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.
This enhancement helps service providers grow their business by engaging Portuguese-speaking team members and sales partners.









