Overview
The PortaOne CDR Detail Collector retrieves call detail record (CDR) data from a PortaOne billing and switching environment, covering voice call activity across Reseller, Reseller Customer, and Retail customer types.
This collector provides visibility into call costs and durations at the individual call record level, enabling organisations to validate charges and allocate costs within Varibill.
The collector supports two rating modes:
- Rated — call cost values are supplied by PortaOne and submitted directly to Varibill. Pricing markups can be applied without requiring separate price lists.
- Unrated — call records are submitted without monetary values, and pricing is applied within Varibill based on configured contracts and pricing rules.
This is a historically capable collector, meaning each execution retrieves CDR data for a configurable date range in the past, rather than a snapshot of the current state.
For general instructions on creating and running Source Collectors, see: Varibill Cloud Source Collectors – Setup and Configuration Guide
Collector Summary
| Field | Value |
|---|---|
| Source Collector Name | PortaOne CDR Detail – Version 19.8 |
| Collection Behavior | Historically Capable |
| Rating Model | Rated or Unrated (configurable) |
| Vendor Name | PortaOne |
| Product | PortaSwitch / PortaBilling |
| Purpose | Retrieves call detail records from PortaOne for billing and cost allocation within Varibill |
About PortaOne
PortaOne is a telecommunications software company that provides integrated billing and service management solutions for communication service providers worldwide. Founded in 2001, PortaOne serves over 500 telecom operators across more than 100 countries, ranging from wholesale carriers to retail service providers.
PortaOne’s core platform, PortaSwitch, is a unified service management and delivery platform covering voice, messaging, IoT/M2M, and data traffic. PortaBilling, its accompanying billing component, enables service providers to manage subscriber accounts, rating, and revenue collection.
PortaOne is used by a broad range of providers including Mobile Virtual Network Operators (MVNOs), cloud PBX operators, traditional carriers, and internet-based telephony providers.
Note: PortaOne documentation is available at docs.portaone.com. Documentation is version-specific — ensure you are referencing the guide for your deployed PortaOne release.
Data Collected
The PortaOneCDRDetail v19.8 collector retrieves call detail records from PortaOne for a configurable historical date range. Each record represents a single call event, including the duration of the call, the destination dialled, and the cost charged by PortaOne.
The collector also retrieves the customer account data needed to scope collection — covering Reseller, Reseller Customer, and Retail customer types — and the tariff and product information that PortaOne associates with each call. This allows Varibill to correctly identify and allocate charges to the appropriate billing lines.
The time window covered by each collection run is configurable, enabling the collector to align with your billing cycle and to recover data from prior periods where needed.
When operating in Rated mode, call cost values from PortaOne are submitted directly to Varibill, and an optional VAT adjustment can be applied before submission. When operating in Unrated mode, call records are submitted without monetary values and pricing is applied within Varibill based on your configured contracts and pricing rules.
Prerequisites
Before configuring this collector, ensure that:
- You have access to a PortaOne environment (PortaSwitch / PortaBilling)
- You have a PortaOne user account with read access to CDR data
- You have an API token associated with that account
- You have noted the base URL of your PortaOne instance (for example,
https://portaone.example.com) - You have access to the Varibill Source Collector configuration screen
Tip: PortaOne API tokens are typically generated or retrieved from within the PortaOne administrative interface. Contact your PortaOne system administrator if you do not have a token or are unsure of the correct host URL.
Warning! The PortaOne Token grants API access to your PortaOne environment. Store it securely and do not share it. The token is masked in the Varibill UI once saved.
Configuration Parameters
The parameters below are entered when configuring the collector in Varibill. They are grouped by function.
Connection Parameters
These parameters identify and authenticate against your PortaOne instance.
| Parameter | What it is | Format | Example | Required |
|---|---|---|---|---|
| Portaone Host | The base URL of your PortaOne instance | URL (include https://, no trailing slash) |
https://portaone.example.com |
Yes |
| Portaone Username | The username of the PortaOne account used to connect | String | api_user |
Yes |
| Portaone Token | The API token associated with the PortaOne user account | String (masked in the Varibill UI) | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
Yes |
Tip: Obtain the host URL, username, and API token from your PortaOne system administrator. The token is masked after it is saved in Varibill — record it securely before closing the configuration screen.
Customer Filtering Parameters
These parameters control which PortaOne customers are included in or excluded from each collection run.
| Parameter | What it is | Format | Example | Required |
|---|---|---|---|---|
| Collect for Specific Customer | When populated, only CDRs for this PortaOne customer ID are collected. Leave blank to collect all customers. | String (PortaOne customer ID) | (blank = all customers) | No |
| Exclude Specific Customer | When populated, CDRs for this PortaOne customer ID are excluded from the collection. Leave blank to exclude no customers. | String (PortaOne customer ID) | 100 |
No |
| Filter Specific Customer on Reseller Level | When set to true, the values in Collect for
Specific Customer and Exclude Specific
Customer are matched against the parent reseller ID rather than
the direct customer ID. |
Boolean (true / false) |
false |
No |
Customer Type Collection Switches
These parameters control which categories of PortaOne customer are
included in each collection run. Set each switch to false
to exclude that customer type.
| Parameter | What it controls | Default |
|---|---|---|
| Collect Reseller | When set to true, collects CDRs for Reseller-type
customers |
true |
| Collect Reseller Customers | When set to true, collects CDRs for customers that
belong to a Reseller |
true |
| Collect Retail | When set to true, collects CDRs for direct Retail
customers |
true |
Note: All three customer type switches default to true.
Disable any switch to exclude that customer category from
collection.
Identifier Parameters
These parameters control how Varibill constructs the Product Identifier, Client Identifier, and Unique Identifier for each CDR record.
| Parameter | What it is | Format | Example |
|---|---|---|---|
| Product Identifier Prefix | A prefix prepended to the PortaOne tariff name to form the Product Identifier submitted to Varibill | String | PREFIX# |
| Client Identifier Prefix | A prefix prepended to the PortaOne customer identifier to form the Client Identifier submitted to Varibill | String | (blank) |
| Unique Identifier Prefix | A prefix prepended to the PortaOne XDR record ID to form the Unique Identifier submitted to Varibill | String | (blank) |
| Use Account as Client Identifier | When set to true, the PortaOne account ID is appended
to the customer identifier used as the Client Identifier |
Boolean (true / false) |
false |
Note: The Product Identifier submitted to Varibill takes the form
<country>#<tariff name> as returned by
PortaOne, with any configured Product Identifier Prefix applied. Where
no tariff is matched in PortaOne, the value will carry a
null# prefix. Ensure your Varibill product configuration
accounts for this format.
Rating and Billing Parameters
| Parameter | What it is | Format | Example |
|---|---|---|---|
| Run as Unrated | When set to true, records are submitted without cost
values for Varibill to rate. When set to false, cost values
from PortaOne are submitted directly. |
Boolean (true / false) |
false |
| Vat Factor | A divisor applied to the PortaOne call charge to strip embedded VAT
before submission. Set to 1 if PortaOne values are already
exclusive of VAT. |
Decimal | 1 |
Tip: If your PortaOne environment returns call costs inclusive of
VAT, set the VAT Factor to the applicable factor (for example,
1.15 for 15% VAT) so that Varibill receives the
VAT-exclusive amount.
Date Range Parameters
These parameters define the time window of CDR data collected on each run.
| Parameter | What it is | Format | Example |
|---|---|---|---|
| Days Offset | The number of days back from today to start the collection window | Integer | 1 |
| Days Range | The number of days to collect, starting from the offset date | Integer | 3 |
| Time Zone Hourly Offset | Applied as a negative shift to PortaOne UTC timestamps to convert
them to local time. A value of 2 shifts timestamps back by
2 hours (UTC+2). |
Integer | 2 |
Note: For example, with Days Offset = 1
and Days Range = 3, the collector will
retrieve CDRs for the period beginning 1 day ago and spanning 3 days.
Adjust these values to match your billing cycle and scheduling
frequency.
Operational Parameters
These parameters control API pagination and file management behaviour.
| Parameter | What it is | Format | Default |
|---|---|---|---|
| API Page Limit | The number of records requested per API page when paginating through CDR results. Must be at least 100. | Integer | 500 |
| Delete data files older than | The number of days after which locally stored collection files are automatically deleted. Must be at least 1. | Integer (days) | 62 |
| Maximum number of records per file | The maximum number of records written to a single output file before a new file is started. Must be between 1,000 and 50,000. | Integer | 10000 |
Configuration Steps
Step 1: Prepare Your PortaOne Environment
- Confirm that your PortaOne instance is accessible via HTTPS.
- Identify the PortaOne user account that Varibill will use to connect. This account must have read access to CDR data for the customer scope you intend to collect.
- Obtain or generate an API token for that user account.
- Note the base URL of your PortaOne instance (for example,
https://portaone.example.com).
Step 2: Configure the Collector in Varibill
In the Varibill User Interface, open the Source Collector configuration screen.
Enter the required field values under the Details tab:
- Hosting Provider: Select Varibill Cloud
- Source Collector Name: Select PortaOne CDR Detail – Version 19.8
Enter the connection parameters:
- Portaone Host: The base URL of your PortaOne instance
- Portaone Username: The PortaOne user account name
- Portaone Token: The API token for that account
Configure the customer filtering and collection switch parameters to match the customer scope you want to collect.
Configure the identifier parameters to align with your Varibill product and billing configuration.
Set the Run as Unrated switch according to whether PortaOne cost values should be used directly or pricing should be applied in Varibill.
Set the date range parameters (Days Offset and Days Range) to match your billing cycle.
Set the Time Zone Hourly Offset to reflect the UTC offset of your local time zone.
Save the collector configuration.
Step 3: Run the Collector
Run or schedule the collector according to your standard Source Collector execution process.
For detailed instructions, see: Varibill Cloud Source Collectors – Setup and Configuration Guide
Troubleshooting
If the collector fails to connect to PortaOne, verify that:
- The Portaone Host URL is correct and includes
https://with no trailing slash. - The Portaone Username is correct and the account is active.
- The Portaone Token is valid and has not expired or been revoked.
- The PortaOne instance is reachable from the Varibill Cloud environment. If your PortaOne instance restricts access by IP, ensure Varibill’s collector IP addresses are permitted.
If the collector connects successfully but returns no data, verify that:
- The Days Offset and Days Range values cover a period in which CDR data exists.
- At least one customer type collection switch (Collect
Reseller, Collect Reseller Customers,
Collect Retail) is set to
true. - The Collect for Specific Customer value, if populated, corresponds to a valid PortaOne customer ID that has CDR data in the requested date range.
PortaOne References
The following resources may assist with locating values or understanding your PortaOne configuration.
PortaOne Documentation (External)
- PortaOne Documentation Portal
- PortaOne Admin Manual — available per release version from the documentation portal
Note: PortaOne documentation is provided for reference. Interface labels and available features may vary depending on your deployed PortaOne release version.
Related Documentation
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article