What’s new in MR128

Link copied to clipboard

Control which call duration data customers see in their CDRs

Link copied to clipboard

When calls are billed in increments (for example, rounding up to the next whole minute), the charged duration may differ from the actual call duration. This should be considered when customers reconcile their internal call records (e.g., from PBX) with the billed records received from the service provider.

PortaSwitch now lets you control which call duration fields customers see in call detail records (CDRs) – in the self-care web interface, in downloadable CSV files, etc.

You can decide whether customers see:

  • Actual call duration (“Duration”)
  • Charged duration (“Charged Duration”)
  • Connect Time 
  • Disconnect Time

You can choose which of these fields are visible to your customers:

  • Self-care web interface and on-demand CSV downloads – the fields are controlled by customer access roles.
  • CSV files automatically generated at the end of the billing period – the fields do not depend on access roles; they are defined on the Configuration server web interface and enabled in the customer class.

If a field is restricted by the customer’s access role, it is entirely hidden from their CDR view (it doesn’t appear as an empty column).

When admins open specific call details, they always see the full information. CSV files generated for admins always include the default set of fields (e.g., charged duration and connect time).

EXAMPLE

A VoIP provider bills calls in 60-second increments. One of their customers, ABC Company, needs to reconcile billed calls with internal logs.

For ABC Company, the service provider’s admin configures the following:

  • assigns an access role that enables Duration and Charged duration in the customer self-care portal
  • assigns a customer class configured to generate custom reports that includes both actual and charged duration

Now, ABC Company’s admin sees the full data for each call (e.g., Duration of 3:47 and Charged Duration of 4:00) both in the self-care portal and in the automatically generated reports.

All other customers using the service provider’s standard setup with a restricted customer role, see only the charged duration.

Benefits
  • Service providers can reduce billing disputes and save employee time.
  • Customers can reconcile billed calls faster and with greater accuracy.

Single recording for calls with multiple audio streams

Link copied to clipboard

Some call scenarios produce multiple audio streams, such as a transferred or pulled call. Previously, a call recording file was produced for each audio stream, so a single call appeared as multiple recordings. Starting from this release, PortaSwitch automatically merges all audio streams of such a complex call into a single recording file. Users can download the single, complete recording file from the self-care web interface or receive it by email. The same applies to transcriptions, where a single, complete transcript is generated for the entire call.

Example

John, a new employee at ABC Company, calls his colleague Sarah to discuss a new contract. While reviewing the terms, Sarah transfers John to Mike from the finance department to discuss the financial details.

After the call ends, John downloads a single recording file from the self-care portal. John navigates through the recording to find the specific figures Mike confirmed during the call.

Benefit

End users review call recordings and transcripts faster.

Specifics
  • Recordings made before MR128 are not merged and remain available as separate files.
  • In a multi-node call recording setup, any available node handles the call recording by default. To assign each call to one specific call recording node, set the Strict_Call_Per_Node_Processing option to Yes on the Configuration server web interface. This prevents duplicate processing when multiple call recording nodes are active simultaneously.
  • If one or more audio streams cannot be processed, the merged recording file is produced without those streams.

Restrict system access to trusted IP addresses only

Link copied to clipboard

Starting with MR128, you can restrict access to specific PortaSwitch servers or server subnets so that only connections from trusted IP addresses are allowed, and all other connections are blocked. This allows protecting critical services (e.g., SSH or web interfaces) without manually configuring firewall rules via a command-line interface on each server.

Previously, engineers could only block connections from specific IP addresses. These “block” rules applied across all servers and could not be scoped to a specific service (port and protocol). Any other access rules for a service required manual configuration on each server.

Now, engineers can specify “allow” rules for trusted sources and add a single “block” rule that denies all other incoming connections to a specific service (e.g., server administration via SSH) via the Configuration server web interface.

Each “allow” or “block” rule defines a source (where the connection originates from) and a destination (the server and service being accessed). For both the source and destination, engineers can specify an individual IP address (e.g., 198.51.100.5), a subnet – a range of IP addresses (e.g., 203.0.113.0/24), or a wildcard (0.0.0.0/0) to match all addresses. For the destination, engineers can specify a protocol and port to identify a specific service (e.g., tcp:22 for SSH).

EXAMPLE

Owl Telecom wants to restrict SSH access to PortaSwitch servers subnet (192.0.2.0/24) and only allow access:

  • From their office network (203.0.113.0/24)
  • For an admin who works from home (198.51.100.5)

Owl Telecom’s engineer configures the following rules for TCP port 22 (used for server administration via SSH):

  • Allow rules for access from 203.0.113.0/24 and 198.51.100.5 to 192.0.2.0/24 on tcp:22
  • A block rule to deny connections from all other source addresses (0.0.0.0/0) to 192.0.2.0/24 on tcp:22

Network Protection options in the Configuration server web interface

This ensures that SSH access is limited to Owl Telecom’s trusted locations, with no additional firewall configuration required on individual servers.

Benefit

Engineers can fully protect critical services from unauthorized access with less configuration effort.

Specifics
  • It’s not possible to set a rule where both the source and the destination are set to a wildcard “0.0.0.0/0” (e.g., “block all traffic from anywhere to anywhere”) – at least one side must identify a specific address or subnet.
  • To apply the “allow” and “block” rules, they should be enabled using the corresponding options NetworkProtection.allow_connections_enable and NetworkProtection.block_connections_enable.
  • PortaSwitch maintains a protected list of its own server addresses, cluster IPs, Docker internal network ranges, and PortaOne support IPs that cannot be blocked by user-configured rules. This ensures that internal server communication is never accidentally interrupted.
  • When updating to MR128, the existing access rules are migrated automatically, preserving the effective behavior of the previous version.

Avoid login failures in apps with token-based account authentication

Link copied to clipboard

Password expiration improves security for web portals, but it can prevent users from accessing mobile apps that rely on API-based authentication. For example, PortaPhone users sign in with a one-time password (OTP). If the standard account password expires in PortaBilling, login fails because the system requires a password change, which cannot be handled within the app. Supporting password change in such apps requires additional development effort and cost.

To prevent such situations, service providers can now allow API token–based authentication for accounts. Mobile apps such as PortaPhone authenticate users via account login, OTP, and an API token generated automatically for the account. They continue using the app without interruption, since API tokens are not affected by password expiration. However, when users access the web portal, they are forced to change their expired passwords.

Example

When a user opens PortaPhone on their phone, they enter their login. The app then sends a one-time password (OTP), which they enter to complete the login process. On the backend, the app sends an API request to PortaBilling that includes the account login, the OTP provided by the user, and the API token generated for the account. PortaBilling verifies the OTP and validates the API token. If the credentials are valid, the system establishes an API session for the app, granting the user access to the service.

Benefit

Easier and faster app development using PortaBilling API.

Specifics

Show operators which department or product line an incoming call is for

Link copied to clipboard

Companies may use a single Auto-Attendant to handle calls for different departments, product lines, or marketing campaigns – each with its own phone number. When a call is routed to an operator from the Auto-Attendant, they need to know which department, product line, or campaign number was dialed to respond in the right context.

Previously, the name assigned to the called number was displayed only for directly forwarded calls. Now the department or product name is displayed alongside the caller’s number when incoming calls are routed through an Auto-Attendant.

 

Example

ABC Company uses a single Auto-Attendant for two product lines: SmartHome and SmartOffice. Each product line has its own DID, configured to forward all incoming calls to the shared Auto-Attendant. By pressing 0, the caller is connected to a call center operator.

The company is running marketing campaigns for both products and wants operators to respond to each caller in the right context.

John calls the SmartHome number from +44 7911 123456. The call is received by the SmartHome account and then forwarded to the Auto-Attendant. After John selects the option in the Auto-Attendant menu, the call is sent to the operator’s desk. The operator sees:

  • Number: +44 7911 123456
  • Name: SmartHome

The operator answers: “Good morning, thank you for your interest in SmartHome, how can I help?”

To preserve the forwarder’s name in calls forwarded through Auto-Attendant:

  • Select Yes for the AllowForwarderToReplaceCallerName option on the Configuration server web interface.
  • Navigate to Account > Voice calls > Service configuration > Call forwarding > and in the Calling party display field, select Caller number and forwarder name.

    Caller number and forwarder name option.

Benefits
  • For call centers: Better customer service with a clear call presentation on incoming calls.
  • For service providers: More competitive service for call centers.

Close subscriptions instantly (on the day of activation)

Link copied to clipboard

When an admin cancels a subscription, it remains active until the next scheduled off-peak processing, when the system automatically closes it. During this period, the subscription is still considered active, which prevents assigning another product that includes the same subscription.

With this release, subscriptions can be closed immediately if they were activated on the same day. This allows admins to quickly correct configuration mistakes, avoid unnecessary charges for that day, and assign the correct product without waiting for the off-peak period.

Example
An admin assigns the “Rental equipment” subscription directly to a customer account. Shortly after, they realize it should have been assigned through the “Home Internet” add-on product instead. The admin clicks Close subscription and confirms that the subscription closes immediately with no charge for the day. The admin then assigns the “Home Internet” add-on product without conflict.
Benefits
  • Prevent incorrect charges caused by accidental subscription activation.
  • Correct provisioning mistakes the same day, without waiting for the scheduled processing time.

Web interface changes

Link copied to clipboard

Redesigned Phones/CPEs page

Link copied to clipboard

This release introduces a redesigned Phones/CPEs page, making it faster for admins to search, review, and manage these entities:

  • The device list and CPE profiles are now organized into two tabs on a single page. Admins can edit or delete any record using the Actions column.

    Phones-CPEs tabs and actions.

  • Search parameters have been moved from the left side panel to a single row at the top, allowing for more columns to fit on the screen without horizontal scrolling. Less frequently used search parameters are grouped under the More menu. Default profiles for upload via the self-care portal are now accessible from the Set default profiles button in the toolbar.

    Phones-CPEs search panel.

  • Opening a Phone/CPE record now displays all parameters on a single page, organized into sections. No additional clicks are needed to view device details.

    Phone-CPE page with sections.

  • An audit log is now available on the Phones/CPEs page. Admins can view a log of changes to phones, CPEs, and profiles.

    Phones-CPEs Audit logs.

Benefit

Admins spend less time navigating between pages and panels while managing devices.

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