π Are mysterious ghost calls and ultra-long bills draining your VoIP revenue? The VOS3000 SIP session timer is your first line of defense. Based on RFC 4028, this critical SIP protocol feature detects whether calls are still alive β and automatically hangs up dead sessions before they inflate your billing. β±οΈ
π§ In abnormal network conditions, SIP endpoints can lose connectivity without sending a proper BYE message. Without session timers, these zombie calls linger indefinitely, generating charges for conversations that ended long ago. VOS3000 solves this with four powerful parameters that control how session timers operate across your entire softswitch.
π― This guide walks you through every VOS3000 SIP session timer parameter β from SS_SIP_SESSION_TTL to SS_SIP_NO_TIMER_REINVITE_INTERVAL β with real default values, configuration steps, and best practices to keep your VoIP network clean and profitable.
β° The VOS3000 SIP session timer is a built-in mechanism that periodically verifies whether a SIP call is still active. It follows the RFC 4028 SIP Session Timers standard, which defines how SIP User Agents can request, negotiate, and maintain session timers during a call.
π‘ Why it matters: In VoIP networks, network failures, NAT timeouts, and endpoint crashes can leave calls in a βconnectedβ state even after both parties have stopped communicating. The VOS3000 SIP session timer prevents these orphaned calls by:
π Location in VOS3000 Client: Navigation β Operation management β Softswitch management β Additional settings β SIP parameter
π RFC 4028 introduces the Session-Expires header and Min-SE header to SIP. Hereβs how they map to VOS3000:
| RFC 4028 Concept | VOS3000 Parameter | Function |
|---|---|---|
| Session-Expires | SS_SIP_SESSION_TTL | Total session lifetime before refresh required |
| Refresher negotiation | SS_SIP_SESSION_UPDATE_SEGMENT | Number of refresh attempts within TTL |
| Early termination | SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP | Grace period before early hangup on no response |
| Non-timer fallback | SS_SIP_NO_TIMER_REINVITE_INTERVAL | Max call duration for non-session-timer UAs |
π§ Letβs examine each parameter in detail using the official VOS3000 2.1.9.07 manual data.
β±οΈ SS_SIP_SESSION_TTL is the heart of the VOS3000 SIP session timer system. It defines the total interval (in seconds) within which VOS3000 will detect whether a SIP call is still connected.
| Attribute | Value |
|---|---|
| π Parameter Name | SS_SIP_SESSION_TTL |
| π’ Default Value | 600 seconds (10 minutes) |
| π Unit | Seconds |
| π Description | If SIP caller supports βsession-timerβ, within the time softswitch will detect connect status according to the retry times. If got no confirm message, softswitch will regard as call finish, then hang up. |
π‘ How it works: When a SIP caller that supports session-timer establishes a call, VOS3000 starts a countdown based on SS_SIP_SESSION_TTL. Within this period, VOS3000 divides the TTL into segments (controlled by SS_SIP_SESSION_UPDATE_SEGMENT) and sends re-INVITE or UPDATE messages at each segment boundary. If no confirmation comes back, the call is terminated.
β οΈ Setting too low: A TTL of 60 seconds means frequent re-INVITEs, increasing signaling overhead. Setting too high: A TTL of 3600 seconds means zombie calls can persist for up to an hour. The default of 600 seconds (10 minutes) strikes a practical balance.
π SS_SIP_SESSION_UPDATE_SEGMENT controls how many times VOS3000 will attempt to refresh a session within the TTL period. It directly determines the re-INVITE or UPDATE interval.
| Attribute | Value |
|---|---|
| π Parameter Name | SS_SIP_SESSION_UPDATE_SEGMENT |
| π’ Default Value | 2 |
| π Range | 2 β 10 |
| π Description | SIP Timer reinvite (update) Interval β divides the TTL into segments |
π― Calculation: The actual re-INVITE interval = SS_SIP_SESSION_TTL Γ· SS_SIP_SESSION_UPDATE_SEGMENT
| TTL (seconds) | Segment | Re-INVITE Interval | Use Case |
|---|---|---|---|
| 600 | 2 | 300s (5 min) | β Default β balanced |
| 600 | 4 | 150s (2.5 min) | π§ More frequent checks |
| 600 | 6 | 100s (1.7 min) | π‘ Unstable networks |
| 600 | 10 | 60s (1 min) | β οΈ High overhead |
| 1800 | 3 | 600s (10 min) | π Long calls, stable net |
π‘ Key insight: With the default settings (TTL=600, Segment=2), VOS3000 sends a re-INVITE every 300 seconds (5 minutes). If the far end responds with 200 OK, the session is confirmed alive. If not, the call is hung up.
π SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP adds a safety net by specifying how many seconds to wait before performing an early hangup when a re-INVITE or UPDATE receives no response.
| Attribute | Value |
|---|---|
| π Parameter Name | SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP |
| π’ Default Value | 0 seconds (disabled) |
| π Unit | Seconds |
| π Description | SIP Timer no reinvite (update) Early Hang up β extra grace period before terminating |
β οΈ When set to 0 (default): VOS3000 hangs up immediately when the session timer expires without confirmation. No grace period is given.
β When set to a positive value: VOS3000 waits the specified number of seconds after the timer expires before hanging up. This gives the far end a brief window to recover from momentary network glitches.
π‘ Recommended setting: For most deployments, keep at 0 for immediate cleanup. On networks with occasional packet loss, set to 5-10 seconds for a small grace window.
π± Not all SIP endpoints support session timers. SS_SIP_NO_TIMER_REINVITE_INTERVAL handles this scenario by setting a maximum conversation time for SIP callers that do NOT support the βtimerβ feature.
| Attribute | Value |
|---|---|
| π Parameter Name | SS_SIP_NO_TIMER_REINVITE_INTERVAL |
| π’ Default Value | 7200 seconds (2 hours) |
| π Unit | Seconds |
| π Description | If SIP caller doesnβt support βtimerβ, softswitch will stop the call when the time is up |
π Critical function: Since non-timer SIP callers cannot respond to session refresh requests, VOS3000 cannot actively verify if the call is still alive. The only protection is a hard timeout β once the call duration exceeds this value, VOS3000 forcibly terminates it.
β οΈ Default of 7200s (2 hours): This means a zombie call from a non-timer endpoint could persist for up to 2 hours. For high-value routes, consider lowering this to 3600s (1 hour) or even 1800s (30 minutes).
π Understanding the full session timer flow is essential for proper configuration. Hereβs exactly what happens during a call:
π Call Established (200 OK)
β
βββ VOS3000 starts TTL countdown (SS_SIP_SESSION_TTL = 600s)
β
βββ At TTL/Segment = 300s βββΊ VOS3000 sends re-INVITE/UPDATE
β βββ β
200 OK received β Session confirmed, timer resets
β βββ β No response β Retry at next segment
β
βββ At TTL = 600s βββΊ Final check
β βββ β
200 OK received β Session confirmed, timer resets
β βββ β No response β Call terminated (BYE sent)
β βββ If EARLY_HANGUP > 0 β Wait X seconds, then BYE
β
βββ π Cycle repeats for duration of call
π Call Established (200 OK β no Session-Expires header)
β
βββ VOS3000 detects no timer support
β
βββ No re-INVITE/UPDATE messages sent
β
βββ Call continues until...
β βββ π± Normal BYE from either party, OR
β βββ β° Duration exceeds SS_SIP_NO_TIMER_REINVITE_INTERVAL (7200s)
β βββ VOS3000 forcibly terminates call (BYE sent)
β
βββ β No active session detection possible
π₯οΈ Follow these steps to configure the VOS3000 SIP session timer parameters:
| Deployment Type | Recommended TTL | Rationale |
|---|---|---|
| π’ Standard enterprise | 600s (default) | β Good balance of detection and overhead |
| π High-volume wholesale | 300s β 600s | π§ Faster zombie detection on busy routes |
| π Unstable networks | 180s β 300s | π‘ Quick detection of dropped calls |
| π‘οΈ Premium routes | 900s β 1800s | π Less signaling overhead, longer calls OK |
π Choose the segment value based on your network reliability:
| Segment Value | TTL=600 Interval | Retry Count | Best For |
|---|---|---|---|
| 2 (default) | 300s | 2 attempts | β Most deployments |
| 3 | 200s | 3 attempts | π§ Moderate reliability |
| 5 | 120s | 5 attempts | π‘ Flaky connections |
| 8 | 75s | 8 attempts | β οΈ Very unstable nets |
π Set SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP based on your tolerance for ghost calls:
π― Set SS_SIP_NO_TIMER_REINVITE_INTERVAL based on your risk tolerance:
| Setting | Duration | Risk Level | Use Case |
|---|---|---|---|
| 7200s (default) | 2 hours | β οΈ Medium | Standard VoIP operations |
| 3600s | 1 hour | π§ Low-Medium | Wholesale termination |
| 1800s | 30 minutes | β Low | High-value premium routes |
| 900s | 15 minutes | π‘οΈ Very Low | Maximum protection |
π Hereβs the full reference table combining all session timer parameters from the official VOS3000 2.1.9.07 manual:
| Parameter | Default | Unit | Range | Purpose |
|---|---|---|---|---|
| SS_SIP_SESSION_TTL | 600 | Seconds | β | Session expiry detection interval |
| SS_SIP_SESSION_UPDATE_SEGMENT | 2 | Count | 2β10 | Re-INVITE interval divider |
| SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP | 0 | Seconds | β | Grace period before early hangup |
| SS_SIP_NO_TIMER_REINVITE_INTERVAL | 7200 | Seconds | β | Max call time for non-timer UAs |
β οΈ Even with proper configuration, session timer issues can arise. Here are the most common problems and their fixes:
π Symptom: Active calls are being terminated at exactly the re-INVITE interval.
π‘ Cause: The far-end SIP device does not properly respond to re-INVITE or UPDATE messages. The VOS3000 SIP session timer interprets the lack of response as a dead call.
β Solutions:
π Symptom: CDR records show calls lasting hours beyond actual conversation time.
π‘ Cause: The SIP caller does not support session timers, and SS_SIP_NO_TIMER_REINVITE_INTERVAL is too high.
β Solutions:
π Symptom: High CPU usage on VOS3000 server, excessive SIP signaling traffic.
π‘ Cause: SS_SIP_SESSION_UPDATE_SEGMENT is set too high, causing frequent re-INVITEs.
β Solutions:
π― Follow these best practices to get the most from your VOS3000 SIP session timer configuration:
| Best Practice | Recommendation | Reason |
|---|---|---|
| π― Start with defaults | TTL=600, Segment=2 | Proven balance for most deployments |
| π Monitor CDRs | Check for abnormally long calls weekly | Detects zombie calls early |
| π Lower non-timer limit | Set NO_TIMER to 1800β3600 | Reduces risk from non-RFC 4028 endpoints |
| π Test before production | Verify with SIP debug tools | Avoids unexpected call drops |
| π Verify endpoint support | Check Session-Expires in SIP INVITE | Confirms timer negotiation works |
| π‘οΈ Keep early hangup at 0 | Unless network is very unstable | Immediate cleanup is safer |
π‘ Pro tip: The VOS3000 SIP session timer works hand-in-hand with your max call duration settings. While session timers actively detect dead calls, the max call duration parameter enforces a hard limit on all calls regardless of their state. Configure both for maximum protection.
π‘ The session timer operates within the broader SIP call flow. Understanding how it interacts with other SIP messages is critical:
π± SIP Call Flow with Session Timer: Caller ββββββββββββββββββββ VOS3000 ββββββββββββββββββββ Called Party β β β βββββ INVITE βββββββββββββββββΊβββββ INVITE βββββββββββββββββΊβ β (Session-Expires: 600) β (Session-Expires: 600) β β β β βββββ 200 OK βββββββββββββββββββββ 200 OK βββββββββββββββββ β (Session-Expires: 600) β (Session-Expires: 600) β β β β β ... call in progress ... β β β β β ββ TTL/Segment timer βββ β β β (300s elapsed) β β β ββββββββββββββββββββββββ β β β β βββββ re-INVITE/UPDATE βββββββββββ re-INVITE/UPDATE βββββββΊβ β β β βββββ 200 OK βββββββββββββββββΊβββββ 200 OK βββββββββββββββββ β β β β ... timer resets ... β β β β β If no 200 OK response: β β βββββ BYE βββββββββββββββββββββΊβ βββββ BYE ββββββββββββββββββββ β
π§ For a deeper understanding of how session timers fit into the complete SIP call lifecycle, see our comprehensive SIP call flow guide.
π After configuration, verify that session timers are working correctly:
# Check SIP INVITE for Session-Expires header # This confirms the caller supports session timers INVITE sip:destination@example.com SIP/2.0 Via: SIP/2.0/UDP 192.168.1.100:5060 From: <sip:caller@example.com>;tag=abc123 To: <sip:destination@example.com> Call-ID: session-timer-test@example.com CSeq: 1 INVITE Session-Expires: 600 <-- π Session timer negotiated! Min-SE: 90 <-- π Minimum session interval Contact: <sip:caller@192.168.1.100:5060> Content-Type: application/sdp Content-Length: ... # If no Session-Expires header appears, # the caller does NOT support session timers # VOS3000 will use SS_SIP_NO_TIMER_REINVITE_INTERVAL instead
π Need help debugging SIP signaling? Check our SIP debug guide for step-by-step Wireshark capture instructions.
β±οΈ The default VOS3000 SIP session timer value is 600 seconds (10 minutes), configured via the SS_SIP_SESSION_TTL parameter. This means VOS3000 will attempt to verify call connectivity every 600 seconds divided by the SS_SIP_SESSION_UPDATE_SEGMENT value (default 2), resulting in a re-INVITE every 300 seconds.
π± When a SIP caller does not support the βtimerβ feature (no Session-Expires header in INVITE/200 OK), VOS3000 cannot send re-INVITE or UPDATE messages to verify the call. Instead, it uses the SS_SIP_NO_TIMER_REINVITE_INTERVAL parameter (default: 7200 seconds / 2 hours) as a hard limit. When the call duration exceeds this value, VOS3000 forcibly terminates the call.
β No. The valid range for SS_SIP_SESSION_UPDATE_SEGMENT is 2 to 10. A value of 1 would mean only one attempt to verify the session, which provides no retry capability. The minimum of 2 ensures at least one re-INVITE and one retry opportunity within the TTL period.
π When VOS3000 sends a re-INVITE or UPDATE and receives no 200 OK confirmation within the TTL period, it considers the call finished. VOS3000 then sends a BYE message to terminate the call. If SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP is set to a value greater than 0, VOS3000 will wait that many seconds before sending the BYE, giving the endpoint a brief grace period to recover.
β Yes. The VOS3000 SIP session timer implementation follows RFC 4028 β Session Timers in the Session Initiation Protocol. VOS3000 supports the Session-Expires header, re-INVITE and UPDATE refresh methods, and proper session timer negotiation as defined in the RFC. Refer to the official VOS3000 documentation at vos3000.com for detailed compliance information.
π‘ It depends on your network conditions. The default value of 0 (disabled) is recommended for most deployments because it provides immediate cleanup of dead sessions. If your network experiences occasional momentary packet loss that could cause a re-INVITE response to be delayed by a few seconds, you can set it to 5-10 seconds for a small grace window. Values above 30 seconds are not recommended as they undermine the purpose of session timers.
π‘οΈ Ultra-long bills occur when calls remain in βconnectedβ state after the actual conversation has ended β typically due to network failures, NAT timeouts, or endpoint crashes that prevent proper BYE messages. The VOS3000 SIP session timer prevents this by actively probing the call at regular intervals. If the far-end cannot confirm the session is still alive, VOS3000 terminates it. For non-timer endpoints, the SS_SIP_NO_TIMER_REINVITE_INTERVAL enforces a hard maximum duration. Combined with proper billing system configuration, this effectively eliminates zombie-call billing.
π§ Configuring the VOS3000 SIP session timer correctly is critical for preventing revenue loss from zombie calls and ultra-long bills. If you need expert assistance with your VOS3000 deployment, our team is ready to help.
π¬ WhatsApp: +8801911119966 β Get instant support for VOS3000 SIP session timer configuration, RFC 4028 compliance, and VoIP network optimization.
π Still have questions about the VOS3000 SIP session timer? Reach out on WhatsApp at +8801911119966 β we provide professional VOS3000 installation, configuration, and support services worldwide. π
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
π± WhatsApp: +8801911119966
π Website: www.vos3000.com
π Blog: multahost.com/blog
π₯ Downloads: VOS3000 Downloads
Master VOS3000 SIP resend interval with SS_SIP_RESEND_INTERVAL. Configure exponential backoff retransmission, retry timing, and gateway…
Master VOS3000 SIP NAT keep alive configuration with HELLO message, period, interval, and quantity settings…
Master VOS3000 SIP no timer call duration limit. Configure SS_SIP_NO_TIMER_REINVITE_INTERVAL to prevent runaway calls, protect…
Master VOS3000 SIP authentication retry and timeout settings. Configure SS_SIP_AUTHENTICATION_RETRY and SS_SIP_AUTHENTICATION_TIMEOUT to prevent 401/407…
VOS3000 gateway route prefix billing strips tech prefixes before rate lookup, ensuring accurate billing when…
VOS3000 server hangup CDR recording controls CDR generation when the server initiates call termination, ensuring…