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 File Rotation Robust Backup Write Interval Best Configuration

VOS3000 CDR File Rotation Robust Backup Write Interval Configuration

๐Ÿ“‹ Every VoIP operator knows that CDR data is the lifeblood of billing reconciliation โ€” lose your call records, and you lose revenue. The VOS3000 CDR file rotation system, controlled by SERVER_CDR_FILE_WRITE_INTERVAL and SERVER_CDR_FILE_WRITE_MAX, provides a robust backup mechanism that writes call records to text files independently of the primary database. When configured correctly, this ensures you always have a secondary copy of every CDR โ€” even during database outages, server restarts, or unexpected failures. ๐Ÿ›ก๏ธ

โš ๏ธ But misconfigure the rotation parameters, and you risk two catastrophic outcomes: disk overflow from uncontrolled CDR file accumulation, or missing records if the rotation window is too long during peak traffic. The VOS3000 CDR file rotation parameters give you precise control over how frequently backup files are generated and how many are retained โ€” balancing data integrity against disk consumption. This guide covers every detail from the official VOS3000 2.1.9.07 manual, with no fabricated values. ๐Ÿ”ง

๐ŸŽฏ Need help configuring your VOS3000 CDR backup? Contact our team at WhatsApp: +8801911119966 for expert assistance with CDR rotation, billing setup, and complete VOS3000 deployment. ๐Ÿ’ฌ

Table of Contents

๐Ÿ” What Is VOS3000 CDR File Rotation?

๐Ÿ“Š The VOS3000 CDR file rotation system is an additional backup mechanism that writes call detail records to plain text files on the server filesystem. This operates alongside the primary CDR database, providing redundancy and enabling external analytics integration. The system generates pipe-delimited text files in the cdr directory beneath the VOS3000 installation directory, with one file created per configured time interval. ๐Ÿ“

๐Ÿ’ก Why this matters: The backup CDR file system serves several critical purposes:

  • ๐Ÿ›ก๏ธ Disaster recovery: If the database becomes corrupted or unavailable, text files remain intact on disk
  • ๐Ÿ“Š External analytics: Pipe-delimited files are easy to parse with Python, awk, or business intelligence tools
  • ๐Ÿ”„ Regulatory compliance: Many telecom regulators require CDR archival in flat-file format
  • ๐Ÿ’ฐ Billing reconciliation: Compare database CDRs against file CDRs to detect discrepancies
  • ๐Ÿ“ก Real-time monitoring: Some operators tail the CDR files for live traffic visibility

๐Ÿ”‘ Key distinction: The VOS3000 CDR file rotation is a backup mechanism. It does not replace the database CDR storage. The primary CDR records are always written to the database first; the file-based system creates a secondary copy that can be used independently.

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

โฑ๏ธ SERVER_CDR_FILE_WRITE_INTERVAL defines the time interval (in seconds) at which the softswitch creates new CDR text files. Each time this interval elapses, a new file is opened and the previous file is finalized for reading. ๐Ÿ“‹

AttributeValue
๐Ÿ“Œ Parameter NameSERVER_CDR_FILE_WRITE_INTERVAL
๐Ÿ”ข Default ValueNone (not set by default)
๐Ÿ“ UnitSeconds
๐Ÿ“ Range60โ€“86400
๐Ÿ“ DescriptionAdditional write call record file, the new file created time interval (seconds)
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter

๐Ÿ’ก How the interval works: When you set SERVER_CDR_FILE_WRITE_INTERVAL to a value such as 3600 (1 hour), the softswitch creates a new CDR text file every hour. All CDRs whose end time falls within that hour are written to the corresponding file. At the end of the interval, the file is closed and a new one is opened. The file naming convention follows the format YYYYMMDDHH.txt โ€” for example, 2026042612.txt contains all CDRs that ended between 12:00 and 13:00 on April 26, 2026.

๐ŸŽฏ Interval Value Recommendations by Traffic Volume

๐Ÿ“ก The optimal interval depends heavily on your call volume. Higher traffic demands shorter intervals to prevent individual files from becoming too large: ๐Ÿ’ก

Traffic VolumeRecommended IntervalSeconds ValueRationale
๐Ÿ“ž Low (<50 CPS)1 hour3600โœ… Manageable file size; hourly granularity
๐Ÿ“Š Medium (50โ€“200 CPS)30 minutes1800๐Ÿ”ง Prevents oversized files during peaks
๐Ÿ”ฅ High (200+ CPS)15 minutes900๐Ÿ›ก๏ธ Keeps files manageable; easier parsing
โš ๏ธ Extreme (DDoS scenario)5 minutes300๐Ÿšจ Rapid rotation prevents disk fill

โš ๏ธ Important: The minimum allowed value is 60 seconds and the maximum is 86400 seconds (24 hours). Setting the interval below 60 seconds is not supported. If your traffic is so high that even 5-minute files are too large, consider increasing SERVER_CDR_FILE_WRITE_MAX to retain more files, or implementing an external script that periodically archives old files to remote storage.

๐Ÿ“ฆ SERVER_CDR_FILE_WRITE_MAX โ€” Rotation File Count Limit

๐Ÿ“ While SERVER_CDR_FILE_WRITE_INTERVAL controls how often new files are created, SERVER_CDR_FILE_WRITE_MAX controls how many backup CDR files are retained on disk. This parameter prevents uncontrolled disk consumption by automatically deleting the oldest files when the count exceeds the limit. ๐Ÿ—‘๏ธ

AttributeValue
๐Ÿ“Œ Parameter NameSERVER_CDR_FILE_WRITE_MAX
๐Ÿ”ข Default Value2048
๐Ÿ“ UnitNumber of files
๐Ÿ“ Range10โ€“4096
๐Ÿ“ DescriptionAdditional write call record file, the maximum number of reserved file
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter

๐Ÿ”„ How rotation works: When the number of CDR text files exceeds SERVER_CDR_FILE_WRITE_MAX, the oldest files are automatically deleted. This creates a sliding window of retained CDR data โ€” at any given time, you have at most the most recent N files on disk, where N equals SERVER_CDR_FILE_WRITE_MAX.

๐Ÿ“Š Calculating Retention Period from Rotation Parameters

๐Ÿงฎ The total retention period depends on both the write interval and the maximum file count. Here is the formula: ๐Ÿ’ก

๐Ÿ“‹ VOS3000 CDR File Retention Calculation:

Retention Period = SERVER_CDR_FILE_WRITE_INTERVAL ร— SERVER_CDR_FILE_WRITE_MAX

Example 1 (Default Settings):
  Interval = 3600s (1 hour)  ร—  Max Files = 2048
  Retention = 3600 ร— 2048 = 7,372,800 seconds โ‰ˆ 85.3 days

Example 2 (High Traffic):
  Interval = 1800s (30 min)  ร—  Max Files = 2048
  Retention = 1800 ร— 2048 = 3,686,400 seconds โ‰ˆ 42.7 days

Example 3 (Maximum Retention):
  Interval = 86400s (24 hours)  ร—  Max Files = 4096
  Retention = 86400 ร— 4096 = 353,894,400 seconds โ‰ˆ 11.2 years

Example 4 (Short Retention, Frequent Rotation):
  Interval = 300s (5 min)  ร—  Max Files = 2048
  Retention = 300 ร— 2048 = 614,400 seconds โ‰ˆ 7.1 days

โš ๏ธ Critical warning: A shorter interval with the same file count means shorter total retention. If you decrease the interval for performance reasons, you must proportionally increase the file count to maintain the same retention period. Otherwise, you may lose historical CDR backup data faster than expected. ๐Ÿ”ฅ

๐Ÿ–ฅ๏ธ Enabling VOS3000 CDR File Rotation

๐Ÿ”ง The VOS3000 CDR file rotation requires two conditions to be met before it generates backup files: the SS_CDR_RECORD_TO_FILE parameter must be enabled, and the SERVER_CDR_FILE_WRITE_INTERVAL must be set to a valid value. ๐Ÿ“‹

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

  1. ๐Ÿ” Log in to VOS3000 Client
  2. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter
  3. ๐Ÿ” Locate SS_CDR_RECORD_TO_FILE
  4. โœ๏ธ Set value to On
AttributeValue
๐Ÿ“Œ Parameter NameSS_CDR_RECORD_TO_FILE
๐Ÿ”ข Default ValueOff
๐Ÿ“ DescriptionSave CDR as TXT โ€” enables the backup CDR text file system
๐Ÿ“ LocationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ Softswitch parameter

Step 2: Configure Write Interval โฑ๏ธ

  1. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter
  2. ๐Ÿ” Locate SERVER_CDR_FILE_WRITE_INTERVAL
  3. โœ๏ธ Set the desired interval value (60โ€“86400 seconds) based on your traffic volume

Step 3: Configure Maximum File Count ๐Ÿ“

  1. ๐Ÿ” In the same Server parameter section, locate SERVER_CDR_FILE_WRITE_MAX
  2. โœ๏ธ Set the maximum number of files to retain (10โ€“4096, default: 2048)
  3. ๐Ÿ’พ Save and apply the configuration

Step 4: Verify CDR File Generation โœ…

๐Ÿ–ฅ๏ธ After configuration, verify that files are being generated in the CDR directory:

# Check the CDR directory on the VOS3000 server
ls -la /home/vos3000/cdr/

# Expected output โ€” files named by YYYYMMDDHH convention:
# -rw-r--r-- 1 vos3000 vos3000  245120 Apr 26 12:00 2026042612.txt
# -rw-r--r-- 1 vos3000 vos3000  189340 Apr 26 13:00 2026042613.txt
# -rw-r--r-- 1 vos3000 vos3000  312500 Apr 26 14:00 2026042614.txt

# Verify rotation is working โ€” old files should be auto-deleted
# when count exceeds SERVER_CDR_FILE_WRITE_MAX
ls -1 /home/vos3000/cdr/ | wc -l

๐Ÿ“Š For detailed CDR file format information, see our VOS3000 CDR pipe format reference guide.

๐Ÿ”„ VOS3000 CDR File Rotation and Disk Space Management

๐Ÿ’พ One of the most critical aspects of VOS3000 CDR file rotation is managing disk space consumption. Each CDR record written to the text file contains 18 pipe-delimited fields. A typical single CDR line is approximately 200โ€“350 bytes depending on the length of phone numbers, IP addresses, and other variable-length fields. ๐Ÿ“

๐Ÿ“ Estimating Disk Space Requirements

๐Ÿ“Š Use this calculation to estimate your CDR file storage needs: ๐Ÿ’ก

MetricFormulaExample (100 CPS)
CDR lines per hourCPS ร— 3600360,000
File size per hourLines ร— 300 bytes (avg)~108 MB/hour
Daily disk usageFile/hour ร— 24~2.6 GB/day
With 2048 hourly files2048 ร— 108 MB~221 GB total

โš ๏ธ Key insight: At 100 CPS with hourly intervals and the default 2048 file limit, you need approximately 221 GB of disk space for CDR files alone. This does not account for the database, logs, or other system files. Ensure your server has adequate storage, or implement an external archival strategy. For help sizing your VOS3000 server, see our concurrent call load test guide. ๐Ÿ”ง

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

โŒ Misconfigured rotation parameters cause a range of issues from missing records to disk overflow. Here are the most common problems and their solutions: ๐Ÿ”

โŒ Problem 1: CDR Files Not Being Generated

๐Ÿ” Symptom: The CDR directory exists but no text files are being created, even though calls are flowing through the system.

๐Ÿ’ก Cause: The most common reason is that SS_CDR_RECORD_TO_FILE is set to Off (default). Without enabling this parameter, the VOS3000 CDR file rotation system is completely inactive regardless of the interval and max file settings.

โœ… Solutions:

  • ๐Ÿ”ง Set SS_CDR_RECORD_TO_FILE to On in Softswitch parameter settings
  • ๐Ÿ“Š Verify SERVER_CDR_FILE_WRITE_INTERVAL is set to a valid value between 60 and 86400
  • ๐Ÿ“ Check that the cdr directory exists beneath the VOS3000 installation directory and has write permissions
  • ๐Ÿ” Check the softswitch logs for any write errors

โŒ Problem 2: Disk Space Exhausting Rapidly

๐Ÿ” Symptom: The server runs out of disk space quickly, and the CDR directory contains a very large number of files.

๐Ÿ’ก Cause: SERVER_CDR_FILE_WRITE_MAX is set too high, or the write interval is very short, causing many small files that collectively consume large amounts of disk space. Alternatively, the automatic file deletion mechanism may not be working correctly.

โœ… Solutions:

  • ๐Ÿ“ Reduce SERVER_CDR_FILE_WRITE_MAX to a value that fits within your available disk space
  • โฑ๏ธ Increase SERVER_CDR_FILE_WRITE_INTERVAL to create fewer, larger files
  • ๐Ÿ”„ Implement an external archival script that moves old CDR files to remote storage (NFS, S3, etc.)
  • ๐Ÿ“Š Monitor disk usage with a cron job that alerts you when usage exceeds 80%

โŒ Problem 3: Historical CDR Files Disappearing Too Quickly

๐Ÿ” Symptom: You need to look up CDR data from 30 days ago, but the oldest available file is only from 10 days ago.

๐Ÿ’ก Cause: The retention period (interval ร— max files) is shorter than your required retention window. This happens when the interval is decreased without proportionally increasing the file count.

โœ… Solutions:

  • ๐Ÿ“ Calculate your required retention: Required Max Files = Required Days ร— 86400 / Interval
  • ๐Ÿ“ฆ Increase SERVER_CDR_FILE_WRITE_MAX to the calculated value (up to 4096 maximum)
  • ๐Ÿ—„๏ธ If you need more than 4096 files, implement external archival before rotation deletes them
  • ๐Ÿ“‹ For detailed CDR querying guidance, see our VOS3000 CDR analysis and billing guide

โŒ Problem 4: Zero-Duration Calls Flooding CDR Files

๐Ÿ” Symptom: CDR text files are much larger than expected, filled with records for calls that never connected (0-second duration).

๐Ÿ’ก Cause: The SS_CDR_RECORD_NONCONNECT parameter is set to On, causing all non-connected calls (failed attempts, busy, no answer) to be included in the text file export along with successful calls.

โœ… Solutions:

  • โš™๏ธ Set SS_CDR_RECORD_NONCONNECT to Off to exclude zero-duration calls from the file export
  • ๐Ÿ“Š Keep it On only if you need failed call data for analytics or fraud detection
  • ๐Ÿ›ก๏ธ During DDoS attacks, set SERVER_BILLING_RECORD_ZERO_HOLD_TIME to Off to prevent database overload โ€” see our DDoS protection guide

๐Ÿ“‹ Complete VOS3000 CDR File Rotation Parameter Reference

๐Ÿ“Š Here is the complete reference table for all parameters related to CDR file rotation, sourced from the official VOS3000 2.1.9.07 manual: ๐Ÿ”ง

ParameterDefaultRangePurpose
SERVER_CDR_FILE_WRITE_INTERVALNone60โ€“86400sTime interval for new CDR file creation
SERVER_CDR_FILE_WRITE_MAX204810โ€“4096Maximum number of CDR files to retain
SS_CDR_RECORD_TO_FILEOffOn/OffEnable/disable CDR text file export
SS_CDR_RECORD_NONCONNECTOffOn/OffInclude non-connected calls (0s) in file export
SS_CDR_RECORD_ILLEGALOnOn/OffRecord illegal calls in CDR files
SERVER_CDR_REAL_TIME_REPORT_SERVERNoneIP:PortForward CDRs to external server in real-time

๐Ÿ“ All server parameters are located at: Navigation โ†’ Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ Server parameter. Softswitch parameters are at the same path under Softswitch parameter.

๐Ÿ’ก VOS3000 CDR File Rotation Best Practices

๐ŸŽฏ Follow these best practices to ensure your VOS3000 CDR file rotation is both reliable and efficient: ๐Ÿ“‹

Best PracticeRecommendationReason
๐Ÿ“Š Calculate retention needsInterval ร— Max Files = Retentionโœ… Ensures you keep enough historical data
๐Ÿ“ Implement external archivalCron job to copy old files to remote storage๐Ÿ›ก๏ธ Prevents data loss when rotation deletes files
โฑ๏ธ Match interval to trafficHigher CPS = shorter interval๐Ÿ”ง Keeps individual file sizes manageable
๐Ÿ’พ Monitor disk spaceAlert at 80% usage threshold๐Ÿšจ Prevents unexpected disk-full outages
๐Ÿ”„ Test recovery regularlyParse backup files monthly to verify integrity๐Ÿ“‹ Confirms files are usable when needed
๐Ÿ” Secure CDR directoryRestrict file permissions to vos3000 user only๐Ÿ›ก๏ธ CDRs contain sensitive billing data

๐Ÿ’ฌ Questions about your VOS3000 CDR file rotation setup? Reach out at WhatsApp: +8801911119966 โ€” our VOS3000 experts can help you optimize rotation settings for your traffic volume and retention requirements. ๐Ÿ“ž

โ“ Frequently Asked Questions

โ“ What is the default value for SERVER_CDR_FILE_WRITE_INTERVAL?

๐Ÿ“‹ The default value for SERVER_CDR_FILE_WRITE_INTERVAL is None (not set). This means that CDR file rotation is not active by default. You must explicitly set a value between 60 and 86400 seconds and enable SS_CDR_RECORD_TO_FILE to On before the system generates backup CDR text files. Without this configuration, CDR records are only stored in the database. ๐Ÿ’ก

โ“ How does VOS3000 CDR file rotation prevent disk overflow?

๐Ÿ›ก๏ธ The VOS3000 CDR file rotation uses SERVER_CDR_FILE_WRITE_MAX to enforce a maximum number of retained files. When the file count exceeds this limit, the oldest files are automatically deleted. For example, with the default value of 2048 and an hourly interval, the system retains approximately 85 days of CDR files. Once the 2049th file is created, the oldest file is removed, maintaining a consistent disk footprint. This sliding window mechanism ensures the CDR directory never grows beyond a predictable size. ๐Ÿ“

โ“ Can I change the VOS3000 CDR file rotation interval without restarting?

๐Ÿ”ง Server parameters in VOS3000 typically take effect after saving and applying the configuration through the VOS3000 Client interface. While some parameters may apply immediately, it is recommended to verify that the new interval is in effect by checking the timestamps of newly created CDR files. If the old interval persists, a softswitch service restart may be required. Always test configuration changes during a maintenance window to avoid any disruption to CDR recording. ๐Ÿ“Š

โ“ What is the relationship between SS_CDR_RECORD_TO_FILE and SERVER_CDR_FILE_WRITE_INTERVAL?

๐Ÿ”— SS_CDR_RECORD_TO_FILE is the master switch that enables or disables the entire CDR text file system. SERVER_CDR_FILE_WRITE_INTERVAL controls the frequency of file creation within that system. If SS_CDR_RECORD_TO_FILE is Off (default), no CDR files are generated regardless of the interval setting. If it is On but the interval is not set (None), the system may not create files properly. Both parameters must be correctly configured for the VOS3000 CDR file rotation to function. ๐ŸŽฏ

โ“ How do I include non-connected calls in the CDR text files?

๐Ÿ“Š By default, SS_CDR_RECORD_NONCONNECT is set to Off, which means only successfully connected calls (calls with duration greater than 0 seconds) are written to the CDR text files. To include failed call attempts, busy calls, and no-answer calls, set SS_CDR_RECORD_NONCONNECT to On. Be aware that enabling this parameter significantly increases the number of CDR records per file, especially during traffic spikes or attack scenarios. For DDoS protection guidance, see our zero duration CDR control guide. โš ๏ธ

โ“ Where are VOS3000 CDR text files stored on the server?

๐Ÿ“ CDR text files are stored in the cdr directory beneath the VOS3000 installation directory. The file naming convention is YYYYMMDDHH.txt, where YYYY is the year, MM is the month, DD is the day, and HH is the hour. Each file contains all CDRs whose end time falls within that time window. For example, 2026042614.txt contains CDRs for calls that ended between 14:00 and 15:00 on April 26, 2026. The files use pipe-delimited format with 18 fields per record โ€” see our CDR pipe format reference for complete field documentation. ๐Ÿ“‹

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

๐Ÿ”ง Proper VOS3000 CDR file rotation configuration is essential for ensuring billing data integrity, meeting regulatory retention requirements, and preventing disk overflow disasters. Whether you need to set up CDR backup for the first time, tune rotation parameters for high traffic, or implement an external archival strategy, our VOS3000 experts are here to help. ๐Ÿ›ก๏ธ

๐Ÿ’ฌ Contact us at WhatsApp: +8801911119966 for professional VOS3000 deployment, CDR configuration, and ongoing support. We help VoIP operators worldwide optimize their softswitch performance and billing accuracy. ๐ŸŒ

๐Ÿ“– Explore more VOS3000 guides: CDR analysis and billing, billing system overview, 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