VOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction Critical

VOS3000 CDR Text File Export Complete Pipe-Delimited Format Best Guide

VOS3000 CDR Text File Export Complete Pipe-Delimited Format Guide

๐Ÿ“Š Every VoIP operator needs reliable call data โ€” and the VOS3000 CDR text file export is the backbone of billing accuracy, traffic analysis, and regulatory compliance. When enabled, VOS3000 generates pipe-delimited text files containing every call detail record, ready for ingestion by external billing systems, analytics platforms, and fraud detection tools. Yet many operators never configure this powerful feature correctly, leaving critical data trapped inside the VOS3000 database with no external backup or integration path. ๐Ÿ“

โš™๏ธ The two parameters that control this entire process โ€” SS_CDR_RECORD_TO_FILE and SS_CDR_RECORD_NONCONNECT โ€” are straightforward to configure, but their implications for disk space, data completeness, and billing accuracy are often misunderstood. Setting SS_CDR_RECORD_TO_FILE to On creates an hourly CDR text file in the softswitch’s cdr/ directory, while SS_CDR_RECORD_NONCONNECT determines whether zero-duration calls (failed attempts, busy signals, no-answer) are included in that export. The difference between having these records and not having them can mean the difference between catching a fraud pattern early and discovering it weeks too late. ๐Ÿ”

๐ŸŽฏ This guide provides a complete walkthrough of the VOS3000 CDR text file export system: how to enable it, how the pipe-delimited format is structured, how file naming and rotation work, and how to integrate the exported data with external systems. All parameter details are sourced from the official VOS3000 2.1.8.0/2.1.9.07 English manual, ยง4.3.5.1 (page 225) and ยง4.4 (pages 241โ€“243). ๐Ÿ“˜

Table of Contents

๐Ÿ” What Is VOS3000 CDR Text File Export?

๐Ÿ“ The VOS3000 CDR text file export is a softswitch-level feature that writes call detail records to flat text files on the server filesystem. Unlike CDR records stored in the MySQL database โ€” which require the VOS3000 client or web interface to query โ€” text file exports provide a continuous, externally accessible stream of call data that can be consumed by any system capable of parsing pipe-delimited text. ๐Ÿ“‹

๐Ÿ’ก Why text file export matters:

  • ๐Ÿ”„ External billing integration: Feed CDR data directly into third-party billing platforms without database access
  • ๐Ÿ›ก๏ธ Backup redundancy: Maintain a file-based CDR copy independent of the MySQL database
  • ๐Ÿ“Š Analytics pipeline: Pipe-delimited files are easily consumed by Python, Excel, BigQuery, and custom tools
  • ๐Ÿ” Fraud detection: Real-time or near-real-time CDR analysis on exported files catches anomalies faster
  • ๐Ÿ“‹ Regulatory compliance: Many telecom regulators require CDR archival in a portable, non-proprietary format
  • ๐Ÿ”— System migration: Export historical CDR data when migrating to a new billing or CRM system

๐Ÿ“ Parameter location in VOS3000 Client: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter

๐Ÿ“‹ SS_CDR_RECORD_TO_FILE โ€” The Master Switch

๐Ÿ”ง SS_CDR_RECORD_TO_FILE is the primary parameter that enables or disables the entire text file CDR export. When set to On, VOS3000 creates hourly text files containing all CDR records in pipe-delimited format.

AttributeValue
๐Ÿ“Œ Parameter NameSS_CDR_RECORD_TO_FILE
๐Ÿ”ข Default ValueOff
โš™๏ธ Valid ValuesOn / Off
๐Ÿ“ DescriptionSave CDR as TXT (per VOS3000 manual ยง4.3.5.1, page 225)
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter

โš ๏ธ Critical note: This parameter is Off by default. Many VOS3000 deployments run for years without CDR text file export enabled, which means no file-based CDR backup exists. If the MySQL database becomes corrupted or the server experiences a disk failure, all historical CDR data stored only in the database may be lost. Enabling SS_CDR_RECORD_TO_FILE provides a critical safety net.

๐Ÿ“‹ SS_CDR_RECORD_NONCONNECT โ€” Zero-Duration Call Export

๐Ÿ“ž SS_CDR_RECORD_NONCONNECT controls whether non-connected calls โ€” those with zero hold time โ€” are included in the text file export. This includes busy signals, no-answer attempts, failed calls, and other call attempts that never established a two-way audio path.

AttributeValue
๐Ÿ“Œ Parameter NameSS_CDR_RECORD_NONCONNECT
๐Ÿ”ข Default ValueOff
โš™๏ธ Valid ValuesOn / Off
๐Ÿ“ DescriptionWhen saving CDR as TXT, contains CDR which hold time is 0s (per VOS3000 manual ยง4.3.5.1, page 225)
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter

๐Ÿ’ก Why you might want non-connected CDRs: While zero-duration calls generate no revenue, they carry essential operational intelligence. High volumes of busy signals from a specific gateway may indicate capacity problems. Repeated no-answer attempts to a destination could signal a routing misconfiguration. Patterns of failed calls from unauthorized IPs โ€” tracked by SS_CDR_RECORD_ILLEGAL โ€” are often the first sign of toll fraud. Without SS_CDR_RECORD_NONCONNECT enabled, all of this intelligence is excluded from your text file export.

๐Ÿ“ CDR Text File Naming and Storage

๐Ÿ“‚ When SS_CDR_RECORD_TO_FILE is enabled, VOS3000 creates CDR text files in the cdr/ directory under the VOS3000 installation path. The naming convention follows a precise hourly pattern documented in the official manual ยง4.4 (page 241):

๐Ÿ“‹ File Naming Convention

AttributeDetail
๐Ÿ“ FormatYYYYMMDDHH.txt
๐Ÿ“ Directorycdr/ under VOS3000 installation path
โฐ GranularityOne file per hour
๐Ÿ“ Example2013103112.txt contains CDRs ending between 12:00:00 and 12:59:59

๐Ÿ” How the hourly file system works: Each CDR is written to the file corresponding to the hour in which the call ended (stop time). A call that starts at 11:45 and ends at 12:10 will be recorded in the 12:00 hour file, not the 11:00 hour file. This means each file contains a self-contained set of CDRs that can be processed independently without worrying about time-overlap between files.

๐Ÿ“‹ CDR File Rotation and Retention

๐Ÿ”„ VOS3000 manages CDR text file rotation using two server-level parameters that control how long files are retained and how many are kept on disk:

ParameterDefaultRangePurpose
SERVER_CDR_FILE_WRITE_INTERVALNone60โ€“86400 secondsTime interval for creating new CDR files
SERVER_CDR_FILE_WRITE_MAX204810โ€“4096 filesMaximum number of CDR files retained on disk

๐Ÿ“Š Disk space planning: With the default SERVER_CDR_FILE_WRITE_MAX of 2048 files and one file per hour, VOS3000 retains approximately 85 days of CDR text files. For high-traffic systems, monitor disk usage closely โ€” each hourly file can range from a few KB on a low-traffic system to hundreds of MB on a system processing thousands of concurrent calls. To learn more about CDR file rotation and backup strategies, see our guide on VOS3000 CDR analysis and billing.

๐Ÿ“Š Pipe-Delimited CDR Format Overview

๐Ÿ”— Each line in the VOS3000 CDR text file represents one call detail record, with fields separated by the pipe character (|). The format is documented in the official VOS3000 manual ยง4.4 (pages 241โ€“243). Understanding this format is essential for parsing CDR data into external systems.

๐Ÿ“‹ CDR Line Format Structure

callerE164|calleeE164|startTime|stopTime|holdTime|endReason|
endDirection|callerGatewayId|calleeGatewayId|callerIp|calleeIp|
callerAccessE164|calleeAccessE164|callerToGatewayE164|
calleeToGatewayE164|calleeBilling|billingMode|callerPdd|calleePdd

๐Ÿ“ Field count note: The VOS3000 manual ยง4.4 documents the pipe-delimited format with 18 pipe separators, resulting in 19 columns of data. The first 18 fields (through billingMode) are the core CDR fields present in all versions, while the callerPdd and calleePdd fields provide Post-Dial Delay metrics that were added in later revisions of the software.

๐Ÿ“‹ Key CDR Fields at a Glance

#FieldDescriptionExample
1callerE164The caller ID12125551234
2calleeE164The callee ID18005559876
3startTimeCall begin time2018-12-20 11:20:18
4stopTimeCall end time2018-12-20 16:34:09
5holdTimeCall duration in milliseconds45000
6endReasonEnd reason code200
7endDirectionHangup side (0=caller, 1=callee, 2=server)0
17billingModeCharge mode (-1=no billing, 0=phone, 1=gateway, 3=phone card)0

๐Ÿ”‘ Key observations: The holdTime field records call duration in milliseconds, not seconds. This is critical for billing calculations โ€” a holdTime of 45000 means 45 seconds, not 45000 seconds. The endDirection field identifies who terminated the call (caller, callee, or server), which is essential for call termination analysis. The billingMode field determines how the call was charged and whether billing was applied at all.

โš™๏ธ Step-by-Step VOS3000 CDR Text File Export Configuration

๐Ÿ–ฅ๏ธ Follow these steps to enable and configure the VOS3000 CDR text file export on your softswitch:

Step 1: Enable CDR Text File Export ๐Ÿ“

  1. ๐Ÿ” Log in to VOS3000 Client with administrator credentials
  2. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter
  3. ๐Ÿ” Locate SS_CDR_RECORD_TO_FILE in the parameter list
  4. โœ๏ธ Change the value from Off to On
  5. ๐Ÿ’พ Click Save to apply the configuration

โš ๏ธ Important: After enabling SS_CDR_RECORD_TO_FILE, VOS3000 will begin writing CDR text files starting from the next hourly interval. Historical CDR data from before the parameter was enabled is not retroactively exported. If you need historical data, use the CDR query interface in the VOS3000 client to export it manually, as described in our CDR analysis guide.

Step 2: Configure Non-Connected Call Recording ๐Ÿ“ž

  1. ๐Ÿ“‹ In the same Softswitch parameter section, locate SS_CDR_RECORD_NONCONNECT
  2. โœ๏ธ Change the value from Off to On if you need zero-duration call records in the export
  3. ๐Ÿ’พ Save the configuration

๐Ÿ’ก Recommendation: Enable SS_CDR_RECORD_NONCONNECT for most deployments. The additional disk space consumed by zero-duration CDRs is minimal compared to the operational value they provide. However, during a DDoS or flood attack, the volume of zero-duration CDRs can spike dramatically. If disk space is a concern during such events, you can temporarily disable this parameter to prevent disk overflow.

Step 3: Configure File Rotation Parameters ๐Ÿ”„

  1. ๐Ÿ“‹ Navigate: Operation management โ†’ Server management โ†’ Server parameter
  2. ๐Ÿ” Review SERVER_CDR_FILE_WRITE_INTERVAL โ€” set the hourly interval for new file creation (default: one file per hour)
  3. ๐Ÿ” Review SERVER_CDR_FILE_WRITE_MAX โ€” set the maximum number of CDR files to retain (default: 2048)
  4. ๐Ÿ’พ Save and restart the VOS3000 service for changes to take effect
ScenarioWRITE_INTERVALWRITE_MAXResult
โœ… Default (most deployments)3600 (1 hour)2048~85 days of CDR files retained
๐Ÿ“Š High-traffic analytics1800 (30 min)4096~85 days with finer granularity
๐Ÿ’พ Low disk space3600 (1 hour)720~30 days of retention
๐Ÿ›ก๏ธ Long-term compliance3600 (1 hour)4096~170 days of retention

๐Ÿ›ก๏ธ Another important softswitch parameter that affects CDR text file content is SS_CDR_RECORD_ILLEGAL. This parameter controls whether CDRs are generated for calls originating from unauthorized IP addresses โ€” calls that VOS3000 rejects as illegal or unauthorized.

AttributeValue
๐Ÿ“Œ Parameter NameSS_CDR_RECORD_ILLEGAL
๐Ÿ”ข Default ValueOn
๐Ÿ“ DescriptionRecord illegal call (per VOS3000 manual ยง4.3.5.1, page 225)

๐Ÿ”’ Unlike SS_CDR_RECORD_NONCONNECT (which defaults to Off), SS_CDR_RECORD_ILLEGAL defaults to On. This means VOS3000 is configured by default to record CDRs for hack attempts and unauthorized call attempts. These records appear in the text file export with a special billing mode code of -1 (no billing), making them easy to filter and analyze separately. For more details on how VOS3000 handles unauthorized calls, see our guide on illegal call detection and prevention.

๐Ÿ› ๏ธ Parsing VOS3000 CDR Text Files for External Systems

๐Ÿ“Š Once the VOS3000 CDR text file export is configured, the next step is integrating the exported data with your external systems. The pipe-delimited format is universally supported by programming languages, databases, and analytics tools.

๐Ÿ“‹ Parsing Methods Comparison

MethodBest ForComplexityReal-Time
๐Ÿ Python scriptCustom analytics, billing importMediumNear-real-time (cron)
๐Ÿ—„๏ธ MySQL LOAD DATADatabase import, reportingLowBatch (hourly)
๐Ÿ“Š Excel/CSV conversionManual review, one-time analysisLowManual
๐Ÿ”„ Logstash/FluentdElasticsearch, SIEM integrationHighNear-real-time

๐Ÿ“‹ Python Parsing Example

import csv

# VOS3000 CDR field names (per manual ยง4.4)
CDR_FIELDS = [
    'callerE164', 'calleeE164', 'startTime', 'stopTime',
    'holdTime', 'endReason', 'endDirection',
    'callerGatewayId', 'calleeGatewayId',
    'callerIp', 'calleeIp',
    'callerAccessE164', 'calleeAccessE164',
    'callerToGatewayE164', 'calleeToGatewayE164',
    'calleeBilling', 'billingMode',
    'callerPdd', 'calleePdd'
]

def parse_cdr_file(filepath):
    """Parse VOS3000 CDR text file into list of dictionaries."""
    records = []
    with open(filepath, 'r') as f:
        reader = csv.reader(f, delimiter='|')
        for row in reader:
            if len(row) >= 17:  # Minimum core fields
                record = dict(zip(CDR_FIELDS[:len(row)], row))
                records.append(record)
    return records

# Usage: Parse a CDR file and filter connected calls
cdr_data = parse_cdr_file('/home/vos3000/cdr/2026042612.txt')
connected = [r for r in cdr_data if int(r.get('holdTime', 0)) > 0]
print(f"Total CDRs: {len(cdr_data)}, Connected: {len(connected)}")

๐Ÿ›ก๏ธ Common VOS3000 CDR Text File Export Problems and Solutions

โš ๏ธ Misconfigurations and misunderstandings about the CDR text file export can lead to data loss, disk space issues, or incomplete records. Here are the most common problems and their solutions:

โŒ Problem 1: No CDR Text Files Being Generated

๐Ÿ” Symptom: The cdr/ directory is empty or does not contain the expected hourly text files.

๐Ÿ’ก Cause: SS_CDR_RECORD_TO_FILE is still set to Off (the default value). Many operators assume CDR files are generated automatically, but this feature must be explicitly enabled.

โœ… Solution:

  • ๐Ÿ”ง Navigate to Softswitch parameter and set SS_CDR_RECORD_TO_FILE = On
  • ๐Ÿ’พ Save the configuration and wait for the next hourly interval
  • ๐Ÿ“ Verify the cdr/ directory exists and has proper write permissions
  • ๐Ÿ“‹ Confirm with the VOS3000 system parameter guide that no other settings are blocking file creation

โŒ Problem 2: Missing Zero-Duration Call Records

๐Ÿ” Symptom: The CDR text files only contain records for connected calls. Failed calls, busy signals, and no-answer attempts are absent.

๐Ÿ’ก Cause: SS_CDR_RECORD_NONCONNECT is set to Off (default), which excludes zero-duration calls from the text file export.

โœ… Solution:

  • ๐Ÿ“ž Set SS_CDR_RECORD_NONCONNECT = On in Softswitch parameter
  • ๐Ÿ“Š Be aware this increases file sizes โ€” monitor disk usage after enabling
  • ๐Ÿ” For fraud detection purposes, this setting is strongly recommended

โŒ Problem 3: Disk Space Exhaustion from CDR Files

๐Ÿ” Symptom: The server runs low on disk space, and the cdr/ directory contains thousands of large CDR text files.

๐Ÿ’ก Cause: SERVER_CDR_FILE_WRITE_MAX is set too high, or an external script is not archiving and cleaning up old CDR files.

โœ… Solution:

  • ๐Ÿ”„ Reduce SERVER_CDR_FILE_WRITE_MAX to a lower value (e.g., 720 for ~30 days)
  • ๐Ÿ“ Implement a cron job to move CDR files older than X days to archive storage
  • ๐Ÿ“Š Monitor disk usage with the VOS3000 disk alarm feature
  • ๐Ÿ’พ Consider compressing older CDR files with gzip to save space

โŒ Problem 4: Parsing Errors Due to Extra Pipe Characters

๐Ÿ” Symptom: External parsing scripts produce incorrect field alignment or data corruption.

๐Ÿ’ก Cause: Caller or callee E164 fields contain unexpected characters, or the number of pipe separators varies between CDR records.

โœ… Solution:

  • ๐Ÿ”ง Use a robust parser that handles variable field counts gracefully
  • ๐Ÿ“‹ Always validate the number of fields per line before processing
  • ๐Ÿ“Š Reference the official VOS3000 manual ยง4.4 (page 241) for the exact field specification

๐Ÿ’ก VOS3000 CDR Text File Export Best Practices

๐ŸŽฏ Follow these best practices to get the most from your VOS3000 CDR text file export configuration:

Best PracticeRecommendationReason
๐Ÿ“ Always enable SS_CDR_RECORD_TO_FILESet to Onโœ… Provides file-based CDR backup independent of MySQL
๐Ÿ“ž Enable SS_CDR_RECORD_NONCONNECTSet to On for most deployments๐Ÿ” Captures failed call data for fraud detection and quality analysis
๐Ÿ”„ Archive CDR files regularlyMove files older than 30 days to archive๐Ÿ’พ Prevents disk space exhaustion on active server
๐Ÿ“Š Validate CDR data dailyCheck record counts and file sizes๐Ÿ›ก๏ธ Early detection of data export problems
๐Ÿ”’ Set proper file permissionsRestrict cdr/ directory access๐Ÿ” CDR files contain sensitive call data and IP addresses
๐Ÿ“ก Consider real-time forwardingUse SERVER_CDR_REAL_TIME_REPORT_SERVERโšก For immediate CDR delivery to external billing systems

๐Ÿ’ก Pro tip: The VOS3000 CDR text file export works best as part of a comprehensive data strategy. Combine the text file export with the VOS3000 billing system for complete revenue tracking, and use the exported data to build custom dashboards that go beyond what the VOS3000 client interface provides. For operators who need real-time CDR delivery rather than hourly file batches, the SERVER_CDR_REAL_TIME_REPORT_SERVER parameter provides an alternative integration path.

๐Ÿ“Š Complete VOS3000 CDR Export Parameter Reference

๐Ÿ“‹ Here is the complete reference table for all parameters related to CDR text file export, sourced from the official VOS3000 2.1.8.0/2.1.9.07 English manual:

ParameterDefaultCategoryPurpose
SS_CDR_RECORD_TO_FILEOffSoftswitchEnable CDR text file export
SS_CDR_RECORD_NONCONNECTOffSoftswitchInclude zero-duration calls in export
SS_CDR_RECORD_ILLEGALOnSoftswitchRecord illegal/unauthorized call CDRs
SERVER_CDR_FILE_WRITE_INTERVALNoneServerCDR file creation interval (60โ€“86400 seconds)
SERVER_CDR_FILE_WRITE_MAX2048ServerMaximum CDR files retained (10โ€“4096)
SERVER_CDR_REAL_TIME_REPORT_SERVER(blank)ServerReal-time CDR forwarding server address
SERVER_QUERY_CDR_DENY_TIME(blank)ServerNo CDR query time (blackout hours)
SERVER_QUERY_CDR_MAX_DAY_INTERVAL31ServerMaximum CDR query date range (days)
SERVER_MAX_CDR_PENDING_LIST_LENGTH100000ServerCDR queue length limit (10000โ€“100000)

โ“ Frequently Asked Questions

โ“ How do I enable VOS3000 CDR text file export?

๐Ÿ“ To enable the VOS3000 CDR text file export, navigate to Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter and set SS_CDR_RECORD_TO_FILE to On. This parameter is Off by default, so it must be explicitly enabled. After saving the configuration, VOS3000 will begin creating hourly CDR text files in the cdr/ directory starting from the next hourly interval. The files follow the naming convention YYYYMMDDHH.txt as documented in the VOS3000 manual ยง4.4.

โ“ What is the difference between SS_CDR_RECORD_TO_FILE and SS_CDR_RECORD_NONCONNECT?

๐Ÿ”ง SS_CDR_RECORD_TO_FILE is the master switch that enables CDR text file export entirely. Without it set to On, no CDR text files are created at all. SS_CDR_RECORD_NONCONNECT only takes effect when SS_CDR_RECORD_TO_FILE is already On โ€” it controls whether zero-duration call records (failed calls, busy signals, no-answer attempts) are included in the exported text files. When SS_CDR_RECORD_NONCONNECT is Off, only connected calls with non-zero hold time appear in the export.

โ“ Where are VOS3000 CDR text files stored?

๐Ÿ“‚ VOS3000 CDR text files are stored in the cdr/ directory under the VOS3000 installation path. Each file is named using the format YYYYMMDDHH.txt, where each file contains all CDRs for calls that ended during that specific hour. For example, the file 2026042612.txt contains all CDRs for calls that ended between 12:00:00 and 12:59:59 on April 26, 2026. This file structure is documented in the official VOS3000 manual ยง4.4 (page 241).

โ“ Can I export historical CDR data that was generated before enabling text file export?

๐Ÿ“‹ No, the VOS3000 CDR text file export only generates files for new calls after the feature is enabled. Historical CDR data that was generated while SS_CDR_RECORD_TO_FILE was Off is only available through the VOS3000 client CDR query interface or by querying the MySQL database directly. If you need to export historical data, use the CDR query function in the client and export the results manually. This is why it is strongly recommended to enable SS_CDR_RECORD_TO_FILE from the very first day of deployment.

โ“ How much disk space do VOS3000 CDR text files consume?

๐Ÿ’พ Disk space consumption depends entirely on your call volume. Each CDR record is approximately 200โ€“350 bytes in the pipe-delimited text format. A system processing 100,000 calls per day would generate roughly 25โ€“35 MB of CDR text data per day, or about 1 GB per month. With the default SERVER_CDR_FILE_WRITE_MAX of 2048 files (roughly 85 days of retention), a mid-traffic system would need approximately 3โ€“4 GB of dedicated disk space for CDR files. Always monitor disk usage and configure VOS3000 disk alarms to receive alerts before space runs out.

โ“ What is the pipe delimiter character used in VOS3000 CDR text files?

๐Ÿ”— The VOS3000 CDR text file format uses the vertical bar or pipe character (|, ASCII 124) as the field delimiter. Each line in the file represents one call detail record, with fields separated by pipe characters. This format is widely supported by data processing tools, programming languages (Python, PHP, Perl), database import utilities (MySQL LOAD DATA INFILE), and spreadsheet applications. When parsing, always split on the pipe character and validate the expected field count.

๐Ÿ“ž Need Expert Help with VOS3000 CDR Text File Export?

๐Ÿ”ง Proper VOS3000 CDR text file export configuration ensures your billing data is complete, your audit trail is intact, and your external systems receive the call data they need. Whether you are setting up CDR export for the first time, troubleshooting missing records, or integrating CDR data with an external billing platform, expert guidance saves time and prevents costly data gaps. ๐Ÿ“Š

๐Ÿ’ฌ WhatsApp: +8801911119966 โ€” Get immediate assistance with VOS3000 CDR text file export setup, parsing, and integration. Our team specializes in VOS3000 softswitch configuration, billing system integration, and custom CDR analytics solutions. ๐Ÿ”ง

๐Ÿ”— Learn more about related VOS3000 CDR and billing configurations:


๐Ÿ“ž Need Professional VOS3000 Setup Support?

For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:

๐Ÿ“ฑ WhatsApp: +8801911119966
๐ŸŒ Website: www.vos3000.com
๐ŸŒ Blog: multahost.com/blog
๐Ÿ“ฅ Downloads: VOS3000 Downloads


VOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction CriticalVOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction CriticalVOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction Critical
VOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction Critical

VOS3000 CDR Query Date Range Maximum Interval Limit Best Configuration

VOS3000 CDR Query Date Range Maximum Interval Limit Configuration

๐Ÿ“Š A single CDR query spanning 90 days on a high-traffic VOS3000 system can return tens of millions of records โ€” enough to overwhelm the database, exhaust client memory, and freeze the VOS3000 interface for minutes. The VOS3000 CDR query date range limit, controlled by SERVER_QUERY_CDR_MAX_DAY_INTERVAL, prevents this by capping the maximum number of days a user can query in a single CDR search. The default of 31 days is designed to balance operational needs against database performance โ€” but understanding how to work within and around this limit is essential for every VOS3000 operator. โฑ๏ธ

๐Ÿ”ง Whether you are a reseller who needs to pull quarterly reports or an administrator protecting your database from runaway queries, mastering the VOS3000 CDR query date range configuration is critical. This guide covers the parameter details from the official VOS3000 2.1.9.07 manual, practical workarounds for large-range queries, and how this limit works alongside other CDR access controls. ๐Ÿ“‹

๐Ÿ’ฌ Need help optimizing your VOS3000 CDR query performance? Contact our team at WhatsApp: +8801911119966 for expert database tuning and configuration support. ๐Ÿ’ก

Table of Contents

๐Ÿ” What Is VOS3000 CDR Query Date Range Limit?

๐Ÿ“ The VOS3000 CDR query date range limit specifies the maximum number of days a user can include in a single CDR query. When a user attempts to search CDRs with a start and end date that spans more than the configured maximum, the query is rejected with an error message indicating the date range exceeds the allowed limit. ๐Ÿšซ

๐Ÿ’ก Why this limit exists:

  • ๐Ÿ“Š Database performance: Large date range queries scan millions of rows, consuming CPU, memory, and I/O resources on the database server
  • ๐Ÿ–ฅ๏ธ Client stability: Returning millions of CDR records to the VOS3000 Client can cause memory exhaustion and application crashes
  • โฑ๏ธ Query timeout prevention: Long-running queries may time out before completion, wasting resources without returning results
  • ๐Ÿ›ก๏ธ Fair resource sharing: Prevents a single user from monopolizing database resources with an excessively broad query
  • ๐Ÿ“ž Operational continuity: Ensures the VOS3000 system remains responsive for real-time call processing even during heavy CDR analysis

โš™๏ธ SERVER_QUERY_CDR_MAX_DAY_INTERVAL โ€” The Core Parameter

๐Ÿ“ SERVER_QUERY_CDR_MAX_DAY_INTERVAL defines the maximum number of days allowed in a CDR query’s date range. Any query with a date range exceeding this value is automatically rejected. ๐Ÿ“‹

AttributeValue
๐Ÿ“Œ Parameter NameSERVER_QUERY_CDR_MAX_DAY_INTERVAL
๐Ÿ”ข Default Value31
๐Ÿ“ UnitDays
๐Ÿ“ DescriptionMaximum Interval for CDR Inquiry (Day)
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter

๐Ÿ”ง How the 31-day default works: When a user queries CDRs with a date range of, say, January 1 to February 15 (45 days), VOS3000 calculates the interval: 45 days. Since this exceeds the default SERVER_QUERY_CDR_MAX_DAY_INTERVAL of 31, the query is rejected and the user receives an error. The user must then narrow the search to a maximum of 31 days โ€” for example, January 1 to January 31.

๐Ÿ“‹ VOS3000 CDR Query Date Range Limit Examples

๐Ÿ“Š Here are practical examples showing how the limit affects different query scenarios: ๐Ÿ’ก

Query Date RangeDays SpannedDefault Limit (31)Result
Apr 1 โ€“ Apr 1515 daysโœ… Within limitQuery executes normally
Apr 1 โ€“ Apr 3030 daysโœ… Within limitQuery executes normally
Apr 1 โ€“ May 131 daysโœ… Exactly at limitQuery executes (31 โ‰ค 31)
Apr 1 โ€“ May 232 daysโŒ Exceeds limitQuery rejected โ€” reduce date range
Jan 1 โ€“ Mar 3190 daysโŒ Exceeds limitQuery rejected โ€” use incremental approach

๐Ÿ”„ Workarounds for CDR Queries Exceeding the Date Range Limit

๐Ÿ“Š When you need CDR data spanning more than 31 days, there are several approaches to work around the VOS3000 CDR query date range limit without increasing the parameter value and risking database performance: ๐Ÿ’ก

๐Ÿ“‹ Method 1: Incremental Queries (Chunk the Date Range)

๐Ÿ”ข Break your large date range into multiple queries, each within the 31-day limit. For example, to get 90 days of CDR data: ๐Ÿ’ก

๐Ÿ“‹ Incremental CDR Query Strategy (90-day range, 31-day limit):

Query 1: Jan 1 โ€“ Jan 31    (31 days) โœ…
Query 2: Feb 1 โ€“ Feb 28    (28 days) โœ…  
Query 3: Mar 1 โ€“ Mar 31    (31 days) โœ…

Total: 3 queries covering 90 days
Merge results externally (Excel, Python, etc.)

๐Ÿ“Š Advantage: No parameter changes needed; each query is database-friendly. Disadvantage: Requires manual effort to merge multiple result sets. For automated merging, use Python or a spreadsheet tool to combine the CSV exports.

๐Ÿ“ Method 2: CDR Text File Export

๐Ÿ“„ Use the VOS3000 CDR text file system instead of the database query. When SS_CDR_RECORD_TO_FILE is enabled, all CDRs are written to pipe-delimited text files in the cdr directory. These files can be searched, filtered, and analyzed using any text processing tool without any date range restriction. ๐Ÿ“‹

AspectDatabase QueryText File Export
๐Ÿ“… Date range limit31 days (configurable)No limit โ€” read any files on disk
๐Ÿ” Search capabilityRich filtering (account, gateway, etc.)Text processing (grep, awk, Python)
๐Ÿ“Š SpeedFast for targeted queriesSlower for large file scans
๐Ÿ”ง Setup requiredNone โ€” built into VOS3000 ClientEnable SS_CDR_RECORD_TO_FILE + rotation

๐Ÿ’ก For detailed CDR text file setup instructions, see our CDR text file export guide and CDR file rotation guide. ๐Ÿ”—

๐Ÿ“ก Method 3: Real-Time CDR Forwarding to External Analytics

๐ŸŒ If you frequently need large-range CDR analysis, consider forwarding CDRs to an external analytics platform (Elasticsearch, Splunk, custom database) using SERVER_CDR_REAL_TIME_REPORT_SERVER. External platforms typically have no date range restrictions and offer more powerful search and visualization capabilities. For setup instructions, see our real-time CDR forwarding guide. ๐Ÿš€

โš™๏ธ Method 4: Increase the Parameter Value (With Caution)

โš ๏ธ You can increase SERVER_QUERY_CDR_MAX_DAY_INTERVAL beyond 31 days if your database has sufficient resources. However, be aware of the implications: ๐Ÿ’ก

SettingRisk LevelImpact at 100 CPSRecommendation
31 days (default)๐ŸŸข Low~267M records maxโœ… Safe for most deployments
60 days๐ŸŸก Medium~518M records maxโš ๏ธ Only with powerful database server
90 days๐ŸŸ  High~778M records max๐Ÿšจ Risk of query timeouts and client crashes
365 days๐Ÿ”ด Very High~3.15B records maxโŒ Not recommended โ€” use external analytics instead

๐Ÿ–ฅ๏ธ Step-by-Step VOS3000 CDR Query Date Range Configuration

๐Ÿ”ง Follow these steps to configure the CDR query date range limit: ๐Ÿ“‹

Step 1: Configure the Parameter ๐Ÿ“Œ

  1. ๐Ÿ” Log in to VOS3000 Client
  2. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter
  3. ๐Ÿ” Locate SERVER_QUERY_CDR_MAX_DAY_INTERVAL
  4. โœ๏ธ Set the desired maximum day interval (default: 31)
  5. ๐Ÿ’พ Save and apply the configuration

Step 2: Verify the Limit โœ…

๐Ÿ“Š After configuration, test the limit by attempting a CDR query that exceeds the configured maximum:

  1. ๐Ÿ“… Open the CDR query window in VOS3000 Client
  2. ๐Ÿ” Set a date range that exceeds the configured limit
  3. โœ… Verify that the query is rejected with a date range error message
  4. ๐Ÿ“‹ Try a query within the limit and confirm it executes successfully

๐Ÿ”— The VOS3000 CDR query date range limit works alongside several other query size parameters that together control database load: ๐Ÿ’ก

ParameterDefaultPurpose
SERVER_QUERY_CDR_MAX_DAY_INTERVAL31Maximum days in CDR query date range
SERVER_QUERY_MAX_ONE_PAGE_SIZE200000Maximum records per page in results
SERVER_QUERY_MAX_SIZE30000000Total data query limit (items)
SERVER_QUERY_ONE_PAGE_SIZE10000Default records per page
SERVER_QUERY_NON_PAGABLE_MAX_LINES100000Non-pagable table max lines per page (1000โ€“200000)

๐Ÿ’ก Practical example: At 100 CPS, a 31-day query could return approximately 267 million records โ€” well above the SERVER_QUERY_MAX_SIZE of 30 million items. This means that even with a 31-day date range, the actual query results may be truncated by the total query size limit. The combination of date range and result size limits provides defense in depth against database overload. ๐Ÿ›ก๏ธ

๐Ÿ›ก๏ธ Common VOS3000 CDR Query Date Range Problems and Solutions

โŒ Problem 1: Reseller Needs Quarterly CDR Report

๐Ÿ” Symptom: A reseller needs to generate a quarterly CDR report (90 days) but the query is rejected.

โœ… Solutions:

  • ๐Ÿ“‹ Use incremental queries: three 31-day queries covering the quarter
  • ๐Ÿ“„ Export CDR text files and process them externally with Python or Excel
  • ๐Ÿ“ก Set up real-time CDR forwarding to an external analytics platform
  • โš™๏ธ Temporarily increase the limit for the specific query (then reduce it back)

โŒ Problem 2: CDR Query Returns Incomplete Results

๐Ÿ” Symptom: A 31-day CDR query returns fewer records than expected.

๐Ÿ’ก Cause: The total result count exceeds SERVER_QUERY_MAX_SIZE (30 million items), causing truncation. Or the query falls within the CDR query blackout window for some hours.

โœ… Solutions:

  • ๐Ÿ“Š Add more specific filters (account, gateway, call type) to reduce result count
  • ๐Ÿ“… Use a narrower date range and merge results
  • ๐Ÿ”ง Check SERVER_QUERY_MAX_SIZE setting if you need larger result sets

โŒ Problem 3: Changing the Limit Does Not Take Effect

๐Ÿ” Symptom: After changing SERVER_QUERY_CDR_MAX_DAY_INTERVAL, queries still fail at the old limit.

โœ… Solutions:

  • ๐Ÿ”„ Re-login to the VOS3000 Client after saving the parameter
  • ๐Ÿ”ง Clear the client cache and restart the application
  • ๐Ÿ“Š Verify the parameter value was saved correctly by re-opening the settings panel

๐Ÿ’ก VOS3000 CDR Query Date Range Best Practices

Best PracticeRecommendationReason
๐Ÿ“Š Keep default 31-day limitDo not increase without careful analysisโœ… Protects database from runaway queries
๐Ÿ“‹ Use incremental queriesChunk large ranges into 31-day segments๐Ÿ”ง No parameter changes; database-friendly
๐Ÿ“„ Leverage text file exportsUse CDR text files for large-range analysis๐Ÿ“Š No date range restriction on file reads
๐Ÿ“ก Forward to external analyticsIntegrate with Elasticsearch/Splunk๐Ÿš€ No limits; powerful visualization
๐Ÿ“ž Add query filtersSpecify account, gateway, or call type๐Ÿ” Reduces result count and query time

๐Ÿ’ฌ Need to optimize your VOS3000 CDR query strategy? Contact us at WhatsApp: +8801911119966 for expert guidance on database performance, CDR export workflows, and external analytics integration. ๐Ÿ“ž

โ“ Frequently Asked Questions

โ“ What is the default value for SERVER_QUERY_CDR_MAX_DAY_INTERVAL?

๐Ÿ“‹ The default value is 31 days. This means that by default, any CDR query in VOS3000 with a date range exceeding 31 days is automatically rejected. The 31-day default covers a typical monthly reporting cycle and provides a reasonable balance between operational needs and database protection. If your business requires larger query ranges, you can increase this value โ€” but consider the performance implications carefully, especially on high-traffic systems. ๐Ÿ”ง

โ“ Can I increase the VOS3000 CDR query date range to 365 days?

โš ๏ธ While SERVER_QUERY_CDR_MAX_DAY_INTERVAL can technically be set to 365 or higher, doing so on a production system with significant call volume is strongly discouraged. At 100 CPS, a 365-day query could attempt to return over 3 billion records โ€” far exceeding the SERVER_QUERY_MAX_SIZE of 30 million items and likely causing query timeouts or client crashes. For annual CDR analysis, use incremental queries, text file exports, or external analytics platforms instead. For CDR text file setup, see our CDR text file export guide. ๐Ÿ“Š

โ“ Does the date range limit apply to the CDR text file export?

๐Ÿ“„ No. The VOS3000 CDR query date range limit only applies to queries made through the VOS3000 Client and web interface (database queries). The CDR text file system writes all records to files on disk without any date range filtering. You can read, search, and analyze these text files using external tools (Python, awk, grep) with no date range restriction whatsoever. This makes the text file system the preferred method for large-range historical CDR analysis. ๐Ÿ”—

โ“ How do I export more than 31 days of CDR data for a reseller?

๐Ÿ“Š You have several options: (1) Use incremental queries โ€” run multiple 31-day queries and merge the results externally, (2) Access the CDR text files on the server directly โ€” they contain all records with no date range limit, (3) Use the real-time CDR forwarding feature to send records to an external analytics platform where larger queries are supported, or (4) Temporarily increase SERVER_QUERY_CDR_MAX_DAY_INTERVAL for the specific query (remember to reduce it back afterward). For the most robust long-term solution, option 3 provides unlimited analytical capability. ๐Ÿ’ก

โ“ Does the VOS3000 CDR query date range limit affect automated reports?

๐Ÿ“‹ The date range limit primarily affects manual CDR queries through the VOS3000 Client interface. Automated reports (configured under Report management) generate based on their own scheduling parameters. However, if an automated report’s date range configuration exceeds the SERVER_QUERY_CDR_MAX_DAY_INTERVAL, it may also be subject to the same restriction. Always verify that your automated report schedules are compatible with the configured date range limit. For more on reporting, see our CDR analysis guide. ๐Ÿ“Š

โ“ What other parameters control CDR query performance?

๐Ÿ”ง Several parameters work together to protect database performance: SERVER_QUERY_CDR_MAX_DAY_INTERVAL (date range limit), SERVER_QUERY_MAX_ONE_PAGE_SIZE (max records per page = 200000), SERVER_QUERY_MAX_SIZE (total query limit = 30M items), SERVER_QUERY_ONE_PAGE_SIZE (default page size = 10000), and SERVER_QUERY_CDR_DENY_TIME (blackout hours). Together, these parameters provide layered protection against heavy queries. For the blackout configuration, see our CDR query blackout guide. ๐Ÿ›ก๏ธ

๐Ÿ“ž Need Expert Help with VOS3000 CDR Query Date Range Configuration?

๐Ÿ”ง Proper VOS3000 CDR query date range configuration protects your database while ensuring your team can access the billing data they need. Whether you need to optimize query performance, set up CDR text file exports for large-range analysis, or integrate with external analytics platforms, our VOS3000 experts are here to help. ๐Ÿ›ก๏ธ

๐Ÿ’ฌ Contact us at WhatsApp: +8801911119966 for professional VOS3000 deployment and optimization services. We serve VoIP operators worldwide with proven solutions for billing, analytics, and system performance. ๐ŸŒ

๐Ÿ“– Explore related guides: CDR query blackout configuration, CDR analysis and billing, and parameter description reference. ๐Ÿ”—


๐Ÿ“ž Need Professional VOS3000 Setup Support?

For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:

๐Ÿ“ฑ WhatsApp: +8801911119966
๐ŸŒ Website: www.vos3000.com
๐ŸŒ Blog: multahost.com/blog
๐Ÿ“ฅ Downloads: VOS3000 Downloads


VOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction CriticalVOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction CriticalVOS3000 CDR File Rotation, VOS3000 Real-Time CDR Forwarding, VOS3000 CDR Query Blackout, VOS3000 CDR Query Date Range, VOS3000 CDR Text File Export, VOS3000 CDR Pipe Format, VOS3000 CDR Billing Mode Codes, VOS3000 CDR End Direction Critical