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 End Direction Critical Call Termination Party Detection

VOS3000 CDR End Direction Critical Call Termination Party Detection

📞 Knowing who hung up the call is not just a curiosity — it is a critical data point that affects billing disputes, quality analysis, fraud detection, and network performance optimization. The VOS3000 CDR end direction field records exactly which party initiated the call termination: the caller (0), the callee (1), or the VOS3000 server itself (2). This three-code system, documented in the official VOS3000 manual §4.4 (page 242), provides the definitive answer to “who ended this call?” — and that answer has far-reaching implications for your VoIP business. 🔍

⚙️ Consider the billing dispute scenario: A customer claims they were overcharged because “the call dropped after only a few seconds.” Without the endDirection field, you have no way to prove whether the customer hung up normally, the far end hung up, or the server terminated the call due to a timeout or balance exhaustion. With endDirection = 2 (server), you can explain that the server terminated the call because the prepaid balance was depleted — resolving the dispute with evidence. Without it, you are relying on guesswork. 📊

🎯 This guide provides a comprehensive reference for the VOS3000 CDR end direction field, covering all three codes (0, 1, 2), their meanings, how they interact with other CDR fields like endReason and billingMode, and practical analysis techniques for using end direction data in billing, quality monitoring, and security applications. All definitions are sourced from the official VOS3000 2.1.8.0/2.1.9.07 English manual §4.4 (page 242). 📘

🔐 What Is VOS3000 CDR End Direction?

📋 The VOS3000 CDR end direction (also called “hangup side” in the manual) is Field 7 in the pipe-delimited CDR format. It records which party initiated the termination of the call by sending the SIP BYE message, H.323 EndSessionCommand, or equivalent call teardown signal. This is not about which party originated the call — it is specifically about which party ended it.

📍 CDR field location: Position 7 in the pipe-delimited CDR format, between the endReason (Field 6) and callerGatewayId (Field 8) fields, as documented in the VOS3000 manual §4.4.

📋 Official Manual Definition

📖 The VOS3000 2.1.8.0/2.1.9.07 English manual §4.4 (page 242) defines the endDirection field as:

“endDirection — Hangup side(0-caller,1-callee,2-server)”

📝 This is the complete and official definition. The three possible values and their meanings are:

CodePartyMeaningSIP Signal
0🔔 CallerThe calling party initiated the hangupBYE from caller side
1📞 CalleeThe called party initiated the hangupBYE from callee side
2🖥️ ServerThe VOS3000 server initiated the hangupBYE generated by VOS3000

📊 End Direction Code 0: Caller Hangup

🔔 When the VOS3000 CDR end direction is 0, it means the calling party initiated the call termination. In SIP terms, the BYE message originated from the caller’s side of the call leg. This is the most common end direction for normal completed calls — the person who made the call decides they are done talking and hangs up.

AttributeDetail
📌 Code0
📝 PartyCaller (calling party)
🔄 Typical ScenarioNormal call completion — caller hangs up after conversation
📊 Expected Proportion50–80% of connected calls in most deployments

📋 Analysis Implications of Caller Hangup

💡 What caller hangup tells you: When endDirection = 0, the call followed a normal pattern — the calling party placed the call, the conversation took place, and the caller ended it when finished. This is the expected behavior for the majority of outbound calls. However, if you notice an unusually high percentage of caller hangups with very short hold times (under 3 seconds), it may indicate that callers are reaching the wrong number or encountering audio problems and hanging up immediately.

📊 Quality correlation: Pair endDirection = 0 with short holdTime values to identify potential audio quality issues. If callers consistently hang up within the first few seconds, there may be a one-way audio problem or incorrect number routing. Cross-reference with the endReason codes to get the full picture — a normal SIP 200 OK with endDirection = 0 and holdTime under 2000ms suggests a quick hangup after audio issues rather than a failed call.

📊 End Direction Code 1: Callee Hangup

📞 When the VOS3000 CDR end direction is 1, it means the called party initiated the call termination. The BYE message came from the callee’s side. This typically happens when the person who received the call decides to end the conversation.

AttributeDetail
📌 Code1
📝 PartyCallee (called party)
🔄 Typical ScenarioCalled party hangs up after conversation ends
📊 Expected Proportion15–40% of connected calls in most deployments

📋 Analysis Implications of Callee Hangup

💡 What callee hangup tells you: An endDirection of 1 is perfectly normal for many call scenarios — the called party simply ends the conversation. However, a high proportion of callee hangups, especially combined with short hold times, may indicate that the called parties are not expecting the call (possible spam or unsolicited traffic), or that the audio from the caller side is not reaching the callee properly.

🔍 Wholesale traffic quality indicator: In wholesale VoIP operations, monitoring the ratio of callee hangups to caller hangups on specific routes helps assess traffic quality. A route with a high percentage of callee hangups and short durations may indicate that the terminating carrier’s end users are rejecting or quickly ending calls — a sign of potential CLI (Caller Line Identification) issues or unwanted traffic. This data supports decisions about route optimization and carrier selection.

📊 End Direction Code 2: Server Hangup

🖥️ When the VOS3000 CDR end direction is 2, it means the VOS3000 server itself initiated the call termination. This is the most operationally significant of the three codes, because it indicates the softswitch actively intervened to end the call — and the reasons for that intervention directly impact billing, customer experience, and system health. 🚨

AttributeDetail
📌 Code2
📝 PartyServer (VOS3000 softswitch)
🔄 Typical ScenarioServer-initiated call termination for policy, timeout, or balance reasons
📊 Expected Proportion5–20% of connected calls, depending on prepaid ratio

📋 When Does Server Hangup Occur?

🖥️ There are several important scenarios where VOS3000 terminates a call from the server side, each with different operational implications:

ScenarioDescriptionEnd ReasonImpact
💰 Balance exhaustionPrepaid account runs out of funds during active callVarious (may show session timeout code)Customer may dispute charges
⏱️ Session timer expirySIP session timer expires without successful re-INVITE refresh200 (normal) or 408Call duration capped by timer
🔧 Administrative disconnectOperator manually disconnects the call via VOS3000 client200Immediate call termination
📡 No-media timeoutRTP media stream stops flowing for the configured timeout periodVariousDetects dead calls consuming resources
🛡️ Maximum duration limitCall exceeds the configured maximum call duration200Policy-based call length cap
🔄 Gateway failover cleanupServer terminates call during gateway switching or failover process503 or other errorCall may be re-routed

💡 Recording server hangups: Whether CDRs for server-initiated hangups are recorded depends on the SERVER_BILLING_RECORD_SERVER_HANG_UP parameter. When this parameter is On, VOS3000 generates CDR records even when the server initiates the hangup, providing a complete audit trail of all call terminations. When Off, server-initiated hangups may not generate CDR records, creating gaps in your billing and operational data. For detailed configuration guidance, see our server hangup CDR recording guide.

📋 End Direction and Billing Dispute Resolution

💰 The VOS3000 CDR end direction field is one of the most powerful tools for resolving billing disputes. When a customer challenges a charge, the endDirection code provides objective evidence of what happened during the call:

Dispute ClaimEnd DirectionResolution
“The call dropped after a few seconds”0 (caller hangup)✅ The caller (customer) hung up normally — not a dropped call
“I was disconnected unexpectedly”2 (server hangup)⚠️ Server terminated — investigate balance exhaustion or session timeout
“The call was much shorter than billed”1 (callee hangup)✅ The called party hung up — duration matches CDR holdTime
“I never made this call”0 (caller hangup) with specific callerIp🔍 Verify the callerIp matches the customer’s registered device

📊 Evidence chain: For maximum dispute resolution effectiveness, combine the endDirection field with other CDR fields. The endReason code tells you why the call ended, the holdTime tells you how long the conversation lasted, the callerIp confirms where the call originated, and the endDirection tells you who terminated the call. Together, these four fields create an unambiguous evidence chain that resolves most billing disputes. For detailed CDR analysis methodology, see our CDR billing discrepancy guide.

📊 End Direction and Call Quality Analysis

📈 Analyzing end direction patterns across your traffic reveals important quality trends that are not visible from ASR and ACD metrics alone. Here are the key analysis patterns to monitor:

📋 End Direction Distribution Analysis

PatternEnd Direction MixIndicatesAction
✅ Normal distribution60% caller, 30% callee, 10% serverHealthy traffic with normal call patternsNo action needed — continue monitoring
⚠️ High server hangupServer hangup over 25%Session timeouts, balance exhaustion, or system issuesCheck session timer and prepaid balance settings
🔍 Short callee hangupCallee hangup with holdTime under 5sCalled parties rejecting calls — possible CLI or spam issueReview caller ID presentation and traffic source
🚨 Short caller hangupCaller hangup with holdTime under 3sOne-way audio or wrong number — callers hanging up immediatelyCheck audio quality on affected routes

📋 End Direction by Gateway Analysis

📡 Segmenting end direction data by gateway (using the callerGatewayId and calleeGatewayId fields) reveals gateway-specific quality issues. A gateway that shows an unusually high percentage of server-initiated hangups (endDirection = 2) may have connectivity problems causing session timer expirations. A gateway with a high proportion of short-duration callee hangups may be routing traffic to low-quality destinations where end users reject the calls. This gateway-level analysis supports data-driven routing decisions and helps you identify which carriers deliver the best call completion quality. For gateway performance monitoring techniques, see our gateway analysis reports guide.

📋 End Direction and Session Timer Interaction

⏱️ One of the most important operational interactions is between the VOS3000 CDR end direction and the SIP session timer system. When session timers are enabled, VOS3000 periodically sends re-INVITE messages to refresh the session. If the re-INVITE fails (the endpoint does not respond), VOS3000 terminates the call — and the endDirection will be 2 (server). This is a common scenario for calls that “mysteriously drop” after a fixed interval.

Session Timer ScenarioEnd DirectionEnd ReasonResolution
✅ Re-INVITE succeeds0 or 1 (normal)200 OKCall continues until party hangs up
⚠️ Re-INVITE fails (NAT issue)2 (server)408 or timeoutCheck NAT keepalive settings
🔧 No session timer support2 (server)Session expiryConfigure SS_SIP_NO_TIMER_REINVITE_INTERVAL
💰 Prepaid balance depleted2 (server)200 OK (normal clear)Expected behavior for prepaid accounts

💡 Investigating mysterious drops: If customers report calls dropping at consistent intervals (e.g., always at 30 minutes or 2 hours), check the SIP session timer configuration. The session timer interval, combined with the SS_SIP_SESSION_UPDATE_SEGMENT parameter, determines when VOS3000 sends re-INVITE refreshes. If the endpoint does not support session timers and SS_SIP_NO_TIMER_REINVITE_INTERVAL is not configured, VOS3000 may terminate the call after the session timer expires — resulting in endDirection = 2.

🛡️ Common End Direction Analysis Problems and Solutions

❌ Problem 1: Excessive Server Hangups (endDirection = 2)

🔍 Symptom: A high percentage of CDRs show endDirection = 2, indicating the server is terminating many calls.

💡 Cause: Multiple factors can cause excessive server hangups: session timer misconfiguration, NAT traversal failures causing re-INVITE timeouts, prepaid accounts frequently running out of balance, or RTP timeout detecting dead media streams.

Solutions:

  • ⏱️ Review SIP session timer settings — ensure SS_SIP_NO_TIMER_REINVITE_INTERVAL provides a safety net for non-timer endpoints
  • 🌐 Check NAT keepalive settings — failed re-INVITEs through NAT firewalls are a leading cause of server-initiated hangups
  • 💰 Verify prepaid balance thresholds — the mid-call balance warning should alert users before their balance is depleted
  • 📡 Monitor RTP timeout settings that may be too aggressive for legitimate silent periods in calls

❌ Problem 2: Billing Disputes Where Customer Claims Call Dropped

🔍 Symptom: Customer disputes a charge, claiming the call dropped unexpectedly, but the CDR shows endDirection = 0 (caller hangup) with a substantial holdTime.

💡 Cause: The customer may have accidentally ended the call, or their SIP device may have sent a BYE due to a local issue (not a server-side drop). The CDR end direction provides the objective evidence.

Solutions:

  • 📋 Present the endDirection = 0 record to the customer as evidence that their device initiated the hangup
  • 🔍 Cross-reference with callerIp to confirm the call originated from the customer’s registered device
  • 📊 Compare the holdTime with the customer’s claim about call duration
  • 📞 For endDirection = 2 cases, explain the server termination reason (balance exhaustion, session timeout, etc.)

❌ Problem 3: Short Callee Hangups Indicating Traffic Quality Issues

🔍 Symptom: High volume of endDirection = 1 records with very short holdTime values on a specific route or gateway.

💡 Cause: The called parties are answering and immediately hanging up. This can indicate wrong-number calls, CLI (Caller Line Identification) not being presented correctly, or the traffic being perceived as spam by the called parties.

Solutions:

  • 📞 Verify that the caller ID being presented to the called party is correct and recognizable
  • 🔧 Check the caller ID management configuration for the affected mapping gateway
  • 📊 Analyze the geographic distribution of short callee hangups to identify specific regions or carriers with quality issues
  • 🔄 Consider routing adjustments to avoid low-quality termination carriers

💡 End Direction Best Practices

🎯 Follow these best practices to maximize the value of VOS3000 CDR end direction data in your operations:

Best PracticeRecommendationReason
📋 Always enable server hangup CDR recordingSet SERVER_BILLING_RECORD_SERVER_HANG_UP = On🔍 Complete audit trail of all call terminations
📊 Monitor end direction distribution weeklyTrack % of codes 0, 1, 2 across all traffic📈 Early detection of quality and configuration issues
💰 Use end direction in billing dispute workflowsInclude endDirection in dispute resolution SOP🛡️ Objective evidence resolves disputes faster
📡 Segment by gateway for quality analysisAnalyze end direction per routing gateway🔧 Data-driven carrier selection and route optimization
⏱️ Correlate endDirection = 2 with session timerMatch server hangups to timer expiry patterns🔧 Identifies NAT and timer configuration problems

❓ Frequently Asked Questions

❓ What does VOS3000 CDR end direction 2 mean?

🖥️ A VOS3000 CDR end direction of 2 means the VOS3000 server initiated the call termination. This occurs when the softswitch actively ends the call, rather than either endpoint (caller or callee) hanging up. Common reasons include: prepaid account balance exhaustion (the server terminates the call when funds run out), SIP session timer expiry (the server did not receive a successful re-INVITE refresh), administrative disconnect by the operator, maximum call duration limit reached, or RTP media timeout detecting a dead media stream. The endDirection = 2 code is documented in the VOS3000 manual §4.4 (page 242) as “server” hangup side.

❓ How do I determine why a server hangup occurred?

🔍 To determine the specific reason for a server-initiated hangup (endDirection = 2), cross-reference the endDirection field with the endReason field (Field 6) in the same CDR record. The endReason provides the SIP response code or cause code that explains why the call was terminated. For example, endDirection = 2 with endReason = 200 typically indicates a normal server-initiated clear (such as balance exhaustion or maximum duration). EndDirection = 2 with endReason = 408 indicates a timeout. Combining these two fields gives you the complete picture of who ended the call and why.

❓ Does endDirection affect billing calculations?

💰 The endDirection field itself does not directly change billing calculations — the holdTime field determines the billable duration regardless of who hung up. However, endDirection has indirect billing implications. When endDirection = 2 (server hangup), the call may have been terminated before the natural conversation end, which can lead to customer disputes. When analyzing billing data, filtering by endDirection helps you understand the nature of your call completions and identify patterns that affect revenue, such as premature server terminations due to balance exhaustion on prepaid accounts.

❓ Can the endDirection value be incorrect?

🔧 In rare cases, the endDirection may not accurately reflect the true termination party. This can happen when a SIP ALG (Application Layer Gateway) or intermediate proxy modifies the BYE message direction, or when a gateway sends a BYE on behalf of an endpoint (making it appear as a callee hangup when the caller actually hung up). If you suspect endDirection inaccuracy, enable SIP debug tracing to capture the actual BYE message flow and verify which IP address sent the termination signal. Check our SIP debug guide for instructions on capturing and analyzing SIP message traces.

❓ How is endDirection different from endReason in VOS3000 CDR?

📋 The endDirection field (Field 7) tells you who terminated the call — caller (0), callee (1), or server (2). The endReason field (Field 6) tells you why the call was terminated — using SIP response codes (200, 486, 503, etc.) or Q.850 cause codes. These two fields answer different questions and must be analyzed together for the complete picture. For example, endDirection = 0 with endReason = 200 means the caller hung up normally. EndDirection = 2 with endReason = 200 means the server terminated the call normally (likely due to balance exhaustion or duration limit). EndDirection = 1 with endReason = 486 means the callee rejected the call with a busy signal.

❓ Should I always record CDRs for server-initiated hangups?

📝 Yes, it is strongly recommended to record CDRs for server-initiated hangups by setting SERVER_BILLING_RECORD_SERVER_HANG_UP = On. Without these records, your CDR data has gaps — you lose visibility into calls that the server terminated, which are often the most operationally significant calls (balance exhaustion, session timeouts, administrative actions). These records are essential for billing dispute resolution, quality analysis, and system health monitoring. The zero-duration CDR control parameter (SERVER_BILLING_RECORD_ZERO_HOLD_TIME) serves a different purpose — it controls whether failed call attempts are recorded, while SERVER_BILLING_RECORD_SERVER_HANG_UP specifically addresses server-initiated terminations.

📞 Need Expert Help with VOS3000 CDR End Direction?

🔧 Understanding and analyzing VOS3000 CDR end direction data is essential for billing accuracy, quality monitoring, and operational intelligence. Whether you are investigating server-initiated hangups, resolving billing disputes, or building a call quality dashboard, expert guidance ensures your analysis is accurate and actionable. 📊

💬 WhatsApp: +8801911119966 — Get immediate assistance with VOS3000 CDR end direction analysis, billing dispute resolution, and call quality monitoring. Our team specializes in VOS3000 CDR analytics, billing system optimization, and VoIP quality assurance. 🔧

🔗 Explore related VOS3000 CDR and call quality guides:


📞 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 Billing Mode Codes Accurate -1 0 1 3 Reference

VOS3000 CDR Billing Mode Codes Accurate -1 0 1 3 Reference

💳 Every call detail record in VOS3000 carries a billingMode field that tells you exactly how — and whether — that call was charged. The four VOS3000 CDR billing mode codes (-1, 0, 1, and 3) are the key to understanding your billing data, detecting revenue leaks, and auditing your call accounting accuracy. Yet many operators treat this field as an afterthought, only discovering its importance when a billing dispute arises or a revenue discrepancy demands investigation. 📊

⚙️ The billingMode field (Field 17 in the pipe-delimited CDR format) determines which type of account was charged for the call. A code of -1 means no billing was applied at all. A code of 0 means the call was billed to a phone number account. A code of 1 means it was billed to a gateway ID. A code of 3 means it was billed to a phone card (calling card). Each code has distinct implications for how the billing engine calculates charges, which rate table is referenced, and how the revenue is attributed in your financial reports. Misunderstanding even one of these codes can lead to incorrect billing analysis and lost revenue. 🔍

🎯 This guide provides an accurate, manual-verified reference for all four VOS3000 CDR billing mode codes. All code definitions are sourced from the official VOS3000 2.1.8.0/2.1.9.07 English manual §4.4 (page 242), with detailed explanations of how each code affects billing calculations, which account types they correspond to, and how to use them in CDR analysis and reporting. 📘

🔐 What Are VOS3000 CDR Billing Mode Codes?

📋 The VOS3000 CDR billing mode codes appear in the billingMode field (position 17) of every CDR record in the pipe-delimited text export. They indicate the charge mode — the type of billing entity that was used to calculate and record charges for the call. This is distinct from the billing method field (position 16, calleeBilling), which indicates whether the caller or callee is charged. The billing mode tells you what kind of account was charged, while the billing method tells you which party was charged.

💡 Why billing mode codes matter:

  • 💰 Revenue attribution: Knowing which account type generated revenue helps you track income by business segment (retail phone, wholesale gateway, calling card)
  • 🔍 Fraud detection: An unexpected billing mode code in a CDR may indicate configuration errors or unauthorized access
  • 📊 Reporting accuracy: Billing reports must separate revenue by account type for financial and regulatory purposes
  • 🛡️ Audit compliance: Regulators may require documentation of how each call was billed and which account was charged
  • 🔧 Troubleshooting: Calls with billingMode = -1 that should have been billed indicate a billing configuration problem

📍 CDR field location: The billingMode field is at position 17 in the VOS3000 pipe-delimited CDR format, as documented in the official manual §4.4 (page 242). It appears after the calleeBilling field and before the callerPdd field.

📊 VOS3000 CDR Billing Mode Code -1: No Billing

🚫 A billingMode of -1 means the call was not billed at all. No charges were calculated, no account was debited, and no billing record was generated for the call — although the CDR itself is still recorded for operational and security purposes.

AttributeDetail
📌 Code-1
📝 Manual DescriptionNo billing (VOS3000 manual §4.4: “bobilling” — a typo for “no billing”)
💰 Billing AppliedNone — call is completely exempt from charges
📋 Account DebitedNo account is debited

📋 When Does VOS3000 CDR Billing Mode -1 Occur?

🔍 There are several scenarios where a call receives a billingMode of -1 in VOS3000:

ScenarioDescriptionExpected?
🛡️ Illegal/unauthorized callsCalls from IP addresses not registered as valid mapping gateways✅ Yes — no account to bill
📞 Free E.164 numbersCalls to numbers listed in SERVER_BILLING_FREE_E164S✅ Yes — configured as free
🚫 No-CDR free numbersCalls to numbers in SERVER_BILLING_NO_CDR_E164S✅ Yes — configured to skip billing
⚠️ Unmatched routingCalls that could not be matched to any account or rate table❌ No — indicates config error
🔧 System errorsCalls that encountered a billing engine error during processing❌ No — requires investigation

🚨 Revenue leak alert: If you find CDR records with billingMode = -1 for calls that should have been billed (normal calls to paying destinations), this indicates a billing configuration problem. The most common cause is a missing rate table entry for the destination number — VOS3000 cannot apply billing if it cannot find a matching rate. Check your rate table configuration and ensure all active destinations have valid rates assigned.

📊 VOS3000 CDR Billing Mode Code 0: Phone Number Billing

📞 A billingMode of 0 means the call was billed to a phone number account. This is the most common billing mode for retail VoIP operations where individual SIP accounts (each identified by a phone number or extension) are charged for their calls.

AttributeDetail
📌 Code0
📝 Manual DescriptionPhone number (VOS3000 manual §4.4: “phone number”)
💰 Billing AppliedYes — charges calculated and applied to the phone number account
📋 Account DebitedIndividual SIP account identified by phone number/extension

📋 How Phone Number Billing Works

🔢 When billingMode is 0, the VOS3000 billing engine identifies the calling (or called) party by their phone number or SIP account ID. The charges are applied to that specific account’s balance. The rate table lookup uses the destination number (calleeE164) matched against the account’s assigned rate table. This is the standard billing model for:

  • 📞 Retail SIP accounts: Individual users with their own phone numbers and prepaid/postpaid balances
  • 🏢 Business extensions: PBX extensions that are individually metered and charged
  • 📱 Calling card accounts: When the calling card system maps to individual phone number accounts (distinct from phone card billing mode 3)
  • 🏠 Residential VoIP: Home users with per-call billing on their personal SIP account

💡 Balance check: For prepaid phone number accounts, VOS3000 checks the account balance before allowing the call. If the balance is insufficient, the call is rejected or limited to the duration that the remaining balance can support. The SERVER_BILLING_PREVENT_OVERDRAFT_ADVANCE_TIME parameter reserves advance time to prevent accounts from going negative during active calls.

📊 VOS3000 CDR Billing Mode Code 1: Gateway ID Billing

📡 A billingMode of 1 means the call was billed to a gateway ID account. This is the dominant billing mode for wholesale VoIP operations where traffic is routed through mapping gateways and routing gateways, and the charges are applied to the gateway’s account rather than to individual phone numbers.

AttributeDetail
📌 Code1
📝 Manual DescriptionGateway ID (VOS3000 manual §4.4: “gateway ID”)
💰 Billing AppliedYes — charges calculated and applied to the gateway account
📋 Account DebitedMapping gateway or routing gateway account, identified by gateway ID

📋 How Gateway ID Billing Works

🌐 When billingMode is 1, the VOS3000 billing engine attributes the call charge to the gateway through which the traffic passed. This is the standard billing model for wholesale and carrier-grade VoIP operations where traffic volume is high and individual call billing would be impractical. The gateway’s rate table is used for rate lookup, and charges are deducted from the gateway’s account balance.

📡 Common scenarios for gateway billing:

  • 🔄 Wholesale termination: Carriers sending large volumes of traffic through a gateway and billed by the gateway’s aggregate rates
  • 📞 Origination gateways: Incoming traffic from a PBX or softswitch is billed to the originating mapping gateway
  • 🔗 Interconnect billing: Traffic exchanged between carriers, billed to the gateway representing the interconnection point
  • 🏢 Enterprise PBX trunking: A business PBX connected via a SIP trunk is billed at the gateway level rather than per extension

📊 Gateway-level reporting: The billingMode = 1 designation is essential for wholesale traffic analysis. When generating revenue reports, you should filter CDRs by billingMode to separate gateway-billed wholesale revenue from phone-number-billed retail revenue. This separation is critical for understanding your business mix and margins. For more details on wholesale billing analysis, see our CDR analysis and billing guide.

📊 VOS3000 CDR Billing Mode Code 3: Phone Card Billing

💳 A billingMode of 3 means the call was billed to a phone card (calling card) account. This applies specifically to calls made through the VOS3000 IVR-based calling card system, where users dial an access number, enter their PIN, and then dial the destination number.

AttributeDetail
📌 Code3
📝 Manual DescriptionPhone card (VOS3000 manual §4.4: “phone card”)
💰 Billing AppliedYes — charges calculated and applied to the calling card account
📋 Account DebitedPhone card (calling card) account identified by PIN/card number

📋 How Phone Card Billing Works

💳 When billingMode is 3, the VOS3000 billing engine charges the call to the calling card account that was authenticated through the IVR system. The calling card has its own balance, rate table, and billing rules that are separate from both phone number accounts and gateway accounts. The IVR system plays a balance announcement, authenticates the PIN, and manages call duration based on the card’s remaining balance.

📋 Phone card billing specifics:

  • 📞 IVR authentication: The caller dials an access number, enters their PIN via DTMF, and the IVR validates the card
  • 💰 Prepaid only: Phone cards are always prepaid — the card balance must be sufficient before the call is allowed
  • 📊 Separate rate table: Calling card calls may use a different rate table than regular phone number accounts
  • ⏱️ Duration enforcement: The maximum call duration is calculated based on the card’s remaining balance and the per-minute rate
  • 🔊 Balance announcements: The IVR can announce remaining balance and maximum talk time before connecting the call

🔑 Distinguishing from billingMode 0: Do not confuse phone card billing (mode 3) with phone number billing (mode 0). Even though both involve individual accounts with balances, phone card accounts are accessed through the IVR PIN authentication flow, while phone number accounts are accessed directly via SIP registration. The billing separation ensures that calling card revenue and expenses are tracked independently from retail SIP account revenue.

📋 Complete VOS3000 CDR Billing Mode Codes Comparison Table

CodeModeAccount TypeBilling AppliedTypical Use Case
-1🚫 No billingNoneNoIllegal calls, free numbers, unmatched calls
0📞 Phone numberSIP accountYesRetail VoIP, individual SIP accounts
1📡 Gateway IDGateway accountYesWholesale termination, interconnect billing
3💳 Phone cardCalling card accountYesIVR-based calling card service

📊 VOS3000 CDR Billing Mode Distribution Analysis

📈 Analyzing the distribution of billing mode codes across your CDR data reveals important patterns about your traffic mix and billing health. Here is what to look for in each mode’s proportion:

Billing ModeHealthy RangeWarning SignAction Required
-1 (No billing)0–5% of total CDRsSudden spike in no-billing recordsInvestigate rate table gaps or illegal call volume
0 (Phone number)Varies by business modelLower than expected for retail operationsVerify SIP account billing configuration
1 (Gateway ID)Varies by business modelGateway-billed calls showing zero revenueCheck gateway rate tables and balances
3 (Phone card)Only if calling card service is activePhone card CDRs without IVR prefixVerify IVR and calling card configuration

📊 Practical analysis tip: Run a daily query on your CDR data to count the billing mode distribution. If the percentage of mode -1 records suddenly increases, it may indicate a rate table is missing entries for a new destination, or that an attack is generating unauthorized calls. If mode 3 records appear but you do not operate a calling card service, it suggests a configuration error that needs immediate attention. Use our VOS3000 data report guide for setting up automated daily reports. VOS3000 CDR Billing Mode

🔧 Several VOS3000 parameters interact with the billing mode system. Understanding these relationships helps you configure billing correctly and interpret CDR billing mode codes accurately:

ParameterDefaultEffect on Billing Mode
SERVER_BILLING_FREE_E164S(blank)Calls to these numbers incur no charges — may result in billingMode = -1
SERVER_BILLING_NO_CDR_E164S(blank)Calls to these numbers skip CDR generation entirely — no billingMode recorded
SERVER_BILLING_RECORD_ILLEGAL_CALLOnWhen On, illegal calls generate CDRs with billingMode = -1
SS_CDR_RECORD_ILLEGALOnWhen On, illegal call CDRs (mode -1) are included in text file export
SS_NO_BILLING_TO_PHONEOffWhen On, provides free billing to phone — affects billing mode attribution

💡 Parameter interaction note: The SERVER_BILLING_FREE_E164S parameter creates a distinct billing behavior from billingMode = -1. When a call matches a free E.164 number, the call is still processed through the billing engine (which may record it with a specific billing mode code), but the calculated charge is zero. This is different from billingMode = -1, which means billing was not applied at all. For details on free number configuration, see our toll-free E164 billing guide. VOS3000 CDR Billing Mode

🛡️ Common VOS3000 CDR Billing Mode Code Problems and Solutions

❌ Problem 1: Revenue Calls Showing billingMode = -1

🔍 Symptom: Calls that should generate revenue are appearing in CDR records with billingMode = -1 instead of 0 or 1.

💡 Cause: The most common cause is a missing rate table entry for the destination. When VOS3000 cannot find a matching rate for the calleeE164 in the account’s rate table, it cannot calculate a charge and assigns billingMode = -1.

Solutions:

  • 📊 Verify the destination has a valid rate in the appropriate rate table
  • 🔧 Check that the account’s rate table assignment is correct
  • 📋 Ensure prefix settings properly strip routing prefixes before rate lookup — see our gateway route prefix billing guide
  • 🔍 Review the CDR billing discrepancy troubleshooting guide for systematic diagnosis

❌ Problem 2: Wrong Billing Mode for Gateway Calls

🔍 Symptom: Calls through a gateway are being billed to a phone number account (mode 0) instead of the gateway account (mode 1).

💡 Cause: The gateway’s billing configuration in the VOS3000 client may be set to bill the calling party’s phone number account rather than the gateway account. This typically happens when the mapping gateway is configured with a specific SIP account instead of billing at the gateway level.

Solutions:

  • 🔧 Review the mapping gateway’s billing settings in VOS3000 client
  • 📋 Verify the gateway’s rate table and billing account assignment
  • 📞 Check the VOS3000 account billing configuration to ensure proper billing attribution

❌ Problem 3: Unexpected billingMode = 3 Without Calling Card Service

🔍 Symptom: CDR records show billingMode = 3 (phone card) but no calling card service is deployed on this VOS3000 system.

💡 Cause: A SIP account may have been incorrectly configured with phone card billing attributes, or a mapping gateway may be routing calls through the IVR calling card module unintentionally.

Solutions:

  • 🔧 Audit all SIP accounts for unexpected calling card configuration
  • 📋 Check mapping gateway settings for IVR routing misconfigurations
  • 📊 Filter CDR records by billingMode = 3 and investigate the affected accounts

💡 VOS3000 CDR Billing Mode Code Best Practices

🎯 Follow these best practices to ensure accurate billing mode attribution and effective CDR analysis:

Best PracticeRecommendationReason
📊 Monitor billing mode distribution dailyTrack percentage of each code🔍 Early detection of configuration errors and fraud
🚨 Alert on billingMode = -1 spikesSet threshold alerts for no-billing records💰 Prevents revenue leaks from rate table gaps
📋 Separate revenue reports by billing modeGenerate distinct reports for modes 0, 1, 3📊 Accurate revenue attribution by business segment
🔧 Validate rate table coverageEnsure all destinations have valid rates🛡️ Prevents unexpected billingMode = -1 records
📝 Document billing mode usageRecord which account types use which billing modes📋 Enables faster troubleshooting and onboarding

❓ Frequently Asked Questions

❓ What does billingMode = -1 mean in VOS3000 CDR?

🚫 A billingMode of -1 in VOS3000 means no billing was applied to the call. The call record exists in the CDR for operational and security purposes, but no account was charged. This occurs for illegal/unauthorized calls from unknown IP addresses, calls to free E.164 numbers configured in SERVER_BILLING_FREE_E164S, and calls that could not be matched to any billing account or rate table. If you are seeing billingMode = -1 for calls that should generate revenue, check your rate table configuration to ensure all active destinations have valid rates. The VOS3000 manual §4.4 (page 242) documents this code as “no billing.”

❓ What is the difference between billingMode 0 and billingMode 1?

📋 billingMode 0 (phone number) bills the call to an individual SIP account identified by a phone number or extension. This is typical for retail VoIP where each user has their own account with a personal balance and rate table. billingMode 1 (gateway ID) bills the call to a gateway account. This is typical for wholesale VoIP where traffic is billed at the gateway level rather than per individual user. The distinction matters for revenue reporting — mode 0 revenue comes from retail accounts, while mode 1 revenue comes from wholesale/interconnect relationships.

❓ Can a call have different billing modes for caller and callee sides?

🔄 No, the billingMode field in the CDR represents a single billing attribution for the entire call. However, the separate calleeBilling field (position 16) does indicate which party is charged: 0 means the caller’s account is billed, and 1 means the callee’s account is billed. These two fields together provide the complete billing picture: calleeBilling tells you which side pays, and billingMode tells you what type of account is charged. For example, calleeBilling = 0 with billingMode = 1 means the caller’s gateway account is charged.

❓ Why do I see billingMode = -1 for legitimate calls?

⚠️ If legitimate, connected calls appear with billingMode = -1, the most likely cause is a missing rate table entry for the destination number. When VOS3000 cannot find a matching rate in the account’s assigned rate table, it cannot calculate charges and assigns no billing mode. Other causes include incorrect gateway route prefix configuration that transforms the destination number into something that does not match any rate table entry, or a misconfigured account that lacks a rate table assignment. Audit your rate tables and prefix settings to resolve these issues.

❓ Is billingMode = 3 only for calling card services?

💳 Yes, billingMode = 3 is specifically designated for phone card (calling card) billing in the VOS3000 manual §4.4. This code only appears when calls are authenticated through the VOS3000 IVR calling card module using a PIN. If you do not operate a calling card service and see this code in your CDRs, it indicates a configuration error where a SIP account or gateway is incorrectly associated with the calling card billing system. Investigate and correct the account configuration to prevent billing misattribution.

❓ How do I filter CDRs by billing mode in VOS3000 client?

📊 In the VOS3000 client CDR query interface (documented in manual §2.7.2), you can filter records by billing mode through the query options. The “Billing mode” filter allows you to select specific modes (Phone, Gateway, Phone card) for display. Note that the client interface uses descriptive labels rather than numeric codes — “Phone” corresponds to mode 0, “Gateway” to mode 1, and “Phone card” to mode 3. For no-billing records (mode -1), use the illegal call recording filter or query the text file export directly.

📞 Need Expert Help with VOS3000 CDR Billing Mode Codes?

🔧 Accurate interpretation of VOS3000 CDR billing mode codes is essential for billing accuracy, revenue protection, and operational intelligence. Whether you are investigating unexpected billingMode values, setting up revenue reports by billing type, or troubleshooting billing discrepancies, expert guidance ensures your analysis is correct and your billing configuration is airtight. 💰 VOS3000 CDR Billing Mode

💬 WhatsApp: +8801911119966 — Get immediate assistance with VOS3000 CDR billing mode analysis, billing configuration, and revenue auditing. Our team specializes in VOS3000 billing system optimization, CDR analytics, and fraud detection. 🔧 VOS3000 CDR Billing Mode

🔗 Explore related VOS3000 billing and CDR configuration guides: VOS3000 CDR Billing Mode


📞 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 Pipe Format Definitive 18-Field Important Reference Guide

VOS3000 CDR Pipe Format Definitive 18-Field Reference Guide

📊 Every VOS3000 operator who exports call detail records must understand the VOS3000 CDR pipe format down to the individual field level. The pipe-delimited text file is the universal interface between your softswitch and every external system that consumes call data — billing platforms, fraud detection engines, analytics dashboards, and regulatory compliance archives. A single misinterpreted field can cascade into billing errors, incorrect traffic reports, or failed audits. Yet the official manual provides only a brief field listing, leaving operators to figure out data types, edge cases, and integration mappings on their own. 🔍

⚙️ This guide provides a definitive, field-by-field reference of every column in the VOS3000 CDR pipe format. Each field is documented with its position in the pipe-delimited line, data type, example value, special considerations, and how it maps to external billing and analytics systems. All field definitions are sourced from the official VOS3000 2.1.8.0/2.1.9.07 English manual §4.4 (pages 241–243), with additional practical guidance based on real-world parsing and integration experience. 📘

🎯 Whether you are building a Python CDR parser, configuring a MySQL import pipeline, or integrating VOS3000 with a third-party billing system, this reference eliminates the guesswork from field mapping and data interpretation. Let us walk through every field in the exact order it appears in each CDR line. 🔧

🔐 VOS3000 CDR Pipe Format Overview

📁 When SS_CDR_RECORD_TO_FILE is enabled in VOS3000, the softswitch generates hourly text files in the cdr/ directory. Each file follows the naming convention YYYYMMDDHH.txt, and each line within the file represents one call detail record with fields separated by the pipe character (|, ASCII 124). The format specification is documented in the official VOS3000 manual §4.4.

📋 CDR Line Format Structure – VOS3000 CDR Pipe

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 header line with 18 pipe separators producing 19 columns. The first 17 fields (through billingMode) are the core billing-critical fields present in all CDR records. Fields 18 and 19 (callerPdd and calleePdd) provide Post-Dial Delay metrics that measure call setup timing. Your parsing logic should handle both 17-field and 19-field records for maximum compatibility across VOS3000 versions.

📊 Complete Field-by-Field Reference – VOS3000 CDR Pipe

📋 Below is the definitive reference for every field in the VOS3000 CDR pipe format, in the exact order they appear in each line:

Field 1: callerE164 — The Caller ID 🔔

AttributeValue
📌 Field Position1 (first field)
📐 Data TypeString (numeric E.164 format)
📝 DescriptionThe caller ID — the originating party’s phone number
🔢 Example12125551234
⚠️ NotesMay differ from callerAccessE164 after prefix transformations

💡 Practical note: The callerE164 field reflects the caller ID after VOS3000 has applied any configured prefix transformations. This is the number as seen by the billing engine, not necessarily the original incoming number. For the original incoming caller ID before any transformations, refer to Field 12 (callerAccessE164). Understanding this distinction is essential when troubleshooting billing discrepancies.

Field 2: calleeE164 — The Callee ID 📞

AttributeValue
📌 Field Position2
📐 Data TypeString (numeric E.164 format)
📝 DescriptionThe callee ID — the destination phone number
🔢 Example18005559876
⚠️ NotesThis is the billed destination number after prefix processing

🔑 Billing relevance: The calleeE164 is the number used by the VOS3000 billing engine to match the call against rate tables. If your prefix settings strip or add digits, the calleeE164 reflects the number after those transformations. This is critical for rate table matching — a calleeE164 of 18005559876 matches a different rate entry than 01118005559876.

Field 3: startTime — Call Begin Time ⏰

AttributeValue
📌 Field Position3
📐 Data TypeDatetime string
📝 DescriptionBegin time of the call
🔢 Example2018-12-20 11:20:18
⚠️ NotesFormat is YYYY-MM-DD HH:MM:SS; timezone is server local time

⏱️ Time zone awareness: The startTime is recorded in the VOS3000 server’s local timezone. If your server is configured in UTC+6 (Bangladesh Standard Time), all timestamps reflect that timezone. When integrating CDR data with systems in different timezones, always account for the offset. The startTime represents when the call was initially received by VOS3000, not when it was answered.

Field 4: stopTime — Call End Time 🛑

AttributeValue
📌 Field Position4
📐 Data TypeDatetime string
📝 DescriptionEnd time of the call
🔢 Example2018-12-20 16:34:09

📊 Duration calculation: The actual call duration is stored in Field 5 (holdTime), not calculated from startTime and stopTime. The difference between startTime and stopTime includes call setup time, ringing time, and other pre-connection delays. Only holdTime represents the actual conversation duration. The stopTime determines which hourly CDR file the record is written to.

Field 5: holdTime — Call Duration ⏱️

AttributeValue
📌 Field Position5
📐 Data TypeInteger (milliseconds)
📝 DescriptionCall duration in milliseconds
🔢 Example45000 (equals 45 seconds)
🚨 Critical NoteValue is in MILLISECONDS, not seconds — a common parsing error

⚠️ The #1 parsing mistake: The holdTime field is recorded in milliseconds, not seconds. A value of 45000 means 45 seconds of conversation, not 45000 seconds. This is the single most common error when integrating VOS3000 CDR data with external billing systems. Always divide holdTime by 1000 before applying per-second or per-minute billing rates. The holdTime is also affected by the SERVER_BILLING_HOLD_TIME_PRECISION parameter, which controls millisecond rounding before billing calculation.

Field 6: endReason — End Reason Code 📋

AttributeValue
📌 Field Position6
📐 Data TypeString/Integer
📝 DescriptionEnd reason — SIP response code or Q.850 cause code
🔢 Example200 (normal), 486 (busy), 480 (no answer)

🔍 Interpreting endReason: For SIP calls, the endReason typically contains the SIP response code from the final response message (200 OK, 486 Busy, 480 Temporarily Unavailable, 503 Service Unavailable, etc.). For H.323 calls, it may contain Q.850 cause codes. The endReason field, combined with endDirection, provides the complete picture of why and how a call terminated. For a detailed breakdown of termination codes, see our guide on VOS3000 call termination reasons.

Field 7: endDirection — Hangup Side 🔄

AttributeValue
📌 Field Position7
📐 Data TypeInteger (0, 1, or 2)
📝 DescriptionHangup side: 0 = caller, 1 = callee, 2 = server

🔑 Billing impact: The endDirection tells you who initiated the call termination. A value of 0 means the calling party hung up normally, 1 means the called party hung up, and 2 means the VOS3000 server itself terminated the call (which could indicate a session timeout, account balance exhaustion, or administrative intervention). This field is critical for dispute resolution — see our detailed analysis in the server hangup CDR recording guide.

Fields 8–9: Gateway Identifiers 📡

FieldPositionDescriptionExample
callerGatewayId8Calling gateway ID1001
calleeGatewayId9Called gateway ID2003

📡 Gateway mapping: These fields contain the VOS3000 internal gateway IDs, not the gateway names you see in the client interface. To map these IDs to human-readable gateway names, you need to cross-reference the VOS3000 gateway configuration. The callerGatewayId refers to the mapping gateway (incoming side), while the calleeGatewayId refers to the routing gateway (outgoing side). Understanding this mapping is essential for gateway performance analysis and route optimization.

Fields 10–11: IP Addresses 🌐

FieldPositionDescriptionExample
callerIp10Caller IP address192.168.1.100
calleeIp11Callee IP address10.0.0.50

🔒 Security value: The IP address fields are invaluable for security analysis. By tracking callerIp patterns, you can identify traffic from unexpected source IPs that may indicate unauthorized access or SIP scanning attacks. The VOS3000 anti-hack configuration uses IP-level authentication, and these CDR fields provide the audit trail for verifying that authentication is working correctly.

Fields 12–13: Access (Incoming) E164 Numbers 📥

FieldPositionDescription
callerAccessE16412Incoming caller — the original caller ID as received by VOS3000 before any transformations
calleeAccessE16413Incoming callee — the original destination number as received before transformations

🔄 Why access fields matter: These fields preserve the original phone numbers as they arrived at VOS3000, before any callee rewrite rules, prefix stripping, or number transformations were applied. This is crucial for debugging routing issues — if a call was routed incorrectly because a prefix transformation changed the destination, you can compare calleeAccessE164 (original) with calleeE164 (transformed) to identify exactly where the routing went wrong. For detailed prefix configuration guidance, see our callee rewrite rule guide.

Fields 14–15: Outbound (To Gateway) E164 Numbers 📤

FieldPositionHeader NameDescription
callerToGatewayE16414callerToGatewayE164Outbound caller — the caller ID sent to the outgoing gateway
calleeToGatewayE16415calleeToGatewayE164Outbound callee — the destination number sent to the outgoing gateway

📋 Naming discrepancy note: The VOS3000 manual §4.4 header line labels these fields as callerToGatewayE164 and calleeToGatewayE164, but the field description table in the same section refers to them as “Outbound caller” and “Outbound callee” (callerOutE164 / calleeOutE164). Both names refer to the same data — the phone numbers after all VOS3000 transformations have been applied, as they are sent out to the routing gateway. These outbound fields show the final form of the numbers as seen by the terminating carrier.

Field 16: calleeBilling — Billing Method 💰

AttributeValue
📌 Field Position16
📐 Data TypeInteger (0 or 1)
📝 DescriptionBilling method: 0 = By caller, 1 = By callee

💡 Understanding billing method: This field indicates which party’s account is charged for the call. A value of 0 means the caller’s account is billed (the standard arrangement for most calls). A value of 1 means the callee’s account is billed, which applies to collect calls, toll-free number calls, or special reverse-charging arrangements. This field works in conjunction with billingMode (Field 17) to determine the complete billing attribution for each call.

Field 17: billingMode — Charge Mode 💳

AttributeValue
📌 Field Position17
📐 Data TypeInteger (-1, 0, 1, or 3)
📝 DescriptionCharge mode: -1 = no billing, 0 = phone number, 1 = gateway ID, 3 = phone card

🔑 Billing mode codes explained: This is one of the most important fields for billing analysis. A billingMode of -1 means the call was not billed at all — this applies to illegal calls, free numbers, and calls that bypass the billing engine. A value of 0 means billing is attributed to a phone number account. A value of 1 means billing is attributed to a gateway ID. A value of 3 means billing is attributed to a phone card (calling card). For a comprehensive breakdown of how each code affects billing calculations, refer to our detailed billing mode codes reference.

Fields 18–19: Post-Dial Delay Metrics ⏱️

FieldPositionDescription
callerPdd18Time elapsed from call received to call connected (incoming PDD)
calleePdd19Time elapsed from call sent to routing response (outgoing PDD)

📊 PDD analysis value: Post-Dial Delay is a critical quality-of-service metric. High callerPdd values indicate that calls take too long to connect on the incoming side, which frustrates callers. High calleePdd values indicate slow response from routing gateways, which may point to gateway overload, network latency, or incorrect INVITE timeout configuration. Monitoring PDD trends helps you identify degrading gateway performance before it impacts your ASR.

📋 Complete VOS3000 CDR Pipe Format Quick Reference Table

#Field NameTypeDescriptionExample
1callerE164StringThe caller ID12125551234
2calleeE164StringThe callee ID18005559876
3startTimeDatetimeCall begin time2018-12-20 11:20:18
4stopTimeDatetimeCall end time2018-12-20 16:34:09
5holdTimeInteger (ms)Call duration in milliseconds45000
6endReasonString/IntEnd reason code200
7endDirectionIntegerHangup side (0/1/2)0
8callerGatewayIdIntegerCalling gateway1001
9calleeGatewayIdIntegerCalled gateway2003
10callerIpStringCaller IP address192.168.1.100
11calleeIpStringCallee IP address10.0.0.50
12callerAccessE164StringIncoming caller12125551234
13calleeAccessE164StringIncoming callee01118005559876
14callerToGatewayE164StringOutbound caller12125551234
15calleeToGatewayE164StringOutbound callee18005559876
16calleeBillingIntegerBilling method (0/1)0
17billingModeIntegerCharge mode (-1/0/1/3)0
18callerPddIntegerIncoming PDD (ms)3200
19calleePddIntegerOutgoing PDD (ms)1500

📊 External System Mapping Guide – VOS3000 CDR Pipe

🔗 When integrating VOS3000 CDR data with external billing and analytics systems, field names and data types often need to be mapped to the target system’s schema. Here is a reference mapping for common integration targets:

VOS3000 FieldMySQL ColumnCommon Billing LabelTransform Needed
callerE164VARCHAR(32)ANI / Calling NumberNone
calleeE164VARCHAR(32)DNIS / Called NumberNone
startTimeDATETIMECall Start / Setup TimeParse datetime string
holdTimeINTDuration (seconds)⚠️ Divide by 1000
endReasonVARCHAR(16)Release CauseMap to cause code table
endDirectionTINYINTRelease SourceMap 0/1/2 to labels
billingModeTINYINTBilling TypeMap -1/0/1/3 to labels

❓ Frequently Asked Questions

❓ How many fields are in the VOS3000 CDR pipe format?

📋 The VOS3000 CDR pipe format contains 17 core billing-critical fields (through the billingMode field at position 17) plus 2 Post-Dial Delay fields (callerPdd at position 18 and calleePdd at position 19), for a total of up to 19 fields. The pipe delimiter creates 18 separators for the full 19-column format. Older VOS3000 versions may produce records with only 17 fields (without PDD data). Your parsing code should handle variable field counts gracefully by checking the number of pipe-delimited columns in each line before processing.

❓ Why is holdTime in milliseconds instead of seconds?

⏱️ VOS3000 records holdTime in milliseconds to support high-precision billing configurations. The SERVER_BILLING_FEE_PRECISTION and SERVER_BILLING_HOLD_TIME_PRECISION parameters allow billing calculations down to millisecond granularity. While most operators bill in whole seconds or minutes, the millisecond precision in the CDR ensures that no rounding is applied before the data is exported — any rounding happens in the billing engine according to the configured precision parameters. When parsing CDR data, always divide holdTime by 1000 to convert to seconds.

❓ What is the difference between callerE164 and callerAccessE164?

🔄 callerE164 (Field 1) is the caller ID after VOS3000 has applied all prefix transformations and number manipulations. callerAccessE164 (Field 12) is the original incoming caller ID as it was received by VOS3000 before any transformations. The two values differ when VOS3000’s callee rewrite rules, prefix stripping, or caller ID manipulation features modify the number. Similarly, calleeE164 (Field 2) may differ from calleeAccessE164 (Field 13) when the destination number is transformed before routing.

❓ What does a billingMode of -1 mean in the CDR?

💳 A billingMode of -1 means the call was not billed. This applies to calls that bypass the billing engine entirely, including illegal calls from unauthorized IP addresses, calls to toll-free numbers configured under SERVER_BILLING_FREE_E164S, and calls where the billing system could not determine an account to charge. These records still appear in the CDR export (when SS_CDR_RECORD_ILLEGAL is On) for security auditing purposes, but they carry no billing charge.

❓ How do I parse VOS3000 CDR files with different field counts?

🔧 The safest approach is to split each CDR line on the pipe character and check the resulting field count before processing. Lines with 17 fields contain core billing data without PDD metrics. Lines with 19 fields include the PDD columns. Always map fields by position (index), not by counting from the end, since new fields are added at the end of the line. Use the field position reference table in this guide to ensure correct mapping regardless of the field count in your specific VOS3000 version.

❓ Are VOS3000 CDR timestamps in UTC or local time?

⏰ VOS3000 CDR timestamps (startTime and stopTime) are recorded in the server’s local timezone, not UTC. If your server is configured with timezone Asia/Dhaka (UTC+6), all timestamps will be in BST. When integrating CDR data with systems that expect UTC, you must apply the appropriate timezone offset during parsing. Always verify your server’s timezone setting with the date command in SSH before assuming the timezone in your CDR processing logic.

📞 Need Expert Help with VOS3000 CDR Pipe Format?

🔧 Accurate VOS3000 CDR pipe format parsing is the foundation of every billing integration, analytics pipeline, and compliance archive. A single misinterpreted field — especially the millisecond holdTime or the billing mode codes — can cascade into revenue-impacting billing errors. Whether you are building a CDR parser from scratch, troubleshooting field mapping issues, or integrating VOS3000 with an external billing platform, expert guidance ensures your data pipeline is accurate from day one. 📊

💬 WhatsApp: +8801911119966 — Get immediate assistance with VOS3000 CDR pipe format parsing, field mapping, and external system integration. Our team specializes in VOS3000 CDR data extraction, billing system integration, and custom analytics development. 🔧

🔗 Explore related VOS3000 CDR and configuration guides:


📞 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 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
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. 💡

🔐 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
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 Blackout Secure Deny Time Configuration

VOS3000 CDR Query Blackout Secure Deny Time Configuration

🔒 Imagine this scenario: your billing team is running the end-of-month reconciliation, processing millions of CDR records to generate invoices, when a reseller launches a massive CDR query that consumes database resources and slows the entire billing run to a crawl. The VOS3000 CDR query blackout feature, controlled by SERVER_QUERY_CDR_DENY_TIME, prevents exactly this situation by blocking CDR queries during specified hours — protecting your database during critical billing windows, maintenance periods, and peak processing times. ⏱️

📊 The VOS3000 CDR query blackout is a server-level parameter that defines specific hours of the day when CDR queries are denied to all users through the VOS3000 Client and web interface. During these blackout hours, any attempt to query CDR records returns a restriction notice instead of results. This ensures that database resources remain fully available for billing calculations, report generation, and system maintenance without interference from ad-hoc queries. 🛡️

💬 Need to configure CDR access policies for your VOS3000 deployment? Contact our experts at WhatsApp: +8801911119966 for professional assistance with billing security and system optimization. 💡

🔐 What Is VOS3000 CDR Query Blackout?

📋 The VOS3000 CDR query blackout is a time-based access control mechanism that restricts CDR queries during designated hours. When enabled, users cannot search, view, or export CDR records through the VOS3000 Client or web portal during the configured blackout window. This protects database performance during periods when the system needs maximum resources for internal processing. 🚫

💡 Why carriers need CDR query blackout:

  • 💰 Billing run protection: Monthly reconciliation processes millions of CDRs — concurrent user queries can cause severe performance degradation
  • 📊 Report generation: Automated reports require exclusive database access to complete within acceptable timeframes
  • 🔧 Maintenance windows: Database optimization, index rebuilding, and data archival should not compete with query traffic
  • 🛡️ Data integrity: Prevents partial or inconsistent CDR views during data migration or settlement processing
  • 📋 Regulatory compliance: Some jurisdictions require controlled access to CDR data during audit periods

⚙️ SERVER_QUERY_CDR_DENY_TIME — The Core Parameter

🔒 SERVER_QUERY_CDR_DENY_TIME defines the hours during which CDR queries are blocked. The parameter uses a 24-hour clock format, specifying which hours of the day are denied for CDR access. 📋

AttributeValue
📌 Parameter NameSERVER_QUERY_CDR_DENY_TIME
🔢 Default ValueNone (no blackout by default)
📐 FormatComma-separated hour values (24-hour format)
📝 DescriptionNo CDR Query Time (24 hour) e.g. 18,19,20,21,22,23
📍 LocationOperation management → Softswitch management → Additional settings → Server parameter

🔧 Configuration format: The parameter accepts comma-separated integer values representing the hours of the day (0–23) when CDR queries are blocked. For example, to block CDR queries from 6 PM to midnight, set the value to: 18,19,20,21,22,23. Each value represents one complete hour — setting “18” blocks queries from 18:00:00 to 18:59:59.

📋 VOS3000 CDR Query Blackout Configuration Examples

📊 Here are practical examples showing how to configure the VOS3000 CDR query blackout for different operational scenarios: 💡

ScenarioParameter ValueBlackout WindowUse Case
📞 Evening billing run18,19,20,21,22,236 PM – Midnight🔒 Monthly reconciliation during off-peak evening hours
📊 Overnight processing0,1,2,3,4,5Midnight – 6 AM🔧 Database maintenance and report generation
💰 End-of-day billing22,23,0,110 PM – 2 AM📋 Daily settlement across midnight boundary
🛡️ All-day restriction0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,2324 hours🚨 Complete CDR access lockdown during audits
✅ No restriction(leave empty)None📊 Default — CDR queries available 24/7

⚠️ Important note: The blackout hours are specified in the server’s local timezone. If your VOS3000 server is configured in UTC and your billing team works in a different timezone, you must convert the desired blackout window to match the server timezone. For example, if your billing team in Dhaka (UTC+6) wants to block queries from 6 PM to 10 PM local time, and the server is in UTC, the parameter should be set to 12,13,14,15,16 (6 PM UTC+6 = 12 UTC, 10 PM UTC+6 = 16 UTC). 🌐

📋 Step-by-Step VOS3000 CDR Query Blackout Configuration

🖥️ Follow these steps to configure the CDR query blackout on your VOS3000 system: 🔧

Step 1: Determine Blackout Window ⏱️

📊 Identify the hours when CDR queries should be blocked based on your operational needs:

  • 📅 Billing run schedule: When does your monthly/daily reconciliation run?
  • 🔧 Maintenance windows: When are database optimizations scheduled?
  • 📊 Report generation: When do automated reports run?
  • 🌍 Timezone alignment: Convert desired blackout hours to server timezone if different

Step 2: Configure the Parameter 📌

  1. 🔐 Log in to VOS3000 Client
  2. 📌 Navigate: Operation management → Softswitch management → Additional settings → Server parameter
  3. 🔍 Locate SERVER_QUERY_CDR_DENY_TIME
  4. ✏️ Enter the comma-separated hour values (e.g., 18,19,20,21,22,23)
  5. 💾 Save and apply the configuration

Step 3: Verify Blackout Enforcement ✅

🔍 After configuration, verify that the blackout is working correctly:

  1. 🕐 Wait until a configured blackout hour
  2. 📊 Attempt to query CDR records through the VOS3000 Client
  3. ✅ Confirm that the query is denied with a restriction message
  4. 🕐 After the blackout window ends, verify that CDR queries are restored

🔗 The CDR query blackout works alongside several other CDR access control parameters that together form a comprehensive data protection strategy: 📋

ParameterDefaultPurposeComplements Blackout?
SERVER_QUERY_CDR_DENY_TIMENoneBlocks CDR queries during specified hours🔑 Core parameter
SERVER_QUERY_CDR_MAX_DAY_INTERVAL31Limits CDR query date range to 31 days max✅ Prevents heavy queries outside blackout
SERVER_QUERY_MAX_ONE_PAGE_SIZE200000Maximum records per page in query results✅ Limits query result size
SERVER_QUERY_MAX_SIZE30000000Total data query limit (items)✅ Prevents runaway queries
SERVER_QUERY_ONE_PAGE_SIZE10000Default records per page✅ Standard pagination control

💡 Layered protection strategy: For maximum database protection, combine the VOS3000 CDR query blackout with the date range limit (SERVER_QUERY_CDR_MAX_DAY_INTERVAL) and query size limits. The blackout prevents access during critical processing hours, while the date range and size limits prevent excessively heavy queries at any time. This layered approach ensures that even when queries are permitted, they cannot consume excessive resources. For the date range limit configuration, see our CDR query date range guide. 🔗

🛡️ Common VOS3000 CDR Query Blackout Problems and Solutions

❌ Misconfigured blackout settings can cause either insufficient protection or unexpected access denial. Here are the most common issues: 🔍

❌ Problem 1: CDR Queries Still Allowed During Blackout Hours

🔍 Symptom: Users can still query CDR records during the configured blackout hours.

💡 Cause: The parameter value may contain formatting errors, or the configuration may not have been properly applied after saving.

Solutions:

  • 🔧 Verify the parameter value uses correct comma-separated format (e.g., 18,19,20 — not 18-20 or 6pm-8pm)
  • 📊 Ensure there are no spaces in the parameter value
  • 🔄 Re-apply the configuration and restart the softswitch service if necessary
  • 🕐 Confirm you are testing during the correct hours based on the server timezone

❌ Problem 2: Blackout Applied in Wrong Timezone

🔍 Symptom: CDR queries are blocked at unexpected times — not during your intended window.

💡 Cause: The SERVER_QUERY_CDR_DENY_TIME operates on the server’s system clock timezone, which may differ from your local timezone. If the server is configured in UTC and you specified hours in your local timezone, the blackout window will be offset.

Solutions:

  • 🌐 Check the server timezone: date or timedatectl on the VOS3000 Linux server
  • 🔄 Convert your desired blackout hours to the server’s timezone
  • 📋 Update the parameter with the corrected hour values
  • 🕐 Verify by testing a query during the intended blackout window

❌ Problem 3: Resellers Unable to Access CDRs During Business Hours

🔍 Symptom: Resellers complain they cannot check their CDRs during normal working hours.

💡 Cause: The blackout window is set too broadly, covering business hours in addition to billing run periods. This is common when operators set the blackout for the entire evening without narrowing it to the actual billing processing window.

Solutions:

  • ⏱️ Narrow the blackout window to only the hours when billing runs actually occur
  • 📊 Schedule billing runs during the lowest-traffic period (typically late night or early morning)
  • 📋 Communicate the blackout schedule to all resellers in advance
  • 🔄 If resellers need CDR access, provide them with the CDR text file backup or real-time forwarding as an alternative

❌ Problem 4: Blackout Not Preventing Heavy Queries Outside Blackout Hours

🔍 Symptom: Database performance degrades from heavy CDR queries that run outside the blackout window.

💡 Cause: The VOS3000 CDR query blackout only restricts access during specified hours. Outside those hours, users can still run very large queries that impact performance.

Solutions:

  • 📅 Set SERVER_QUERY_CDR_MAX_DAY_INTERVAL to limit query date ranges (default: 31 days)
  • 📦 Reduce SERVER_QUERY_MAX_ONE_PAGE_SIZE to limit result set sizes
  • 📊 Monitor slow queries in the database and identify the heaviest users
  • 📋 For more on managing query performance, see our CDR analysis guide

💡 VOS3000 CDR Query Blackout Best Practices

🎯 Follow these best practices to balance database protection with user access needs: 📋

Best PracticeRecommendationReason
📊 Minimize blackout windowCover only actual billing run hours✅ Reduces impact on reseller operations
🌐 Verify server timezoneConvert blackout hours to server local time🔧 Prevents misaligned blackout windows
📋 Communicate scheduleNotify all users of blackout periods📞 Manages expectations and reduces support tickets
🛡️ Layer query controlsCombine blackout + date range + size limits🔒 Comprehensive database protection at all times
🔄 Test after changesVerify both denied and allowed periods✅ Confirms correct configuration
📊 Schedule during low trafficAlign billing runs with off-peak hours📞 Minimizes impact on active users

💬 Questions about configuring VOS3000 CDR access policies? Reach out at WhatsApp: +8801911119966 — our VOS3000 specialists can help you design a comprehensive data protection strategy. 📞

❓ Frequently Asked Questions

❓ What is the default value for SERVER_QUERY_CDR_DENY_TIME?

📋 The default value is None (not configured), which means there is no CDR query blackout — all users can query CDR records at any time. To enable the VOS3000 CDR query blackout, set the parameter to a comma-separated list of hours (0–23) when queries should be blocked. For example, 18,19,20,21,22,23 blocks CDR queries from 6 PM to midnight each day. 🔧

❓ Does the VOS3000 CDR query blackout apply to all users?

🔒 Yes. The SERVER_QUERY_CDR_DENY_TIME parameter applies at the server level, which means it blocks CDR queries for all users — including administrators, agents, and resellers. There is no per-user or per-role exemption. During the blackout hours, no one can query CDR records through the VOS3000 Client or web interface. If you need differentiated access control, consider using the VOS3000 Web API with custom application-level access controls. For Web API details, see our VOS3000 Web API account management guide. 🔗

❓ Can I configure different blackout windows for different days of the week?

📅 No. The VOS3000 CDR query blackout applies the same hours every day. The SERVER_QUERY_CDR_DENY_TIME parameter does not support day-of-week differentiation — if you set 18,19,20, CDR queries are blocked from 6 PM to 9 PM on Monday through Sunday. If you need different schedules for weekdays vs weekends, you would need to manually change the parameter value, or implement a custom automation script that updates the parameter on a schedule. 🔄

❓ How does the VOS3000 CDR query blackout interact with automated reports?

📊 The VOS3000 CDR query blackout restricts manual CDR queries through the client and web interfaces. Automated report generation (configured under Navigation → Report management) may operate independently of the blackout restriction since reports are generated by the system internally rather than through the query interface. However, if automated reports rely on the same query mechanism, they may also be affected. Always test your report generation schedule against the blackout window to ensure reports can complete successfully. For report configuration, see our billing system overview. 📋

❓ What happens when a user tries to query CDRs during the blackout?

🚫 When a user attempts to search or view CDR records during the configured blackout hours, the VOS3000 system denies the query and displays a restriction notice. The user is informed that CDR queries are not available during this time period. No partial results are returned. The query does not execute at all — it is blocked before reaching the database, ensuring zero impact on database performance during the blackout window. 🔒

❓ Can I temporarily disable the blackout for emergency CDR access?

🔧 Yes. To temporarily disable the VOS3000 CDR query blackout, set the SERVER_QUERY_CDR_DENY_TIME parameter to empty (None) and save the configuration. This immediately restores CDR query access for all users. After the emergency access is no longer needed, re-enter the blackout hours and save again. Remember to re-enable the blackout promptly to maintain database protection during billing runs. For help managing VOS3000 parameters, contact our team at WhatsApp: +8801911119966. 💬

📞 Need Expert Help with VOS3000 CDR Query Blackout?

🔧 Proper VOS3000 CDR query blackout configuration protects your billing operations from performance disruptions while maintaining appropriate access for your resellers and support team. Whether you need to set up your first blackout window, troubleshoot timezone issues, or design a comprehensive CDR access control strategy, our VOS3000 experts are ready to assist. 🛡️

💬 Contact us at WhatsApp: +8801911119966 for professional VOS3000 deployment and configuration support. We help VoIP operators worldwide optimize billing security, database performance, and operational efficiency. 🌐

📖 Explore related guides: CDR query date range limit, 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
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 Real-Time CDR Forwarding Advanced External Server Easy Integration

VOS3000 Real-Time CDR Forwarding Advanced External Server Integration

📡 In modern VoIP operations, CDR data must reach external systems immediately — not hours later after a batch export. The VOS3000 real-time CDR forwarding feature, powered by SERVER_CDR_REAL_TIME_REPORT_SERVER, pushes every call detail record to an external server the moment a call ends. This enables live billing by external rating engines, instant fraud detection, real-time traffic monitoring, and seamless integration with third-party business intelligence platforms. 🚀

⚙️ Without real-time CDR forwarding, operators must rely on scheduled database exports or CDR text file parsing — both of which introduce latency ranging from minutes to hours. For high-value wholesale operations where every second of billing delay impacts cash flow, the VOS3000 real-time CDR forwarding capability is not a luxury — it is a necessity. This guide covers the configuration, use cases, and integration patterns based exclusively on the official VOS3000 2.1.9.07 manual. 📋

💬 Need help setting up external CDR integration? Contact our VOS3000 team at WhatsApp: +8801911119966 for expert configuration and deployment assistance. 💡

Table of Contents

🔐 What Is VOS3000 Real-Time CDR Forwarding?

📊 The VOS3000 real-time CDR forwarding system transmits each completed call detail record to a designated external server immediately after the call ends. Unlike the text file export (which writes CDRs to local files at regular intervals) or the database storage (which requires direct database access), real-time forwarding delivers CDR data over the network to any system that can accept the connection — whether it is a custom billing application, a fraud detection platform, or a data warehouse. 🌐

💡 Key advantages over other CDR access methods:

  • Zero latency: CDRs are forwarded the instant a call completes — no waiting for batch exports
  • 🔗 Loose coupling: The external system does not need database access or file system access to VOS3000
  • 🛡️ Redundancy: Provides a third copy of CDR data (database + text files + external server)
  • 📊 Real-time analytics: Feed live CDR data into dashboards, monitoring tools, and alerting systems
  • 💰 External billing: Route CDRs to a separate rating engine for specialized billing calculations

⚙️ SERVER_CDR_REAL_TIME_REPORT_SERVER — The Core Parameter

📡 SERVER_CDR_REAL_TIME_REPORT_SERVER specifies the target server address (IP and port) where VOS3000 forwards CDR records in real-time. This is the single parameter that enables and configures the entire real-time forwarding system. 🎯

AttributeValue
📌 Parameter NameSERVER_CDR_REAL_TIME_REPORT_SERVER
🔢 Default ValueNone (not configured by default)
📐 FormatIP:Port (e.g., 192.168.1.100:5060)
📝 DescriptionAdditional send call record to server address
📍 LocationOperation management → Softswitch management → Additional settings → Server parameter

🔧 Configuration syntax: Set the parameter value to the IP address and port of your external CDR receiving server, separated by a colon. For example, to forward CDRs to a server at IP 10.0.0.50 listening on port 8080, set the value to 10.0.0.50:8080. When this parameter is left empty (default), real-time CDR forwarding is disabled.

🔗 Two additional parameters work alongside SERVER_CDR_REAL_TIME_REPORT_SERVER to control the external CDR delivery pipeline: 💡

ParameterDefaultRangePurpose
EXTERNAL_SEND_CDROffOn/OffInterface: send CDR — master switch for external CDR delivery
EXTERNAL_MAX_CDR_PENDING_SIZE100001000–100000Queue size for resending CDR when external server is unavailable

⚠️ Important: EXTERNAL_SEND_CDR must be set to On for the real-time CDR forwarding to work. This is the master switch for the entire external CDR interface. Additionally, EXTERNAL_MAX_CDR_PENDING_SIZE defines a buffer queue — if the external server is temporarily unreachable, VOS3000 queues up to this many CDRs for automatic resend when the connection is restored. This prevents CDR loss during network interruptions. 🛡️

🎯 VOS3000 Real-Time CDR Forwarding Use Cases

🌐 The real-time CDR forwarding capability enables a wide range of integration scenarios that are essential for modern VoIP operations: 📊

Use CaseExternal SystemBenefit
💰 External billing engineCustom rating/billing applicationReal-time invoice generation; custom rate plans beyond VOS3000
🛡️ Fraud detectionFraud monitoring platform (e.g., custom SIEM)Instant detection of SIM box, arbitrage, and premium rate fraud
📊 Traffic analyticsElasticsearch, Splunk, or custom dashboardLive traffic visualization and capacity planning
🔄 CDR reconciliationThird-party reconciliation toolCross-vendor CDR matching for carrier dispute resolution
📋 Regulatory complianceLawful interception / CALEA systemImmediate CDR delivery to compliance systems
🏢 Multi-system distributionCDR router/multiplexer applicationOne source feeding multiple downstream systems

📋 Step-by-Step VOS3000 Real-Time CDR Forwarding Configuration

🖥️ Follow these steps to configure real-time CDR forwarding on your VOS3000 system: 🔧

Step 1: Enable External CDR Interface 🌐

  1. 🔐 Log in to VOS3000 Client
  2. 📌 Navigate: Operation management → Softswitch management → Additional settings → Server parameter
  3. 🔍 Locate EXTERNAL_SEND_CDR
  4. ✏️ Set value to On

Step 2: Configure Target Server Address 📡

  1. 🔍 In the same Server parameter section, locate SERVER_CDR_REAL_TIME_REPORT_SERVER
  2. ✏️ Set the value to the IP address and port of your external CDR receiver (e.g., 10.0.0.50:8080)

Step 3: Configure CDR Queue Size 📦

  1. 🔍 Locate EXTERNAL_MAX_CDR_PENDING_SIZE
  2. ✏️ Set an appropriate queue size (default: 10000, range: 1000–100000)
  3. 💾 Save and apply the configuration

Step 4: Verify CDR Forwarding ✅

📡 After configuration, verify that CDRs are being forwarded by checking both the VOS3000 side and the external server: 💡

📋 VOS3000 Real-Time CDR Forwarding Verification:

1. Make a test call through the softswitch
2. On the external server, check for incoming CDR data:
   - Monitor the listening port for connections from VOS3000
   - Verify CDR records are being received after call completion

3. On VOS3000 server, check for forwarding errors:
   - Review softswitch logs for connection failures
   - Monitor the CDR pending queue size

4. If CDRs are not being received:
   - Verify firewall allows traffic from VOS3000 to target IP:Port
   - Confirm the external server application is listening
   - Check that EXTERNAL_SEND_CDR = On
   - Verify SERVER_CDR_REAL_TIME_REPORT_SERVER format (IP:Port)

🔄 CDR Queue and Delivery Guarantee – VOS3000 Real-Time CDR Forwarding

🛡️ The EXTERNAL_MAX_CDR_PENDING_SIZE parameter plays a critical role in ensuring CDR delivery reliability. When the external server is temporarily unreachable — due to network issues, server maintenance, or application restarts — VOS3000 does not simply discard the CDRs. Instead, it places them in a memory queue for automatic resend once the connection is restored. 📦

Queue ScenarioBehaviorRecommendation
✅ External server onlineCDRs forwarded immediately upon call completionNormal operation — no action needed
⚠️ External server temporarily offlineCDRs queued up to EXTERNAL_MAX_CDR_PENDING_SIZESet queue size based on expected downtime duration
🚨 Queue full (exceeded limit)Oldest CDRs in queue are discarded to make roomIncrease queue size or fix external server connectivity
🔄 External server restoredQueued CDRs automatically resent in orderVerify CDR ordering on the receiving side

📐 Queue sizing calculation: To determine the appropriate queue size, estimate how many CDRs might accumulate during the longest expected downtime. For example, at 100 CPS with a potential 10-minute server outage: 100 × 60 × 10 = 60,000 CDRs. Set EXTERNAL_MAX_CDR_PENDING_SIZE to at least 60000 to ensure no data loss. The default of 10000 covers approximately 100 seconds at 100 CPS, which may be insufficient for longer outages. 📊

🛡️ Common VOS3000 Real-Time CDR Forwarding Problems and Solutions

❌ Misconfigured real-time CDR forwarding causes silent data loss that may go undetected for days. Here are the most common issues and their solutions: 🔍

❌ Problem 1: External Server Not Receiving CDRs

🔍 Symptom: The external CDR receiver shows no incoming data, even though calls are completing on VOS3000.

💡 Cause: The most common reasons are: EXTERNAL_SEND_CDR is Off, SERVER_CDR_REAL_TIME_REPORT_SERVER is not configured, or a firewall is blocking the connection.

Solutions:

  • 🔧 Verify EXTERNAL_SEND_CDR is set to On
  • 📡 Check that SERVER_CDR_REAL_TIME_REPORT_SERVER contains the correct IP:Port value
  • 🛡️ Ensure firewall rules allow outbound connections from VOS3000 to the target server
  • 📋 Test connectivity from the VOS3000 server: telnet target_ip target_port

❌ Problem 2: CDRs Arriving Out of Order

🔍 Symptom: The external system receives CDRs but they are not in chronological order, causing billing calculation errors.

💡 Cause: During high traffic periods, multiple CDR forwarding threads may deliver records in slightly different order than they were generated. Additionally, if the external server was temporarily unreachable and CDRs were queued, the resend order may not perfectly match the original sequence.

Solutions:

  • 📊 Use the startTime field in each CDR record for ordering, not the arrival sequence
  • 🔧 Implement a small buffer window on the receiving side to reorder CDRs before processing
  • 📋 For the complete CDR field reference, see our VOS3000 CDR pipe format guide

❌ Problem 3: CDR Loss During External Server Outages

🔍 Symptom: After an external server outage, some CDRs are missing from the received data.

💡 Cause: The CDR queue (EXTERNAL_MAX_CDR_PENDING_SIZE) filled up during the outage, and older CDRs were discarded to make room for new ones.

Solutions:

  • 📦 Increase EXTERNAL_MAX_CDR_PENDING_SIZE based on your maximum expected downtime
  • 🛡️ Implement high-availability for the external CDR receiver (redundant servers, load balancer)
  • 🔄 Cross-reference with VOS3000 CDR text files for missing records — see our CDR file rotation guide
  • 📊 Set up monitoring that alerts you immediately when the queue depth exceeds 50%

❌ Problem 4: High CPU or Network Usage from CDR Forwarding

🔍 Symptom: VOS3000 server performance degrades noticeably after enabling real-time CDR forwarding.

💡 Cause: At very high call volumes, the overhead of opening a network connection and transmitting CDR data for every single call can consume significant CPU and network resources, especially if the external server is slow to respond.

Solutions:

  • 📊 Ensure the external CDR receiver can process records as fast as they arrive
  • 🌐 Use a local network connection (same datacenter) between VOS3000 and the CDR receiver
  • 🔧 Consider implementing a local CDR buffering proxy that batches records before forwarding
  • 📋 Monitor VOS3000 system resources to ensure forwarding does not impact call processing

💡 VOS3000 Real-Time CDR Forwarding Best Practices

🎯 Follow these best practices to ensure reliable and efficient CDR forwarding: 📋

Best PracticeRecommendationReason
🛡️ Use high-availabilityRedundant CDR receiver with failoverPrevents CDR loss during receiver maintenance
📦 Size the queue correctlyCalculate based on max downtime × CPSEnsures no CDRs are dropped during outages
📊 Monitor queue depthAlert when queue exceeds 50% capacityEarly warning of external server problems
🔄 Cross-reference regularlyCompare forwarded CDRs with database records weeklyDetects silent CDR loss or duplication
🌐 Keep receiver closeSame datacenter or low-latency networkMinimizes forwarding delay and connection failures
🔐 Secure the connectionUse VPN or TLS tunnel for CDR trafficCDRs contain sensitive billing and subscriber data

💬 Need to integrate VOS3000 with your external billing or fraud detection system? Our team at WhatsApp: +8801911119966 can help you configure real-time CDR forwarding and build the complete data pipeline. 🚀

📊 Complete VOS3000 Real-Time CDR Forwarding Parameter Reference

📋 Here is the complete reference table for all parameters related to real-time CDR forwarding, sourced from the official VOS3000 2.1.9.07 manual: 🔧

ParameterDefaultRangePurpose
SERVER_CDR_REAL_TIME_REPORT_SERVERNoneIP:PortTarget server address for real-time CDR forwarding
EXTERNAL_SEND_CDROffOn/OffMaster switch for external CDR interface
EXTERNAL_MAX_CDR_PENDING_SIZE100001000–100000Queue size for resend when external server is unavailable
EXTERNAL_WEB_SEND_PHONE_ONLINEOffOn/OffInterface: phone online/offline transfer

📍 All server parameters are located at: Navigation → Operation management → Softswitch management → Additional settings → Server parameter

❓ Frequently Asked Questions

❓ What is the default value for SERVER_CDR_REAL_TIME_REPORT_SERVER?

📋 The default value is None (not configured). This means VOS3000 real-time CDR forwarding is disabled by default. You must explicitly configure the IP:Port address of your external CDR receiving server and set EXTERNAL_SEND_CDR to On before any CDRs are forwarded. The parameter format is IP:Port — for example, 192.168.1.100:8080 for a server at IP 192.168.1.100 listening on port 8080. 🔧

❓ Does VOS3000 real-time CDR forwarding guarantee delivery?

🛡️ VOS3000 provides a best-effort delivery mechanism with a configurable queue buffer. When the external server is unavailable, CDRs are queued up to the limit specified by EXTERNAL_MAX_CDR_PENDING_SIZE (default: 10000). If the queue fills up, older CDRs are discarded to make room. For guaranteed delivery, implement a high-availability CDR receiver, size the queue appropriately for your maximum expected downtime, and cross-reference with the VOS3000 CDR text file backup system described in our CDR file rotation guide. 📊

❓ Can I forward CDRs to multiple external servers?

📡 The VOS3000 SERVER_CDR_REAL_TIME_REPORT_SERVER parameter supports a single target address. To distribute CDRs to multiple downstream systems, you have two options: (1) Deploy a CDR multiplexer application at the target address that receives the CDR stream and forwards copies to multiple destinations, or (2) Use a combination of real-time forwarding for immediate processing and CDR text file rotation for batch distribution. The CDR text files can be parsed by multiple independent systems. For complex multi-system integration, contact our team at WhatsApp: +8801911119966. 🔗

❓ What format are CDRs sent in during real-time forwarding?

📋 CDRs forwarded in real-time use the same pipe-delimited format as the text file export, containing all 18 standard fields: callerE164, calleeE164, startTime, stopTime, holdTime, endReason, endDirection, callerGatewayId, calleeGatewayId, callerIp, calleeIp, callerAccessE164, calleeAccessE164, callerToGatewayE164, calleeToGatewayE164, calleeBilling, billingMode, callerPdd, and calleePdd. Each field is separated by a pipe character (|). For the complete field reference, see our VOS3000 CDR pipe format guide. 📊

❓ How do I troubleshoot real-time CDR forwarding connection issues?

🔍 Start by verifying the basics: (1) Confirm EXTERNAL_SEND_CDR is On, (2) Verify the SERVER_CDR_REAL_TIME_REPORT_SERVER value is correct (IP:Port format), (3) Test network connectivity from the VOS3000 server to the target using telnet or nc, (4) Check firewall rules on both sides, (5) Verify the external application is listening on the specified port, (6) Review VOS3000 softswitch logs for connection error messages, (7) Monitor the EXTERNAL_MAX_CDR_PENDING_SIZE queue depth to detect if CDRs are being queued due to connection failures. For additional troubleshooting, see our VOS3000 debug trace guide. 🔧

❓ Does real-time CDR forwarding affect VOS3000 call processing performance?

⚡ Under normal conditions, the VOS3000 real-time CDR forwarding has minimal impact on call processing. The forwarding operation occurs after the call has ended, so it does not affect call setup or in-call quality. However, at extremely high call volumes (500+ CPS) or if the external server is slow to respond, the forwarding threads may consume additional CPU and network resources. Best practice is to keep the CDR receiver on the same local network as VOS3000 and ensure it can process records as fast as they arrive. Monitor your gateway analysis reports for any performance anomalies after enabling forwarding. 📊

📞 Need Expert Help with VOS3000 Real-Time CDR Forwarding?

🔧 Whether you are integrating VOS3000 with an external billing engine, setting up a fraud detection pipeline, or building a real-time traffic monitoring dashboard, proper VOS3000 real-time CDR forwarding configuration is the foundation. Our VOS3000 experts can help you design and deploy the complete CDR integration architecture — from softswitch parameters to the receiving application. 🛡️

💬 Contact us at WhatsApp: +8801911119966 for professional VOS3000 deployment and CDR integration support. We serve VoIP operators worldwide with proven solutions for billing, fraud prevention, and traffic analytics. 🌐

📖 Explore related guides: CDR analysis and billing, billing system overview, and illegal call recording detection. 🔗


📞 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
Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000

Configuración servidor LRN VOS3000 Reliable parámetros SS_LRN_SERVER_IP PORT

Configuración servidor LRN VOS3000 Reliable parámetros SS_LRN_SERVER_IP PORT

La configuración servidor LRN VOS3000 mediante los parámetros SS_LRN_SERVER_IP y SS_LRN_SERVER_PORT es el paso fundamental para habilitar las consultas de portabilidad numérica en su softswitch. Estos dos parámetros definen la dirección IP y el puerto TCP/UDP del servidor LRN dip externo al que VOS3000 consulta antes de enrutar llamadas de terminación hacia Estados Unidos. Sin una conexión correctamente configurada al servidor LRN, el sistema no puede realizar consultas de portabilidad y todas las llamadas a EE.UU. se enrutan basándose en el rate center original del número. ¿Necesita asistencia? Contáctenos por WhatsApp: +8801911119966.

El servidor LRN dip es un servicio externo — típicamente provisto por un agregador de consultas NPAC (Number Portability Administration Center) — que recibe una consulta con el número marcado y devuelve el Local Routing Number que identifica al carrier que actualmente sirve ese número. VOS3000 actúa como cliente LRN, enviando consultas a este servidor y procesando las respuestas para tomar decisiones de enrutamiento y facturación. Los parámetros SS_LRN_SERVER_IP y SS_LRN_SERVER_PORT, documentados en §4.3.5.2 (pág. 134-136) del manual de parámetros del softswitch, definen el destino de estas consultas.

📋 Referencia de Parámetros – Configuración servidor LRN

Los dos parámetros principales se definen en el archivo de configuración del softswitch (mbx2008.conf). Son parámetros globales que aplican a todos los mapping gateways que utilizan el modo de consulta LRN Internal.

🔹 Parámetro🔹 Descripción🔹 Default / Rango
SS_LRN_SERVER_IPDirección IP del servidor LRN dip externoVacío (debe configurarse)
SS_LRN_SERVER_PORTPuerto TCP/UDP del servidor LRN dipVacío (debe configurarse)
Archivo de configuraciónParámetros del softswitch/etc/vos3000/mbx2008.conf
Sección del manualSoftswitch Parameters§4.3.5.2, pág. 134-136
AlcanceGlobal (todos los gateways con LRN Internal)Todo el sistema

🏢 Por Qué se Requiere un Servidor LRN Externo

VOS3000 no incluye una base de datos LRN integrada. Las bases de datos NPAC que almacenan los registros de portabilidad numérica son administradas por terceros (como iconectiv en EE.UU.) y se accede a través de servicios de consulta LRN dedicados. VOS3000 debe conectarse a un servidor LRN dip externo que tenga suscripciones a estas bases de datos. Esta arquitectura separa la lógica de enrutamiento del softswitch de la gestión de datos de portabilidad.

🔹 Componente🔹 Rol🔹 Administrado Por
VOS3000 SoftswitchEnvía consulta, procesa respuesta, enruta llamadaOperador VoIP
Servidor LRN DipRecibe consulta, busca en NPAC, devuelve LRNProveedor de servicio LRN
Base de datos NPACRegistros maestros de portabilidadIconectiv

⚙️ Configuración Paso a Paso – Configuración servidor LRN

Siga estos pasos para configurar SS_LRN_SERVER_IP y SS_LRN_SERVER_PORT. Antes de comenzar, obtenga la IP y puerto del servidor LRN de su proveedor. Para ayuda directa, escríbanos por WhatsApp: +8801911119966.

🔹 Paso🔹 Acción🔹 Comando o Detalle
1Respaldar configuracióncp /etc/vos3000/mbx2008.conf /etc/vos3000/mbx2008.conf.bak
2Abrir archivo de configuraciónvi /etc/vos3000/mbx2008.conf
3Configurar IP del servidor LRNSS_LRN_SERVER_IP=203.0.113.50
4Configurar puerto del servidor LRNSS_LRN_SERVER_PORT=8443
5Guardar y cerrar:wq en vi
6Reiniciar servicioservice vos3000 restart
7Verificar conectividad LRNRealizar llamada de prueba a número portado y verificar CDR

📡 Flujo de Consultas LRN

Cuando una llamada llega a un mapping gateway con modo Internal LRN habilitado, VOS3000 inicia una consulta al servidor configurado. El softswitch envía una consulta con el número marcado a la IP y puerto especificados, recibe el LRN del carrier actual y lo utiliza para la búsqueda en la tabla de tarifas y la selección de gateway. Para entender el flujo de llamadas, consulte nuestra guía de flujo de llamadas SIP.

🔹 Fase🔹 Acción🔹 Duración Típica
Envío de consultaVOS3000 envía número al servidor LRN1-5 ms (local) / 10-30 ms (remoto)
Procesamiento del servidorServidor LRN consulta base NPAC5-50 ms
Recepción de respuestaVOS3000 recibe respuesta LRN1-5 ms (local) / 10-30 ms (remoto)
Decisión de enrutamientoVOS3000 usa LRN para búsqueda de tarifa/gateway1-5 ms

🔒 Requisitos de Conectividad

Para que la configuración servidor LRN VOS3000 funcione correctamente, el servidor debe tener conectividad de red al servidor LRN dip en la IP y puerto especificados. Las reglas del firewall deben permitir conexiones salientes desde VOS3000 al SS_LRN_SERVER_IP en el SS_LRN_SERVER_PORT.

🔹 Requisito🔹 Especificación🔹 Notas
Acceso de redTCP/UDP saliente al servidor LRNFirewall debe permitir el puerto especificado
LatenciaRound-trip inferior a 50 ms recomendadoLatencia mayor incrementa PDD
Soporte TLSDepende del proveedor LRNAlgunos requieren conexiones cifradas
DisponibilidadSLA de 99.99% recomendadoCaída del LRN impacta todas las llamadas a EE.UU.

🛠️ Solución de Problemas de Conexión

Los problemas con la configuración servidor LRN VOS3000 se manifiestan como consultas que fallan o expiran, causando que las llamadas vuelvan al enrutamiento por número marcado. Para más detalles, consulte nuestra guía de razones de fin de llamada y guía de discrepancias de facturación CDR.

🔹 Problema🔹 Causa Probable🔹 Solución
Conexión rechazadaIP o puerto incorrectoVerificar IP y puerto con proveedor LRN
Timeout de conexiónFirewall bloqueando o problema de redRevisar reglas de firewall, probar con telnet
Consultas devuelven vacíoProblema de suscripción del servidor LRNContactar proveedor de servicio LRN
PDD alto después de habilitar LRNAlta latencia al servidor LRNUsar servidor LRN más cercano
Configuración no toma efectoServicio no reiniciado después del cambioReiniciar servicio vos3000

🔗 Recursos Relacionados – Configuración servidor LRN

❓ Preguntas Frecuentes sobre Configuración Servidor LRN en VOS3000

¿Qué es SS_LRN_SERVER_IP en VOS3000?

SS_LRN_SERVER_IP es un parámetro del softswitch que especifica la dirección IP del servidor LRN dip externo. Cuando un mapping gateway está configurado en modo Internal LRN, VOS3000 usa esta IP para conectarse al servidor y enviar consultas de portabilidad numérica. Está definido en el archivo mbx2008.conf bajo la sección §4.3.5.2 (pág. 134-136) del manual. Debe configurarse con la IP proporcionada por su proveedor de servicio LRN.

¿Qué puerto debo usar para SS_LRN_SERVER_PORT?

El puerto depende de la configuración de su proveedor de servicio LRN. Puertos comunes incluyen 8443 para consultas HTTPS, 5060 para consultas basadas en SIP, o puertos personalizados especificados por el proveedor. Debe usar exactamente el número de puerto proporcionado por su proveedor. Nunca adivine ni use puertos por defecto sin confirmar.

¿Necesito reiniciar VOS3000 después de cambiar la configuración LRN?

Sí, los cambios en SS_LRN_SERVER_IP y SS_LRN_SERVER_PORT requieren reiniciar el servicio del softswitch para tomar efecto. Estos parámetros se leen durante la inicialización y no se recargan dinámicamente. Use el comando service vos3000 restart después de modificar el archivo de configuración. Programe los reinicios durante períodos de bajo tráfico.

¿Puede VOS3000 conectarse a múltiples servidores LRN para redundancia?

El parámetro SS_LRN_SERVER_IP soporta un único endpoint de servidor LRN. Para despliegues de alta disponibilidad, los operadores típicamente configuran un balanceador de carga o DNS round-robin frente a múltiples instancias del servidor LRN, apuntando SS_LRN_SERVER_IP a la IP virtual del balanceador. Esto proporciona redundancia a nivel de infraestructura sin que VOS3000 gestione múltiples conexiones.

¿Cómo verifico que la conexión al servidor LRN funciona?

Primero pruebe la conectividad con telnet SS_LRN_SERVER_IP SS_LRN_SERVER_PORT desde el servidor VOS3000. Si la conexión tiene éxito, realice una llamada de prueba a un número portado conocido de EE.UU. e inspeccione el CDR. Una configuración LRN funcional mostrará el valor LRN en el CDR junto al número marcado. Si no aparece el campo LRN o el enrutamiento es incorrecto, revise los logs del softswitch.

¿Qué protocolo usa VOS3000 para las consultas LRN?

El protocolo depende del proveedor de servicio LRN y del puerto configurado. Algunos proveedores usan protocolos propietarios basados en TCP, otros usan consultas basadas en SIP o APIs REST HTTP/HTTPS. VOS3000 soporta el formato de consulta especificado por el servidor LRN al que se conecta. Los detalles específicos del protocolo deben obtenerse de la documentación de su proveedor.

🚀 Soporte Profesional – Configuración servidor LRN

La configuración servidor LRN VOS3000 es esencial para el enrutamiento preciso de terminación hacia Estados Unidos. Valores incorrectos de IP o puerto impedirán el funcionamiento de las consultas LRN, causando que todos los números portados sean mal enrutados. Contáctenos por WhatsApp: +8801911119966.

Desde la configuración inicial del servidor LRN hasta la verificación de enrutamiento y optimización de consultas, proporcionamos soporte experto para operadores en Colombia, Perú y toda Latinoamérica. Escríbanos hoy al +8801911119966 y asegure un enrutamiento preciso de terminación hacia EE.UU.


📞 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


Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000
Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000

Portabilidad numérica LRN VOS3000 Proven consulta de carriers EE.UU.

Portabilidad numérica LRN VOS3000 Proven consulta de carriers EE.UU.

La portabilidad numérica LRN VOS3000 es un requisito indispensable para cualquier operador VoIP que termine tráfico hacia Estados Unidos. LRN (Local Routing Number) es el mecanismo establecido por la FCC para implementar la portabilidad numérica en la red telefónica de EE.UU., permitiendo que los números de teléfono sean transferidos entre carriers sin cambiar de número. Sin una consulta LRN adecuada, VOS3000 enrutaría las llamadas al carrier original del número en lugar del carrier actual, resultando en fallos de terminación y pérdida de revenue. ¿Necesita configurar LRN en su plataforma? Contáctenos por WhatsApp: +8801911119966.

En el mercado de telecomunicaciones de Estados Unidos, más del 40% de los números telefónicos han sido portados al menos una vez, lo que significa que sin consultas LRN, casi la mitad de las llamadas terminarían enrutadas incorrectamente. Según el manual de administración (§2.5.1.1, pág. 84-86, apartado LRN Parameters), VOS3000 resuelve este problema realizando una consulta al servidor LRN antes de enrutar la llamada, obteniendo el carrier real que actualmente sirve el número destino. Esta funcionalidad se configura de forma independiente para cada mapping gateway.

📋 ¿Qué es LRN (Local Routing Number)?

El Local Routing Number es un número de 10 dígitos que identifica de manera única al carrier que actualmente presta servicio a un número telefónico en la red de EE.UU. Cuando un suscriptor porta su número de un carrier a otro, el LRN asociado se actualiza en la base de datos NPAC (Number Portability Administration Center) administrada por iconectiv. El LRN se deriva del NPA-NXX del switch del carrier receptor y se utiliza para enrutar la llamada al carrier correcto.

🔹 Concepto🔹 Descripción
LRNLocal Routing Number — número de 10 dígitos del switch del carrier actual
NPACNumber Portability Administration Center — base de datos central de portabilidad
DipConsulta LRN al servidor externo — “dipping” en la base de datos
NPA-NXXCódigo de área + prefijo — identifica el rate center original del número

🔍 Configuración de LRN en el Mapping Gateway

La portabilidad numérica LRN VOS3000 se configura en el panel del mapping gateway, dentro de la sección de parámetros de LRN documentada en §2.5.1.1 (pág. 84-86). La configuración permite habilitar o deshabilitar las consultas, seleccionar el modo de consulta y definir cómo VOS3000 maneja la respuesta. Para más información sobre gateways, consulte nuestra guía de configuración de gateways.

🔹 Parámetro🔹 Valores🔹 Descripción
LRN Query EnableYes / NoHabilita o deshabilita la consulta LRN para este gateway
LRN Query ModeInternal / ExternalCómo se realiza la consulta LRN
LRN Response ActionRoute by LRN / Route by DNVOS3000 usa el LRN o el número original para enrutamiento

⚙️ Modos de Consulta LRN: Internal vs External

VOS3000 soporta dos modos de consulta LRN. El modo Internal utiliza el cliente LRN integrado que se conecta directamente al servidor LRN dip externo configurado vía SS_LRN_SERVER_IP y PORT (§4.3.5.2). El modo External espera que el carrier o proxy SIP upstream realice la consulta LRN y pase el LRN en el INVITE, típicamente en el header P-Asserted-Identity o un header personalizado.

🔹 Modo🔹 Cómo Obtiene LRN🔹 Mejor Para
InternalVOS3000 consulta servidor LRN directamenteOperadores con suscripción propia a LRN dip
ExternalCarrier upstream provee LRN en headers SIPOperadores que dependen del carrier para LRN dip

💰 Por Qué LRN es Obligatorio para Terminación en EE.UU.

Para cualquier operador que termine tráfico hacia números de Estados Unidos, la portabilidad numérica LRN VOS3000 no es opcional — es un requisito absoluto. Sin consultas LRN, las llamadas a números portados se enrutan al carrier original, resultando en llamadas rechazadas y reducción significativa del ASR. Además, los carriers de terminación en EE.UU. esperan llamadas correctamente enrutadas y pueden penalizar operadores que envíen tráfico mal dirigido. Para asesoría sobre implementación, escríbanos por WhatsApp: +8801911119966.

🔹 Sin LRN🔹 Con LRN
~40% de llamadas a números portados enrutan incorrectamente100% de llamadas enrutan al carrier correcto
ASR reducido 5-10% por llamadas rechazadasASR optimizado sin rechazos por misroute
Carriers bloquean tráfico mal enrutadoRelación estable con carriers de terminación
Disputas de facturación frecuentesFacturación precisa sin rechazos

🔧 Configuración Paso a Paso – Portabilidad numérica LRN

Para habilitar la portabilidad numérica LRN VOS3000, debe primero configurar el servidor LRN externo (§4.3.5.2) y luego habilitar las consultas en el mapping gateway. Para más detalles sobre los parámetros del servidor, consulte nuestra guía de parámetros de VOS3000.

🔹 Paso🔹 Acción🔹 Detalle
1Configurar SS_LRN_SERVER_IPSystem Settings > Server Parameters > IP del servidor LRN
2Configurar SS_LRN_SERVER_PORTPuerto del servidor LRN
3Abrir Mapping GatewayGateway > Mapping Gateway > Seleccionar gateway
4Habilitar LRN QuerySección LRN §2.5.1.1, pág. 84 > Enable
5Guardar y verificarProbar consulta LRN con número de EE.UU. conocido

🛠️ Solución de Problemas – Portabilidad numérica LRN

Los problemas con la portabilidad numérica LRN VOS3000 generalmente se manifiestan como llamadas fallidas o ASR bajo en rutas de EE.UU. Para problemas generales de enrutamiento, consulte nuestra guía de razones de fin de llamada.

🔹 Problema🔹 Causa Probable🔹 Solución
Todas las llamadas a EE.UU. fallanServidor LRN inaccesibleVerificar IP/puerto y conectividad
ASR bajo solo en rutas de EE.UU.LRN deshabilitadoHabilitar LRN query en el mapping gateway
Latencia alta en establecimientoServidor LRN lentoEvaluar cambiar de proveedor LRN
LRN devuelve número originalNúmero no portado — comportamiento normalNo todos los números están portados
Error de timeout en consultaFirewall bloqueando puertoAbrir puerto y verificar reglas

🔗 Recursos Relacionados – Portabilidad numérica LRN

❓ Preguntas Frecuentes sobre Portabilidad Numérica LRN en VOS3000

¿Qué es LRN en VOS3000 y por qué es necesario?

LRN (Local Routing Number) en VOS3000 es el mecanismo de consulta de portabilidad numérica que permite identificar al carrier actual que sirve un número telefónico en Estados Unidos. Cuando un suscriptor porta su número de un carrier a otro, el NPA-NXX original ya no corresponde al carrier actual. Sin consulta LRN, VOS3000 enrutaría la llamada al carrier original, resultando en fallos de terminación. Esta función es obligatoria para cualquier operador que termine tráfico hacia EE.UU. y está documentada en §2.5.1.1 (pág. 84-86) del manual.

¿Cómo se configura el servidor LRN para las consultas?

VOS3000 utiliza los parámetros SS_LRN_SERVER_IP y SS_LRN_SERVER_PORT (documentados en §4.3.5.2) para configurar el servidor LRN externo. SS_LRN_SERVER_IP define la dirección IP del servidor LRN dip, y SS_LRN_SERVER_PORT define el puerto de comunicación. Estos parámetros son globales del sistema y se configuran en System Settings > Server Parameters. Una vez configurado, cada mapping gateway puede habilitar o deshabilitar las consultas LRN independientemente.

¿Qué sucede si deshabilito LRN en un gateway de EE.UU.?

Si deshabilita la portabilidad numérica LRN VOS3000 en un gateway que termina tráfico hacia Estados Unidos, las llamadas a números portados se enrutarán al carrier original basado en el NPA-NXX del número, no al carrier actual. Esto resulta en llamadas fallidas, rechazos y una reducción significativa del ASR. Dado que más del 40% de los números en EE.UU. han sido portados, deshabilitar LRN impactaría negativamente casi la mitad del tráfico.

¿Cuánta latencia añade la consulta LRN?

Típicamente, una consulta LRN añade entre 20 y 100 milisegundos al tiempo de establecimiento de llamada. Con un servidor LRN de alta calidad ubicado cerca de la red de VOS3000, la latencia puede ser tan baja como 10-20ms. Para minimizar el impacto, algunos operadores implementan cache de respuestas LRN, aunque esto introduce el riesgo de usar datos obsoletos si un número es portado nuevamente.

¿Puedo usar LRN solo para ciertos destinos dentro de EE.UU.?

Sí, la configuración se realiza por mapping gateway, lo que permite habilitar consultas LRN solo para los gateways que terminan tráfico en EE.UU. y mantener LRN deshabilitado para otros destinos donde la portabilidad no aplica. Esta flexibilidad es útil para operadores multinacionales donde solo las rutas hacia EE.UU. requieren consultas LRN.

¿Qué proveedores de servidor LRN son compatibles con VOS3000?

VOS3000 es compatible con cualquier servidor LRN dip que implemente el protocolo estándar de consulta sobre TCP/IP. Proveedores como iconectiv (administrador del NPAC) y otros proveedores comerciales son compatibles siempre que proporcionen una interfaz accesible por IP y puerto. Al seleccionar un proveedor, considere la velocidad de respuesta, la disponibilidad del servicio y los costos por consulta.

🚀 Soporte Profesional

La implementación correcta de la portabilidad numérica LRN VOS3000 es esencial para el éxito de cualquier operación de terminación VoIP hacia Estados Unidos. Nuestro equipo puede ayudarle a configurar el servidor LRN, habilitar las consultas y optimizar el enrutamiento. Contáctenos por WhatsApp: +8801911119966.

Desde la selección del proveedor LRN hasta la verificación de enrutamiento, proporcionamos soporte experto para operadores en Colombia, Perú y toda Latinoamérica. Escríbanos hoy al +8801911119966 y asegure la precisión de cada llamada hacia EE.UU.


📞 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


Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000
Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000

Precisión decimal tarifas VOS3000 Accurate configuración FEE_PRECISTION y HOLD_TIME_PRECISION

Precisión decimal tarifas VOS3000 Accurate configuración FEE_PRECISTION y HOLD_TIME_PRECISION

La precisión decimal tarifas VOS3000 depende de dos grupos distintos de parámetros que controlan aspectos diferentes de la facturación: los parámetros FEE_PRECISTION y FEE_UNIT determinan la precisión de las tarifas (cuántos decimales se usan para almacenar y calcular las tasas), mientras que HOLD_TIME_PRECISION controla el redondeo de la duración de la llamada (cómo los milisegundos fraccionarios se convierten en segundos facturables). Comprender la diferencia entre ambos es esencial para configurar correctamente el motor de facturación. ¿Necesita ayuda? Contáctenos por WhatsApp: +8801911119966.

En entornos de wholesale VoIP donde los márgenes se miden en milésimas de dólar por minuto, incluso una pequeña imprecisión en las tarifas o en el redondeo de la duración puede generar discrepancias significativas a gran volumen. Los parámetros documentados en §4.3.5.1 (pág. 40-44) proporcionan el control necesario para que cada fracción de centavo se contabilice correctamente, protegiendo tanto los ingresos del operador como la confianza de los clientes.

📋 Los Dos Grupos de Parámetros — Visión General

Es fundamental distinguir claramente entre los dos grupos de parámetros de precisión en VOS3000, ya que controlan aspectos completamente diferentes del proceso de facturación.

🔹 Aspecto🔹 Precisión de Tarifas (FEE)🔹 Precisión de Duración (HOLD_TIME)
ParámetrosFEE_PRECISTION, FEE_UNITHOLD_TIME_PRECISION
Qué controlaDecimales en las tasas de facturación ($/min)Redondeo de milisegundos a segundos
Efecto$0.005 vs $0.01 por minuto21.049s → 21s vs 22s facturados
Página manual§4.3.5.1, pág. 42-44§4.3.5.1, pág. 40-42
Impacto principalPrecisión del precio por minutoPrecisión de los segundos facturados

💰 PARTE 1: Precisión Decimal Tarifas — FEE_PRECISTION y FEE_UNIT

Parámetro SERVER_BILLING_FEE_PRECISTION – Precisión decimal tarifas

El parámetro SERVER_BILLING_FEE_PRECISTION (§4.3.5.1, pág. 42-44) controla el número de lugares decimales utilizados para almacenar y calcular las tarifas de facturación. Los valores válidos van de 0 a 4, donde 0 significa números enteros y 4 proporciona precisión hasta 0.0001. Para carriers de wholesale que operan con márgenes de $0.001 por minuto, incluso la diferencia entre 2 y 3 lugares decimales impacta la rentabilidad a escala.

🔹 Parámetro🔹 Valor
NombreSERVER_BILLING_FEE_PRECISTION
Sección del manual§4.3.5.1, pág. 42
Tipo de datoEntero (0–4)
Valor por defecto2 (dos decimales)
EfectoControla dígitos decimales en tarifas

Niveles de Precisión y su Aplicación – Precisión decimal tarifas

🔹 Valor🔹 Unidad Mínima🔹 Ejemplo de Tarifa🔹 Mejor Para
0$1$5Servicios de tarifa plana
1$0.1$0.5Servicios toll-free al por mayor
2$0.01$0.05Proveedores retail VoIP
3$0.001$0.005Carriers wholesale (recomendado)
4$0.0001$0.0045Wholesale de margen ultra-delgado

Parámetro SERVER_BILLING_FEE_UNIT – Precisión decimal tarifas

El parámetro SERVER_BILLING_FEE_UNIT trabaja junto con FEE_PRECISTION para definir la unidad mínima de redondeo. Mientras FEE_PRECISTION controla cuántos decimales se almacenan, FEE_UNIT determina el incremento mínimo al que se redondean las tarifas después del cálculo. Por ejemplo, con FEE_PRECISTION=3 y FEE_UNIT=0.001, una tarifa calculada de $0.00456 se almacena con 3 decimales pero se redondea al $0.001 más cercano, resultando en $0.005. Para más información sobre facturación, consulte nuestra guía de precisión de facturación.

🔹 Tarifa Cruda🔹 Precisión=2, Unidad=0.01🔹 Precisión=3, Unidad=0.001🔹 Precisión=4, Unidad=0.0001
$0.00456$0.01$0.005$0.0046
$0.02341$0.02$0.023$0.0234
$1.23456$1.23$1.235$1.2346

Impacto Financiero de la Precisión en Wholesale – Precisión decimal tarifas

En wholesale VoIP, una tarifa de $0.005 por minuto con precisión de 2 decimales se almacenaría como $0.01 — un incremento del 100% sobre la tarifa acordada. Con la precisión decimal tarifas VOS3000 configurada a 3 decimales, la tarifa se almacena como $0.005, reflejando fielmente el precio acordado. Sobre 10 millones de minutos mensuales, la diferencia entre $0.005 y $0.01 por minuto equivale a $50,000 de discrepancia. Para asesoría personalizada, escríbanos por WhatsApp: +8801911119966.

🔹 Volumen Mensual🔹 Revenue Precisión=2🔹 Revenue Precisión=3🔹 Diferencia
1 millón minutos$10,000 ($0.01/min)$5,000 ($0.005/min)$5,000
10 millones minutos$100,000$50,000$50,000
50 millones minutos$500,000$250,000$250,000

⏱️ PARTE 2: Precisión de Duración — HOLD_TIME_PRECISION

A diferencia de los parámetros FEE que controlan la precisión de las tarifas, el parámetro SERVER_BILLING_HOLD_TIME_PRECISION (§4.3.5.1, pág. 40-42) controla el redondeo de la duración de la llamada. Cuando una llamada SIP termina, VOS3000 registra la duración exacta en milisegundos, pero la facturación requiere una decisión de redondeo. Este parámetro define el umbral en milisegundos que determina si los segundos fraccionarios se redondean hacia arriba o hacia abajo.

El Umbral de 50ms — Cómo Funciona

Con el valor por defecto de 50 milisegundos, la precisión decimal tarifas VOS3000 sigue una regla de redondeo al punto medio: cuando la porción fraccionaria de la duración es 50ms o superior, se redondea hacia arriba al siguiente segundo entero; cuando es inferior a 50ms, se trunca hacia abajo.

🔹 Duración Real🔹 ms Fraccionarios🔹 vs Umbral 50ms🔹 Duración Facturada
21.049s49msInferior a 50ms21 segundos
21.050s50msIgual a 50ms22 segundos
21.500s500msSuperior a 50ms22 segundos
21.999s999msSuperior a 50ms22 segundos

Impacto del Umbral en los Ingresos – Precisión decimal tarifas

El valor del umbral afecta directamente la cantidad de segundos facturados por llamada. Un umbral de 0ms redondea siempre hacia arriba (máximo revenue), mientras que un umbral de 999ms esencialmente trunca (mínimo revenue). El valor por defecto de 50ms proporciona un equilibrio justo. Para más información sobre facturación, consulte nuestra guía del sistema de facturación.

🔹 Umbral🔹 Comportamiento🔹 Dirección Revenue🔹 Caso de Uso
0msSiempre redondea hacia arribaMáximo revenueFacturación wholesale agresiva
50ms (defecto)Redondeo al punto medioEquilibradoFacturación estándar justa
500msRedondea arriba solo más de medio segundoLigeramente reducidoVentaja competitiva en precios
999msCasi siempre truncaMínimo revenueRedondeo favorable al cliente

⚙️ Configuración Paso a Paso – Precisión decimal tarifas

Para configurar todos los parámetros de precisión, siga estos pasos. Siempre respalde la base de datos antes de modificar parámetros de facturación, como se recomienda en nuestra guía de respaldo MySQL.

🔹 Paso🔹 Acción🔹 Detalle
1Respaldar base de datosFull MySQL dump antes de cambios
2Ir a System SettingsSección Billing Parameters, §4.3.5.1
3Configurar FEE_PRECISTION3 para wholesale, 2 para retail
4Configurar FEE_UNIT0.001 para wholesale, 0.01 para retail
5Configurar HOLD_TIME_PRECISION50 (defecto) o según política de redondeo
6Guardar y reiniciar servicioReiniciar motor de facturación
7Verificar con CDR de pruebaConfirmar tarifas y duración correctas

🔗 Recursos Relacionados – Precisión decimal tarifas

❓ Preguntas Frecuentes sobre Precisión Decimal y de Duración en VOS3000

¿Qué es SERVER_BILLING_FEE_PRECISTION en VOS3000?

Es un parámetro de facturación del sistema que controla el número de lugares decimales usados para almacenar y calcular las tarifas. El rango válido es 0 a 4, donde 0 significa tarifas enteras y 4 proporciona precisión hasta 0.0001. El valor por defecto de 2 soporta tarifas al centavo más cercano ($0.01), adecuado para retail pero insuficiente para carriers wholesale que necesitan granularidad a nivel $0.001 para representar precios con márgenes delgados. Documentado en §4.3.5.1, pág. 42-44.

¿Cuál es la diferencia entre FEE_PRECISTION y HOLD_TIME_PRECISION?

FEE_PRECISTION controla los decimales en las tarifas de facturación (cuántos decimales tiene el precio por minuto), mientras que HOLD_TIME_PRECISION controla el redondeo de la duración de la llamada (cómo los milisegundos fraccionarios se convierten en segundos facturados). Son parámetros independientes que afectan aspectos diferentes: FEE_PRECISTION afecta el precio unitario, HOLD_TIME_PRECISION afecta la cantidad facturada. Ambos deben configurarse en armonía para una facturación precisa.

¿Por qué VOS3000 escribe PRECISTION en lugar de PRECISION?

El nombre del parámetro SERVER_BILLING_FEE_PRECISTION usa una ortografía no estándar que aparece en la documentación oficial de VOS3000 bajo §4.3.5.1. Es simplemente la convención de nombres del equipo de desarrollo y debe usarse exactamente como está escrito al configurar el sistema. Usar la ortografía estándar “PRECISION” no será reconocido por el motor de facturación.

¿Puedo cambiar la precisión decimal en un sistema en producción?

Técnicamente sí, pero se recomienda programar cambios durante una ventana de mantenimiento. Cambiar la precisión afecta cómo se muestran las tarifas existentes y cómo se realizan los nuevos cálculos. Los CDRs existentes conservan su precisión original, lo que puede crear desafíos de conciliación. Siempre realice un respaldo completo antes de ajustar parámetros de precisión y verifique con llamadas de prueba.

¿Qué sucede si FEE_PRECISTION es menor de lo necesario?

Si el valor es demasiado bajo para las tarifas reales, VOS3000 redondeará o truncará las tarifas para ajustarse a los decimales configurados. Por ejemplo, una tarifa de $0.0045/min con FEE_PRECISTION=2 se almacena como $0.01/min — más del doble de la tarifa acordada. Esto causa sobrecargas masivas a clientes o pérdidas de revenue. Siempre configure FEE_PRECISTION suficientemente alto para acomodar los incrementos de tarifa más pequeños.

¿Cómo afecta HOLD_TIME_PRECISION la facturación por minuto vs por segundo?

El modo de facturación primero determina la duración facturable, luego HOLD_TIME_PRECISION redondea los milisegundos fraccionarios, y finalmente FEE_PRECISTION/FEE_UNIT controla la precisión de la tarifa aplicada. Las tres capas deben configurarse en armonía. Puede usar las herramientas de monitoreo de VOS3000 para verificar el efecto combinado en los registros CDR.

🚀 Soporte Profesional

Una configuración incorrecta de la precisión decimal tarifas VOS3000 puede drenar ingresos silenciosamente o sobrecargar clientes, creando discrepancias que se acumulan con el tiempo. Nuestro equipo proporciona servicios de configuración experta adaptados a su perfil de tráfico y requisitos de margen. Contáctenos por WhatsApp: +8801911119966.

Desde la configuración de precisión hasta auditorías completas del sistema de facturación, ayudamos a carriers VoIP a asegurar que cada fracción de centavo se contabilice. Escríbanos hoy al +8801911119966 y garantice que su motor de facturación esté configurado con la máxima precisión.


📞 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


Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000
Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000

Códigos respuesta SIP CDR VOS3000 Complete Important referencia de 30+ códigos

Códigos respuesta SIP CDR VOS3000 Complete referencia de 30+ códigos

Los códigos respuesta SIP CDR VOS3000 son fundamentales para diagnosticar fallos de llamada, optimizar el enrutamiento y mantener altas tasas de completación. Los códigos de respuesta SIP son indicadores de estado de 3 dígitos definidos en RFC 3261 que cada elemento SIP genera durante la señalización. VOS3000 registra el código de respuesta SIP final en cada CDR, proporcionando una vista directa de por qué las llamadas tuvieron éxito o fracasaron. Esta referencia cubre los 30+ códigos que encontrará en los CDRs de VOS3000. ¿Necesita ayuda analizando sus CDRs? Contáctenos por WhatsApp: +8801911119966.

Los códigos de respuesta SIP siguen una estructura basada en clases donde el primer dígito indica la categoría de la respuesta. VOS3000 captura en los CDRs la respuesta SIP final que determinó el resultado de la llamada — para llamadas exitosas típicamente es 200 OK, mientras que las fallidas registran la respuesta de error que causó la terminación. Según el manual §4.5 (pág. 156-162), al analizar la distribución de códigos en los CDRs puede identificar problemas de enrutamiento, capacidad y configuración que afectan el ASR y los ingresos.

📋 Clases de Códigos Respuesta SIP

Las seis clases de códigos de respuesta SIP representan diferentes categorías de resultados de señalización. Entender la estructura de clases es el primer paso para interpretar los códigos en los CDRs.

🔹 Clase🔹 Categoría🔹 Significado🔹 Impacto en CDR
1xxProvisionalLlamada en progreso, no finalRaramente registrado como código final
2xxÉxitoLlamada establecida exitosamenteFacturable — 200 OK el más común
3xxRedirecciónLlamada redirigida a otra URIPuede o no resultar en llamada facturable
4xxError de ClienteFallo por problema del clienteNo facturable — problema de configuración
5xxError de ServidorServidor no pudo procesar la solicitudNo facturable — problema upstream o capacidad
6xxFallo GlobalLlamada rechazada en todas las ubicacionesNo facturable — debe detener failover

🔴 Códigos 4xx — Error de Cliente – Códigos respuesta SIP

Los códigos 4xx indican que la solicitud contenía sintaxis incorrecta o no pudo cumplirse por parte del cliente. Son los más accionables porque a menudo señalan problemas de configuración que los operadores pueden resolver directamente.

🔹 Código🔹 Nombre🔹 Causa Común en VOS3000🔹 Solución
400Bad RequestMensaje SIP malformadoVerificar headers SIP y dial plan
401UnauthorizedCredenciales de autenticación incorrectasVerificar usuario/contraseña en gateway
403ForbiddenIP no autorizada o cuenta bloqueadaVerificar lista de IPs y estado de cuenta
404Not FoundNúmero no enrutableAgregar prefijo a tabla de rutas
407Proxy Auth RequiredProxy requiere autenticaciónConfigurar credenciales de proxy
408Request TimeoutSin respuesta del gateway en timeoutVerificar disponibilidad y red
480Temporarily UnavailableDestinatario fuera de línea o DNDVerificar registro del destinatario
486Busy HereLínea del destinatario ocupadaNormal — habilitar busy stop switch
487Request TerminatedLlamada cancelada por originadorVerificar colgado prematuro o timeout

🟠 Códigos 5xx — Error de Servidor – Códigos respuesta SIP

Los códigos 5xx indican que el lado del servidor falló al procesar la solicitud. A menudo están fuera de su control directo, pero entenderlos ayuda a identificar qué carriers tienen problemas. Para más información sobre failover, consulte nuestra guía de enrutamiento de llamadas.

🔹 Código🔹 Nombre🔹 Significado🔹 Acción
500Server Internal ErrorGateway encontró error inesperadoContactar proveedor del gateway
502Bad GatewayGateway upstream devolvió respuesta inválidaVerificar salud del gateway upstream
503Service UnavailableGateway sobrecargado o en mantenimientoEnrutar a gateway alternativo
504Server TimeoutSin respuesta del servidor upstreamVerificar ruta de red al upstream

⚫ Códigos 6xx — Fallo Global – Códigos respuesta SIP

Los códigos 6xx son fallos globales que indican que la llamada no debe reintentarse en ninguna otra ubicación. Cuando VOS3000 recibe una respuesta 6xx, debe detener la conmutación de failover y registrar el código en el CDR. Para configuración de failover, consulte nuestra guía de optimización de enrutamiento. ¿Necesita asistencia? Escríbanos por WhatsApp: +8801911119966.

🔹 Código🔹 Nombre🔹 Significado🔹 Comportamiento Failover
600Busy EverywhereTodas las ubicaciones reportan ocupadoDetener conmutación
603DeclineLlamada explícitamente rechazadaDetener conmutación
604Does Not Exist AnywhereNúmero no existe globalmenteDetener conmutación
606Not AcceptableDescripción de sesión no aceptableVerificar negociación de codecs

📊 Códigos SIP y Correlación con ASR

Analizar los códigos respuesta SIP CDR VOS3000 junto con las métricas de ASR revela qué códigos están reduciendo las tasas de completación. Un despliegue saludable debe mostrar 200 OK dominando la distribución de CDRs.

🔹 Distribución🔹 ASR Saludable🔹 ASR Degradado
200 OKSuperior al 70%Inferior al 50%
4xx totalInferior al 15%Superior al 30%
5xx totalInferior al 10%Superior al 20%
486 BusyInferior al 10%Superior al 20%

🔗 Recursos Relacionados – Códigos respuesta SIP

❓ Preguntas Frecuentes sobre Códigos Respuesta SIP en CDRs

¿Qué código SIP indica una llamada exitosa en VOS3000?

En los CDRs de VOS3000, un código SIP 200 OK indica que la llamada fue establecida y contestada exitosamente. Este es el código de éxito estándar definido en RFC 3261 que confirma que el INVITE fue aceptado y se estableció una sesión de medios. Todas las llamadas con 200 OK como respuesta final son típicamente facturables (asumiendo duración mayor a cero), y un alto porcentaje de 200 OK relativo al total indica un ASR saludable.

¿Qué significa SIP 503 en mis CDRs?

SIP 503 Service Unavailable significa que el gateway terminador o servidor no puede manejar la llamada debido a sobrecarga, mantenimiento o restricciones de capacidad. Es uno de los códigos de error más impactantes porque reduce directamente el ASR y a menudo activa failover de gateway. Si los 503 son frecuentes desde un gateway específico, ese gateway puede estar subdimensionado. Puede usar la función Replace Failed Reason para cambiar cómo VOS3000 maneja las respuestas 503.

¿Cómo reducir errores 408 Request Timeout?

Los errores 408 indican que VOS3000 envió un INVITE pero no recibió respuesta dentro del timeout configurado. Para reducirlos, primero verifique que el gateway destino esté en línea y accesible. Luego revise la conectividad de red y la latencia. También puede ajustar los parámetros de timeout de INVITE, pero aumentarlos demasiado elevará el PDD para todas las llamadas. Verifique si el gateway está descartando paquetes silenciosamente por firewall o NAT.

¿Por qué veo 403 Forbidden en mis CDRs?

SIP 403 Forbidden aparece cuando VOS3000 rechaza la llamada porque la IP origen no está autorizada, la cuenta está deshabilitada, o una política específica impide la llamada. Verifique la configuración de autenticación del mapping gateway, confirme que la IP origen esté en la lista de permitidos, y asegúrese de que la cuenta esté activa y no suspendida.

¿Cuál es la diferencia entre 486 Busy y 600 Busy Everywhere?

SIP 486 Busy Here significa que un endpoint específico reporta ocupado, pero otras ubicaciones podrían aceptar la llamada — VOS3000 puede continuar failover a gateways alternativos. SIP 600 Busy Everywhere es un fallo global indicando que todas las ubicaciones conocidas están ocupadas, y VOS3000 debe detener los intentos. La diferencia clave es el comportamiento de failover: 486 permite conmutación continua (a menos que busy stop switch esté habilitado), mientras que 600 siempre termina el intento.

¿Puedo cambiar cómo VOS3000 maneja códigos SIP específicos?

Sí, VOS3000 proporciona la función Replace Failed Reason en la configuración del mapping gateway que permite sobrescribir cómo se manejan códigos SIP específicos. Por ejemplo, puede cambiar un 503 Service Unavailable a un 486 Busy Here para prevenir failover agresivo que desperdicia CPS. Consulte nuestra guía de reemplazo de códigos de terminación para detalles.

🚀 Soporte Profesional

Interpretar correctamente los códigos respuesta SIP en los CDRs es la clave para identificar y resolver problemas de calidad rápidamente. Nuestro equipo puede ayudarle a construir flujos de análisis de CDRs sistemáticos y optimizar sus configuraciones de enrutamiento. Contáctenos por WhatsApp: +8801911119966.

Desde análisis de CDRs hasta optimización de enrutamiento y solución de problemas de gateway, proporcionamos soporte completo para operadores en Colombia, Perú y toda Latinoamérica. Escríbanos hoy al +8801911119966 y tome control de las métricas de calidad de sus llamadas.


📞 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


Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000Detección interrupción RTP VOS3000, Portabilidad numérica LRN VOS3000, Reemplazo razón fallida VOS3000, Códigos respuesta SIP CDR VOS3000, Configuración servidor LRN VOS3000, Precisión decimal tarifas VOS3000