๐ 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_SEGMENTTTL (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 the VOS3000 clearing report for reliable financial settlement and reconciliation. Learn clearing report configuration, partner settlement, billing reconciliation, and… Read More
Master the VOS3000 analysis report for comprehensive gateway performance monitoring. Learn ASR ACD analysis, gateway quality metrics, route performance evaluation,… Read More
Master VOS3000 bill report for accurate revenue tracking across gateways, phone accounts, and destinations. Learn bill report configuration, revenue analysis,… Read More
This website uses cookies.