VOS3000 Max Call Duration: Important Limit Setting for Cost Control
Running a VoIP business without a VOS3000 max call duration limit is like leaving the taps running with no overflow drain — eventually, something expensive is going to overflow. Every VoIP operator has experienced the problem: a prepaid account with a small balance makes a call that runs for hours, draining the balance far below zero and creating a loss that must be absorbed.
Or a wholesale customer’s traffic includes unexpectedly long calls that consume vendor resources and inflate costs beyond what the agreed rate can cover. According to the VOS3000 V2.1.9.07 Manual (Section 4.3.5.2), the SS_MAXCALLDURATION and SS_CALLREMINTIME system parameters provide a precise mechanism to enforce maximum call duration limits and warn callers before disconnection, giving operators the tools they need to control costs and protect revenue.
This comprehensive guide explains how VOS3000 max call duration works, how to configure SS_MAXCALLDURATION and SS_CALLREMINTIME, and how to apply duration limits strategically across different account types and business scenarios. Whether you operate a prepaid calling card platform, a wholesale VoIP business, or a retail SIP service, setting appropriate VOS3000 max call duration limits is an important safeguard that no operator should overlook. For professional assistance configuring your VOS3000 call duration settings, contact us on WhatsApp at +8801911119966.
Table of Contents
What Is VOS3000 Max Call Duration Limit?
The VOS3000 max call duration limit is a system-level control that enforces a maximum time threshold for every call processed by the softswitch. When a call’s duration exceeds the configured threshold, VOS3000 automatically terminates the call by sending a SIP BYE message to both endpoints. This mechanism prevents calls from running indefinitely or for excessively long periods, which is critical for protecting account balances and controlling operational costs.
According to the VOS3000 V2.1.9.07 Manual Section 4.3.5.2, the max call duration feature is controlled by two key system parameters:
- SS_MAXCALLDURATION: Defines the maximum allowed call duration in seconds. When set to 0, there is no duration limit (calls can run indefinitely). When set to any positive integer value, any call that reaches this duration will be forcibly terminated by VOS3000.
- SS_CALLREMINTIME: Defines the call remaining time warning in seconds. Before a call reaches the SS_MAXCALLDURATION threshold, VOS3000 plays a voice prompt announcement to warn the caller that the call is about to be disconnected. This gives the caller a brief window to wrap up the conversation gracefully.
Together, these two parameters form a complete call duration management system: the first enforces the hard limit, and the second provides a graceful warning before the limit is reached. For a deeper understanding of all VOS3000 system parameters, see our VOS3000 system parameters guide.
Why Every VOS3000 Operator Needs Max Call Duration
Without a VOS3000 max call duration limit, several dangerous scenarios can occur that directly impact your bottom line:
- Prepaid balance depletion: A customer with a $5 balance makes a call to an expensive destination. The call runs for 3 hours, and the real-time billing deduction lags behind the actual usage. By the time the call ends, the account balance is deeply negative — sometimes by hundreds of dollars on high-cost routes.
- Resource exhaustion: Excessively long calls tie up RTP media relay ports, DSP resources (if transcoding), and bandwidth. A few extremely long calls can reduce the total concurrent call capacity of your server.
- Vendor cost overruns: You pay your vendor for every minute of call duration, but your customer may have a fixed-rate plan or a low per-minute rate. A 4-hour call at your vendor cost may far exceed the revenue you receive from the customer.
- Fraud exposure: In some fraud scenarios, attackers deliberately keep calls alive for as long as possible to maximize the financial damage. A VOS3000 max call duration limit caps the maximum loss per call to a known, manageable amount.
- Calling card abuse: Calling card platforms often grant a certain number of minutes per card. Without a duration limit, users may exceed their allocated minutes, especially if the billing system has any delay in real-time balance checks.
Setting a VOS3000 max call duration limit is a simple, effective, and important safeguard against all of these risks.
The Problem: Calls That Run for Hours
To understand why the VOS3000 max call duration limit is so important, consider the real-world financial impact of uncontrolled long calls. A typical VoIP call lasts between 3 to 8 minutes. However, without a duration limit, there is nothing preventing a call from lasting 2, 4, or even 10 hours. In a prepaid environment, this creates a severe financial risk.
Consider this scenario: A retail SIP customer has a prepaid balance of $10. They call a destination that costs $0.50 per minute. The billing system checks the balance before the call starts and determines the customer has enough credit for approximately 20 minutes. The call connects and the customer keeps talking. After 20 minutes, the balance reaches zero — but the call does not automatically disconnect because VOS3000 has no max call duration limit configured. The customer continues talking for another 2 hours. By the time the call finally ends (or the billing system catches up), the account balance is negative $50. The operator must absorb this $50 loss.
Now multiply this scenario across hundreds or thousands of accounts, and the financial exposure becomes enormous. This is exactly why the VOS3000 max call duration parameter exists — to prevent this scenario by enforcing a hard cap on how long any single call can last.
Financial Impact of Long Calls Without Duration Limits
The financial damage from uncontrolled long calls compounds quickly across a VoIP operation:
- Single high-cost call: A 4-hour call to a premium destination at $0.80/minute costs $192. If the customer only had $5 in balance, the operator loses $187 on a single call.
- Multiple moderate calls: If 50 customers per day exceed their balances by an average of $20 each, the daily loss is $1,000 — or $30,000 per month.
- Wholesale margin erosion: A wholesale customer sends traffic at a rate of $0.03/minute, but the vendor cost is $0.025/minute. A 3-hour call generates $5.40 in revenue but costs $4.50, leaving only $0.90 margin — and tying up a call slot for 3 hours that could have handled 30+ shorter calls with higher aggregate margin.
Configuring the VOS3000 SS_MAXCALLDURATION parameter eliminates these risks by providing a deterministic cap on every call’s duration. For more on protecting your VOS3000 billing system from revenue loss, see our VOS3000 billing system guide.
SS_MAXCALLDURATION Parameter: How It Works
The SS_MAXCALLDURATION parameter is the core of the VOS3000 max call duration feature. According to the VOS3000 V2.1.9.07 Manual Section 4.3.5.2, this parameter defines the maximum call duration in seconds. When the value is set to 0, there is no limit — calls can run indefinitely until one of the endpoints hangs up. When set to any positive integer, VOS3000 enforces the limit by terminating the call when the duration reaches the configured threshold.
How VOS3000 Enforces the Max Duration Limit
When a call’s duration reaches the SS_MAXCALLDURATION threshold, VOS3000 takes the following actions:
- Timer expiry: VOS3000’s internal call timer detects that the call duration has reached the configured maximum.
- SIP BYE sent: VOS3000 sends a SIP BYE message to both the calling party and the called party, terminating the SIP dialog.
- Media release: The RTP media relay is released, freeing the media resources (ports, bandwidth, transcoding DSP if applicable) for other calls.
- CDR record: The CDR (Call Detail Record) for the call is updated with the termination reason indicating that the max call duration was exceeded.
- Billing finalization: The billing system calculates the final call cost based on the actual duration (capped at SS_MAXCALLDURATION) and deducts it from the account balance.
The SIP BYE sent by VOS3000 at max duration expiry is a standard SIP message. The endpoints receive the BYE and process it as a normal call termination — there is no special indication in the BYE message that the call was terminated due to a duration limit. However, the CDR record on VOS3000 contains the specific termination reason for internal tracking and analysis.
| 🏢 Business Type | ⏱️ Recommended Duration | 📊 Value (Seconds) | 💡 Reasoning |
|---|---|---|---|
| Prepaid calling card | 60 minutes | 3600 | Prevents card balance from going deeply negative; typical calling card usage is 5-15 minutes |
| Retail SIP service | 120 minutes | 7200 | Allows normal long conversations while capping extreme duration; retail customers rarely exceed 60 minutes |
| Wholesale VoIP | 180 minutes | 10800 | Higher limit accommodates legitimate long calls while still preventing abuse; wholesale margins are thin |
| Call center / PBX trunk | 240 minutes | 14400 | Call center agents may have legitimate long calls; higher limit avoids premature disconnection |
| Toll-free / premium routes | 30 minutes | 1800 | Shorter limit on high-cost routes minimizes financial exposure per call |
| Unlimited / flat-rate plans | 90 minutes | 5400 | Critical for flat-rate plans where cost is fixed — limits per-call resource consumption |
SS_CALLREMINTIME: Call Remaining Time Warning
The SS_CALLREMINTIME parameter works in conjunction with SS_MAXCALLDURATION to provide a call remaining time warning before the call is forcibly disconnected. According to the VOS3000 V2.1.9.07 Manual Section 4.3.5.2, this parameter specifies the number of seconds before the max call duration threshold at which VOS3000 plays a voice prompt announcement to warn the caller.
How Call Remaining Time Warning Works
When both SS_MAXCALLDURATION and SS_CALLREMINTIME are configured, the following sequence occurs during a call:
- Call starts: The call connects normally, and VOS3000 starts tracking the call duration.
- Warning threshold reached: When the call duration reaches (SS_MAXCALLDURATION minus SS_CALLREMINTIME) seconds, VOS3000 plays a voice prompt announcement to the caller. For example, if SS_MAXCALLDURATION is 3600 seconds (60 minutes) and SS_CALLREMINTIME is 30 seconds, the announcement plays at 3570 seconds (59 minutes 30 seconds).
- Caller continues talking: After the announcement plays, the call continues for the remaining SS_CALLREMINTIME seconds. The caller can hear the other party and continue the conversation.
- Max duration reached: When the call duration reaches SS_MAXCALLDURATION seconds, VOS3000 sends SIP BYE to both endpoints and terminates the call.
The voice prompt announcement is typically a recorded message such as “You have 30 seconds remaining on this call” or “This call will be disconnected in 30 seconds.” The exact prompt content depends on the voice prompt files configured on your VOS3000 system. This warning gives the caller a brief window to conclude their conversation gracefully, rather than experiencing an abrupt disconnection without any notice.
| ⏱️ SS_CALLREMINTIME Value | 📝 Warning Timing | 🏢 Best For | 💡 Consideration |
|---|---|---|---|
| 0 | No warning — call disconnects abruptly at max duration | Systems where warning is not needed | Poor user experience; caller has no time to wrap up |
| 10 seconds | Warning 10 seconds before disconnect | Calling card platforms with short duration limits | Very brief; may not be enough time to conclude |
| 30 seconds | Warning 30 seconds before disconnect | Retail and prepaid services (recommended default) | Good balance between warning time and call efficiency |
| 60 seconds | Warning 60 seconds (1 minute) before disconnect | Wholesale and call center services | Generous warning time for professional environments |
| 120 seconds | Warning 2 minutes before disconnect | Enterprise PBX trunk services | Long warning may reduce cost savings from max duration |
The recommended SS_CALLREMINTIME value for most deployments is 30 seconds. This provides enough warning for the caller to say goodbye and end the conversation naturally, without significantly extending the call beyond what the operator intends. For professional guidance on setting call remaining time warnings for your specific business model, contact us on WhatsApp at +8801911119966.
Configuring SS_MAXCALLDURATION in VOS3000
Configuring the VOS3000 max call duration limit requires modifying system parameters in the VOS3000 softswitch management interface. According to the VOS3000 V2.1.9.07 Manual Section 4.3.5.2, these parameters are located in the System Parameter section under Softswitch Management.
Step-by-Step Configuration
Follow these steps to configure the VOS3000 max call duration limit:
- Open VOS3000 Admin Interface: Log in to the VOS3000 web management interface or the VOS3000 client application with an administrator account.
- Navigate to System Parameters: Go to Operation Management > Softswitch Management > Additional Settings > System Parameter.
- Locate SS_MAXCALLDURATION: Find the SS_MAXCALLDURATION parameter in the system parameter list.
- Set the value: Enter the desired maximum call duration in seconds. For example, enter 3600 for a 60-minute limit, or 7200 for a 120-minute limit. Enter 0 to disable the limit entirely.
- Locate SS_CALLREMINTIME: Find the SS_CALLREMINTIME parameter in the same list.
- Set the warning value: Enter the desired warning time in seconds. For example, enter 30 for a 30-second warning before disconnection. Enter 0 to disable the warning.
- Save the configuration: Save the system parameter changes. The changes may require a service restart to take effect, depending on your VOS3000 version.
- Test with a call: Place a test call and verify that the max duration limit and warning work as expected.
VOS3000 Max Call Duration Configuration Summary:
Navigation: Operation Management > Softswitch Management
> Additional Settings > System Parameter
SS_MAXCALLDURATION = 3600 (Maximum call duration in seconds)
(0 = no limit, 3600 = 60 minutes,
7200 = 120 minutes, 10800 = 180 minutes)
SS_CALLREMINTIME = 30 (Warning before disconnect in seconds)
(0 = no warning, 30 = 30 seconds before,
60 = 1 minute before)
Example: With SS_MAXCALLDURATION=3600 and SS_CALLREMINTIME=30,
the warning plays at 3570 seconds (59:30), and the call
is disconnected at 3600 seconds (60:00).
Setting Appropriate Duration Limits by Business Type
Choosing the right VOS3000 max call duration value depends on your business model, your customer base, and the cost structure of the routes you sell. Setting the limit too low frustrates legitimate customers who want to have normal long conversations. Setting it too high defeats the purpose of the limit and leaves you exposed to financial risk.
The key principle is: the higher the cost per minute and the lower the customer balance, the shorter the max duration should be. For prepaid accounts with small balances, a 30-60 minute limit is appropriate. For postpaid wholesale customers with established credit, a 120-180 minute limit may be reasonable. For high-cost premium routes, even postpaid accounts may warrant a shorter limit to control exposure.
Per-Account vs System-Wide Duration Limits
The SS_MAXCALLDURATION parameter in VOS3000 system parameters applies system-wide — it affects every call processed by the softswitch regardless of the account or gateway involved. This provides a baseline protection level, but many operators need more granular control. They need different duration limits for different account types: a shorter limit for prepaid calling card accounts, and a longer limit for postpaid wholesale customers.
Achieving Per-Account Duration Control
While SS_MAXCALLDURATION is a system-wide parameter, VOS3000 provides per-account call duration control through account-level settings. The VOS3000 account configuration (Business Management > Account Management) includes individual account settings that can override or complement the system-wide parameters. By combining system-wide and per-account settings, operators can implement a tiered duration limit strategy:
- System-wide baseline: Set SS_MAXCALLDURATION to a conservative value (e.g., 7200 seconds = 120 minutes) that provides a safety net for all accounts.
- Prepaid accounts: Configure individual prepaid accounts with a shorter per-account duration limit (e.g., 3600 seconds = 60 minutes) to prevent balance depletion.
- Wholesale accounts: Allow trusted wholesale accounts to use the system-wide limit, or configure a higher per-account limit if the business relationship warrants it.
- Premium route accounts: Apply the shortest per-account duration limits (e.g., 1800 seconds = 30 minutes) for accounts that frequently call high-cost destinations.
This tiered approach ensures that every account has an appropriate duration limit that matches its risk profile, without being overly restrictive for accounts that legitimately need longer calls.
| 👤 Account Type | ⏱️ System-Wide Limit | ⏱️ Per-Account Limit | 🛡️ Risk Level | 💡 Strategy |
|---|---|---|---|---|
| Prepaid calling card | 7200s (120 min) | 3600s (60 min) | 🔴 High | Short per-account limit protects small balances |
| Prepaid retail SIP | 7200s (120 min) | 5400s (90 min) | 🟠 Medium-High | Moderate limit allows normal use while capping extreme duration |
| Postpaid retail | 7200s (120 min) | 7200s (120 min) | 🟡 Medium | System-wide limit sufficient; postpaid reduces balance risk |
| Wholesale (trusted) | 7200s (120 min) | 10800s (180 min) | 🟢 Low | Higher per-account limit for established partners with good credit |
| Call center trunk | 7200s (120 min) | 14400s (240 min) | 🟢 Low | Longer limit for professional environments with legitimate long calls |
| High-cost route access | 7200s (120 min) | 1800s (30 min) | 🔴 High | Shortest limit on expensive destinations to minimize loss per call |
Use Cases for VOS3000 Max Call Duration
The VOS3000 max call duration limit serves different purposes depending on the type of VoIP business. Understanding these use cases helps you configure the parameters appropriately for your specific operational needs.
Use Case 1: Prepaid Account Protection
Prepaid accounts are the most vulnerable to long-call abuse because the account balance is the only thing limiting usage. When a call exceeds the available balance, the operator absorbs the loss. The VOS3000 max call duration limit prevents this by capping the maximum duration — and therefore the maximum cost — of any single call.
For prepaid accounts, the recommended approach is:
- Calculate the maximum affordable duration: Divide the typical account balance by the average per-minute rate. For example, if the average balance is $5 and the average rate is $0.10/minute, the maximum affordable duration is 50 minutes. Set the per-account limit to 3600 seconds (60 minutes) to provide a small buffer.
- Set SS_CALLREMINTIME to 30 seconds: This gives the prepaid user a brief warning before disconnection, which is important for customer satisfaction on prepaid platforms.
- Monitor CDR records: Regularly check for calls that hit the max duration limit, as these may indicate customers who consistently need more minutes and could be upsold to a higher denomination or a postpaid plan.
For comprehensive prepaid billing protection, combine the VOS3000 max call duration limit with the VOS3000 billing system’s real-time balance checking. For more on billing configuration, see our VOS3000 billing system guide.
Use Case 2: Wholesale Traffic Management
In wholesale VoIP, margins are thin and call volumes are high. An unexpectedly long call can consume vendor resources and bandwidth that could otherwise serve many shorter calls. The VOS3000 max call duration limit helps wholesale operators manage their traffic more efficiently by ensuring that no single call monopolizes resources for an extended period.
For wholesale traffic, the recommended approach is:
- Set a moderate system-wide limit: 10800 seconds (180 minutes) provides ample time for legitimate calls while capping extreme durations.
- Use per-account limits for specific customers: If a particular wholesale customer consistently generates very long calls that cause resource contention, apply a shorter per-account limit specifically for that customer.
- Coordinate with vendor SLAs: Ensure your max call duration limits are compatible with your vendor’s session timer and billing policies to avoid premature call termination from the vendor side.
Use Case 3: Calling Card Platforms
Calling card platforms are uniquely vulnerable to long-call abuse because the card value is typically small ($5 to $20) and the per-minute rates for international destinations can be high. A single long call on a calling card can easily exceed the card’s value, and the user has no financial incentive to hang up because they are not billed beyond the card value. The VOS3000 max call duration limit is an important protection mechanism for calling card operators.
For calling card platforms, the recommended approach is:
- Set a short per-account limit: 3600 seconds (60 minutes) is typically sufficient for any calling card call. Most calling card calls last less than 15 minutes.
- Configure SS_CALLREMINTIME: A 30-second warning is essential for calling card platforms to avoid customer complaints about abrupt disconnections.
- Integrate with IVR announcement: Configure the voice prompt to announce the remaining time clearly, as calling card users are accustomed to hearing “You have X minutes remaining” announcements from traditional calling card platforms.
For help setting up calling card duration limits and IVR announcements in VOS3000, contact us on WhatsApp at +8801911119966.
Interaction with Billing: CDR Records for Duration-Limited Calls
When VOS3000 terminates a call due to the max call duration limit, the CDR (Call Detail Record) for that call contains specific information that identifies the termination reason. Understanding how to read these CDR records is important for monitoring the effectiveness of your duration limits and detecting patterns of abuse.
CDR Fields Related to Max Call Duration
The VOS3000 CDR includes several fields that are relevant when a call is terminated by the max call duration limit:
- Call duration: The recorded duration will be exactly (or very close to) the SS_MAXCALLDURATION value, confirming that the call hit the duration limit.
- Termination reason / Hangup cause: The CDR will indicate that the call was terminated by the softswitch due to max call duration being exceeded. This distinguishes it from normal call terminations where one of the endpoints initiates the hangup.
- Caller and callee numbers: These fields help you identify which accounts and destinations are most frequently hitting the duration limit.
- Billing amount: The call will be billed for the full duration up to the max duration limit, ensuring that the customer is charged for the complete call.
| 📋 CDR Field | 📝 Value for Max Duration Call | 🔍 How to Identify | 💡 Action |
|---|---|---|---|
| Call duration | Exactly matches SS_MAXCALLDURATION value | Duration equals the configured limit (e.g., 3600s) | Confirm limit is working; check if limit is too restrictive |
| Termination reason | Max call duration exceeded / softswitch initiated BYE | Reason code indicates softswitch-initiated disconnect | Filter CDR by this reason to track duration-limited calls |
| SIP cause code | 200 OK (normal clearing) with softswitch origin | BYE initiated by VOS3000, not by endpoint | Distinguish from endpoint-initiated hangups |
| Account balance after | Should be zero or positive | Check balance deduction matches expected cost | If negative, consider shorter duration limit |
| Destination | High-cost destinations overrepresented | Filter by destination to identify expensive routes | Apply shorter per-account limits for high-cost routes |
Monitoring CDR for Calls That Hit Max Duration
Regular monitoring of CDR records for calls that hit the max duration limit is an important operational practice. Here is what to look for:
- Frequency of duration-limited calls: If a large percentage of calls are hitting the max duration limit, the limit may be too restrictive and should be increased. If almost no calls hit the limit, it may be too lenient and could be tightened.
- Accounts with frequent duration-limited calls: Specific accounts that consistently hit the limit may need a different per-account limit, or they may be abusing the service.
- Destinations with frequent duration-limited calls: High-cost destinations that frequently hit the limit may warrant a shorter per-route or per-account duration limit.
- Balance status after duration-limited calls: If accounts frequently go negative after duration-limited calls, the limit is not short enough for that account type.
For more on analyzing VOS3000 CDR records and call end reasons, see our VOS3000 call end reasons guide.
Combining Max Call Duration with Other Call Control Features
The VOS3000 max call duration limit is most effective when combined with other VOS3000 call control features. VOS3000 provides several mechanisms for managing call lifecycle and resource usage, and understanding how they interact helps you build a comprehensive call control strategy.
Max Duration vs No Media Hangup
The no media hangup feature (controlled by the SS_NOMEDIAHANGUP system parameter, also documented in Section 4.3.5.2) detects when RTP media stops flowing on a call and automatically terminates it. While max call duration limits the total time a call can last regardless of activity, no media hangup specifically targets calls where one endpoint has stopped sending media (e.g., a phone was left off-hook). These two features complement each other: no media hangup catches zombie calls where the endpoints forgot to hang up, while max call duration catches all excessively long calls regardless of whether media is still flowing.
Max Duration vs Session Timer
The SIP Session Timer feature (RFC 4028) is a protocol-level mechanism for periodically refreshing SIP sessions. VOS3000 supports session timer, and it interacts with max call duration in important ways. Session timer operates through SIP re-INVITE or UPDATE messages that refresh the session at regular intervals. If a session timer refresh fails (e.g., one endpoint does not respond to the re-INVITE), the call is terminated. The VOS3000 session timer feature is documented in the VOS3000 Manual and is a separate mechanism from max call duration — session timer ensures session liveness, while max call duration enforces a hard time cap.
For detailed information about the VOS3000 session timer feature and the common 32-second call drop issue, see our VOS3000 session timer 32-second drop guide.
| 📋 Feature | ⏱️ Max Call Duration | 📡 No Media Hangup | 🔄 Session Timer |
|---|---|---|---|
| Parameter | SS_MAXCALLDURATION | SS_NOMEDIAHANGUP | SIP Session-Expires header |
| Purpose | Hard cap on total call duration | Detect and terminate calls with no RTP media | Periodically verify session is still alive |
| Trigger | Call duration reaches threshold in seconds | No RTP packets detected for configured timeout | Session-Expires timer fires; re-INVITE sent |
| Termination method | VOS3000 sends SIP BYE to both endpoints | VOS3000 sends SIP BYE to both endpoints | VOS3000 sends SIP BYE if re-INVITE fails |
| Warning before disconnect | Yes — SS_CALLREMINTIME voice prompt | No — call is terminated immediately | No — session is terminated if refresh fails |
| Protects against | Excessively long calls, balance depletion, cost overruns | Zombie calls, off-hook phones, abandoned calls | Stale sessions, network failures, endpoint crashes |
| Best combined with | No media hangup + session timer | Max call duration + session timer | Max call duration + no media hangup |
| 🔗 Feature Combination | 📝 What It Catches | 🛡️ Protection Level | 🎯 Recommended For |
|---|---|---|---|
| Max Duration only | Long calls exceeding time threshold | ⭐⭐⭐ Moderate | Basic cost control for all deployments |
| Max Duration + No Media Hangup | Long calls + zombie/off-hook calls | ⭐⭐⭐⭐ Strong | Prepaid platforms, calling card services |
| Max Duration + Session Timer | Long calls + stale sessions | ⭐⭐⭐⭐ Strong | Wholesale VoIP, multi-vendor routing |
| Max Duration + No Media + Session Timer | Long calls + zombie calls + stale sessions | ⭐⭐⭐⭐⭐ Maximum | All production deployments (recommended) |
The recommended configuration for any production VOS3000 deployment is to enable all three call control features together. This provides comprehensive protection: max call duration caps the total call time, no media hangup detects and clears zombie calls, and session timer ensures that SIP sessions are refreshed and validated periodically. For professional setup of all VOS3000 call control features, contact us on WhatsApp at +8801911119966.
Best Practices for VOS3000 Max Call Duration Configuration
Setting the right VOS3000 max call duration limit requires careful consideration of your business model, customer behavior, and risk tolerance. The following best practices help you configure duration limits that protect your business without unnecessarily inconveniencing your customers.
- Start conservative and adjust upward: It is better to set a shorter limit initially and increase it based on customer feedback than to start with no limit and discover the financial impact after it is too late.
- Always configure SS_CALLREMINTIME: A duration limit without a warning creates a poor customer experience. Always set SS_CALLREMINTIME to at least 30 seconds to give callers notice before disconnection.
- Use tiered limits by account type: Do not apply a single duration limit to all accounts. Use shorter limits for high-risk accounts (prepaid, small balance) and longer limits for low-risk accounts (postpaid, established wholesale).
- Monitor CDR records regularly: Set up a routine check of CDR records for calls that hit the max duration limit. This helps you identify accounts that may need their limits adjusted.
- Combine with anti-fraud measures: A max call duration limit is one layer of protection. For comprehensive protection, combine it with VOS3000’s dynamic blacklist and anti-fraud features. For more on anti-fraud configuration, see our VOS3000 security and anti-fraud guide.
- Document your duration limits: Maintain a record of all duration limits (both system-wide and per-account) so that your operations team can quickly reference and adjust them as needed.
- Test before deploying to production: After configuring or changing max call duration limits, always place test calls to verify that the limit and warning work as expected before the changes affect live traffic.
| ✅ Step | 📋 Task | 📝 Details | ⚠️ Important Note |
|---|---|---|---|
| 1 | Set SS_MAXCALLDURATION | Configure system-wide max duration in seconds (e.g., 7200) | 0 means no limit — always set a positive value |
| 2 | Set SS_CALLREMINTIME | Configure call remaining time warning in seconds (e.g., 30) | 0 means no warning — always set at least 30 seconds |
| 3 | Configure per-account limits | Set shorter limits for high-risk accounts (prepaid, small balance) | Per-account limits should be equal to or shorter than system limit |
| 4 | Enable no media hangup | Configure SS_NOMEDIAHANGUP for zombie call detection | Complements max duration; catches off-hook and abandoned calls |
| 5 | Configure session timer | Set appropriate Session-Expires values on gateways | Ensure session timer is shorter than max duration |
| 6 | Save and apply parameters | Save changes in System Parameter; restart services if needed | Some changes require service restart to take effect |
| 7 | Place test call | Make a test call to verify warning prompt and disconnection | Use a short test duration (e.g., 60s) for faster testing |
| 8 | Check CDR record | Verify CDR shows correct termination reason and duration | CDR should show duration matching the configured limit |
| 9 | Monitor production traffic | Review CDR daily for calls hitting max duration limit | High frequency of limit hits may indicate need to adjust |
| 10 | Document configuration | Record all duration limit settings and per-account overrides | Essential for audits and future troubleshooting |
Frequently Asked Questions
1. What is max call duration in VOS3000?
Max call duration in VOS3000 is a system-level feature that enforces a maximum time limit on every call processed by the softswitch. When a call’s duration reaches the configured threshold (set by the SS_MAXCALLDURATION system parameter), VOS3000 automatically terminates the call by sending a SIP BYE message to both endpoints. This prevents calls from running indefinitely and protects account balances from excessive charges on long calls.
2. How do I set a maximum call duration limit in VOS3000?
To set a maximum call duration limit in VOS3000, navigate to Operation Management > Softswitch Management > Additional Settings > System Parameter and configure the SS_MAXCALLDURATION parameter. Enter the maximum duration in seconds (e.g., 3600 for 60 minutes, 7200 for 120 minutes). You should also configure SS_CALLREMINTIME to set a warning announcement before the call is disconnected. Save the changes and restart services if required. For step-by-step guidance, contact us on WhatsApp at +8801911119966.
3. What is the SS_MAXCALLDURATION parameter?
The SS_MAXCALLDURATION parameter is a VOS3000 system parameter (documented in Section 4.3.5.2 of the VOS3000 V2.1.9.07 Manual) that defines the maximum call duration in seconds. When set to 0, there is no limit and calls can run indefinitely. When set to a positive integer value (e.g., 3600), any call that reaches this duration is automatically terminated by VOS3000. This parameter provides the foundation for the VOS3000 max call duration cost control feature.
4. What is call remaining time warning in VOS3000?
Call remaining time warning is a VOS3000 feature controlled by the SS_CALLREMINTIME system parameter. It specifies how many seconds before the max call duration threshold VOS3000 should play a voice prompt announcement to warn the caller. For example, with SS_MAXCALLDURATION=3600 and SS_CALLREMINTIME=30, a warning announcement plays at 3570 seconds (59 minutes 30 seconds), giving the caller 30 seconds to wrap up before the call is disconnected at 3600 seconds.
5. Can I set different duration limits per account in VOS3000?
Yes, VOS3000 supports per-account duration limits in addition to the system-wide SS_MAXCALLDURATION parameter. Per-account limits are configured in the account management section (Business Management > Account Management) and allow you to set shorter or longer duration limits for specific accounts. This is useful for applying stricter limits on high-risk prepaid accounts while allowing longer calls for trusted postpaid wholesale customers. The per-account limit takes precedence over the system-wide limit when it is more restrictive.
6. What happens when a call exceeds the max duration in VOS3000?
When a call exceeds the VOS3000 max call duration limit, the softswitch automatically sends a SIP BYE message to both the calling and called parties, terminating the call. The RTP media relay is released, freeing resources. The CDR record for the call is updated with the termination reason indicating max call duration was exceeded, and the billing system charges the account for the full duration up to the limit. If SS_CALLREMINTIME is configured, a voice prompt warning is played to the caller before disconnection.
7. How does max call duration differ from session timer in VOS3000?
Max call duration (SS_MAXCALLDURATION) and session timer serve different purposes in VOS3000. Max call duration enforces a hard time cap on total call length, regardless of whether the call is still active and healthy — it is a cost control mechanism. Session timer (SIP Session-Expires, RFC 4028) is a protocol-level mechanism that periodically refreshes the SIP session through re-INVITE messages to verify that both endpoints are still responsive — it is a session liveness mechanism.
A call can be terminated by session timer if a re-INVITE fails, even if the max duration has not been reached. Conversely, a call can be terminated by max duration even if the session timer refreshes are succeeding. Both features should be used together for comprehensive call control. For more details, see our VOS3000 session timer guide.
Conclusion
Configuring the VOS3000 max call duration limit through the SS_MAXCALLDURATION and SS_CALLREMINTIME parameters is an important step that every VoIP operator should take to protect their business from financial losses caused by excessively long calls. The SS_MAXCALLDURATION parameter provides a deterministic cap on call duration, while SS_CALLREMINTIME ensures that callers receive a graceful warning before disconnection. Together with no media hangup and session timer, these features form a comprehensive call control framework that safeguards account balances, controls costs, and optimizes resource utilization.
Whether you operate a prepaid calling card platform, a wholesale VoIP business, or a retail SIP service, setting appropriate VOS3000 max call duration limits — with tiered per-account settings for different risk profiles — is an essential operational practice. Do not wait until a $200 loss on a single call forces you to take action. Configure your VOS3000 max call duration limits today. For expert assistance with your VOS3000 configuration, download the latest version from vos3000.com and contact us on WhatsApp at +8801911119966.
📞 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
![]() | ![]() | ![]() |


