๐ 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. ๐ฌ
๐ 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:
๐ 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 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. ๐Attribute Value ๐ Parameter Name SERVER_CDR_FILE_WRITE_INTERVAL ๐ข Default Value None (not set by default) ๐ Unit Seconds ๐ Range 60โ86400 ๐ Description Additional write call record file, the new file created time interval (seconds) ๐ Location Operation 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.
๐ก The optimal interval depends heavily on your call volume. Higher traffic demands shorter intervals to prevent individual files from becoming too large: ๐กTraffic Volume Recommended Interval Seconds Value Rationale ๐ Low (<50 CPS) 1 hour 3600 โ
Manageable file size; hourly granularity ๐ Medium (50โ200 CPS) 30 minutes 1800 ๐ง Prevents oversized files during peaks ๐ฅ High (200+ CPS) 15 minutes 900 ๐ก๏ธ Keeps files manageable; easier parsing โ ๏ธ Extreme (DDoS scenario) 5 minutes 300 ๐จ 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.
๐ 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. ๐๏ธAttribute Value ๐ Parameter Name SERVER_CDR_FILE_WRITE_MAX ๐ข Default Value 2048 ๐ Unit Number of files ๐ Range 10โ4096 ๐ Description Additional write call record file, the maximum number of reserved file ๐ Location Operation 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.
๐งฎ 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. ๐ฅ
๐ง 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. ๐
| Attribute | Value |
|---|---|
| ๐ Parameter Name | SS_CDR_RECORD_TO_FILE |
| ๐ข Default Value | Off |
| ๐ Description | Save CDR as TXT โ enables the backup CDR text file system |
| ๐ Location | Operation management โ Softswitch management โ Additional settings โ Softswitch parameter |
๐ฅ๏ธ 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.
๐พ 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. ๐
๐ Use this calculation to estimate your CDR file storage needs: ๐กMetric Formula Example (100 CPS) CDR lines per hour CPS ร 3600 360,000 File size per hour Lines ร 300 bytes (avg) ~108 MB/hour Daily disk usage File/hour ร 24 ~2.6 GB/day With 2048 hourly files 2048 ร 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. ๐ง
โ Misconfigured rotation parameters cause a range of issues from missing records to disk overflow. Here are the most common problems and their solutions: ๐
๐ 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:
๐ 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:
๐ 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:
๐ 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:
๐ Here is the complete reference table for all parameters related to CDR file rotation, sourced from the official VOS3000 2.1.9.07 manual: ๐งParameter Default Range Purpose SERVER_CDR_FILE_WRITE_INTERVAL None 60โ86400s Time interval for new CDR file creation SERVER_CDR_FILE_WRITE_MAX 2048 10โ4096 Maximum number of CDR files to retain SS_CDR_RECORD_TO_FILE Off On/Off Enable/disable CDR text file export SS_CDR_RECORD_NONCONNECT Off On/Off Include non-connected calls (0s) in file export SS_CDR_RECORD_ILLEGAL On On/Off Record illegal calls in CDR files SERVER_CDR_REAL_TIME_REPORT_SERVER None IP:Port Forward 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.
๐ฏ Follow these best practices to ensure your VOS3000 CDR file rotation is both reliable and efficient: ๐Best Practice Recommendation Reason ๐ Calculate retention needs Interval ร Max Files = Retention โ
Ensures you keep enough historical data ๐ Implement external archival Cron job to copy old files to remote storage ๐ก๏ธ Prevents data loss when rotation deletes files โฑ๏ธ Match interval to traffic Higher CPS = shorter interval ๐ง Keeps individual file sizes manageable ๐พ Monitor disk space Alert at 80% usage threshold ๐จ Prevents unexpected disk-full outages ๐ Test recovery regularly Parse backup files monthly to verify integrity ๐ Confirms files are usable when needed ๐ Secure CDR directory Restrict 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. ๐
๐ 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. ๐ก
๐ก๏ธ 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. ๐
๐ง 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. ๐
๐ 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. ๐ฏ
๐ 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. โ ๏ธ
๐ 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. ๐
๐ง 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. ๐
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
๐ฑ WhatsApp: +8801911119966
๐ Website: www.vos3000.com
๐ Blog: multahost.com/blog
๐ฅ Downloads: VOS3000 Downloads
In-depth VOS3000 vs VoIPSwitch Pro comparison for VoIP operators. Compare billing precision, LCR routing, calling cards, API, security, scalability, community… Read More
Complete VOS3000 vs Kamailio comparison covering all-in-one softswitch vs SIP proxy server. Compare billing, routing, calling cards, API, security, scalability,… Read More
Detailed VOS3000 vs 3CX comparison explaining why VOS3000 is the carrier softswitch for wholesale and retail VoIP while 3CX serves… Read More
This website uses cookies.