Overview
The PortaOne CDR Detail - Version 20.0 collector retrieves individual call detail records (CDRs) from a PortaOne billing and switching environment, covering voice call activity across Reseller, Reseller Customer, and Retail customer types.
This collector provides granular visibility into individual call records, submitting one record per call with details including the calling and called numbers, call duration, destination, and cost. This enables organizations to validate charges at the individual call level and allocate costs within Varibill.
By default, the collector retrieves rated data, meaning call cost values are supplied by PortaOne and submitted directly to Varibill. An optional VAT factor can be applied to adjust charged amounts before submission. The collector can also be configured to run in unrated mode, which omits cost and total values from the output — pricing is then applied entirely within Varibill.
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: Configuring a New Cloud Source Collector
Collector Summary
| Field | Value |
|---|---|
| Source Collector Name | PortaOne CDR Detail - Version 20.0 |
| Collection Behavior | Historically Capable |
| Rating Model | Rated (default) / Unrated (optional) |
| Vendor Name | PortaOne |
| Product | PortaSwitch / PortaBilling |
| Purpose | Retrieves individual 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 PortaOne CDR Detail - Version 20.0 collector retrieves individual call detail records from PortaOne for a configurable historical date range. Unlike the CDR Aggregate collector, which groups call records by customer, destination, and date, the CDR Detail collector submits one record per individual call.
Each record includes:
- The call duration (quantity) in seconds
- The charged amount for the call, adjusted by the configured VAT factor (in rated mode)
- The vendor cost for the call, where available (in rated mode)
- The destination country and description that identify the call type
- The calling number (CLI) and called number (CLD)
- The date and time of the call
- The customer name, customer type (Reseller, Customer, or Retail), and reseller name (where applicable)
The collector retrieves the customer account data needed to scope collection — covering Reseller, Reseller Customer, and Retail customer types. Customer filtering options allow collection to be limited to or exclude specific customers.
The collector also retrieves vendor XDR data to determine the vendor-side cost for each call. When a vendor cost is available for a given call, it is used as the Cost value; otherwise the customer-side charged amount is used.
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. A time zone offset parameter ensures that date boundaries align with your local time zone.
The identifiers submitted to Varibill for each record are constructed as follows:
- Product Identifier — constructed as
{Product Identifier Prefix}{country}#{description}, where the country and description values are derived from the PortaOne CDR data. For example:South Africa#VODACOM - MOBILE,Skywire#South Africa#Local - Client Identifier — the PortaOne customer ID, optionally prefixed with the configured Client Identifier Prefix. When the Use Account as Client Identifier parameter is enabled, both the customer ID and account ID are included.
- Record Identifier — describes the individual call
(for example,
Call from: 27333420447 Call to: 0333456903 Date and Time: 2026-05-01 06:14:48 GMT) - Unique Identifier — the PortaOne XDR record ID,
optionally prefixed with the configured Unique Identifier Prefix (for
example,
22768638orP#22768638)
Note: When running in rated mode (default), each record includes both a Total (the customer-side charged amount adjusted by the VAT factor) and a Cost (the vendor-side cost, or the Total if no vendor cost is available). When running in unrated mode, cost and total values are omitted and pricing is applied within Varibill.
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 | Where to find it |
|---|---|---|
| Portaone Host | The base URL of your PortaOne instance | Your PortaOne management interface URL. Format:
https://portaone.example.com (include
https://, no trailing slash) |
| Portaone Username | The username of the PortaOne account used to connect | Your PortaOne user account name |
| Portaone Token | The API token associated with the PortaOne user account | Generated or retrieved from the PortaOne administrative interface |
Warning! The Portaone Token is a sensitive credential. It is masked in the Varibill UI once saved. If it is compromised, revoke and regenerate it immediately in the PortaOne administrative interface.
Rating Parameters
| Parameter | What it is | Default |
|---|---|---|
| Vat Factor | A divisor applied to the PortaOne charged amount to strip embedded
VAT before submission to Varibill. Set to 1 if PortaOne
values are already exclusive of VAT. |
1 |
| Run as Unrated | When set to true, the collector submits data without cost or total values. Pricing is applied entirely within Varibill. When set to false (default), rated data including cost and total values is submitted. | false |
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.
Identifier Prefix Parameters
These parameters allow you to prepend a custom string to the identifiers submitted to Varibill. This is useful when multiple PortaOne environments or tenants submit data to the same Varibill instance and identifiers need to be distinguished.
| Parameter | What it is | Default |
|---|---|---|
| Product Identifier Prefix | A string prepended to the Product Identifier submitted to Varibill. | (blank — no prefix) |
| Client Identifier Prefix | A string prepended to the Client Identifier submitted to Varibill. | (blank — no prefix) |
| Unique Identifier Prefix | A string prepended to the Unique Identifier submitted to Varibill. | (blank — no prefix) |
Note: When a prefix is configured, it is prepended directly to the
identifier value with no separator. If a separator is needed, include it
in the prefix value itself (for example, Skywire# rather
than Skywire).
Customer Filtering Parameters
These parameters control which PortaOne customers are included in or excluded from each collection run.
| Parameter | What it is | Default |
|---|---|---|
| Collect for Specific Customer | When populated, only CDRs for this PortaOne customer ID are collected. Leave blank to collect all customers. | (blank — all customers) |
| Exclude Specific Customer | When populated, CDRs for this PortaOne customer ID are excluded from the collection. Leave blank to exclude no customers. | (blank — no exclusions) |
| 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. | false |
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
| Parameter | What it is | Default |
|---|---|---|
| Use Account as Client Identifier | When set to true, both the customer ID and account ID are included in the Client Identifier submitted to Varibill. When set to false, only the customer ID is used. | false |
Date Range Parameters
These parameters define the time window of CDR data collected on each run.
| Parameter | What it is | Default |
|---|---|---|
| Days Offset | The number of days back from today to start the collection window | 1 |
| Days Range | The number of days to collect, starting from the offset date | 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). |
2 |
| Date Format | The date format used for date calculations | yyyy-MM-dd |
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 behavior.
| Parameter | What it is | Default |
|---|---|---|
| API Page Limit | The number of records requested per API page when paginating through results. Must be at least 100. | 500 |
| Delete data files older than | The number of days after which locally stored collection files are automatically deleted. Must be at least 1. | 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. | 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 20.0
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
Set the Vat Factor according to whether your PortaOne environment returns call costs inclusive or exclusive of VAT.
Set Run as Unrated to
trueif you want to omit cost and total values from the collected data and apply pricing within Varibill instead.Configure the identifier prefix parameters (Product Identifier Prefix, Client Identifier Prefix, Unique Identifier Prefix) if you need to distinguish data from multiple PortaOne environments or tenants.
Configure the customer filtering and collection switch parameters to match the customer scope you want to collect.
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: Configuring a New Cloud Source Collector
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.
If identifier values in Varibill are unexpected, verify that:
- The Product Identifier Prefix, Client
Identifier Prefix, and Unique Identifier
Prefix values include any required separator characters (for
example,
Skywire#rather thanSkywire). - The Use Account as Client Identifier setting matches your intended Client Identifier format.
PortaOne References
The following resources may assist with locating values or understanding your PortaOne configuration.
PortaOne Documentation (External)
Note: PortaOne documentation is provided for reference. Interface labels and available features may vary depending on your deployed PortaOne release version.
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