SIP 403 forbidden, VOS3000 QoS configuration, VOS3000 debug trace, VOS3000 SIP session timer, VOS3000 dial plan, VOS3000 routing optimization
VOS3000 SIP session timer is essential for maintaining reliable VoIP calls and preventing โzombie callsโ that waste resources. By implementing RFC 4028 session timers and NAT keep-alive mechanisms, VOS3000 ensures that active calls are properly monitored and terminated calls are detected quickly. This comprehensive guide covers all session timer and keep-alive features based on official VOS3000 2.1.9.07 documentation.
๐ Need help with VOS3000 session timer configuration? WhatsApp: +8801911119966
Reference: VOS3000 2.1.9.07 Manual, Section 4.1.3 (Page 213)
The SIP Session Timer, defined in RFC 4028, provides a mechanism to detect failed calls that would otherwise remain โhungโ in the system. Without session timers, calls that lose one-way audio or have endpoint failures may continue to exist in the system, consuming resources and potentially causing billing errors.
| Problem | Without Session Timer | With Session Timer |
|---|---|---|
| Zombie Calls | Calls remain active indefinitely after endpoint failure | Failed endpoints detected, calls cleaned up |
| Resource Waste | System resources consumed by dead sessions | Resources freed when session expires |
| Billing Errors | Incorrect long-duration billing for dead calls | Accurate call termination timing |
| NAT Issues | NAT bindings expire causing call drops | Keep-alive maintains NAT bindings |
Reference: VOS3000 2.1.9.07 Manual, Section 4.3.5.2 (Page 230-231)
| Parameter | Default | Range | Description |
|---|---|---|---|
| SS_SIP_SESSION_TTL | 600 | seconds | Detecting SIP connected status interval |
| SS_SIP_SESSION_UPDATE_SEGMENT | 2 | 2-10 | SIP timer re-INVITE/UPDATE interval segment |
| SS_SIP_SESSION_TIMEOUT_EARLY_HANGUP | 0 | seconds | Session timer early hangup before timeout |
| SS_SIP_NO_TIMER_REINVITE_INTERVAL | 7200 | seconds | Max conversation time for non-timer SIP caller |
VOS3000 SIP Session Timer Operation:
================================
1. Call Establishment:
- INVITE with Session-Expires header (if supported)
- VOS3000 records session timer requirements
2. Session Refresh:
- Re-INVITE or UPDATE sent at regular intervals
- Interval = SS_SIP_SESSION_TTL / SS_SIP_SESSION_UPDATE_SEGMENT
- Default: 600 / 2 = 300 seconds (5 minutes)
3. Session Monitoring:
- If refresh fails, session is considered dead
- Call is terminated after timeout
- CDR updated with proper end reason
4. Non-Timer Endpoints:
- For SIP endpoints without timer support
- VOS3000 uses SS_SIP_NO_TIMER_REINVITE_INTERVAL
- Default 7200 seconds (2 hours) maximum call duration
Example Flow with SS_SIP_SESSION_TTL = 600:
===========================================
Time 0:00 - Call established
Time 5:00 - Re-INVITE/UPDATE sent (refresh attempt)
Time 5:01 - 200 OK received (refresh successful)
Time 10:00 - Re-INVITE/UPDATE sent
Time 10:01 - 200 OK received
...continues for duration of call
If refresh fails:
Time 10:00 - Re-INVITE/UPDATE sent
Time 10:30 - No response (timeout)
Time 10:30 - Call terminated
Time 10:30 - CDR records "Session timeout"
Reference: VOS3000 2.1.9.07 Manual, Section 4.1.2 (Page 212-213)
NAT keep-alive ensures that NAT bindings remain active for devices behind NAT devices. Without proper keep-alive, incoming calls may fail because the NAT mapping has expired.
| Parameter | Default | Range | Description |
|---|---|---|---|
| SS_SIP_NAT_KEEP_ALIVE_MESSAGE | HELLO | text | Content of NAT keep-alive message |
| SS_SIP_NAT_KEEP_ALIVE_PERIOD | 30 | 10-86400 sec | NAT keep-alive message sending period |
| SS_SIP_NAT_KEEP_ALIVE_SEND_INTERVAL | 500 | ms | Interval between sending keep-alives |
| SS_SIP_NAT_KEEP_ALIVE_SEND_ONE_TIME | 3000 | count | Number of keep-alive messages per batch |
VOS3000 NAT Keep-Alive Mechanism: ================================== Purpose: ======== When devices are behind NAT, the NAT device maintains a mapping table. If no traffic passes through for a period (typically 30-300 seconds), the NAT mapping expires, and incoming calls cannot reach the device. How It Works: ============= 1. Device registers with VOS3000 2. VOS3000 records device IP and port 3. VOS3000 sends periodic keep-alive messages 4. Keep-alive traffic maintains NAT mapping 5. Incoming calls can reach the device Configuration Example: ====================== SS_SIP_NAT_KEEP_ALIVE_MESSAGE = "HELLO" SS_SIP_NAT_KEEP_ALIVE_PERIOD = 30 (seconds) VOS3000 sends "HELLO" to registered devices every 30 seconds. Important Notes: ================ - If SS_SIP_NAT_KEEP_ALIVE_MESSAGE is empty, keep-alive is disabled - Period should be less than NAT device timeout (typically 60 seconds) - For large deployments, adjust SEND_INTERVAL and SEND_ONE_TIME Usage Scenarios: ================ 1. Normal Registration: Device maintains registration via REGISTER 2. Non-REGISTER Devices: VOS3000 sends UDP keep-alive 3. Symmetric NAT: May require media proxy instead
| Scenario | SS_SIP_SESSION_TTL | SS_SIP_NO_TIMER_REINVITE_INTERVAL | NAT_KEEP_ALIVE_PERIOD |
|---|---|---|---|
| Standard VoIP | 600 (10 min) | 7200 (2 hours) | 30 seconds |
| Call Center | 900 (15 min) | 14400 (4 hours) | 20 seconds |
| Wholesale | 600 (10 min) | 0 (disabled) | 30 seconds |
| Mobile/Unstable | 300 (5 min) | 3600 (1 hour) | 15 seconds |
Step-by-Step Session Timer Configuration: ========================================== 1. Navigate to System Parameters: Navigation > Operation management > Softswitch management > Additional settings > System parameter 2. Configure Session Timer: Find: SS_SIP_SESSION_TTL Set: 600 (or desired value in seconds) 3. Configure Update Segment: Find: SS_SIP_SESSION_UPDATE_SEGMENT Set: 2 (refresh interval = TTL/segment) 4. Configure NAT Keep-Alive: Find: SS_SIP_NAT_KEEP_ALIVE_MESSAGE Set: HELLO (or custom message) Find: SS_SIP_NAT_KEEP_ALIVE_PERIOD Set: 30 (seconds between keep-alives) 5. Apply Changes: Click Apply to save configuration 6. Verify Settings: Check CDR for session timeout behavior Monitor for 30-second call drops Important: Changes require softswitch service restart to take effect in some cases.
| Symptom | Possible Cause | Solution |
|---|---|---|
| Calls drop at 30 seconds | NAT binding timeout, SIP ALG issue | Disable SIP ALG, increase NAT keep-alive |
| Calls drop at specific intervals | Session timer negotiation failure | Check session timer support, adjust TTL |
| No incoming calls after idle | NAT binding expired | Enable NAT keep-alive, reduce period |
| Session timer errors in trace | Endpoint doesnโt support RFC 4028 | Use SS_SIP_NO_TIMER_REINVITE_INTERVAL |
| Re-INVITE rejected by endpoint | Endpoint doesnโt support re-INVITE | Try UPDATE method, check endpoint config |
Session Timer Troubleshooting Checklist: ========================================= 1. Check Debug Trace: System > Debug trace > Enable Look for re-INVITE or UPDATE messages Check for 200 OK responses 2. Verify Endpoint Support: - Check if endpoint includes "timer" in Supported header - Look for Session-Expires in INVITE/200 OK - Verify endpoint responds to session refresh 3. Check NAT Configuration: - Verify NAT keep-alive is enabled - Check SS_SIP_NAT_KEEP_ALIVE_PERIOD - Monitor for NAT binding expiration 4. Analyze CDR: - Check termination reason for session timeouts - Look for patterns in call drop timing - Compare with session timer configuration 5. Test Different Scenarios: - Test calls from different networks - Test with different endpoints - Test with/without media proxy Common Fixes: ============= - Increase SS_SIP_SESSION_TTL for longer refresh intervals - Reduce SS_SIP_NAT_KEEP_ALIVE_PERIOD for aggressive keep-alive - Disable SIP ALG on routers - Enable media proxy for NAT scenarios
Understanding the difference between session timer and NAT keep-alive is important for proper configuration:
| Aspect | Session Timer | NAT Keep-Alive |
|---|---|---|
| Purpose | Detect failed calls, prevent zombie calls | Maintain NAT bindings for incoming calls |
| Protocol | SIP re-INVITE/UPDATE | UDP packets or SIP messages |
| Direction | Both directions (refresh negotiation) | Server to client (keep binding active) |
| Default Interval | 600 seconds (10 minutes) | 30 seconds |
| When Active | During active call | During registration period |
| RFC Reference | RFC 4028 | NAT traversal best practices |
VOS3000 uses SS_SIP_NO_TIMER_REINVITE_INTERVAL to limit maximum call duration. This prevents zombie calls even when endpoints donโt support RFC 4028. Set this value based on your business needs (default is 7200 seconds / 2 hours).
30-second call drops are typically caused by NAT binding timeouts, not session timer issues. Check if SIP ALG is enabled on your router (should be disabled), and verify NAT keep-alive is configured correctly with a period less than 30 seconds.
VOS3000 automatically negotiates the refresh method based on endpoint capabilities. UPDATE is generally preferred as it doesnโt affect SDP negotiation. Both methods work for session timer purposes โ VOS3000 handles this automatically.
The default of 600 seconds (10 minutes) works well for most scenarios. For mobile or unstable networks, consider reducing to 300 seconds (5 minutes) for faster detection of failed calls. For stable enterprise environments, 900 seconds (15 minutes) reduces overhead.
Enable debug trace and look for periodic messages matching your SS_SIP_NAT_KEEP_ALIVE_MESSAGE content (default โHELLOโ). You should see these messages at intervals matching SS_SIP_NAT_KEEP_ALIVE_PERIOD.
Need assistance configuring session timers or troubleshooting call drops? Our VOS3000 experts can help optimize your configuration for maximum reliability.
๐ฑ WhatsApp: +8801911119966
Contact us for VOS3000 installation, session timer configuration, NAT troubleshooting, and professional VoIP support services!
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 session timer with RFC 4028. Configure SS_SIP_SESSION_TTL, reinvite intervals, and early hangup…
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…