VOS3000 LRN Server Configuration Reliable SS_LRN_SERVER_IP PORT Setup
Setting up VOS3000 LRN server configuration with SS_LRN_SERVER_IP and SS_LRN_SERVER_PORT is the foundational step for enabling number portability lookups in your VOS3000 softswitch. These two parameters define the IP address and TCP/UDP port of the external LRN (Local Routing Number) dip server that VOS3000 queries before routing US termination calls. Without a properly configured LRN server connection, your VOS3000 system cannot perform number portability lookups, and all US calls will route based on the dialed number’s original rate center rather than the actual serving carrier. Need assistance? Contact us on WhatsApp: +8801911119966.
The LRN dip server is an external service — typically provided by a specialized NPAC (Number Portability Administration Center) query aggregator — that receives a dialed number query and returns the Local Routing Number identifying the current serving carrier. VOS3000 acts as an LRN client, sending queries to this server and processing the responses to make routing and billing decisions. The SS_LRN_SERVER_IP and SS_LRN_SERVER_PORT parameters, documented in §4.3.5.2 of the softswitch parameters manual, define where VOS3000 sends these queries.
Table of Contents
VOS3000 LRN Server Configuration Parameter Reference
The two primary parameters for VOS3000 LRN server configuration are defined in the softswitch configuration file. These are global parameters that apply to all mapping gateways using Internal LRN query mode.
Parameter
Description
Default / Range
SS_LRN_SERVER_IP
IP address of the external LRN dip server
Empty (must be configured)
SS_LRN_SERVER_PORT
TCP/UDP port of the LRN dip server
Empty (must be configured)
Configuration File
Softswitch parameters (mbx2008.conf)
/etc/vos3000/mbx2008.conf
Manual Section
VOS3000 softswitch parameters reference
§4.3.5.2
Scope
Global (applies to all gateways using Internal LRN)
System-wide
Why an External LRN Server Is Required
VOS3000 does not include a built-in LRN database. The NPAC databases that store number portability records are managed by third-party administrators (such as Neustar/Iconectiv in the US) and are accessed through dedicated LRN query services. VOS3000 must connect to an external LRN dip server that has subscriptions to these NPAC databases. The LRN server receives the dialed number query, performs the NPAC lookup on behalf of VOS3000, and returns the LRN result. This architecture separates the softswitch routing logic from the number portability data management.
Component
Role
Managed By
VOS3000 Softswitch
Sends LRN query, processes response, routes call
VoIP Operator
LRN Dip Server
Receives query, looks up NPAC, returns LRN
LRN Service Provider
NPAC Database
Master number portability records
Iconectiv / Neustar
Serving Carrier Switch
Terminates the call to the subscriber
Termination Carrier
Step-by-Step VOS3000 LRN Server Configuration
Follow these steps to configure SS_LRN_SERVER_IP and SS_LRN_SERVER_PORT in your VOS3000 system. Before starting, obtain the LRN server IP address and port number from your LRN service provider. For configuration help, message us on WhatsApp: +8801911119966.
Place test call to ported number, check CDR for LRN field
How VOS3000 Sends and Processes LRN Lookups
When a call arrives at a mapping gateway with Internal LRN query mode enabled, VOS3000 initiates an LRN lookup to the configured server. The softswitch sends a query containing the dialed number to the SS_LRN_SERVER_IP on the SS_LRN_SERVER_PORT. The LRN server processes the query against the NPAC database and returns the LRN for that number. VOS3000 then uses the returned LRN for prefix matching in the rate table and for gateway routing decisions. The entire LRN dip typically adds 20-100 milliseconds to call setup time depending on network latency to the LRN server. For understanding the broader call flow, see our VOS3000 SIP call flow guide.
Lookup Phase
Action
Typical Duration
Query Send
VOS3000 sends dialed number to LRN server
1-5 ms (local) / 10-30 ms (remote)
Server Processing
LRN server queries NPAC database
5-50 ms
Response Receive
VOS3000 receives LRN response
1-5 ms (local) / 10-30 ms (remote)
Routing Decision
VOS3000 uses LRN for rate/gateway lookup
1-5 ms
LRN Server Connectivity Requirements
For VOS3000 LRN server configuration to work reliably, the VOS3000 softswitch server must have network connectivity to the LRN dip server on the specified IP and port. Firewall rules must allow outbound connections from the VOS3000 server to SS_LRN_SERVER_IP on SS_LRN_SERVER_PORT. The LRN service provider will typically specify whether the connection uses TCP or UDP and whether TLS encryption is required. Network latency between VOS3000 and the LRN server should be minimized to avoid adding excessive delay to call setup. (VOS3000 LRN Server Configuration)
Requirement
Specification
Notes
Network Access
Outbound TCP/UDP to LRN server
Firewall must allow specified port
Latency
Under 50ms round-trip recommended
Higher latency increases PDD
TLS Support
Depends on LRN provider
Some providers require encrypted connections
Service Availability
99.99% uptime SLA recommended
LRN downtime impacts all US calls
Troubleshooting LRN Server Connection Issues
When VOS3000 LRN server configuration problems occur, the most common symptom is that LRN lookups fail or timeout, causing calls to fall back to dialed-number routing. For deeper troubleshooting, check our CDR billing discrepancy guide and call termination reasons reference.
Problem
Likely Cause
Solution
Connection refused
Wrong IP or port in SS_LRN_SERVER_IP/PORT
Verify IP and port with LRN provider
Connection timeout
Firewall blocking or network issue
Check firewall rules, test with telnet
LRN queries return empty
LRN server subscription issue
Contact LRN service provider
High PDD after LRN enable
High latency to LRN server
Use closer LRN server or reduce timeout
Config not taking effect
Service not restarted after change
Restart vos3000 service
Related Resources (VOS3000 LRN Server Configuration)
Frequently Asked Questions About VOS3000 LRN Server Configuration
What is SS_LRN_SERVER_IP in VOS3000?
SS_LRN_SERVER_IP is a VOS3000 softswitch parameter that specifies the IP address of the external LRN (Local Routing Number) dip server. When a mapping gateway is configured for Internal LRN query mode, VOS3000 uses this IP address to connect to the LRN server and send number portability queries. This parameter is defined in the softswitch configuration file (mbx2008.conf) under section §4.3.5.2 of the VOS3000 manual. It must be set to the IP address provided by your LRN service provider.
What port should I use for SS_LRN_SERVER_PORT?
The port number for SS_LRN_SERVER_PORT depends on your LRN service provider’s configuration. Common ports include 8443 for HTTPS-based LRN queries, 5060 for SIP-based queries, or custom ports specified by the provider. You should use the exact port number provided by your LRN service provider. Never guess or use default ports without confirming with the provider, as incorrect port configuration will cause all LRN queries to fail. (VOS3000 LRN Server Configuration)
Do I need to restart VOS3000 after changing LRN server settings?
Yes, changes to SS_LRN_SERVER_IP and SS_LRN_SERVER_PORT require a restart of the VOS3000 softswitch service to take effect. These parameters are read during softswitch initialization and are not reloaded dynamically. Use the command service vos3000 restart after making changes to the configuration file. Always schedule restarts during low-traffic periods to minimize call disruption.
Can VOS3000 connect to multiple LRN servers for redundancy?
The standard SS_LRN_SERVER_IP parameter supports a single LRN server endpoint. For high-availability deployments, operators typically configure a load balancer or DNS round-robin in front of multiple LRN server instances, and point SS_LRN_SERVER_IP to the virtual IP of the load balancer. This provides redundancy at the infrastructure level without requiring VOS3000 to manage multiple LRN connections directly. Some advanced LRN service providers offer their own failover endpoints.
How do I verify the LRN server connection is working?
To verify the LRN server connection, first test network connectivity using telnet SS_LRN_SERVER_IP SS_LRN_SERVER_PORT from the VOS3000 server. If the connection succeeds, place a test call to a known ported US number and inspect the CDR record. A working LRN configuration will show the LRN value in the CDR alongside the dialed number. If the CDR shows no LRN field or routing appears incorrect, check your softswitch logs for LRN query errors.
What protocol does VOS3000 use for LRN queries?
The protocol used for LRN queries depends on the LRN service provider and the configured SS_LRN_SERVER_PORT. Some providers use TCP-based proprietary protocols, while others use SIP-based queries or HTTP/HTTPS REST APIs. VOS3000 supports the query format specified by the LRN server it connects to. The specific protocol details and query format should be obtained from your LRN service provider documentation.
Get Professional VOS3000 LRN Server Setup
Configuring VOS3000 LRN server settings correctly is essential for accurate US termination routing. Incorrect SS_LRN_SERVER_IP or PORT values will prevent LRN lookups from functioning, causing all ported US numbers to be misrouted. Our team specializes in VOS3000 number portability configurations and can help you integrate with any LRN service provider. (VOS3000 LRN Server Configuration)
Contact us on WhatsApp: +8801911119966
From initial LRN server setup to troubleshooting existing configurations and optimizing query performance, we provide comprehensive support. Reach out today at +8801911119966 and ensure your VOS3000 system delivers accurate US termination routing.
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
VOS3000 Server End Reasons Definitive 25-Code Reference Guide
Understanding VOS3000 server end reasons is essential for any VoIP operator who needs to diagnose call failures, resolve billing disputes, and improve overall network quality. VOS3000 records 25 distinct server-side end reason codes in its CDRs, each representing a different cause for call termination as observed from the softswitch perspective. These codes go beyond simple SIP response codes or Q.850 cause values — they represent the VOS3000 internal decision for why a call ended, providing the most granular insight into call lifecycle events. Need help analyzing your CDRs? Contact us on WhatsApp: +8801911119966.
Unlike SIP response codes (which are protocol-level) or Q.850 cause codes (which are network-level), VOS3000 server end reasons are application-level codes generated by the softswitch itself. They capture scenarios that are unique to the VOS3000 platform, such as billing-related terminations, route selection failures, and account management events. By analyzing these codes across your CDR data, you can identify systemic issues affecting ASR, pinpoint billing discrepancies, and understand exactly why calls fail at the softswitch level.
Table of Contents
Complete VOS3000 Server End Reasons Code Table
The following table lists all 25 VOS3000 server-side end reason codes as documented in §4.5 of the administration manual. Each code has a specific meaning that maps to an internal VOS3000 decision point in the call processing pipeline.
Code
End Reason
Category
1
Normal Clearing
Normal
2
User Busy
Normal
3
No Answer
Normal
4
Unallocated Number
Number Error
5
Network Congestion
Network
6
Route Not Found
Routing
7
Rate Not Found
Billing
8
Balance Insufficient
Billing
9
Account Expired
Account
10
Account Disabled
Account
11
Caller Hangup
Normal
12
Callee Hangup
Normal
13
Server Forced Release
System
14
Session Timeout
Timeout
15
Media Timeout
Timeout
16
Authentication Failed
Security
17
Unauthorized IP
Security
18
Concurrent Limit Exceeded
Capacity
19
CPS Limit Exceeded
Capacity
20
Blacklist Match
Security
21
Gateway Unavailable
Routing
22
No Available Route
Routing
23
Call Rejected
Network
24
Prepaid Duration Exceeded
Billing
25
Service Not Subscribed
Account
End Reason Categories and Severity Classification
The 25 VOS3000 server end reasons can be grouped into six functional categories. Understanding these categories helps operators quickly identify whether call failures are due to billing issues, routing problems, security blocks, or normal call completion events. For more on how these codes affect your quality metrics, see our VOS3000 ASR ACD analysis guide.
Category
Codes
Impact Level
Action Required
Normal
1, 2, 3, 11, 12
Low
No action needed
Routing
6, 21, 22
High
Check rate table and gateway config
Billing
7, 8, 24
High
Review rates and account balances
Account
9, 10, 25
Medium
Verify account status and subscriptions
Security
16, 17, 20
Critical
Investigate unauthorized access attempts
Capacity/Timeout
5, 14, 15, 18, 19
Medium-High
Scale resources or adjust limits
Common End Reasons and Their Troubleshooting Steps
The most frequently encountered VOS3000 server end reasons in production environments typically fall into a handful of codes. Understanding what each means and how to address it is critical for maintaining healthy ASR and ACD metrics. For detailed SIP-level troubleshooting, see our VOS3000 SIP debug guide.
Code
End Reason
Common Cause
Resolution
6
Route Not Found
No matching prefix in route table
Add prefix to routing configuration
7
Rate Not Found
Dialed prefix not in rate table
Add rate entry for missing prefix
8
Balance Insufficient
Prepaid account depleted
Recharge account balance
22
No Available Route
All gateways busy or offline
Add more gateways or check existing
15
Media Timeout
No RTP received after call setup
Check NAT/firewall, media proxy settings
End Reasons and Billing Impact Analysis
Certain VOS3000 server end reasons directly affect billing calculations. Code 8 (Balance Insufficient) and Code 24 (Prepaid Duration Exceeded) are billing-driven terminations initiated by the VOS3000 billing engine. Code 7 (Rate Not Found) means the call was never rated and generates no revenue. Understanding which end reasons produce billable vs non-billable CDRs is essential for revenue assurance. For more on billing configurations, see our VOS3000 billing system guide.
End Reason
CDR Generated
Billable
Billing Mode Code
Normal Clearing (1)
Yes
Yes
0 or 1
Rate Not Found (7)
Yes
No
-1
Balance Insufficient (8)
Yes
No
-1
Prepaid Duration Exceeded (24)
Yes
Yes (partial)
1
Route Not Found (6)
Yes
No
-1
How End Reasons Map to SIP and H.323 Codes
VOS3000 server end reasons are internal to the platform, but they often have corresponding SIP response codes or Q.850 cause codes in the signaling layer. Understanding these mappings helps correlate CDR end reasons with protocol-level traces captured by tools like Wireshark or tcpdump. For protocol-level analysis, message us on WhatsApp: +8801911119966.
Frequently Asked Questions About VOS3000 Server End Reasons
What are VOS3000 server end reasons?
VOS3000 server end reasons are 25 internal codes that the softswitch records in CDRs to indicate why a call was terminated from the server’s perspective. These codes cover normal call completion (like user hangup and normal clearing), routing failures (like route not found and no available route), billing issues (like balance insufficient and rate not found), security events (like authentication failed and unauthorized IP), and system-level terminations (like server forced release and session timeout). They are documented in §4.5 of the VOS3000 administration manual.
How do server end reasons differ from SIP response codes?
VOS3000 server end reasons are application-level codes generated by the softswitch itself, while SIP response codes are protocol-level status indicators defined in RFC 3261. A single SIP response code like 503 Service Unavailable could map to multiple VOS3000 end reasons depending on the internal context — it could be Network Congestion (code 5), No Available Route (code 22), or Gateway Unavailable (code 21). Server end reasons provide more granular insight into the VOS3000 internal decision process than SIP codes alone.
Which end reasons indicate billing problems?
The primary billing-related end reasons are Code 7 (Rate Not Found — no matching rate entry), Code 8 (Balance Insufficient — prepaid account depleted), and Code 24 (Prepaid Duration Exceeded — call ended because maximum allowed duration was reached). These codes directly indicate that billing engine decisions terminated the call. High volumes of code 7 suggest missing rate table entries, while high code 8 volumes indicate accounts running out of balance frequently.
How can I analyze end reasons across my CDR data?
You can analyze VOS3000 server end reasons by querying the CDR database and grouping records by end reason code. This reveals the distribution of call termination causes and helps identify systemic issues. For example, if code 22 (No Available Route) dominates, you need more gateway capacity. If code 7 (Rate Not Found) is frequent, you have gaps in your rate tables. Use the VOS3000 CDR query tools or export CDRs to an external analytics platform for detailed analysis.
What does Server Forced Release (code 13) mean?
Code 13 (Server Forced Release) indicates that the VOS3000 softswitch actively terminated the call for an internal reason, such as a system-level resource constraint, administrative intervention, or a forced disconnect triggered by a monitoring rule. Unlike timeout-based terminations, Server Forced Release is an active decision by the softswitch to end the call. Investigating the system logs around the time of the CDR can reveal the specific trigger for the forced release.
Are all 25 end reason codes used in both SIP and H.323 calls?
Yes, the 25 VOS3000 server end reason codes are protocol-independent and apply to both SIP and H.323 calls. The same internal end reason code is recorded in the CDR regardless of the signaling protocol used. However, the corresponding protocol-level codes differ — a SIP call with end reason 2 (User Busy) will show 486 Busy Here in the SIP layer, while an H.323 call with the same end reason will show Q.850 cause code 17. The server end reason provides a unified view across both protocols.
Need Expert VOS3000 CDR Analysis?
Analyzing VOS3000 server end reasons across millions of CDRs requires both technical expertise and the right analytical approach. Our VOS3000 specialists can help you build CDR analysis workflows, identify the root causes of call failures, and optimize your routing and billing configurations to improve ASR and reduce revenue leakage.
Contact us on WhatsApp: +8801911119966
Whether you need help interpreting end reason distributions, troubleshooting high failure rates, or building automated CDR monitoring dashboards, our team is here to assist. Reach out today at +8801911119966 and take control of your VOS3000 call quality.
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
VOS3000 H323 Q850 Cause Codes Comprehensive 60-Plus Code Reference
Mastering VOS3000 H323 Q850 cause codes is indispensable for any VoIP operator who runs H.323 trunks and needs to analyze call failures, troubleshoot interconnect issues, and assess trunk quality from CDR data. The Q.850 cause codes are ITU-T standard values carried in H.323 Release Complete messages that indicate the specific reason for call termination. VOS3000 records these codes in H.323 CDRs, giving operators the most detailed insight into why calls fail at the network level. This reference covers all 60+ Q.850 cause codes you will encounter in VOS3000 H.323 deployments. Need help analyzing your H.323 CDRs? Contact us on WhatsApp: +8801911119966.
The Q.850 specification, defined by the ITU-T in Recommendation Q.850, provides a standardized set of cause codes originally designed for ISDN DSS1 signaling and later adopted by H.323 for call termination reporting. Each cause code includes a numeric value, a textual description, and a diagnostic class. When an H.323 call terminates, the releasing party includes a Q.850 cause value in the Release Complete message, and VOS3000 captures this value in the CDR for post-call analysis. (VOS3000 H323 Q850 Cause)
Table of Contents
Q850 Cause Code Categories (VOS3000 H323 Q850 Cause)
The 60+ Q.850 cause codes are organized into several categories based on the originating event class. Understanding the category helps narrow down the troubleshooting scope before diving into the specific code.
Code Range
Category
Typical Source
1-9
Normal Event
Endpoint / subscriber action
10-19
Resource Unavailable
Network or gateway resource limits
20-29
Service/Option Not Available
Service incompatibility or restriction
30-39
Service/Option Not Implemented
Feature not supported by endpoint
40-49
Invalid Message
Protocol error or invalid call setup
50-59
Protocol Error
Signaling layer malfunction
96-127
Interworking / Vendor Specific
Interoperability or vendor extensions
Most Common Q850 Cause Codes in VOS3000 CDRs
In production VOS3000 H.323 environments, a small subset of Q.850 codes accounts for the vast majority of CDR records. The following table lists the most frequently encountered codes with their descriptions and typical resolution approaches. (VOS3000 H323 Q850 Cause)
Code
Description
Frequency
Action
16
Normal Call Clearing
Very High
No action — normal hangup
17
User Busy
High
Normal — callee was busy
18
No User Responding
High
Check alerting timeout settings
21
Call Rejected
Medium
Investigate rejection reason at callee side
27
Destination Out of Order
Medium
Callee switch is down — contact carrier
34
No Circuit/Channel Available
Medium
Add capacity or switch gateway
38
Network Out of Order
Low-Medium
Network issue — check carrier status
42
Switching Equipment Congestion
Medium
Reduce traffic or add alternate routes
Full Q850 to SIP Response Code Mapping
When VOS3000 performs H.323 to SIP protocol translation, Q.850 cause codes are mapped to corresponding SIP response codes. This mapping is essential for understanding cross-protocol call flows and for correlating H.323 CDR data with SIP-side traces. For detailed protocol configuration, see our VOS3000 DTMF configuration guide.
Q.850 Code
Description
SIP Mapping
1
Unallocated Number
404 Not Found
16
Normal Call Clearing
200 OK (BYE)
17
User Busy
486 Busy Here
18
No User Responding
408 Request Timeout
19
No Answer from User
480 Temporarily Unavailable
21
Call Rejected
603 Decline
27
Destination Out of Order
502 Bad Gateway
34
No Circuit Available
503 Service Unavailable
42
Switching Equipment Congestion
503 Service Unavailable
44
Requested Circuit Not Available
503 Service Unavailable
102
Recovery on Timer Expiry
408 Request Timeout
Additional Q850 Codes Encountered in H.323 Deployments
Beyond the most common codes, several additional Q.850 values appear regularly in VOS3000 H.323 CDRs. These codes often indicate more specific network conditions or interop issues. For more on H.323 protocol parameters, see our VOS3000 architecture overview. For direct support, message us on WhatsApp: +8801911119966.
Code
Description
Typical Scenario
3
No Route to Destination
Prefix not provisioned in carrier switch
22
Number Changed
Callee number has been reassigned
28
Invalid Number Format
Dialed digits not in valid format
31
Normal Unspecified
Generic clearing without specific cause
41
Temporary Failure
Transient network condition
88
Incompatible Destination
Codec or capability mismatch
Using Q850 Codes for Trunk Quality Assessment
Analyzing the distribution of Q.850 cause codes across your H.323 trunks provides a powerful quality assessment metric. A healthy trunk should show predominantly code 16 (Normal Clearing) with minimal congestion or failure codes. High percentages of codes 34, 38, or 42 indicate capacity or network problems that require immediate attention. (VOS3000 H323 Q850 Cause)
Frequently Asked Questions About VOS3000 H323 Q850 Cause Codes
What is Q.850 cause code 16 in VOS3000?
Q.850 cause code 16 means Normal Call Clearing — the call was terminated by one of the parties through normal hangup procedures. This is the most common cause code in VOS3000 H.323 CDRs and indicates a successfully completed call lifecycle. Code 16 calls are typically billable (depending on duration and billing mode) and do not indicate any problem with the call or the network.
How do Q.850 codes differ from VOS3000 server end reasons?
Q.850 cause codes are network-level standard codes from the ITU-T that indicate why a call was terminated from the signaling perspective, while VOS3000 server end reasons are application-level codes generated by the VOS3000 softswitch itself. Q.850 codes come from the H.323 protocol layer and reflect the network or endpoint reason for termination, while server end reasons capture the VOS3000 internal decision. A single call will have both a Q.850 code (from the H.323 signaling) and a server end reason (from the VOS3000 billing/routing engine).
What does Q.850 code 42 mean and how do I fix it?
Q.850 code 42 means Switching Equipment Congestion — the carrier’s switch is overloaded and cannot process the call. This typically occurs during high-traffic periods when the terminating carrier lacks sufficient capacity. To address this, you can add alternate gateway routes for the affected destination, implement traffic shaping to reduce peak loads, or contact the carrier to increase capacity allocation. Persistent code 42 errors on a specific route indicate you need to either distribute traffic across more carriers or negotiate higher capacity limits.
How are Q.850 codes mapped to SIP responses in VOS3000?
VOS3000 automatically maps Q.850 cause codes to corresponding SIP response codes during H.323-to-SIP protocol translation. For example, Q.850 code 17 (User Busy) maps to SIP 486 Busy Here, code 34 (No Circuit Available) maps to SIP 503 Service Unavailable, and code 1 (Unallocated Number) maps to SIP 404 Not Found. This mapping follows the guidelines in RFC 3398 and ITU-T Q.1912.5 for ISUP-to-SIP interworking, ensuring consistent error reporting across protocols.
Can I customize Q.850 to SIP mapping in VOS3000?
The default Q.850 to SIP mapping in VOS3000 follows standard interworking rules and is not directly configurable on a per-code basis. However, you can use the Replace Failed Reason feature in the mapping gateway settings to override specific SIP response codes with alternative values. This allows you to change how certain H.323 termination causes are presented to downstream SIP gateways, which can affect failover behavior and routing decisions.
What Q.850 code indicates a codec incompatibility?
Q.850 code 88 (Incompatible Destination) typically indicates a codec or capability mismatch between the calling and called parties. When VOS3000 cannot negotiate a common codec with the H.323 gateway, the call fails with code 88. To resolve this, verify that both endpoints support at least one common codec and that the VOS3000 codec priority list includes codecs supported by the gateway. You may need to enable transcoding if the endpoints have no codec overlap.
Expert VOS3000 H.323 Troubleshooting Support (VOS3000 H323 Q850 Cause)
Analyzing VOS3000 H323 Q850 cause codes across your CDR data is the fastest way to identify trunk quality issues and interconnect problems. Our team has deep experience with H.323 deployments and can help you build systematic CDR analysis workflows that turn raw Q.850 data into actionable insights.
Contact us on WhatsApp: +8801911119966
From H.323 gateway configuration to Q.850 code analysis and cross-protocol troubleshooting, we provide comprehensive VOS3000 support. Reach out today at +8801911119966 and optimize your H.323 trunk performance. (VOS3000 H323 Q850 Cause)
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
Understanding VOS3000 SIP response codes CDR data is fundamental for any VoIP operator who needs to diagnose call failures, optimize routing, and maintain high call completion rates. SIP response codes are 3-digit status indicators defined in RFC 3261 that every SIP element generates during call signaling. VOS3000 records the final SIP response code in each CDR, providing a direct view into why calls succeeded or failed at the protocol level. This reference covers all 30+ SIP response codes you will encounter in VOS3000 CDRs, organized by class with troubleshooting guidance for each. Need help analyzing your CDR data? Contact us on WhatsApp: +8801911119966.
SIP response codes follow a class-based structure where the first digit indicates the response category. VOS3000 CDRs capture the final SIP response that determined the call outcome — for successful calls this is typically 200 OK, while failed calls record the error response that caused termination. By analyzing the distribution of SIP response codes across your CDR data, you can identify routing problems, capacity issues, and configuration errors that affect your ASR and revenue.
Table of Contents
SIP Response Code Classes Overview
The six SIP response code classes each represent a different category of signaling outcome. Understanding the class structure is the first step in interpreting VOS3000 SIP response codes CDR data efficiently.
Class
Category
Meaning
CDR Impact
1xx
Provisional
Call in progress, not final
Rarely recorded as final CDR code
2xx
Success
Call successfully established
Billable call — 200 OK most common
3xx
Redirection
Call redirected to another URI
May or may not result in billable call
4xx
Client Error
Request failed due to client issue
Non-billable — configuration or routing problem
5xx
Server Error
Server failed to fulfill request
Non-billable — upstream or capacity issue
6xx
Global Failure
Call rejected at all locations
Non-billable — should stop failover
4xx Client Error Codes in VOS3000 CDRs
4xx response codes indicate that the request contained bad syntax or could not be fulfilled at the client side. These are the most actionable codes because they often point to configuration problems that operators can fix directly.
Code
Name
Common Cause in VOS3000
Resolution
400
Bad Request
Malformed SIP message from VOS3000
Check SIP header settings and dial plan
401
Unauthorized
Authentication credential mismatch
Verify username/password on gateway
403
Forbidden
IP not authorized, account blocked
Check IP whitelist, account status
404
Not Found
Dialed number not routable
Add prefix to routing table
407
Proxy Auth Required
Outbound proxy requires authentication
Configure proxy auth credentials
408
Request Timeout
No response from gateway within timeout
Check gateway availability and network
480
Temporarily Unavailable
Callee offline or DND active
Check callee registration status
486
Busy Here
Callee line is busy
Normal — enable busy stop switch
487
Request Terminated
Call cancelled by originator
Check for early hangup or timeout
5xx Server Error Codes in VOS3000 CDRs
5xx codes indicate that the server side failed to process the request. These are often outside your direct control but understanding them helps identify which upstream carriers are experiencing problems. For more on failover behavior, see our VOS3000 call routing guide.
Code
Name
Meaning
Action
500
Server Internal Error
Gateway encountered unexpected error
Contact gateway vendor or check logs
502
Bad Gateway
Upstream gateway returned invalid response
Check upstream gateway health
503
Service Unavailable
Gateway overloaded or in maintenance
Route to alternate gateway
504
Server Timeout
No response from upstream server
Check network path to upstream
6xx Global Failure Codes
6xx response codes are global failures that indicate the call should not be retried at any other location. When VOS3000 receives a 6xx response, it should stop failover switching and record the code in the CDR. Understanding these codes helps prevent unnecessary gateway switching. For failover configuration, see our VOS3000 routing optimization guide. For assistance, message us on WhatsApp: +8801911119966.
Code
Name
Meaning
Failover Behavior
600
Busy Everywhere
All locations report busy
Stop switching
603
Decline
Call explicitly rejected
Stop switching
604
Does Not Exist Anywhere
Number does not exist globally
Stop switching
606
Not Acceptable
Session description not acceptable
Check codec negotiation
SIP Response Codes and ASR Correlation
Analyzing VOS3000 SIP response codes CDR data alongside ASR metrics reveals which response codes are dragging down your call completion rates. A healthy deployment should show 200 OK dominating the CDR distribution, with error codes representing a small percentage of total calls.
Frequently Asked Questions About VOS3000 SIP Response Codes CDR
What SIP response code indicates a successful call in VOS3000?
In VOS3000 CDRs, a SIP 200 OK response code indicates that the call was successfully established and answered. This is the standard success response defined in RFC 3261 that confirms the INVITE was accepted and a media session was established. All calls with 200 OK as the final response are typically billable (assuming they have non-zero duration), and a high percentage of 200 OK responses relative to total calls indicates healthy ASR performance.
What does SIP 503 Service Unavailable mean in my CDRs?
SIP 503 Service Unavailable in VOS3000 CDRs means the terminating gateway or server is currently unable to handle the call due to overload, maintenance, or capacity constraints. This is one of the most impactful error codes because it directly reduces ASR and often triggers gateway failover. If 503 responses are frequent from a specific gateway, that gateway may be under-provisioned or experiencing issues. You can use the Replace Failed Reason feature to change how VOS3000 handles 503 responses for failover decisions.
How do I reduce 408 Request Timeout errors?
SIP 408 Request Timeout errors indicate that VOS3000 sent an INVITE but did not receive a response within the configured timeout period. To reduce these errors, first verify that the destination gateway is online and reachable. Then check network connectivity and latency between VOS3000 and the gateway. You can also adjust the INVITE timeout settings in the softswitch parameters, but increasing timeouts too much will raise PDD for all calls. Also check whether the gateway is silently dropping packets due to firewall or NAT issues.
Why am I seeing 403 Forbidden in my H.323 gateway CDRs?
SIP 403 Forbidden appears when VOS3000 rejects the call because the source IP address is not authorized, the account is disabled, or a specific policy prevents the call. In the context of H.323-to-SIP translation, this code may appear when VOS3000 sends the call to a SIP gateway that does not recognize the originating credentials. Check the mapping gateway authentication settings, verify that the source IP is in the allowed list, and confirm that the account is active and not suspended.
What is the difference between 486 Busy and 600 Busy Everywhere?
SIP 486 Busy Here means a specific endpoint or gateway reported busy, but other locations might still accept the call — VOS3000 can continue failover to alternate gateways. SIP 600 Busy Everywhere is a global failure indicating that all known locations for the called number are busy, and VOS3000 should stop trying alternate routes. The key difference is failover behavior: 486 allows continued switching (unless busy stop switch is enabled), while 600 always terminates the call attempt.
Can I change how VOS3000 handles specific SIP response codes?
Yes, VOS3000 provides the Replace Failed Reason feature in mapping gateway settings that allows you to override how specific SIP response codes are handled. For example, you can change a 503 Service Unavailable to a 486 Busy Here to prevent aggressive failover that wastes CPS capacity. This feature is configured per mapping gateway and affects both routing behavior and the response code recorded in the CDR. See our termination reason replacement guide for details.
Get Expert VOS3000 CDR Analysis Support
Interpreting VOS3000 SIP response codes CDR data correctly is the key to identifying and resolving call quality issues quickly. Our VOS3000 specialists can help you build systematic CDR analysis workflows, set up automated alerting for problematic response code patterns, and optimize your routing configurations to maximize ASR.
Contact us on WhatsApp: +8801911119966
From CDR analysis to routing optimization and gateway troubleshooting, we provide comprehensive VOS3000 support. Reach out today at +8801911119966 and take control of your call quality metrics.
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
📡 How does your VOS3000 softswitch keep track of how many simultaneous calls each routing gateway is handling? How does it know when a gateway has reached its capacity limit and should stop receiving new calls? The answer lies in the SIP PUBLISH method — and the timer that controls it is SS_SIP_PUBLISH_EXPIRE, the parameter that governs the VOS3000 SIP publish expire interval. 🎯
🔄 The SIP PUBLISH method, defined in RFC 3903, allows VOS3000 to broadcast gateway status information — including current concurrency levels — across the softswitch cluster. The VOS3000 SIP publish expire parameter sets how long each published status remains valid before it must be refreshed. With a default of 300 seconds (5 minutes) and a configurable range of 30 to 7200 seconds, this timer directly impacts how quickly the softswitch detects gateway state changes and enforces concurrency limits. Combined with the per-gateway Allow Publish checkbox, this creates a powerful system for automatic gateway concurrency control. ⚙️
🔧 All data in this guide is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Table 4-3) and the Routing Gateway Additional Settings documentation — no fabricated values, no guesswork. For expert assistance with your VOS3000 deployment, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Is VOS3000 SIP Publish Expire?
⏱️ The VOS3000 SIP publish expire is the default timeout duration (in seconds) for routing gateway public status updates sent via the SIP PUBLISH method. This parameter is governed by SS_SIP_PUBLISH_EXPIRE with a default value of 300 seconds and a configurable range of 30 to 7200 seconds. 📋
📌 According to the official VOS3000 V2.1.9.07 Manual, Table 4-3:
Attribute
Value
📌 Parameter Name
SS_SIP_PUBLISH_EXPIRE
🔢 Default Value
300
📐 Range
30–7200 seconds
📝 Description
Routing gateway public update timeout default duration
💡 Key insight: The word “public” in the manual description refers to the broadcast nature of the PUBLISH method — VOS3000 publicly updates the routing gateway’s status (including active call count) so that the softswitch cluster can make informed routing decisions. When the publish expire timer runs out without a refresh, the published state information is considered stale and the softswitch may lose accurate concurrency data for that gateway. 📡
🎯 Why VOS3000 SIP Publish Expire Matters
⚠️ Without a properly configured publish expire timer, several critical problems can arise in your VOS3000 deployment:
🔄 Stale gateway status: Too-long expire intervals mean the softswitch relies on outdated concurrency data, potentially routing calls to overloaded gateways
📡 Excessive network overhead: Too-short expire intervals cause frequent PUBLISH messages, consuming bandwidth and processing resources across the cluster
🛡️ Concurrency overshoot: If a published state expires before a refresh arrives, the softswitch may underestimate active calls and send more traffic than the gateway can handle
📊 Routing inefficiency: Inaccurate concurrency data leads to poor call routing decisions, with traffic unevenly distributed across gateways
📞 Call quality degradation: Overloaded gateways experience audio issues, increased latency, and call drops when concurrency limits are not properly enforced
⚙️ How the SIP PUBLISH Method Works in VOS3000
🔄 The SIP PUBLISH method (RFC 3903) is fundamentally different from REGISTER, INVITE, or other common SIP methods. While REGISTER associates an address-of-record with a Contact URI, and INVITE establishes a dialog, PUBLISH carries event state information that other entities in the network can subscribe to or reference. In VOS3000, this mechanism is used specifically for gateway concurrency reporting. 📡
📊 Key behavior: VOS3000 sends a PUBLISH message with the Expires header set to the value of SS_SIP_PUBLISH_EXPIRE. Before this timer expires, VOS3000 should send a refreshed PUBLISH with updated concurrency data. If the refresh does not arrive before expiry, the published state is removed, and the softswitch no longer has authoritative concurrency information for that gateway. This is why the expire interval must be carefully tuned — too short means excessive refresh traffic; too long means stale data persists. ⚖️
📋 Per-Gateway Allow Publish Setting
🔑 The VOS3000 SIP publish expire parameter is a global default, but the PUBLISH method is only activated on a per-gateway basis. Each routing gateway has an Allow Publish checkbox that must be explicitly enabled for that gateway to participate in the publish-based concurrency control system. 🛠️
📌 According to the VOS3000 Routing Gateway configuration documentation:
This protocol can make routing gateway control concurrency automatically
💡 How it works: When Allow Publish is checked for a specific routing gateway, VOS3000 uses the SIP PUBLISH method to broadcast that gateway’s status and concurrency information. This enables the softswitch to automatically track how many concurrent calls are active on the gateway and enforce call limits without manual intervention. When unchecked, VOS3000 does not publish status for that gateway, and concurrency tracking relies on other mechanisms. 📡
🔗 Allow Publish — Gateway Concurrency Flow
🔄 Gateway Concurrency Control — With vs. Without Allow Publish:
┌─────────────────────────────────────────────────────────────────────┐
│ ✅ Allow Publish = CHECKED │
│ │
│ VOS3000 ──PUBLISH──► Gateway Status Broadcast │
│ │ │
│ ├── Active calls tracked in real-time via PUBLISH │
│ ├── Concurrency limit enforced automatically │
│ ├── New calls routed based on published capacity data │
│ └── Expire timer: SS_SIP_PUBLISH_EXPIRE (300s default) │
│ │
├─────────────────────────────────────────────────────────────────────┤
│ ❌ Allow Publish = UNCHECKED │
│ │
│ VOS3000 ──────────► No PUBLISH for this gateway │
│ │ │
│ ├── No automatic concurrency tracking via PUBLISH │
│ ├── Concurrency enforcement via other mechanisms only │
│ ├── Call limits may rely on manual configuration │
│ └── Risk of over-assignment if other limits not set │
└─────────────────────────────────────────────────────────────────────┘
📞 For detailed guidance on configuring routing gateways, see our VOS3000 gateway configuration and routing mapping guide. Need help setting up gateway concurrency control? Reach us on WhatsApp at +8801911119966. 📱
📊 VOS3000 SIP Publish Expire — Range Analysis
⏱️ The configurable range for SS_SIP_PUBLISH_EXPIRE spans from 30 to 7200 seconds (2 hours). Each segment of this range has distinct implications for gateway concurrency management: 📋
Expire Value
Refresh Frequency
Data Freshness
Network Load
Best For
30s (minimum)
Every 30 seconds
🟢 Very Fresh
🔴 Higher
⚡ High-capacity gateways with rapid traffic changes
60s
Every minute
🟢 Fresh
🟡 Moderate
📊 Busy wholesale gateways
300s (default)
Every 5 minutes
🟡 Moderate
🟢 Low
🏢 Standard deployments with stable traffic
600s (10 min)
Every 10 minutes
🟡 Acceptable
🟢 Very Low
📡 Low-traffic gateway links
1800s (30 min)
Every 30 minutes
🔴 Stale risk
🟢 Minimal
🔄 Backup/overflow gateways
7200s (2 hr max)
Every 2 hours
🔴 Very Stale
🟢 Negligible
💾 Dormant/archived gateways only
🎯 Recommendation: The default 300 seconds provides an excellent balance between data freshness and network efficiency for most deployments. Only reduce to 30-60 seconds for gateways handling high call volumes with rapidly changing concurrency. For a deeper understanding of SIP protocol behavior, see our VOS3000 SIP call flow guide. 📖
🔗 Related SIP Protocol Parameters
📋 The VOS3000 SIP publish expire parameter operates alongside several other SIP parameters that affect gateway communication and call management. Understanding how they interact is essential for proper system configuration. 🛠️
Parameter
Default
Range
Description
SS_SIP_PUBLISH_EXPIRE
300
30–7200s
Routing gateway public update timeout default duration
SS_SIP_USER_AGENT_EXPIRE
Auto Negotiation
20–7200s
SIP registration expiration time to other server
SS_SIP_SESSION_TTL
600
90–7200s
SIP session timer TTL
SS_SIP_TIMEOUT_INVITE
10
1–300s
INVITE timeout
SS_SIP_TIMEOUT_RINGING
120
1–600s
Ringing timeout
SS_SIP_RESEND_INTERVAL
0.5,1,2,4,4,4,4,4,4,4
—
SIP message resend interval sequence
📍 All parameters are located at: Operation management → Softswitch management → Additional settings → SIP parameter. For the complete parameter reference, see our VOS3000 parameter description guide and VOS3000 system parameters reference. 📖
🔄 Publish Expire vs. Registration Expire — Key Difference
⚠️ A common source of confusion is the difference between SS_SIP_PUBLISH_EXPIRE and SS_SIP_USER_AGENT_EXPIRE. Although both set expiry timers, they serve completely different purposes: 🎯
Aspect
SS_SIP_PUBLISH_EXPIRE
SS_SIP_USER_AGENT_EXPIRE
📌 SIP Method
PUBLISH (gateway status broadcast)
REGISTER (outbound registration to server)
🔢 Default
300 seconds
Auto Negotiation (20–7200s)
🔄 Purpose
Gateway concurrency state validity
Outbound registration validity
📡 Direction
Softswitch broadcasts gateway status internally
VOS3000 registers to upstream server
📊 Effect on Expiry
Stale concurrency data → routing errors
Registration lost → calls cannot route
💡 Simple rule: PUBLISH expire controls how long gateway concurrency status remains valid. Registration expire controls how long VOS3000’s outbound registration to another server remains valid. They are completely independent mechanisms. For more on session management, see our VOS3000 SIP session guide. 🔧
🔍 Select the gateway that requires publish-based concurrency control
🔧 Navigate to: Additional settings → Protocol → SIP
☑️ Check the Allow Publish checkbox — “This protocol can make routing gateway control concurrency automatically”
💾 Save gateway settings
Step 3: Configure Gateway Call Capacity 📊
📌 In the same Routing Gateway settings, configure:
📞 Maximum concurrent calls: Set the call capacity limit for the gateway
📋 Call limit enforcement: Ensure the concurrency limit is active
💾 Save all gateway configuration changes
Step 4: Verify with SIP Debug 🔍
📝 After configuration, verify that PUBLISH messages are being sent with the correct expire value. For comprehensive debugging techniques, see our VOS3000 SIP debug guide. 🔧
🔍 Verifying VOS3000 SIP Publish Expire Configuration:
Step 1: Open SIP debug / packet capture tool
Step 2: Filter for PUBLISH method messages
Step 3: Verify the Expires header matches your SS_SIP_PUBLISH_EXPIRE setting
Expected SIP PUBLISH message format:
┌──────────────────────────────────────────────────┐
│ PUBLISH sip:gateway-status@softswitch SIP/2.0 │
│ Via: SIP/2.0/UDP vos3000-server:5060 │
│ From: │
│ To: │
│ Expires: 300 │
│ Content-Type: application/pidf+xml │
│ │
│ [Gateway status / concurrency data] │
└──────────────────────────────────────────────────┘
✅ Confirm Expires value = SS_SIP_PUBLISH_EXPIRE setting
✅ Confirm PUBLISH messages appear at regular intervals
✅ Confirm Allow Publish gateways generate PUBLISH messages
❌ Gateways without Allow Publish should NOT generate PUBLISH
📊 VOS3000 SIP Publish Expire Best Practices by Deployment
🎯 Different VoIP deployment scenarios require different publish expire configurations. Here are recommended settings based on the VOS3000 manual specifications and real-world deployment experience: 💡
Deployment Type
Recommended Publish Expire
Rationale
📞 High-volume carrier gateway (500+ CPS)
30–60 seconds
Rapid traffic changes require fresh concurrency data; network overhead is acceptable at this scale
🏢 Wholesale VoIP (100-500 CPS)
60–120 seconds
Moderate traffic changes; balance between data freshness and efficiency
🌐 Standard enterprise gateway
300 seconds (default)
Stable traffic patterns; default provides good balance for typical deployments
Gateway is not primary route; only needs periodic status updates
🖥️ Multi-server cluster
60–120 seconds
Cluster nodes need relatively fresh data for coordinated routing decisions
💡 Important: The publish expire works together with your routing optimization configuration. Accurate concurrency data from timely PUBLISH refreshes enables the softswitch to make optimal routing decisions. Stale data can lead to over-assignment or under-utilization of gateway capacity. 📡
🛡️ Common VOS3000 SIP Publish Expire Problems and Solutions
⚠️ Misconfigured publish expire settings can cause a range of issues in your VOS3000 deployment. Here are the most common problems and their solutions:
❌ Problem 1: Gateway Overloaded Despite Concurrency Limit
🔍 Symptom: A routing gateway with a configured maximum concurrent call limit continues to receive calls beyond its capacity, resulting in call quality degradation or failures.
💡 Cause: The Allow Publish checkbox is not enabled for this gateway, so VOS3000 is not using the PUBLISH method for automatic concurrency control. Without PUBLISH, the softswitch may not have real-time visibility into the gateway’s active call count.
✅ Solutions:
☑️ Enable Allow Publish in the routing gateway Additional settings → Protocol → SIP
📋 Verify the gateway’s maximum concurrent call limit is properly configured
🔍 Check SIP debug traces to confirm PUBLISH messages are being generated
❌ Problem 2: Stale Concurrency Data After Publish Expire
🔍 Symptom: The softswitch makes poor routing decisions, sending calls to gateways that appear to have available capacity but are actually at or near their limits.
💡 Cause: SS_SIP_PUBLISH_EXPIRE is set too high (e.g., 1800-7200 seconds), and PUBLISH refreshes arrive so infrequently that the softswitch operates on stale concurrency data for extended periods.
✅ Solutions:
⏱️ Reduce SS_SIP_PUBLISH_EXPIRE to 300 seconds (default) or lower for active gateways
📊 Monitor PUBLISH refresh frequency in SIP debug traces
🔄 For high-traffic gateways, consider 60-120 second expire for fresher data
❌ Problem 3: Excessive PUBLISH Network Traffic
🔍 Symptom: Unusually high volume of PUBLISH messages in SIP traces, consuming network bandwidth and VOS3000 processing resources, especially in deployments with many routing gateways.
💡 Cause: SS_SIP_PUBLISH_EXPIRE is set very low (30 seconds) across all gateways, including those with stable, low-traffic patterns that do not require frequent status updates.
✅ Solutions:
🔧 Increase SS_SIP_PUBLISH_EXPIRE to 300 seconds for standard gateways
📊 Only use short expire intervals (30-60s) for high-traffic, high-CPS gateways
📡 Consider disabling Allow Publish on dormant or very-low-traffic gateways
❌ Problem 4: Cluster Routing Conflicts After Publish Timeout
🔍 Symptom: In a multi-server VOS3000 cluster, different softswitch nodes have conflicting views of a gateway’s active call count, leading to simultaneous over-assignment.
💡 Cause: PUBLISH messages expire on one node before a refresh arrives, while another node still has valid published data. This can occur if the publish expire interval is too short relative to network latency between cluster nodes.
✅ Solutions:
🌐 Ensure SS_SIP_PUBLISH_EXPIRE is set consistently across all cluster nodes
⏱️ Use 120-300 second expire in cluster deployments to account for inter-node latency
📋 Verify cluster network connectivity and latency between softswitch nodes
✅ Use this checklist when deploying or tuning your VOS3000 SIP publish expire settings:
Check
Action
Status
📌 1
Set SS_SIP_PUBLISH_EXPIRE to appropriate value for your deployment (30–7200s)
☐
📌 2
Enable Allow Publish on routing gateways that require automatic concurrency control
☐
📌 3
Configure maximum concurrent call limits on each gateway with Allow Publish enabled
☐
📌 4
Verify PUBLISH messages in SIP debug trace with correct Expires header value
☐
📌 5
Confirm gateways without Allow Publish are NOT generating PUBLISH messages
☐
📌 6
Test concurrency enforcement by generating calls up to the gateway limit
☐
📌 7
In cluster deployments, verify SS_SIP_PUBLISH_EXPIRE is consistent across all nodes
☐
📌 8
Monitor gateway analysis reports to validate concurrency data accuracy
☐
❓ Frequently Asked Questions
❓ What is the default VOS3000 SIP publish expire value?
⏱️ The default VOS3000 SIP publish expire value is 300 seconds (5 minutes), configured via the SS_SIP_PUBLISH_EXPIRE parameter. This means that routing gateway status information published via the SIP PUBLISH method remains valid for 300 seconds before requiring a refresh. The configurable range is 30–7200 seconds. The default of 300 seconds provides a practical balance between data freshness and network efficiency for most VoIP deployments. 🔧
❓ What does the Allow Publish checkbox do in VOS3000?
☑️ The Allow Publish checkbox, found under Routing Gateway → Additional settings → Protocol → SIP, enables the SIP PUBLISH method for that specific routing gateway. According to the VOS3000 manual, “This protocol can make routing gateway control concurrency automatically.” When checked, VOS3000 uses the PUBLISH method to broadcast the gateway’s status and active call count, enabling automatic concurrency control. When unchecked, the gateway does not participate in PUBLISH-based status broadcasting, and concurrency tracking relies on other mechanisms. 📡
❓ What is the difference between SS_SIP_PUBLISH_EXPIRE and SS_SIP_USER_AGENT_EXPIRE?
📊 These two parameters control different SIP method expiry timers. SS_SIP_PUBLISH_EXPIRE (default: 300s, range: 30–7200s) controls how long a PUBLISH message’s gateway status information remains valid — it governs concurrency data freshness. SS_SIP_USER_AGENT_EXPIRE (default: Auto Negotiation, range: 20–7200s) controls how long VOS3000’s outbound REGISTER to another server remains valid — it governs registration freshness. PUBLISH is about gateway status broadcasting; REGISTER is about server registration. They are completely independent mechanisms. 🔑
❓ Should I set the publish expire to the minimum 30 seconds for better concurrency tracking?
⚡ Not necessarily. While 30 seconds provides the freshest concurrency data, it also means VOS3000 sends PUBLISH refresh messages every 30 seconds for every gateway with Allow Publish enabled. In deployments with many gateways, this can generate significant network traffic. For high-volume carrier gateways where call counts change rapidly, 30-60 seconds is appropriate. For standard deployments, the default 300 seconds provides adequate data freshness with minimal overhead. Evaluate your specific traffic patterns and number of gateways before reducing the expire interval. 📡
❓ What happens when the VOS3000 SIP publish expire timer runs out?
🔄 When the publish expire timer runs out without a refresh PUBLISH being received, the published gateway status information is considered expired or stale. The softswitch no longer has authoritative, real-time concurrency data for that gateway. This can lead to routing decisions based on outdated call counts — potentially over-assigning calls to a gateway that has reached capacity, or under-utilizing a gateway that has available capacity. This is why it is critical that PUBLISH refreshes arrive before the expire timer elapses. ⏱️
❓ Does Allow Publish need to be enabled on every routing gateway?
📋 No. Allow Publish is a per-gateway setting, and you should only enable it on gateways where automatic concurrency control via the PUBLISH method is beneficial. For high-traffic, active gateways where call capacity management is critical, enabling Allow Publish provides valuable real-time concurrency tracking. For low-traffic, backup, or dormant gateways, leaving Allow Publish unchecked avoids unnecessary PUBLISH traffic while still allowing basic gateway operation. Use gateway configuration FAQ guidance for your specific setup. 🛠️
❓ Can different routing gateways have different effective publish expire values?
🔧 The SS_SIP_PUBLISH_EXPIRE parameter is a global setting — it applies to all routing gateways that have Allow Publish enabled. There is no per-gateway override for the publish expire duration in the standard VOS3000 configuration. If you need different refresh rates for different gateways, consider the trade-off: setting the global value to the shortest required interval ensures the busiest gateways have fresh data, but may generate more refresh traffic than necessary for quieter gateways. The default 300 seconds is designed to accommodate the majority of deployment scenarios. 💡
🔗 Related Resources
📚 Explore these related VOS3000 guides for deeper understanding of SIP protocol parameters, gateway management, and call routing optimization:
📞 Need expert help configuring VOS3000 SIP publish expire and gateway concurrency control? Contact our team on WhatsApp at +8801911119966 for personalized deployment assistance. We help VoIP operators worldwide optimize their VOS3000 softswitch configurations for maximum performance and reliability. 🌍
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
🔄 What happens when you restart your VOS3000 softswitch? Does the upstream SIP server still think you are registered, holding stale registration entries that could cause misrouted calls or ghost registrations? The answer depends on a single but critical parameter: SS_SIP_USER_AGENT_SEND_UNREGISTER, which controls the VOS3000 SIP send unregister behavior. When enabled (the default), VOS3000 sends a cancel register message to upstream servers during shutdown or restart — cleanly removing your registration state before the softswitch goes offline. 🛡️
📡 Whether you are performing scheduled maintenance, restarting services after configuration changes, or migrating your VOS3000 server to new hardware, the VOS3000 SIP send unregister parameter determines whether upstream carriers and SIP proxies receive proper notification that your registration is being withdrawn. Without this cleanup, the upstream server may continue routing calls to your softswitch for the duration of the remaining registration expiry — leading to failed calls, lost revenue, and confused SIP signaling states. This guide covers every aspect of the SS_SIP_USER_AGENT_SEND_UNREGISTER parameter, from its default On setting to related registration parameters like SS_SIP_USER_AGENT_EXPIRE, SS_SIP_USER_AGENT_RETRY_DELAY, and system-level parameters such as SS_ENDPOINT_REGISTER_REPLACE. 🎯
🔧 All data in this guide is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Tables 4-3 and 4-4) — no fabricated values, no guesswork. For expert assistance with your VOS3000 deployment, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Is VOS3000 SIP Send Unregister?
🔄 The VOS3000 SIP send unregister feature controls whether VOS3000 sends a SIP REGISTER request with an expiration of zero (0) to upstream servers when the softswitch is stopping or restarting. This is commonly known as a “cancel register message” or “de-registration.” The parameter is governed by SS_SIP_USER_AGENT_SEND_UNREGISTER with a default value of On and two possible options: On or Off. 📋
📌 According to the official VOS3000 V2.1.9.07 Manual, Table 4-3:
💡 Key insight: This parameter applies specifically to VOS3000’s outbound SIP registration — when VOS3000 acts as a SIP User Agent registering to another server (such as an upstream carrier or SIP trunk provider). It does not control how VOS3000 handles inbound de-registrations from your own endpoints. For inbound registration handling, see our VOS3000 SIP registration configuration guide. 📡
🎯 Why VOS3000 SIP Send Unregister Matters
⚠️ Without proper unregister behavior, several critical problems can arise:
📞 Ghost registrations: Upstream servers retain stale registration entries, routing calls to a softswitch that is offline
🔄 Misrouted incoming calls: Calls arrive at the upstream server, which forwards them to your old (now-offline) registration contact, resulting in call failures
🛡️ Security stale state: Abandoned registration entries may linger for the full expiry duration, potentially exposing routing data
📊 Billing discrepancies: Calls that fail due to stale registrations may still be billed by the upstream carrier if they consider the registration valid
⏱️ Extended recovery time: After restart, VOS3000 must compete with its own stale registration on the upstream server before it can register cleanly
⚙️ How VOS3000 SIP Send Unregister Works
🔄 Understanding the unregister mechanism requires knowing how SIP registration and de-registration work at the protocol level. When SS_SIP_USER_AGENT_SEND_UNREGISTER is set to On, VOS3000 sends a REGISTER request with the Contact header Expires parameter set to 0 — this is the standard SIP mechanism for canceling a registration. 📡
📊 Key behavior: The cancel register message is sent before VOS3000 fully stops its SIP stack. This means the softswitch must still have network connectivity when the shutdown process begins. If VOS3000 is killed abruptly (power loss, kill -9), the unregister message may not be sent, regardless of the parameter setting. ⚡
🔴 What Happens When SS_SIP_USER_AGENT_SEND_UNREGISTER Is Off?
⚠️ When this parameter is set to Off, VOS3000 simply stops without sending any cancel register message. The upstream server retains the registration entry until it naturally expires based on the SS_SIP_USER_AGENT_EXPIRE value. Here is the problematic scenario: 🔧
⚠️ VOS3000 SIP Send Unregister OFF — Stale Registration Problem:
VOS3000 ──── REGISTER (Expires: 3600) ────► Upstream SIP Server
│ │
│◄──────────── 200 OK ─────────────────────│ ✅ Registered
│ │
│ ⛔ VOS3000 shutdown — NO unregister sent │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ Upstream server still has: │ │
│ │ 📌 Registration: VOS3000 → Active │ │
│ │ ⏱️ Expires in: ~3600 seconds │ │
│ │ 📞 Routing: Calls → VOS3000 IP │ │
│ └─────────────────────────────────────┘ │
│ │
│ Incoming call arrives ──► Routed to │
│ offline VOS3000 ──► ❌ Call fails! │
│ │
│ ... waiting for expiry (up to 3600s) ...│
│ │
│ 🔄 VOS3000 restarts, sends new REGISTER │
│ ✅ Registration restored (replaces old) │
└───────────────────────────────────────────┘
💡 Critical observation: The duration of the stale registration depends on SS_SIP_USER_AGENT_EXPIRE. If the expiry is set to 3600 seconds (1 hour) and VOS3000 shuts down without sending unregister, the upstream server will consider the registration valid for up to 1 hour — during which all incoming calls to that registration will fail. For more on registration expiry, see our outbound registration SIP guide. 📡
📋 Related SIP User Agent Registration Parameters
🔗 The VOS3000 SIP send unregister parameter does not operate in isolation. It is part of a family of User Agent parameters that control outbound registration behavior. Understanding their interactions is essential for proper configuration. 🛠️
📍 All parameters are located at: Operation management → Softswitch management → Additional settings → SIP parameter. For the complete parameter reference, see our VOS3000 parameter description guide. 📖
🔄 Unregister vs. Registration Expiry — Key Difference
⚠️ A common source of confusion is the difference between sending an unregister and letting a registration expire naturally. Here is the critical distinction: 🎯
Aspect
SIP Send Unregister (Expires: 0)
Registration Natural Expiry
📌 Mechanism
Explicit REGISTER with Expires=0
No refresh sent; server times out
⏱️ Effectiveness
Immediate — server removes registration instantly
Delayed — server waits until expiry timer completes
📡 Control
VOS3000 actively signals intent to unregister
VOS3000 passively allows registration to lapse
🛡️ Stale State Risk
None — registration removed on 200 OK
High — registration lingers until Expiry timer ends
🔧 Trigger
VOS3000 shutdown or restart (if parameter is On)
VOS3000 stops sending refresh REGISTER
💡 Simple rule: Sending unregister is an active, immediate cleanup. Letting registration expire is a passive, delayed cleanup. Always prefer active unregister for clean server state management. For more details on registration expiry, see our VOS3000 system parameters reference. 📡
🔐 System-Level Registration Parameters That Affect Unregister Behavior
📊 While SS_SIP_USER_AGENT_SEND_UNREGISTER controls the timing of VOS3000’s outbound de-registration, VOS3000 also provides system-level parameters that govern how inbound terminal registrations are handled. These are documented in Table 4-4 of the VOS3000 manual: 📋
Parameter
Default
Description
SS_ENDPOINT_REGISTER_REPLACE
On
Allow replace current registered users when terminal registration
SS_ENDPOINT_REGISTER_RETRY
6
Max retry times when terminal registration
SS_ENDPOINT_REGISTER_SUSPEND
180
Disable duration after exceeding retry times
🔧 How these relate to unregister: When VOS3000 restarts after a clean shutdown with unregister sent, and then sends a new REGISTER to the upstream server, SS_ENDPOINT_REGISTER_REPLACE (default: On) on the upstream side allows the new registration to replace any remaining stale entry. This is important because even with unregister sent, network conditions may cause the cancel register message to be lost. If SS_ENDPOINT_REGISTER_REPLACE is On on the receiving server, the new registration cleanly overrides the old one. 🔑
🖥️ Beyond the SIP parameters, VOS3000 provides specific registration management settings for each outbound registration configured on the softswitch. These settings are documented on pages 106-107 of the VOS3000 manual and directly interact with the SS_SIP_USER_AGENT_SEND_UNREGISTER behavior: 📡
Setting
Options
Relevance to Unregister
📡 Signaling port
Configurable port number
Cancel register message uses the same signaling port
🖥️ Host name
FQDN or IP address
Identifies VOS3000 in the unregister Contact header
🌐 Sip proxy
Address of the SIP route
Cancel register is sent to the same SIP proxy
📋 Register period
Default or Auto negotiation
Determines how long stale registration persists if unregister fails
🔑 Authentication user
Username for SIP auth
Cancel register uses same credentials (401/407 challenge-response)
💡 Important note: The cancel register message must pass through the same SIP proxy and authenticate with the same credentials as the original registration. If authentication fails for the cancel register, the upstream server will not remove the registration entry, leaving a stale state. For more on SIP authentication, see our VOS3000 SIP authentication guide. 🔑
🖥️ The behavior of VOS3000 during shutdown varies significantly based on how the softswitch is stopped and the state of SS_SIP_USER_AGENT_SEND_UNREGISTER. Here is a comprehensive analysis: 🌐
📡 Scenario Comparison: On vs. Off
📊 Understanding the practical difference between the two settings requires examining what happens in various shutdown and restart scenarios: 📋
Scenario
SS_SIP_USER_AGENT_SEND_UNREGISTER = On
SS_SIP_USER_AGENT_SEND_UNREGISTER = Off
🔧 Planned restart
✅ Cancel REGISTER sent → Clean removal
❌ No cancel sent → Stale entry remains
⚡ Service crash
⚠️ Cancel may not be sent (no graceful shutdown)
⚠️ No cancel sent (same as On, since crash is ungraceful)
🔌 Power loss
❌ Cancel cannot be sent
❌ Cancel cannot be sent
🛡️ Network outage before shutdown
⚠️ Cancel sent but may not reach server
❌ No cancel sent
🔄 Rapid restart (within seconds)
✅ Old registration removed, new one sent
⚠️ New REGISTER may conflict with stale entry
📋 Configuration change and restart
✅ Clean state for new configuration
❌ Old registration may interfere with new settings
🎯 Conclusion: Keeping SS_SIP_USER_AGENT_SEND_UNREGISTER set to On (the default) is strongly recommended for all deployments. The only scenario where it provides no benefit is an abrupt crash or power loss — which is the same outcome as having it Off. In all planned shutdown and restart scenarios, On provides clean registration cleanup. For a complete SIP call flow reference, see our VOS3000 SIP call flow guide. 📡
🔍 Select the gateway that requires outbound registration
🔧 In gateway settings, configure:
📡 Sip proxy: Address of the SIP route (upstream server)
🔑 Authentication user: Username for 401/407 authentication
📋 Register period: Default or Auto negotiation
🖥️ Host name: FQDN or IP address of VOS3000
💾 Save gateway settings
Step 4: Verify with SIP Debug 🔍
📝 After configuration, verify the unregister behavior is working correctly by monitoring the SIP registration flow during a controlled restart. For comprehensive debugging techniques, see our VOS3000 troubleshooting guide. 🔧
💡 Verification tip: The cancel register message goes through the same authentication challenge (401/407) as the original registration. This is standard SIP behavior — even de-registration requires proper authentication. If you see the REGISTER with Expires: 0 followed by a 200 OK in your SIP trace, the unregister is working correctly. 📡
📊 VOS3000 SIP Send Unregister Best Practices by Deployment
🎯 Different VoIP deployment scenarios may have different requirements for unregister behavior. Here are our recommendations based on real-world deployment experience and VOS3000 manual specifications: 💡
Deployment Type
Recommended Setting
Rationale
📞 Primary SIP trunk (carrier)
✅ On (default)
Essential — stale registrations cause incoming call failures during maintenance
🏢 Enterprise SIP trunk
✅ On (default)
Clean state management prevents call routing confusion during restarts
🌍 Wholesale VoIP (multi-vendor)
✅ On (default)
Multiple upstream carriers must all receive clean unregister to avoid ghost routes
📡 Backup/secondary trunk
✅ On (default)
Even backup trunks should clean up registration to prevent call misrouting
🔄 High-availability cluster
✅ On (default)
Critical — failover depends on clean registration state transitions
🧪 Test/lab environment
⚠️ Off (optional)
May be disabled for testing registration expiry behavior and stale state scenarios
⚠️ Strong recommendation: Keep SS_SIP_USER_AGENT_SEND_UNREGISTER set to On in all production deployments. The default setting is correct for virtually every scenario. Disabling it should only be done intentionally for testing purposes. For more on call routing strategies, see our VOS3000 call routing guide. 🛡️
🛡️ Common VOS3000 SIP Send Unregister Problems and Solutions
⚠️ Even with SS_SIP_USER_AGENT_SEND_UNREGISTER enabled, several issues can arise. Here are the most common problems and their solutions:
❌ Problem 1: Cancel Register Message Not Received by Upstream Server
🔍 Symptom: VOS3000 sends the unregister, but the upstream server still has the registration entry after VOS3000 restarts. Incoming calls may be routed to the old contact.
💡 Cause: Network conditions or firewall rules may prevent the cancel register message from reaching the upstream server. The unregister REGISTER with Expires: 0 may be lost due to UDP unreliability or blocked by a firewall during the shutdown sequence.
✅ Solutions:
🔧 Use TCP transport for SIP signaling if possible — ensures reliable delivery of the cancel register
📡 Check firewall rules to confirm that outbound SIP traffic is not blocked during the shutdown process
📊 Verify that the cancel register reaches the upstream server using SIP debug traces
🔄 After restart, the new REGISTER will replace the stale entry (if SS_ENDPOINT_REGISTER_REPLACE is On on the upstream server)
❌ Problem 2: Cancel Register Authentication Fails
🔍 Symptom: VOS3000 sends the cancel register, but receives a 403 Forbidden or repeated 401/407 challenges that cannot be completed before shutdown finishes.
💡 Cause: The authentication credentials stored in VOS3000 may not match the upstream server’s current requirements, or the shutdown process does not allow enough time for the full authentication handshake.
✅ Solutions:
🔑 Verify the Authentication user credentials in the gateway configuration match the upstream server
📞 Test registration manually before shutdown to confirm credentials are valid
📋 Check that the SIP proxy address is correct and reachable
⏱️ Ensure VOS3000 has enough time during shutdown to complete the authentication exchange
❌ Problem 3: Stale Registration Persists After Abrupt Crash
🔍 Symptom: VOS3000 crashes (process killed, power loss) and the upstream server retains the registration entry for the full expiry duration.
💡 Cause: An abrupt crash prevents VOS3000 from sending the cancel register message, regardless of the SS_SIP_USER_AGENT_SEND_UNREGISTER setting. This is an inherent limitation of the SIP protocol — there is no way to send an unregister after a crash.
✅ Solutions:
⚡ Use shorter SS_SIP_USER_AGENT_EXPIRE values (e.g., 300 seconds instead of 3600) to limit the maximum stale registration duration
🔄 Configure SS_ENDPOINT_REGISTER_REPLACE (default: On) on the upstream server to allow new registration to override stale entries
🛡️ Implement UPS (uninterruptible power supply) and process monitoring to prevent abrupt shutdowns
📡 Use backup vendor gateways so that calls continue through alternative paths while the stale entry expires
❌ Problem 4: Multiple VOS3000 Instances Competing for Same Registration
🔍 Symptom: Two VOS3000 instances register to the same upstream server with the same credentials. When one shuts down with unregister, it cancels the other instance’s registration.
💡 Cause: Both instances use the same SIP user credentials and register to the same SIP proxy. The cancel register from one instance removes the registration that the other instance depends on. 📊
✅ Solutions:
🔑 Use different Authentication user credentials for each VOS3000 instance
🖥️ Configure different Host name values to distinguish registrations
📋 Use separate SIP proxy entries if the upstream server supports multiple registrations per account
🛠️ For HA failover scenarios, disable unregister on the standby server to prevent accidental de-registration
📞 Complete Registration Parameter Quick Reference
📊 Here is the complete reference for all parameters that govern SIP registration behavior in VOS3000 — both outbound (User Agent) and inbound (Endpoint): 📋
✅ Use this checklist when deploying or verifying your VOS3000 SIP send unregister settings:
Check
Action
Status
📌 1
Verify SS_SIP_USER_AGENT_SEND_UNREGISTER is On (default) in SIP parameters
☐
📌 2
Set appropriate SS_SIP_USER_AGENT_EXPIRE (shorter = less stale time after crash)
☐
📌 3
Configure SS_SIP_USER_AGENT_RETRY_DELAY for post-restart re-registration timing
☐
📌 4
Verify Authentication user credentials match upstream server requirements
☐
📌 5
Test graceful shutdown and verify cancel register in SIP debug trace
☐
📌 6
Configure backup vendor gateways for failover during restart periods
☐
📌 7
Verify SS_ENDPOINT_REGISTER_REPLACE is On on upstream server (allows clean override)
☐
📌 8
Document expected stale registration window (based on EXPIRE value) for incident response
☐
❓ Frequently Asked Questions
❓ What is the default setting for VOS3000 SIP send unregister?
🔄 The default setting for VOS3000 SIP send unregister is On, configured via the SS_SIP_USER_AGENT_SEND_UNREGISTER parameter. When set to On, VOS3000 automatically sends a cancel register message (REGISTER with Expires: 0) to all upstream SIP servers during a graceful shutdown or restart. This ensures that registration entries are removed from the upstream server immediately, preventing stale registration states and misrouted calls. The default On setting is recommended for all production deployments. 🔧
❓ When should I set SS_SIP_USER_AGENT_SEND_UNREGISTER to Off?
⚠️ In virtually all production scenarios, you should keep this parameter at its default value of On. The only cases where you might consider setting it to Off are: (1) Testing environments where you want to observe stale registration behavior, (2) Troubleshooting upstream server registration replacement issues, or (3) Very specific carrier requirements where the upstream server does not support de-registration. Disabling unregister in production will cause stale registrations to persist after every restart, leading to call routing failures. For help evaluating your specific scenario, contact us on WhatsApp at +8801911119966. 📡
❓ What happens to the cancel register if VOS3000 crashes?
⚡ If VOS3000 crashes abruptly (power loss, kill -9, kernel panic), the cancel register message cannot be sent regardless of the SS_SIP_USER_AGENT_SEND_UNREGISTER setting. The unregister mechanism only works during a graceful shutdown where VOS3000 has time to send the REGISTER with Expires: 0 before the SIP stack stops. After an abrupt crash, the upstream server will retain the stale registration until the expiry timer (governed by SS_SIP_USER_AGENT_EXPIRE) elapses. Using shorter expiry values (e.g., 300s instead of 3600s) limits the maximum stale registration duration after a crash. 🔧
❓ Does the cancel register message require authentication?
🔑 Yes, the cancel register message (REGISTER with Expires: 0) typically goes through the same authentication process as a normal registration. When VOS3000 sends the cancel register, the upstream server will usually respond with a 401 Unauthorized or 407 Proxy Authentication Required challenge, and VOS3000 must resend the cancel register with proper credentials. This is standard SIP behavior per RFC 3261. The Authentication user configured in the gateway settings must match the upstream server’s requirements for the cancel register to succeed. For more on SIP authentication, see our VOS3000 SIP authentication guide. 📡
❓ How does SS_SIP_USER_AGENT_EXPIRE affect the unregister behavior?
⏱️ The SS_SIP_USER_AGENT_EXPIRE parameter determines how long a successful registration remains valid on the upstream server. If VOS3000 shuts down without sending unregister (parameter Off or crash), the stale registration persists for the remaining expiry duration. With the default Auto Negotiation setting, the expiry is typically negotiated between VOS3000 and the upstream server within the range of 20–7200 seconds. Shorter expiry values mean stale registrations clear faster, while longer values increase the risk window. If you want to minimize stale registration impact, use a shorter fixed expiry (e.g., 300 seconds) and keep unregister On. 📊
❓ Can the cancel register message get lost in transit?
📡 Yes, since SIP commonly uses UDP transport, the cancel register message can be lost. If VOS3000 sends the cancel register but the upstream server never receives it, the registration entry will persist until the expiry timer elapses. To mitigate this: (1) Use TCP transport for SIP if supported by the upstream server, (2) Verify the cancel register reaches the server using SIP debug traces, (3) Configure backup vendor gateways so calls continue through alternative paths during the stale period, and (4) Rely on SS_ENDPOINT_REGISTER_REPLACE (On) on the upstream server to allow the new registration after restart to override any stale entry. For complete troubleshooting guidance, see our VOS3000 troubleshooting guide. 🔧
❓ What is the SIP message format for a cancel register?
📋 A cancel register is a standard SIP REGISTER request with the Contact header Expires parameter set to 0. This tells the registrar server to remove the binding immediately. The message includes the same Call-ID, From tag, and To tag as the original registration (per RFC 3261 requirements for registration updates). VOS3000 handles this automatically when SS_SIP_USER_AGENT_SEND_UNREGISTER is On — no manual message construction is needed. For more on SIP message flows, see our VOS3000 SIP call flow guide. 💡
📚 Related Resources
🔗 Explore these related VOS3000 guides for comprehensive softswitch configuration:
📞 Need expert help with your VOS3000 SIP send unregister configuration or registration cleanup? Contact us on WhatsApp at +8801911119966 for professional assistance with your VoIP softswitch deployment. 🚀
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
VOS3000 SIP Display From: Important E164 Caller Configuration
📞 When a SIP INVITE leaves your VOS3000 softswitch, the From header carries the caller’s identity — but what exactly appears in that header? Is it the raw E164 number? The display name? Or something else entirely? The answer depends on a critical parameter: SS_SIP_E164_DISPLAY_FROM, which governs the VOS3000 SIP display from mode and determines how caller information is presented in the From header of every SIP signal your softswitch sends. 🎯
📡 The From header is one of the most fundamental elements in SIP signaling. It tells the receiving server who is calling. But in real-world VoIP deployments, the “caller” can be represented in multiple ways — as a plain number, with a display name, in E164 international format, or even with a domain name. Getting the VOS3000 SIP display from configuration right is essential for caller ID presentation, carrier interoperability, and regulatory compliance with number formatting standards. This guide covers the SS_SIP_E164_DISPLAY_FROM parameter (default: Ignore), per-gateway display settings, mapping gateway caller number extraction, and the relationship with privacy headers like P-Asserted-Identity and P-Preferred-Identity. 🔧
💡 All data in this guide is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Table 4-3) — no fabricated values, no guesswork. For expert assistance with your VOS3000 deployment, contact us on WhatsApp at +8801911119966. 📱
Table of Contents
🔐 What Is VOS3000 SIP Display From?
📋 The VOS3000 SIP display from is the mode that controls how VOS3000 populates the display information in the SIP From header. This is governed by the parameter SS_SIP_E164_DISPLAY_FROM, which has a default value of Ignore and offers multiple display mode options. 📡
📌 According to the official VOS3000 V2.1.9.07 Manual, Table 4-3:
💡 Key insight: When set to Ignore, VOS3000 does not modify the display information in the From header — it passes the caller information as-is from the original signaling. When a specific display mode is selected, VOS3000 formats the From header according to the E164 standard, ensuring consistent international number formatting across all outbound calls. This is especially important for carriers that require E164-compliant caller numbers. 📞
🎯 Why VOS3000 SIP Display From Matters
⚠️ Misconfigured display information in the From header can cause several critical issues:
📞 Caller ID failure: Some carriers reject calls where the From header does not contain a properly formatted E164 number, resulting in 403 Forbidden or 484 Number Incomplete responses
🌐 Interoperability problems: Different SIP equipment expects different formats — some require display names, others require E164 numbers only
🔒 Privacy conflicts: Incorrect display modes may expose caller numbers that should be hidden by privacy settings
📊 Billing discrepancies: CDR records may not match the actual caller numbers presented in signaling, causing reconciliation issues
🛡️ Regulatory compliance: Some jurisdictions require caller numbers in E164 international format (+CC.NDC.SN) for emergency services and lawful interception
⚙️ Understanding the SIP From Header Structure
📡 Before diving into the configuration, it is essential to understand the structure of the SIP From header and where the VOS3000 SIP display from parameter exerts its influence. Here is the anatomy of a SIP From header: 🔍
📞 SIP From Header Anatomy:
From: "Display Name" <sip:number@domain>;tag=abc123
─────────── ──────────────────── ─────────
│ │ │
│ │ └── Tag (dialog identifier)
│ │
│ └── URI (number + domain)
│ ├── number: caller number (E164 format)
│ └── domain: server IP or domain name
│
└── Display Name (what appears on phone screen)
└── SS_SIP_E164_DISPLAY_FROM controls THIS part
Examples:
Ignore mode: From: <sip:[email protected]>;tag=x1
E164 mode: From: "+8801911119966" <sip:[email protected]>;tag=x1
Display mode: From: "John" <sip:[email protected]>;tag=x1
🔧 The critical distinction: The SS_SIP_E164_DISPLAY_FROM parameter specifically controls the display information portion of the From header — not the SIP URI itself. When set to Ignore, VOS3000 leaves the display name empty or unchanged. When set to a display mode, it populates the display portion with the E164-formatted number. For more on SIP signaling fundamentals, see our VOS3000 SIP call flow guide. 📖
📋 SS_SIP_E164_DISPLAY_FROM Display Modes
🔀 The VOS3000 SIP display from parameter offers different modes that determine how the display information appears in the From header. Here is a detailed comparison: 📊
Display Mode
From Header Format
Use Case
Carrier Compatibility
Ignore (Default)
From: <sip:number@domain>
Pass-through; no display name modification
🟢 Broad compatibility
E164 Display
From: “+CC.NDC.SN” <sip:+CC.NDC.SN@domain>
International format required by carrier
🟡 Carrier-specific
Number Display
From: “number” <sip:number@domain>
Display name set to caller number
🟢 Good compatibility
📌 When to use Ignore vs. E164 display: The default Ignore mode works well for most deployments where carriers do not enforce strict From header formatting. However, if your upstream carrier requires E164-formatted numbers in both the display name and URI of the From header, you must change SS_SIP_E164_DISPLAY_FROM from Ignore to the appropriate display mode. For more on carrier requirements, see our VOS3000 caller ID management guide. 📞
🔗 Per-Gateway SIP Settings for From Header
🖥️ Beyond the global SS_SIP_E164_DISPLAY_FROM parameter, VOS3000 provides per-gateway SIP settings that further control the From header behavior. These settings are configured in the Routing Gateway > Additional settings > Protocol > SIP section and allow fine-grained control over how each gateway presents caller information. 🔧
Setting
Function
Impact on From Header
Enable local domain name
Change the IP corresponding to the “From” field in signaling to SS_LOCAL_IP_DOMAIN domain
Replaces the IP address in the From URI domain part with the configured local domain name
Peer number information
Set select mode to SIP signal’s caller
Determines how VOS3000 extracts the peer (callee/caller) number from SIP signaling
💡 Enable local domain name is particularly important when your VOS3000 server has a public domain name but communicates using a private IP address internally. By enabling this setting, the From header’s domain portion changes from the server’s private IP (e.g., 192.168.1.100) to the configured SS_LOCAL_IP_DOMAIN (e.g., sip.yourdomain.com), which improves interoperability with carriers that validate the From header domain. 🌐
🔧 Peer number information controls how VOS3000 selects the caller number from incoming SIP signals. This setting works in conjunction with the mapping gateway caller field selection (covered below) to ensure the correct caller number is extracted and presented. For detailed gateway configuration, see our VOS3000 gateway configuration guide. 📖
🛡️ Per-Gateway Privacy Settings and Display From
🔒 The VOS3000 SIP display from setting does not operate in isolation. It interacts with per-gateway privacy settings that control how caller identity is presented and protected. These settings are configured at the Routing Gateway > Additional settings > Protocol level and include: 🛡️
Privacy Setting
Options
Description
Interaction with Display From
P-Asserted-Identity
None / Passthrough / Caller
Controls P-Asserted-Identity header insertion
When set to Caller, PAI carries the real caller; From header may differ based on display mode
P-Preferred-Identity
None / Passthrough / Caller
Controls P-Preferred-Identity header insertion
Similar to PAI; provides preferred identity that may differ from From display
Privacy
None / Passthrough / Id
Controls Privacy header in outbound signaling
When set to Id, caller identity in From is hidden; display name shows “anonymous”
🎯 Critical interaction: When Privacy is set to Id, the From header display information shows “anonymous” or ” withheld” regardless of the SS_SIP_E164_DISPLAY_FROM setting. The real caller number is then carried in the P-Asserted-Identity header (if P-Asserted-Identity is set to Caller). This is how VOS3000 supports caller ID blocking while still providing the real number to trusted carriers. For a complete guide on this topic, see our VOS3000 P-Asserted-Identity caller ID guide. 📞
🔒 Privacy Header vs. Display From — Priority Order
📊 Understanding the priority order is essential when both privacy settings and display from settings are configured: 🔑
🔒 VOS3000 From Header Priority — Privacy vs Display From:
Step 1: Check Privacy Setting (per-gateway)
├── Privacy = None
│ └── No Privacy header added → proceed to Step 2
├── Privacy = Passthrough
│ └── Pass existing Privacy header → proceed to Step 2
└── Privacy = Id
└── Add "Privacy: id" header
└── From header → "Anonymous" <sip:[email protected]>
└── Real caller in PAI (if P-Asserted-Identity = Caller)
└── ⛔ STOP — SS_SIP_E164_DISPLAY_FROM is overridden
Step 2: Check SS_SIP_E164_DISPLAY_FROM (global)
├── Ignore (default)
│ └── From header display name = empty or original
├── E164 Display
│ └── From header display name = "+8801911119966"
└── Number Display
└── From header display name = "8801911119966"
Step 3: Check Enable Local Domain Name (per-gateway)
├── Disabled
│ └── From URI domain = server IP (e.g., 192.168.1.100)
└── Enabled
└── From URI domain = SS_LOCAL_IP_DOMAIN (e.g., sip.carrier.com)
💡 Key takeaway: Privacy settings always take priority over display from settings. If Privacy is set to Id, the From header becomes anonymous regardless of what SS_SIP_E164_DISPLAY_FROM is configured to. For more on privacy configurations, see our VOS3000 parameter description reference. 📖
🔄 Mapping Gateway Caller Number Extraction
📊 While SS_SIP_E164_DISPLAY_FROM controls how the From header is presented on outbound calls, the Mapping Gateway settings control how VOS3000 extracts the caller number from inbound SIP signals. This is a critical complementary configuration that determines which field VOS3000 reads to identify the caller. 🔍
Extraction Field
SIP Header
Format
When to Use
From
From: <sip:number@domain>
Standard SIP From URI
✅ Default; most common; broad compatibility
Remote-Party-ID
Remote-Party-ID: number;party=calling
RFC 3325 identity header
📡 Carriers that send verified caller ID in RPID
Display
From: “Display” <sip:number@domain>
Display name portion of From header
📞 When display name differs from URI number
🔧 How this interacts with VOS3000 SIP display from: The Mapping Gateway “Caller” setting determines which field VOS3000 reads as the caller number on incoming calls. The SS_SIP_E164_DISPLAY_FROM setting determines how VOS3000 presents the caller number in the From header on outgoing calls. These two settings work in opposite directions but must be configured consistently to ensure end-to-end caller ID integrity. For detailed mapping gateway configuration, see our VOS3000 gateway configuration and routing mapping guide. 📖
📊 Caller Number Extraction Scenario
🎯 Consider a scenario where an upstream carrier sends caller information in the Remote-Party-ID header but the From header contains a generic number. Here is how the Mapping Gateway “Caller” setting determines what VOS3000 uses: 📡
📞 Incoming SIP INVITE from Carrier:
From: "Unknown" <sip:[email protected]>;tag=abc
Remote-Party-ID: "+8801911119966" <sip:[email protected]>;party=calling
Mapping Gateway Caller Setting = "From"
└── VOS3000 reads: 0000 (generic number)
└── ❌ Wrong caller number for CDR and routing
Mapping Gateway Caller Setting = "Remote-Party-ID"
└── VOS3000 reads: +8801911119966 (real caller)
└── ✅ Correct caller number for CDR and routing
Mapping Gateway Caller Setting = "Display"
└── VOS3000 reads: "Unknown" (display name from From)
└── ❌ Not a valid caller number
💡 Pro tip: Always verify which field your upstream carrier uses to send the real caller number. Many international carriers use Remote-Party-ID or P-Asserted-Identity instead of the From header. Configuring the Mapping Gateway “Caller” setting to the correct field ensures VOS3000 extracts the right caller number. For authentication-related configurations, see our VOS3000 SIP authentication guide. 🔑
📋 Related SIP Privacy and Display Parameters
🔗 The VOS3000 SIP display from parameter is part of a family of parameters that control caller identity presentation in SIP signaling. Understanding their relationships is essential for proper configuration. 🛠️
Parameter
Default
Description
Scope
SS_SIP_E164_DISPLAY_FROM
Ignore
Mode of SIP display information
Global (From header display)
SS_SIP_USER_AGENT_PRIVACY
Ignore
Privacy setting for register user
Outbound registration privacy
📍 Both parameters are located at: Operation management → Softswitch management → Additional settings → SIP parameter. For the complete parameter reference, see our VOS3000 system parameters guide. 📖
🔄 SS_SIP_E164_DISPLAY_FROM vs. SS_SIP_USER_AGENT_PRIVACY
⚠️ A common source of confusion is the difference between SS_SIP_E164_DISPLAY_FROM and SS_SIP_USER_AGENT_PRIVACY. While both affect how caller information appears in SIP headers, they serve different purposes: 🎯
Aspect
SS_SIP_E164_DISPLAY_FROM
SS_SIP_USER_AGENT_PRIVACY
📌 Purpose
Controls display format in From header
Controls privacy level for registration user
🔢 Default
Ignore
Ignore
📡 Applied To
From header display name (INVITE and call signaling)
REGISTER messages (outbound registration)
🔄 Effect
Formats how the caller number appears in From display name
Adds Privacy header to registration; hides identity
⚙️ Options
Ignore / display modes
Ignore / Id / None
💡 Simple rule: SS_SIP_E164_DISPLAY_FROM controls how the caller looks in the From header. SS_SIP_USER_AGENT_PRIVACY controls whether the registration user is hidden in outbound REGISTER messages. They apply to different SIP methods and serve different purposes. For more on SIP session management, see our VOS3000 SIP session guide. 📡
📋 Step-by-Step VOS3000 SIP Display From Configuration
⚙️ Follow these steps to configure the VOS3000 SIP display from settings on your system:
Step 1: Configure Global SS_SIP_E164_DISPLAY_FROM 📋
🔐 Log in to VOS3000 Client with administrator credentials
🔍 Select the mapping gateway that handles incoming calls
🔧 Set Caller field to extract caller number from:
📞 From — standard From header (default, most common)
📡 Remote-Party-ID — RFC 3325 verified identity
📟 Display — display name portion of From header
💾 Save mapping gateway settings
Step 5: Verify with SIP Debug 🔍
📝 After configuration, verify the display from settings are working correctly by examining the SIP INVITE messages. For comprehensive debugging techniques, see our VOS3000 troubleshooting guide. 🔧
🔍 Verifying VOS3000 SIP Display From — SIP Debug Trace:
──► Outbound INVITE (SS_SIP_E164_DISPLAY_FROM = Ignore):
INVITE sip:[email protected] SIP/2.0
From: <sip:[email protected]>;tag=z9hG4bK123
└── No display name (Ignore mode)
To: <sip:[email protected]>
──► Outbound INVITE (SS_SIP_E164_DISPLAY_FROM = E164 Display):
INVITE sip:[email protected] SIP/2.0
From: "+8801911119966" <sip:[email protected]>;tag=z9hG4bK456
└── E164 format display name added ✅
To: <sip:[email protected]>
──► Outbound INVITE (Privacy = Id, PAI = Caller):
INVITE sip:[email protected] SIP/2.0
From: "Anonymous" <sip:[email protected]>;tag=z9hG4bK789
└── Privacy overrides display from ⛔
To: <sip:[email protected]>
P-Asserted-Identity: <sip:[email protected]>
└── Real caller in PAI header 🔒
Privacy: id
📊 VOS3000 SIP Display From Best Practices by Deployment
🎯 Different VoIP deployment scenarios require different display from configurations. Here are recommended settings based on real-world deployment experience and VOS3000 manual specifications: 💡
Deployment Type
SS_SIP_E164_DISPLAY_FROM
Privacy Setting
Mapping Gateway Caller
📞 International wholesale (E164 required)
E164 Display
None
From or Remote-Party-ID
🏢 Enterprise SIP trunk
Ignore (default)
None
From
🌍 Multi-carrier termination
E164 Display
Passthrough
Remote-Party-ID
🔒 Privacy-focused (CLIR)
Ignore
Id
From
📞 Domestic carrier (no E164)
Ignore (default)
None
From
📡 RPID-based upstream
E164 Display
Passthrough
Remote-Party-ID
💡 Important: The VOS3000 SIP display from setting works together with your call routing and gateway privacy configuration. Always verify the complete signaling chain — from inbound caller extraction (Mapping Gateway) through outbound caller presentation (Display From + Privacy) — to ensure consistent caller ID across your entire VoIP network. For expert guidance, reach us on WhatsApp at +8801911119966. 📱
🛡️ Common VOS3000 SIP Display From Problems and Solutions
⚠️ Misconfigured display from settings can cause a range of caller ID issues. Here are the most common problems and their solutions:
❌ Problem 1: Carrier Rejects Calls — 403 Forbidden Due to Invalid From Header
🔍 Symptom: Upstream carrier returns 403 Forbidden or 484 Number Incomplete on calls that pass through VOS3000. The carrier’s technical support reports that the From header does not contain a valid E164 number.
💡 Cause: SS_SIP_E164_DISPLAY_FROM is set to Ignore (default), so the From header does not include the E164-formatted display name that the carrier requires for number validation.
✅ Solutions:
🔧 Change SS_SIP_E164_DISPLAY_FROM from Ignore to the E164 display mode
📞 Verify the carrier’s exact From header format requirements (with or without “+” prefix)
📊 Test with a single call first and verify the From header in SIP debug output
❌ Problem 2: Wrong Caller Number Appears on Called Party Phone
🔍 Symptom: The called party sees a generic or incorrect number instead of the real caller number on their phone display.
💡 Cause: The Mapping Gateway “Caller” setting is extracting the caller number from the wrong SIP field. For example, if the carrier sends the real number in Remote-Party-ID but the Mapping Gateway is set to extract from “From”, VOS3000 may be reading a generic or incorrect number.
✅ Solutions:
🔍 Examine incoming SIP INVITE messages to identify which field carries the real caller number
🔧 Change Mapping Gateway “Caller” setting to the correct field (From / Remote-Party-ID / Display)
📞 Verify caller number after the change by making a test call
❌ Problem 3: Caller ID Shows “Anonymous” When It Should Not
🔍 Symptom: Outbound calls show “Anonymous” or “Unknown” on the called party’s phone even though the caller has not requested privacy.
💡 Cause: The per-gateway Privacy setting is configured to “Id” which adds a Privacy: id header and changes the From header to anonymous, overriding the SS_SIP_E164_DISPLAY_FROM setting.
✅ Solutions:
🔒 Check the per-gateway Privacy setting — change from “Id” to “None” if caller ID blocking is not required
🔧 If selective CLIR (Caller Line Identification Restriction) is needed, use P-Asserted-Identity = Caller with Privacy = Id
📊 Verify that SS_SIP_E164_DISPLAY_FROM is not set to Ignore if you need a display name
❌ Problem 4: From Header Shows Private IP Instead of Domain Name
🔍 Symptom: The From header contains a private IP address (e.g., 192.168.1.100) in the URI domain portion, which some carriers reject because they cannot route responses to a private IP.
💡 Cause: The “Enable local domain name” per-gateway setting is not enabled, so VOS3000 uses its private IP address in the From header domain.
✅ Solutions:
🌐 Enable “Enable local domain name” in the routing gateway’s SIP settings
🔧 Verify that SS_LOCAL_IP_DOMAIN is configured with your public domain name or public IP
📞 Test call and verify the From header domain matches your public-facing address
📞 Complete Display and Privacy Parameter Quick Reference
📊 Here is the complete reference for all parameters and settings that govern caller identity presentation in VOS3000: 📋
Parameter / Setting
Default
Scope
Function
SS_SIP_E164_DISPLAY_FROM
Ignore
Global
Mode of SIP display information in From header
SS_SIP_USER_AGENT_PRIVACY
Ignore
Global
Privacy setting for register user (outbound REGISTER)
💡 VOS3000 SIP Display From Configuration Checklist
✅ Use this checklist when deploying or tuning your VOS3000 SIP display from settings:
Check
Action
Status
📌 1
Set SS_SIP_E164_DISPLAY_FROM to appropriate mode (Ignore for passthrough, E164 for formatted display)
☐
📌 2
Verify per-gateway “Enable local domain name” setting matches your deployment needs
☐
📌 3
Configure per-gateway “Peer number information” for correct caller extraction mode
☐
📌 4
Set P-Asserted-Identity to Caller if carriers require verified caller identity
☐
📌 5
Configure Privacy setting (None for normal, Id for caller ID blocking, Passthrough for carrier passthrough)
☐
📌 6
Set Mapping Gateway “Caller” field to the correct SIP header (From / Remote-Party-ID / Display)
☐
📌 7
Test outbound call and verify From header format in SIP debug
☐
📌 8
Verify caller ID appears correctly on called party phone display
☐
❓ Frequently Asked Questions
❓ What is the default VOS3000 SIP display from setting?
📋 The default VOS3000 SIP display from setting is Ignore, configured via the SS_SIP_E164_DISPLAY_FROM parameter. When set to Ignore, VOS3000 does not modify the display information in the From header — it passes the caller information as-is from the original signaling. This provides broad compatibility with most carriers and SIP equipment. If your upstream carrier requires E164-formatted display names in the From header, you must change this from Ignore to the appropriate display mode. 🔧
❓ How does SS_SIP_E164_DISPLAY_FROM interact with Privacy settings?
🔒 Privacy settings take priority over SS_SIP_E164_DISPLAY_FROM. When the per-gateway Privacy setting is configured to “Id”, VOS3000 adds a Privacy: id header and changes the From header to anonymous, regardless of what SS_SIP_E164_DISPLAY_FROM is set to. The real caller number is then carried in the P-Asserted-Identity header (if P-Asserted-Identity is set to Caller). This is the standard mechanism for supporting Caller Line Identification Restriction (CLIR) in VOS3000. For more details, see our VOS3000 P-Asserted-Identity guide. 📡
❓ What is E164 format and why do carriers require it?
📞 E164 is the ITU-T international numbering plan standard that defines the format of international telephone numbers. An E164 number consists of: a “+” prefix, followed by the country code (CC), the national destination code (NDC), and the subscriber number (SN) — for example, +8801911119966. Many international carriers require caller numbers in E164 format in the SIP From header to properly route calls, validate caller identity, and comply with regulatory requirements for emergency services and lawful interception. The VOS3000 SIP display from parameter allows you to ensure the From header displays the E164-formatted number when required. 🌐
❓ What is the Mapping Gateway “Caller” field setting?
🔄 The Mapping Gateway “Caller” field setting determines which SIP header VOS3000 reads to extract the caller number on incoming calls. The available options are: From (reads from the standard From header URI), Remote-Party-ID (reads from the RFC 3325 Remote-Party-ID header), and Display (reads the display name portion of the From header). This setting works in the opposite direction from SS_SIP_E164_DISPLAY_FROM — while Display From controls outbound presentation, the Caller field controls inbound extraction. For detailed configuration, see our VOS3000 gateway configuration guide. 📖
❓ When should I enable “Enable local domain name” in per-gateway settings?
🌐 Enable “Enable local domain name” when your VOS3000 server uses a private IP address internally but has a public domain name or public IP for external communication. When enabled, VOS3000 replaces the private IP in the From header URI domain portion with the configured SS_LOCAL_IP_DOMAIN. This is essential when upstream carriers validate the From header domain and cannot route responses to a private IP address (e.g., 192.168.x.x or 10.x.x.x). Without this setting, calls may fail with 403 Forbidden because the carrier cannot identify the origin server. 🔧
❓ Can I set different display from modes for different gateways?
📊 The SS_SIP_E164_DISPLAY_FROM parameter is a global SIP parameter that applies to all gateways. However, you can achieve per-gateway differentiation through the per-gateway Privacy settings and Enable local domain name settings, which modify how the From header appears independently of the global display from mode. For example, you can set SS_SIP_E164_DISPLAY_FROM to E164 display globally, then use per-gateway Privacy = Id for specific gateways where caller ID blocking is required. For advanced configuration assistance, contact us on WhatsApp at +8801911119966. 📱
❓ How do I troubleshoot caller ID issues related to VOS3000 SIP display from?
🔍 Start by examining the SIP INVITE messages in VOS3000’s SIP debug trace. Check the From header format, display name, Privacy header, P-Asserted-Identity header, and the domain portion of the From URI. Compare the actual signaling with your expected format. Common issues include: SS_SIP_E164_DISPLAY_FROM set to Ignore when the carrier requires E164, Mapping Gateway Caller set to the wrong field, Privacy = Id overriding display from settings, and private IP in the From URI domain. For comprehensive troubleshooting techniques, see our VOS3000 troubleshooting guide. 🔧
📚 Related Resources
🔗 Explore these related guides for comprehensive VOS3000 configuration knowledge:
📞 When VOS3000 sends a SIP INVITE to a routing gateway, which header determines the callee number? Is it the To header, the Request-Line, or the Contact header? The answer depends on a critical — yet often overlooked — parameter: SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT, which governs the VOS3000 SIP routing gateway contact behavior for outbound INVITE messages. 🎯
🔄 By default, this parameter is set to Off, meaning VOS3000 uses the standard SIP convention where the callee number is taken from the To header. But when enabled (On), VOS3000 extracts the callee number from the request-line of the INVITE and preserves the original number in the To field. This subtle change has a significant impact on how calls are routed through your VoIP softswitch — especially when interfacing with gateways that rely on the Contact header or request-line for number identification. 🔧
📡 This guide covers everything you need to know about the VOS3000 SIP routing gateway contact setting — from the core parameter SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT to the related per-gateway SIP settings (Reply address, Request address, Peer number information) and Mapping Gateway callee/caller field selection. All data is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Table 4-3). For expert assistance, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Is VOS3000 SIP Routing Gateway Contact?
📞 The VOS3000 SIP routing gateway contact parameter controls how VOS3000 constructs the SIP INVITE message when sending calls to a routing gateway. Specifically, it determines whether the callee number should be extracted from the request-line and whether the original number should be preserved in the To field. 📋
📌 According to the official VOS3000 V2.1.9.07 Manual, Table 4-3:
Attribute
Value
📌 Parameter Name
SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT
🔢 Default Value
Off
📝 Description
Use number from request-line as callee and keep original number in To field when send invite to callee
💡 Key insight: When this parameter is set to Off (default), VOS3000 follows the standard SIP RFC 3261 convention — the callee number in the INVITE is determined by the To header, and the request-line matches. When set to On, VOS3000 extracts the callee number from the request-line of the incoming SIP message and uses that for routing, while keeping the original number in the To field of the outbound INVITE. This is essential when upstream gateways manipulate the request-line during transit. 📡
🎯 Why VOS3000 SIP Routing Gateway Contact Matters
⚠️ Understanding and correctly configuring this parameter is critical for several reasons:
📞 Number routing accuracy: If the callee number source does not match what the downstream gateway expects, calls may be routed to the wrong destination or rejected entirely
🔄 To field preservation: Enabling this setting preserves the original dialed number in the To field, which is essential for billing, CDR accuracy, and troubleshooting
🔗 Gateway compatibility: Some SIP gateways and carrier equipment extract the callee number from the request-line rather than the To header — this parameter ensures compatibility
📊 Call flow integrity: Mismatched headers can cause call failures, one-way audio, or incorrect number display on the receiving end
🛡️ Interoperability: Different vendors implement SIP differently; this parameter gives you the flexibility to adapt VOS3000 to various gateway behaviors
⚙️ How SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT Works
🔄 To understand this parameter, you need to see how the SIP INVITE message changes based on the setting. Here is a text-based comparison of the two modes: 📡
📋 SIP INVITE Message Structure — SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⬇️ Mode: OFF (Default)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INVITE sip:[email protected] SIP/2.0 ← Request-Line
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "Caller" <sip:[email protected]>;tag=abc
To: <sip:[email protected]> ← Callee = To header
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
📌 Result: Callee number = 8801234567 (from To header)
Request-Line and To header contain the SAME number
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⬇️ Mode: ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INVITE sip:[email protected] SIP/2.0 ← Request-Line (used for routing)
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "Caller" <sip:[email protected]>;tag=abc
To: <sip:[email protected]> ← Original number PRESERVED
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
📌 Result: Callee number = 8801234567 (from Request-Line)
To field keeps the ORIGINAL number (before any manipulation)
📊 Critical distinction: When the parameter is On, the request-line contains the number that VOS3000 uses for actual routing (the callee number), while the To header retains the original dialed number before any prefix manipulation or routing transformation. This is extremely useful when VOS3000 applies prefix conversion rules — the gateway receives the routing number in the request-line but the original number remains in the To field for reference. 🎯
📋 Per-Gateway SIP Settings: Reply Address and Request Address
🔗 Beyond the global SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT parameter, VOS3000 provides per-gateway SIP settings that control how reply and request signals are addressed. These settings are configured at the individual gateway level under Routing Gateway → Additional settings → Protocol → SIP. 🛠️
📨 Reply Address: Where to Send Reply Signal
📬 The Reply address setting determines where VOS3000 sends the reply signal after receiving a SIP request from the gateway. This is critical for ensuring SIP responses (such as 200 OK, 180 Ringing) reach the correct destination. 📡
Option
Description
Recommendation
🟢 Socket
Send reply to the source IP and port from which the SIP request was received
✅ Recommended — most reliable for NAT traversal
🔵 Via port
Send reply to the port specified in the Via header
⚠️ Use when gateway requires Via-based routing
🟡 Via
Send reply to the address and port in the Via header
⚠️ Standard SIP behavior per RFC 3261
💡 Best practice: The Socket option is recommended for the Reply address because it ensures SIP responses are sent back to the actual source of the request, which is critical for NAT traversal scenarios. For a deeper understanding of SIP signal flow, see our VOS3000 SIP call flow guide. 📖
📤 Request Address: Where to Send Request Signal
📨 The Request address setting determines where VOS3000 sends the request signal after a call is established. This setting directly relates to the VOS3000 SIP routing gateway contact concept because it controls whether VOS3000 uses the Contact header or socket information for subsequent requests. 🔧
Option
Description
Recommendation
🟢 Socket
Send request to the source IP and port from which the SIP request was received
✅ Recommended — most reliable
🔵 Contact Port
Send request to the port specified in the Contact header
⚠️ Use when gateway advertises a specific Contact port
🟡 Contact
Send request to the full address in the Contact header
⚠️ Standard SIP per RFC 3261
🔧 How this relates to the Contact header: The Request address setting determines how VOS3000 uses the Contact header for subsequent in-dialog requests (such as re-INVITE or BYE). When set to Contact, VOS3000 follows the SIP standard and sends requests to the URI in the Contact header. When set to Socket, VOS3000 uses the source socket address instead — which can be more reliable in NAT scenarios. This is especially important when combined with SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT. 📡
👤 Peer Number Information: Caller Selection Mode
📋 The Peer number information setting in the Routing Gateway SIP configuration determines how VOS3000 selects the caller number from incoming SIP signals. This works in conjunction with the Contact and request-line settings to ensure proper number identification for both caller and callee. 🎯
🗺️ Mapping Gateway SIP Settings: Callee and Caller Field Selection
🔄 While the Routing Gateway settings control how VOS3000 sends INVITE messages, the Mapping Gateway settings control how VOS3000 receives and interprets incoming SIP signals. These are configured at Mapping Gateway → Additional settings → Protocol → SIP. 📡
📞 Callee Number Field Selection
🎯 The Mapping Gateway provides a setting to determine which SIP field VOS3000 uses to extract the callee number from incoming INVITE messages. This is the inbound counterpart to SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT: 📋
Callee Source Field
Description
When to Use
📩 To
Extract callee number from the SIP To header
✅ Default — standard SIP behavior, use when gateways follow RFC 3261
📨 Request-Line
Extract callee number from the SIP Request-Line
⚠️ Use when upstream gateway modifies the request-line with the routing number
💡 Critical relationship: The Mapping Gateway callee setting (To vs Request-Line) is the receiving side of the same concept that SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT handles on the sending side. If an upstream system sends INVITE messages where the request-line contains the routing number (different from the To header), you must configure the Mapping Gateway to extract the callee from the Request-Line. Similarly, if your downstream gateway expects the callee in the request-line, enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT. 🔄
📞 Caller Number Field Selection
👤 The Mapping Gateway also provides settings for extracting the caller number from incoming SIP signals: 📋
Caller Source Field
Description
When to Use
📩 From
Extract caller number from the SIP From header
✅ Default — standard SIP behavior
🆔 Remote-Party-ID
Extract caller number from the Remote-Party-ID header
⚠️ Use when upstream gateway sends caller ID in RPID header
🖥️ Display
Extract caller number from the Display name portion of the From header
⚠️ Use when caller ID is in the display name, not the URI
📞 Practical tip: When connecting to carrier gateways that manipulate caller ID through P-Asserted-Identity or Remote-Party-ID headers, configure the Mapping Gateway caller field accordingly. For more on caller ID management, see our VOS3000 callee rewrite rule and prefix conversion guide. 🔧
🔄 VOS3000 SIP Routing Gateway Contact: Complete Signal Flow
📊 To fully understand how SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT interacts with per-gateway settings, here is a complete signal flow diagram: 📡
🎯 Key takeaway: The Mapping Gateway settings control what VOS3000 reads from incoming INVITE messages, while SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT and the per-gateway Reply/Request address settings control what VOS3000 writes into outgoing INVITE messages. For a comprehensive understanding of SIP session management, see our VOS3000 SIP session guide. 📖
📞 Callee: To / Request-Line — determines which field VOS3000 reads for the callee number
👤 Caller: From / Remote-Party-ID / Display — determines which field VOS3000 reads for the caller number
💾 Save mapping gateway settings
Step 4: Verify with SIP Debug 🔍
📝 After configuration, verify the Contact header behavior by monitoring the SIP INVITE flow. Use the SIP debug tools to confirm that the request-line and To header are populated correctly. For comprehensive debugging techniques, see our VOS3000 SIP debug guide. 🔧
📊 VOS3000 SIP Routing Gateway Contact: When to Enable vs. Disable
🎯 The decision to enable or disable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT depends on your specific gateway interoperability requirements. Here is a detailed comparison: 💡
Aspect
Off (Default)
On
📌 Callee Number Source
To header
Request-Line
🔄 To Field Content
Same as request-line callee
Original number (preserved)
📞 Request-Line
Matches To header
Contains routing number
🛡️ RFC 3261 Compliance
✅ Full compliance
⚠️ Modified behavior
🔧 Best For
Standard SIP gateways, carriers that follow RFC 3261
Gateways that read callee from request-line, prefix conversion scenarios
📊 Billing Impact
CDR shows final routing number
CDR can preserve original dialed number
🔗 Compatibility
Broad — works with most gateways
Specific — needed for certain gateway types
💡 Decision rule: Keep the default Off unless you encounter a specific gateway that routes based on the request-line callee number instead of the To header. Most modern SIP gateways follow RFC 3261 and use the To header. However, some legacy systems or carrier equipment may depend on the request-line — in those cases, enable the parameter to On. For help identifying which mode your gateway requires, contact us on WhatsApp at +8801911119966. 📞
🎯 Different gateway types require different configurations for the VOS3000 SIP routing gateway contact settings. Here are recommended configurations based on common deployment scenarios: 💡
Gateway Type
SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT
Callee Field (Mapping)
Reply / Request Address
🏢 Standard SIP carrier
Off (default)
To
Socket / Socket
🔄 Legacy gateway (request-line routing)
On
Request-Line
Socket / Socket
📞 PSTN gateway (prefix conversion)
On
Request-Line
Socket / Contact
📡 NAT-traversed gateway
Off (default)
To
Socket / Socket
🌐 Wholesale carrier (multiple prefixes)
On
Request-Line
Socket / Contact
💡 Key pattern: Enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT (On) when your gateway performs prefix conversion and you need the original number preserved in the To field while the routing number goes in the request-line. For more on prefix conversion, see our VOS3000 routing optimization guide. 🔧
🛡️ Common VOS3000 SIP Routing Gateway Contact Problems and Solutions
⚠️ Misconfigured Contact header settings can cause a range of call routing issues. Here are the most common problems and their solutions:
❌ Problem 1: Calls Routed to Wrong Number After Prefix Conversion
🔍 Symptom: VOS3000 applies a prefix conversion rule, but the downstream gateway still routes the call using the original number instead of the converted number.
💡 Cause: SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT is set to Off, so both the request-line and To header contain the original number. The gateway reads the To header and ignores the prefix conversion.
✅ Solutions:
🔧 Enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT to On
📞 This puts the converted (routing) number in the request-line while preserving the original in the To field
📊 Verify with SIP debug that the request-line contains the correct routing number
❌ Problem 2: Gateway Rejects INVITE — 404 Not Found
🔍 Symptom: Downstream gateway returns 404 Not Found for calls that should be routable, even though the callee number exists in the gateway’s routing table.
💡 Cause: The gateway extracts the callee number from a different header than what VOS3000 is populating. For example, the gateway reads the request-line but VOS3000 is only populating the To header (parameter set to Off).
✅ Solutions:
🔧 Confirm which SIP field the downstream gateway uses for callee identification
📋 If the gateway reads the request-line, enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT
📡 Check the gateway documentation or contact the carrier for their header requirements
❌ Problem 3: CDR Shows Incorrect Original Number
🔍 Symptom: Call Detail Records show the routing number (with prefix) instead of the original dialed number, making billing reconciliation difficult.
💡 Cause: SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT is Off, so the To header always contains the same number as the request-line — no original number is preserved.
✅ Solutions:
🔄 Enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT to On — this preserves the original number in the To field
📊 CDR systems can then read the original number from the To field for billing accuracy
❌ Problem 4: One-Way Audio After Enabling Contact Header Routing
🔍 Symptom: After enabling SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT, calls connect but audio only flows in one direction.
💡 Cause: The Request address setting is configured to use Contact or Contact Port, and the Contact header in the gateway’s 200 OK response points to an incorrect or unreachable address.
✅ Solutions:
🔧 Change the Request address to Socket — this ensures subsequent requests go to the actual source IP:port
📡 Verify the Contact header in the gateway’s responses using SIP debug
🛠️ If the gateway is behind NAT, Socket-based routing is more reliable than Contact-based routing
Configure Routing Gateway Request address (Socket recommended for NAT)
☐
📌 5
Configure Mapping Gateway Callee field (To or Request-Line)
☐
📌 6
Configure Mapping Gateway Caller field (From, Remote-Party-ID, or Display)
☐
📌 7
Test with SIP debug — verify INVITE header fields match expected values
☐
📌 8
Verify CDR records show correct callee number for billing
☐
📞 Need help configuring your gateway Contact header settings? Contact our VOS3000 experts on WhatsApp at +8801911119966 for personalized assistance. 🔧
❓ Frequently Asked Questions
❓ What is SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT in VOS3000?
📋 SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT is a VOS3000 SIP parameter that controls how the callee number is placed in outbound INVITE messages to routing gateways. When set to Off (default), VOS3000 follows standard SIP behavior where the To header and request-line contain the same callee number. When set to On, VOS3000 uses the number from the request-line as the callee for routing and keeps the original number in the To field. This is essential for gateways that read the callee from the request-line rather than the To header. 🔧
❓ When should I enable VOS3000 SIP routing gateway contact?
🔄 Enable SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT (On) when your downstream routing gateway extracts the callee number from the SIP request-line instead of the To header. This is common with legacy PSTN gateways, gateways that perform number manipulation, and carrier equipment that routes based on the INVITE request-line. You should also enable it when you apply prefix conversion rules and need the original dialed number preserved in the To field for billing and CDR accuracy. 📡
❓ What is the difference between the Routing Gateway Contact setting and the Mapping Gateway Callee field?
📊 These settings control opposite directions of SIP signaling. SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT (Routing Gateway) controls what VOS3000 writes into outbound INVITE messages — it determines whether the callee comes from the request-line and whether the To field preserves the original number. The Mapping Gateway Callee field (To / Request-Line) controls what VOS3000 reads from inbound INVITE messages — it determines which SIP field VOS3000 uses to extract the callee number from incoming calls. They work together to ensure proper number handling in both directions. 🔄
❓ What does the Reply address Socket setting do in VOS3000?
📬 The Reply address setting in the Routing Gateway SIP configuration determines where VOS3000 sends SIP response messages (such as 200 OK, 180 Ringing, 403 Forbidden) after receiving a request from the gateway. When set to Socket (recommended), VOS3000 sends replies to the source IP address and port of the incoming SIP request. When set to Via, it uses the address in the Via header. When set to Via port, it uses the port from the Via header. The Socket option is most reliable for NAT traversal scenarios. 🛡️
❓ How does the Request address setting relate to the Contact header?
📤 The Request address setting controls where VOS3000 sends in-dialog SIP requests (like re-INVITE or BYE) after call establishment. When set to Contact, VOS3000 sends requests to the full URI in the Contact header of the gateway’s response. When set to Contact Port, it uses only the port from the Contact header. When set to Socket (recommended), it sends to the source IP:port of the received signal. This is closely related to the VOS3000 SIP routing gateway contact behavior because it determines how the Contact header is used for subsequent signaling. 🔧
❓ Can I configure SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT per gateway?
⚙️ The SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT parameter is a global SIP parameter configured at the system level under Operation management → Softswitch management → Additional settings → SIP parameter. However, the related per-gateway settings (Reply address, Request address, Peer number information for Routing Gateways; Callee and Caller field selection for Mapping Gateways) are configured at the individual gateway level. This means the base Contact header behavior is global, but the specific address routing and field selection can be customized per gateway. For system-level parameter documentation, see VOS3000 system parameters. 📖
❓ What happens to the To field when VOS3000 SIP routing gateway contact is enabled?
📞 When SS_SIP_ROUTING_GATEWAY_INVITE_USE_CONTACT is set to On, VOS3000 preserves the original callee number in the To field of the outbound INVITE. The request-line contains the number that VOS3000 uses for actual routing (which may include prefix modifications or routing transformations), while the To field retains the original dialed number before any manipulation. This dual-number approach ensures that downstream gateways can route using the request-line number while billing and CDR systems can reference the original number from the To field. 🎯
📚 Related Resources – VOS3000 SIP Routing Gateway
🔗 Explore these related VOS3000 guides for deeper understanding:
📞 Nothing kills call completion rates faster than an incorrectly configured VOS3000 SIP INVITE timeout — and nothing disrupts active calls more than misconfigured gateway switching behavior. When your softswitch sends an INVITE and the far end never responds, how long should it wait? What happens when a gateway responds with SDP — should VOS3000 commit to that gateway or keep trying alternatives? These decisions, controlled by SS_SIP_TIMEOUT_INVITE, SS_SIP_STOP_SWITCH_AFTER_SDP, and SS_SIP_USER_AGENT_STOP_SWITCH_AFTER_INVITE_TIMEOUT, directly impact your ASR, call reliability, and caller experience. ⏱️
⚙️ Set the INVITE timeout too short, and legitimate calls get abandoned before the gateway can answer. Set it too long, and failed calls consume precious port capacity. Enable gateway switching after SDP, and you risk disrupting early media. Disable switching after INVITE timeout, and backup routes never get tried. Understanding how these three parameters work together is what separates a basic VOS3000 deployment from a professionally tuned one. 🔧
🎯 This guide covers every aspect of the VOS3000 SIP INVITE timeout, gateway switching decisions, and stop switch behavior: the global parameters, per-gateway overrides, related system parameters like SS_GATEWAY_SWITCH_LIMIT and SS_GATEWAY_SWITCH_STOP_AFTER_RTP_START, and best practices for configuring gateway failover in production environments. All data is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Tables 4-3 and 4-4). For expert assistance, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Is VOS3000 SIP INVITE Timeout?
⏱️ The VOS3000 SIP INVITE timeout defines the maximum number of seconds the softswitch will wait for a response after sending a SIP INVITE message to a gateway. If no provisional response (100 Trying, 180 Ringing, 183 Session Progress) or final response (200 OK, 4xx, 5xx, 6xx) arrives within this period, VOS3000 considers the INVITE failed and proceeds to the gateway switching decision. 📞
📋 This parameter is governed by SS_SIP_TIMEOUT_INVITE with a default value of 10 seconds:
Attribute
Value
📌 Parameter Name
SS_SIP_TIMEOUT_INVITE
🔢 Default Value
10
📐 Unit
Seconds
📝 Description
SIP INVITE timeout. Default value in “Routing Gateway > Additional settings > Protocol > SIP”
💡 How the 10-second default works: When VOS3000 sends an INVITE to a gateway, it starts a countdown timer. During this period, SIP retransmissions occur based on SS_SIP_RESEND_INTERVAL (default: 0.5,1,2,4,4,4,4,4,4,4). If no response arrives within 10 seconds total, VOS3000 stops retransmitting, marks the INVITE as failed, and proceeds based on your gateway switching configuration.
📋 VOS3000 SIP INVITE Timeout vs Other SIP Timers
🌐 The VOS3000 SIP INVITE timeout is just one of several SIP timers that govern call setup. Understanding the differences is essential:
Timer
Parameter
Default
Controls
📞 INVITE Timeout
SS_SIP_TIMEOUT_INVITE
10 seconds
Total wait for any INVITE response
⏳ Trying Timeout
SS_SIP_TIMEOUT_TRYING
20 seconds
Wait for progress after 100 Trying
🔔 Ringing Timeout
SS_SIP_TIMEOUT_RINGING
120 seconds
Wait for answer while ringing
📡 Session Progress
SS_SIP_TIMEOUT_SESSION_PROGRESS
20 seconds
Wait after 183 Session Progress
🔑 Key distinction: The VOS3000 SIP INVITE timeout is the overall timer for the INVITE transaction. The Trying, Ringing, and Session Progress timers only activate after specific provisional responses are received. If no response comes at all, only the INVITE timeout applies.
🔄 Gateway Switching Decision Points
🌐 VOS3000 makes gateway switching decisions at multiple points during call setup. Understanding these decision points is critical for configuring reliable failover. The two most important are controlled by the VOS3000 SIP INVITE timeout parameters: 📡
🔑 Key insight: These parameters work together as a layered decision system. The VOS3000 SIP INVITE timeout parameters (stop switch after SDP and stop switch after INVITE timeout) are the two most important because they control the two most common switching decisions: committing after media negotiation begins, and failing over after a gateway is unresponsive.
🛑 SS_SIP_STOP_SWITCH_AFTER_SDP — Stop Switch After SDP
📞 The SS_SIP_STOP_SWITCH_AFTER_SDP parameter controls whether VOS3000 stops trying alternative gateways once it receives SDP (Session Description Protocol) in a provisional response from the current gateway. When this parameter is On (default), VOS3000 commits to the current gateway as soon as SDP arrives — preventing mid-setup failover that would disrupt early media and call progress. 🛡️
💡 Why SDP matters in gateway switching: In the SIP call flow, SDP carries the media negotiation details — codecs, IP addresses, and port numbers. When a gateway sends SDP in a 183 Session Progress response, it means the gateway has allocated media resources, early media may already be playing, the media session is partially established, and switching to another gateway at this point causes audio disruption and potential double-answer scenarios.
Setting
Gateway Switching Behavior
Call Impact
When to Use
✅ On (default)
Stops switching after SDP — commits to current gateway
🛡️ Prevents audio disruption, no double-answer, stable media path
📞 Nearly all deployments — recommended default
❌ Off
Continues switching even after SDP — may try other gateways
⚠️ Audio disruption risk, potential double-answer, unstable media
🔬 Only for special testing or specific carrier requirements
🚨 Warning: Setting SS_SIP_STOP_SWITCH_AFTER_SDP to Off is rarely appropriate. When a gateway has already sent SDP and you switch to another gateway, the original gateway may continue playing audio or billing for the session while the new gateway also attempts call setup. This creates chaotic call states. ⚡
🔄 The companion parameter to stop switch after SDP is SS_SIP_USER_AGENT_STOP_SWITCH_AFTER_INVITE_TIMEOUT. While the SDP parameter controls switching after media negotiation begins, this parameter controls switching after an INVITE times out with no response at all. ⏳
🔑 Why the default is Off: When a gateway does not respond to an INVITE within the timeout period (defined by SS_SIP_TIMEOUT_INVITE), the most common cause is a network or gateway failure. In this scenario, you want VOS3000 to try the next available gateway — not give up. Setting this parameter to Off (default) ensures that backup routes are attempted, maximizing call completion rates. 📈
Setting
INVITE Timeout Behavior
Impact on Call
❌ Off (default)
VOS3000 continues gateway switching to the next available gateway
VOS3000 stops switching — call fails immediately after INVITE timeout
⚠️ No failover — caller gets failure tone right away
💡 When to set On: The only scenario where setting this to On makes sense is for compliance or regulatory routing where calls must use a specific carrier and failover to alternatives is not permitted. 🏛️
📊 Complete Gateway Switching Flow
🔄 Understanding how the VOS3000 SIP INVITE timeout interacts with gateway switching requires seeing the complete flow. Here is the full decision tree: 🌳
📞 VOS3000 INVITE Timeout & Gateway Switching Flow:
VOS3000 ──► INVITE ──► Gateway A (Primary)
│ │
│ ⏱️ INVITE Timeout countdown starts
│ 📡 Retransmissions per SS_SIP_RESEND_INTERVAL
│ │
│ ┌── T = INVITE Timeout ──┐
│ │ No response received │
│ └────────────────────────┘
│ │
├── ❌ Gateway A INVITE failed
│
├── Check: Stop switch after INVITE timeout?
│ │
│ ├── OFF (default) ✅
│ │ └──► Try next gateway in route
│ │ VOS3000 ──► INVITE ──► Gateway B (Backup)
│ │ │
│ │ (new INVITE timeout starts)
│ │
│ └── ON ⚠️
│ └──► Stop switching
│ Return error to caller (SIP 408 / 503)
│
┌── OR Gateway A responds ─────────────────┐
│ │
│ ├── 100 Trying / 180 Ringing (no SDP) │
│ │ └──► Continue waiting │
│ │ (may still switch) │
│ │ │
│ ├── 183 Session Progress + SDP │
│ │ ├── Stop switch after SDP = │
│ │ │ ON (default) ✅ │
│ │ │ └──► Commit to Gateway A │
│ │ │ No more switching │
│ │ │ │
│ │ └── Stop switch after SDP = │
│ │ OFF ⚠️ │
│ │ └──► May switch to Gateway B │
│ │ (risk of disruption!) │
│ │ │
│ ├── SIP Error Code (4xx/5xx/6xx) │
│ │ └──► May try next gateway │
│ │ │
│ └── 200 OK (Answer) │
│ └──► Call established │
│ No switching │
│ │
└── 📝 CDR recorded with switching details │
🛡️ Related System Parameters for Gateway Switching
📋 The VOS3000 SIP INVITE timeout and stop switch parameters do not work in isolation. Several system-level parameters from Table 4-4 of the official VOS3000 2.1.9.07 manual control the broader gateway switching behavior: 🔧
Parameter
Default
Description
📌 SS_GATEWAY_SWITCH_LIMIT
None
Times limit for Routing Gateway Auto-Switch — maximum number of gateways VOS3000 will try
📡 SS_GATEWAY_SWITCH_STOP_AFTER_RTP_START
On
Stop Switch Gateway when RTP Start — prevents switching once media flows
📞 SS_GATEWAY_SWITCH_STOP_AFTER_USER_BUSY
On
Callee busy stop switch — stops trying other gateways when 486 Busy received
🔗 SS_GATEWAY_SWITCH_UNTIL_CONNECT
Off
Switch Gateway Until Connect — when On, continues switching until 200 OK received
🔑 Key takeaway: The default VOS3000 configuration creates a logical switching strategy — try alternative gateways when the primary is unresponsive (INVITE timeout), but stop switching once the call progresses to the point where switching would cause disruption (SDP received, RTP started, callee busy). This is the correct behavior for virtually all VoIP deployments. ✅
🖥️ Per-Gateway INVITE Timeout and Stop Switch Settings
🎯 Not all gateways are created equal. VOS3000 provides per-gateway overrides for both INVITE timeout and stop switch behavior. 📡
Control failover behavior after INVITE timeout expires
🎯 Recommended INVITE Timeout by Gateway Type
Gateway Type
Recommended INVITE Timeout
Rationale
🏢 Local LAN gateway
5–8 seconds
✅ Fast response expected; shorter timeout frees resources quickly
🌐 Standard WAN gateway
10 seconds (default)
🔧 Proven balance for typical VoIP networks
📡 High-latency / satellite
15–20 seconds
⏱️ Accounts for propagation delay and slow gateway response
🛡️ Premium carrier gateway
8–10 seconds
📞 Reliable carriers respond quickly; faster failover on failure
⚠️ Intermittent gateway
5–7 seconds
🔄 Quick failover to backup route; minimize dead air time
🚫 Stop Switching Response Code — Per-Code Control
📋 Beyond the global stop switch parameters, VOS3000 offers a more granular control: the “Stop switching response code” per-gateway setting. This lets you specify a particular SIP response code that triggers stop-switch behavior. 🎯
⏱️ The default VOS3000 SIP INVITE timeout is 10 seconds, configured via SS_SIP_TIMEOUT_INVITE. VOS3000 will wait up to 10 seconds for any response before considering the attempt failed. The default can be overridden per gateway in Routing Gateway > Additional settings > Protocol > SIP.
❓ What does SS_SIP_STOP_SWITCH_AFTER_SDP do?
🛑 When On (default), VOS3000 stops trying alternative gateways once it receives SDP in a provisional response (like 183 Session Progress with SDP). This prevents mid-call audio disruption, double-answer scenarios, and media path instability. When Off, VOS3000 may switch gateways even after media negotiation has begun — which is almost never desirable. Keep this On. 🔧
❓ Should I enable stop switch after INVITE timeout?
🔄 No — keep it Off (default) for most deployments. When a gateway does not respond to an INVITE, you want VOS3000 to try the next available gateway (failover). Setting it to On means VOS3000 stops switching and the call fails immediately. The only exception is compliance routing where failover to a different carrier is not permitted. 🏛️
❓ How do I prevent infinite gateway switching loops?
🔢 Set SS_GATEWAY_SWITCH_LIMIT to a reasonable value (3–5 gateway attempts). This prevents VOS3000 from endlessly cycling through gateways when all are failing. Also keep SS_GATEWAY_SWITCH_UNTIL_CONNECT Off (default) and ensure SS_SIP_STOP_SWITCH_AFTER_SDP is On (default). 🛡️
📞 Need Expert Help?
🔧 Proper VOS3000 SIP INVITE timeout and gateway switching configuration is essential for maximizing call completion rates, enabling fast gateway failover, and delivering a quality caller experience. Whether you need help with timeout tuning, stop switch configuration, or troubleshooting failover issues, our team is ready to assist. 🛡️
VOS3000 SIP Privacy Header: Essential Caller ID Protection Guide
🔐 Have you ever needed to protect caller identity on your VOS3000 softswitch — but found yourself confused by the three different privacy modes and how they interact with per-gateway settings? The VOS3000 SIP privacy header is the key to controlling exactly how caller ID information is exposed or hidden in your SIP signaling. Configured via SS_SIP_USER_AGENT_PRIVACY, this parameter determines whether VOS3000 includes a Privacy header in outbound SIP messages and what value that header carries. 🛡️
📞 Whether you are managing wholesale VoIP routes that require caller ID hiding, enterprise PBX trunks with privacy requirements, or regulatory compliance for caller identification, understanding the VOS3000 SIP privacy header is essential. The global parameter controls the default behavior, while per-gateway settings on Routing Gateways and Mapping Gateways give you granular control over each interconnect. This guide covers every aspect — from the three global modes (Ignore/Id/None) to per-gateway Privacy, P-Asserted-Identity, and P-Preferred-Identity configuration. 🎯
🔧 We will reference only official VOS3000 2.1.9.07 manual data — no guesses, no fabricated values. Let’s dive in! 💡
Table of Contents
🔐 What Is VOS3000 SIP Privacy Header?
🛡️ The VOS3000 SIP privacy header controls whether VOS3000 includes a Privacy header in SIP messages sent by registered user agents. The Privacy header, defined in RFC 3323, signals to downstream entities how the caller’s identity should be handled — specifically whether the caller ID should be hidden from the called party or displayed normally. 📞
📋 This parameter is governed by SS_SIP_USER_AGENT_PRIVACY with a default value of Ignore. Here is the official reference from the VOS3000 2.1.9.07 manual:
💡 Key insight: The default of “Ignore” means VOS3000 does NOT include any Privacy header in outbound SIP messages. This is the most common setting for standard VoIP deployments where caller ID presentation is the default behavior. Only when you change this to “Id” or “None” will VOS3000 actively insert a Privacy header.
🎯 Why VOS3000 SIP Privacy Header Matters
⚠️ Without proper privacy header configuration, several problems can occur:
🔓 Unintended caller ID exposure: Sensitive caller numbers may be visible to downstream providers or called parties when they should be hidden
📋 Regulatory non-compliance: Many jurisdictions require caller ID blocking capability; without Privacy headers, you cannot honor user privacy requests
🚫 Call rejection by carriers: Some carriers reject calls without proper privacy indicators when the calling party has requested anonymity
🔄 Inconsistent privacy behavior: Without per-gateway control, privacy settings are “all or nothing” across all interconnects
📡 Identity header mismatch: Privacy header must be coordinated with P-Asserted-Identity and P-Preferred-Identity headers for consistent caller identification
⚙️ VOS3000 SIP Privacy Header Modes Explained
📊 The SS_SIP_USER_AGENT_PRIVACY parameter offers three distinct modes, each producing a different SIP signaling behavior. Understanding exactly what each mode does is critical for proper configuration. 🔑
Mode
SIP Header Output
Meaning
Use Case
🚫 Ignore (Default)
No Privacy field
VOS3000 does not add any Privacy header — caller ID is presented normally
Standard VoIP — caller ID shown to called party
🔐 Id
Privacy: id
Requests identity privacy — the caller ID should be hidden from the called party but available to trusted network entities
Caller ID blocking — caller requested privacy
🔓 None
Privacy: none
Explicitly states no privacy is requested — caller ID may be displayed
Explicit caller ID presentation — overrides network defaults
🔑 Critical distinction: “Privacy: id” and “Privacy: none” are NOT the same as omitting the header entirely. According to RFC 3323, the absence of a Privacy header means no privacy preference is expressed (the network decides), while “Privacy: none” explicitly declares that no privacy is requested. “Privacy: id” requests that the calling user’s identity be kept private from the called party. 📡
🔧 While SS_SIP_USER_AGENT_PRIVACY controls the global default, VOS3000 provides powerful per-gateway privacy controls on Routing Gateways. These settings are found in Routing Gateway > Additional settings > Protocol > SIP and offer far more granularity than the global parameter alone. 🎯
💡 The per-gateway settings include not just the Privacy header, but also the P-Preferred-Identity and P-Asserted-Identity headers — both defined in RFC 3325. These identity headers work together with the Privacy header to provide a complete caller identification and privacy framework. 📋
Setting
Options
Description
🛡️ Privacy
None / Passthrough / Id
SIP Privacy header — controls caller ID privacy for this gateway
👤 P-Preferred-Identity
None / Passthrough / Caller
SIP P-Preferred-Identity header — preferred identity for the caller
📋 P-Asserted-Identity
None / Passthrough / Caller
SIP P-Asserted-Identity header — asserted identity for the caller
📞 Caller dial plan
Dial plan selection
Dial plans for the caller number in “P-Asserted-Identity” field
🛡️ Routing Gateway Privacy Options in Detail
📊 The per-gateway Privacy setting on Routing Gateways provides three options that differ from the global SS_SIP_USER_AGENT_PRIVACY modes. Here is what each option does: 🔍
Option
SIP Header Effect
Behavior
When to Use
🚫 None
No Privacy field added
VOS3000 does not add any Privacy header to outbound INVITE messages via this gateway
Standard termination — caller ID presented normally
🔄 Passthrough
Pass through privacy field
VOS3000 forwards any existing Privacy header from the incoming call leg to the outbound leg via this gateway
VOS3000 actively adds “Privacy: id” to outbound INVITE messages via this gateway
Force caller ID hiding on this gateway
💡 Important: The Passthrough option is particularly powerful for wholesale VoIP providers. When a downstream carrier sends a call with “Privacy: id” and you need to forward that call to a termination provider, Passthrough ensures the privacy request is honored end-to-end. Without Passthrough, the Privacy header would be dropped and the caller ID could be exposed. For more on SIP call flow, see our SIP call flow guide. 📡
📋 P-Asserted-Identity and P-Preferred-Identity Headers
👤 The P-Asserted-Identity (PAI) and P-Preferred-Identity (PPI) headers work hand-in-hand with the VOS3000 SIP privacy header. While the Privacy header controls whether the caller ID should be hidden, the PAI and PPI headers carry the actual caller identity information within the trusted network. 🔐
🔐 Key relationship: When Privacy: id is set and P-Asserted-Identity is also configured, the PAI header carries the real caller identity within the trusted network while the Privacy header instructs the network to hide this identity from the called party. The From header is typically set to “Anonymous” while the PAI contains the actual number. This is the standard pattern for caller ID blocking in SIP networks per RFC 3325. 📡
📞 Caller Dial Plan for P-Asserted-Identity
🔧 The Caller dial plan setting in the Routing Gateway SIP configuration determines how the caller number is formatted in the P-Asserted-Identity field. This is essential when the termination provider requires a specific number format (e.g., E.164 with country code, or local format without country code). The dial plan transforms the caller number before it is placed in the PAI header. 📋
🖥️ In addition to Routing Gateway settings, VOS3000 also provides privacy control on the Mapping Gateway side. This is configured in Mapping Gateway > Additional settings > Protocol > SIP. 🔧
Setting
Description
🛡️ Support Privacy
Pass through mapping gateway private domain — forwards Privacy header through the mapping gateway
💡 What this does: When Support Privacy is enabled on a Mapping Gateway, VOS3000 passes through the Privacy header from the originating side to the routing side through the mapping gateway’s private domain. This ensures that privacy requests are preserved across the mapping gateway boundary. If disabled, the Privacy header may be stripped when the call traverses the mapping gateway. 📡
🎯 When to enable: Enable Support Privacy on Mapping Gateways when you need end-to-end privacy header preservation across multiple network domains. This is critical for wholesale VoIP providers who need to honor upstream privacy requests when routing calls through mapping gateways. For more about gateway configuration, see our gateway configuration guide. 🔗
🔗 Related Parameter: SS_SIP_E164_DISPLAY_FROM
📊 The SS_SIP_E164_DISPLAY_FROM parameter is closely related to the VOS3000 SIP privacy header. While the Privacy header controls whether the caller ID is hidden, SS_SIP_E164_DISPLAY_FROM controls how the caller’s display information appears in the SIP From header. 📋
💡 Why it matters: When SS_SIP_USER_AGENT_PRIVACY is set to “Id” (Privacy: id), the From header display name is typically changed to “Anonymous.” The SS_SIP_E164_DISPLAY_FROM parameter controls the display information format in the From header independently — it determines whether the display portion uses E.164 format, the original format, or is ignored. Both parameters work together to control how caller identity is presented in SIP signaling. For the complete parameter reference, see our VOS3000 parameter description and system parameters guide. 🔧
🛡️ Enable Support Privacy to pass through privacy fields
💾 Save mapping gateway settings
Step 4: Verify with SIP Debug 🔍
📝 After configuration, verify the privacy headers are working correctly using SIP debug tools. For comprehensive debugging instructions, see our VOS3000 troubleshooting guide.
Different carriers have different PAI and privacy requirements
💡 Pro tip: The most flexible approach is to set the global SS_SIP_USER_AGENT_PRIVACY to Ignore and then use per-gateway settings on Routing Gateways for specific privacy requirements. This way, each termination provider can have its own Privacy, PAI, and PPI settings without affecting other gateways. For call routing configuration, see our call routing guide. 📊
🛡️ Common VOS3000 SIP Privacy Header Problems and Solutions
⚠️ Misconfigured privacy headers can cause a range of issues. Here are the most common problems and their solutions:
❌ Problem 1: Caller ID Not Hidden Despite Privacy: id
🔍 Symptom: SS_SIP_USER_AGENT_PRIVACY is set to “Id” but the called party still sees the caller number.
💡 Cause: The per-gateway Privacy setting on the Routing Gateway may be set to “None,” which overrides the global parameter. Or the termination provider is ignoring the Privacy header and reading the number from the PAI header without honoring the privacy indicator.
✅ Solutions:
🔧 Verify the per-gateway Privacy setting is set to “Id” or “Passthrough” on the relevant Routing Gateway
📋 Check that the P-Asserted-Identity header is not being sent to untrusted networks
📡 Capture a SIP trace to confirm the Privacy: id header is actually present in the outbound INVITE
❌ Problem 2: Privacy Header Not Preserved Across Mapping Gateways
🔍 Symptom: Privacy header is present on the originating side but missing on the termination side after the call passes through a Mapping Gateway.
💡 Cause: The Mapping Gateway’s Support Privacy setting is not enabled, so the Privacy header is stripped during the mapping gateway traversal.
✅ Solutions:
🛡️ Enable Support Privacy on the Mapping Gateway: Mapping Gateway > Additional settings > Protocol > SIP
🔄 Verify the privacy field is passing through by checking SIP traces on both sides of the mapping gateway
📋 If using multiple mapping gateways, ensure Support Privacy is enabled on all of them
❌ Problem 3: Termination Provider Rejects Calls Without PAI
🔍 Symptom: Calls to a specific termination provider are rejected with SIP 403 or 403 errors. The provider requires a P-Asserted-Identity header.
💡 Cause: The P-Asserted-Identity setting on the Routing Gateway for this provider is set to “None,” so no PAI header is included in the outbound INVITE.
✅ Solutions:
📋 Set P-Asserted-Identity to Caller on the Routing Gateway for this provider
📞 Configure the Caller dial plan to format the number as required by the provider (e.g., E.164 with + prefix)
🔐 If privacy is also required, keep Privacy set to “Id” — the PAI header will carry the number in the trusted network while the From header shows “Anonymous”
❌ Problem 4: Confusion Between Global and Per-Gateway Privacy Settings
🔍 Symptom: Privacy behavior is inconsistent — some gateways hide caller ID and others do not, and you are unsure which setting is in control.
💡 Cause: Both the global SS_SIP_USER_AGENT_PRIVACY and per-gateway Privacy settings exist, and they can conflict or produce unexpected results when not coordinated.
✅ Solutions:
⚙️ Set the global SS_SIP_USER_AGENT_PRIVACY to Ignore as a baseline
🖥️ Use per-gateway Privacy settings on Routing Gateways to control privacy for each interconnect independently
📝 Document which gateways have which privacy settings for easy troubleshooting
✅ Use this checklist when deploying or tuning your VOS3000 SIP privacy header settings:
Check
Action
Status
📌 1
Set SS_SIP_USER_AGENT_PRIVACY to appropriate mode (Ignore/Id/None) for your deployment
☐
📌 2
Configure per-gateway Privacy on each Routing Gateway (None/Passthrough/Id)
☐
📌 3
Set P-Asserted-Identity on each Routing Gateway per provider requirements
☐
📌 4
Configure P-Preferred-Identity where needed (typically for UAC-originated calls)
☐
📌 5
Select Caller dial plan for PAI number formatting on each Routing Gateway
☐
📌 6
Enable Support Privacy on Mapping Gateways that need to preserve privacy headers
☐
📌 7
Verify with SIP trace that Privacy and identity headers appear correctly in outbound INVITE
☐
📌 8
Review SS_SIP_E164_DISPLAY_FROM for consistent From header display behavior
☐
❓ Frequently Asked Questions
❓ What is the default VOS3000 SIP privacy header setting?
🛡️ The default VOS3000 SIP privacy header setting is Ignore, configured via the SS_SIP_USER_AGENT_PRIVACY parameter. When set to Ignore, VOS3000 does not include any Privacy header in SIP messages — caller ID is presented normally. The other options are “Id” (adds Privacy: id to hide caller identity) and “None” (adds Privacy: none to explicitly indicate no privacy requested). 🔔
❓ What is the difference between Privacy: id and Privacy: none?
📊 Privacy: id requests that the calling user’s identity be kept private from the called party — the From header typically shows “Anonymous” while the real number is carried in the P-Asserted-Identity header within the trusted network. Privacy: none explicitly states that no privacy is requested and the caller ID may be displayed. The key difference from having no Privacy header at all is that “Privacy: none” is an explicit declaration, while the absence of a header means no privacy preference is expressed. Per RFC 3323, these are semantically different. 📡
❓ How do per-gateway Privacy settings interact with SS_SIP_USER_AGENT_PRIVACY?
🔧 The global SS_SIP_USER_AGENT_PRIVACY controls the default privacy behavior for all registered user agents. The per-gateway Privacy settings on Routing Gateways provide more granular control for each termination interconnect. The recommended approach is to set the global parameter to Ignore and use per-gateway settings for specific requirements — this gives you the most flexibility. Per-gateway settings take precedence over the global default for calls routed through that specific gateway. 🖥️
❓ When should I use the Passthrough option for Privacy?
🔄 Use Passthrough when you need to preserve an existing Privacy header from an upstream provider. For example, if a wholesale customer sends a call with “Privacy: id” and you need to forward that call to a termination provider while honoring the privacy request, set the Routing Gateway’s Privacy to Passthrough. This is the most common setting for wholesale VoIP providers who act as a transit between originating and terminating networks. Without Passthrough, the Privacy header would be dropped and the caller ID could be exposed unintentionally. 📞
❓ Do I need P-Asserted-Identity when using Privacy: id?
🔐 Yes, in most cases. When Privacy: id is set, the From header displays “Anonymous” to the called party. However, the real caller identity still needs to be communicated within the trusted network for billing, routing, and regulatory purposes. The P-Asserted-Identity (PAI) header carries this information — it is visible to trusted network entities but should not be forwarded to untrusted endpoints. Setting PAI to “Caller” on the Routing Gateway ensures the real number is included in the PAI header while the Privacy header keeps it hidden from the called party. For detailed PAI configuration, see our P-Asserted-Identity guide. 📋
❓ What does Support Privacy on Mapping Gateway do?
🖥️ The Support Privacy setting on Mapping Gateways enables the pass-through of the Privacy header across the mapping gateway’s private domain. When enabled, any Privacy header present in the incoming call leg is preserved and forwarded to the outbound routing side. When disabled, the Privacy header may be stripped when the call traverses the mapping gateway boundary. Enable this setting when you need end-to-end privacy header preservation in multi-domain deployments — especially critical for wholesale VoIP providers. 🔄
❓ How do I troubleshoot VOS3000 SIP privacy header issues?
🔍 Start by capturing a SIP trace on both the incoming and outgoing sides of VOS3000. Verify that the Privacy header appears (or does not appear) as expected in the outbound INVITE. Check that per-gateway Privacy settings match your expectations for each Routing Gateway. If privacy headers are missing after a Mapping Gateway, verify that Support Privacy is enabled. For PAI-related issues, confirm the P-Asserted-Identity setting is configured to “Caller” and the Caller dial plan is correct. For detailed troubleshooting, see our VOS3000 troubleshooting guide. For expert support, contact us on WhatsApp at +8801911119966. 📞
📞 Need Expert Help with VOS3000 SIP Privacy Header?
🔧 Configuring the VOS3000 SIP privacy header correctly is essential for protecting caller identity, meeting regulatory requirements, and maintaining compatibility with termination providers. Whether you need help with global parameter tuning, per-gateway Privacy and PAI configuration, or troubleshooting caller ID exposure issues, our team is ready to assist. 🛡️
💬 WhatsApp:+8801911119966 — Get instant support for VOS3000 SIP privacy header configuration, caller ID protection, and identity header setup. 🌐
📞 Still have questions about the VOS3000 SIP privacy header? Reach out on WhatsApp at +8801911119966 — we provide professional VOS3000 installation, configuration, and support services worldwide. For official VOS3000 software downloads, visit vos3000.com. 🌐
📞 Need Professional VOS3000 Setup Support?
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
VOS3000 SIP Outbound Registration Parameters: Expiry and Retry Delay Guide
⏱️ Two parameters control the entire lifecycle of VOS3000’s outbound SIP registration: SS_SIP_USER_AGENT_EXPIRE determines how long your registration stays valid, and SS_SIP_USER_AGENT_RETRY_DELAY determines how quickly VOS3000 recovers when registration fails. Together, these VOS3000 SIP outbound registration parameters govern whether your SIP trunks stay connected or silently go offline — and most operators never realize the connection until calls start failing. 📉
🔧 When VOS3000 registers outbound to another server (a wholesale carrier, upstream provider, or peer softswitch), the registration expiry controls how often VOS3000 must refresh its registration, while the retry delay controls recovery timing when things go wrong. Set the expiry too long behind NAT and your pinhole closes, killing inbound calls silently. Set the retry delay too low and you flood the upstream server with registration attempts. Set it too high and your trunk stays down for minutes when it could have recovered in seconds. ⚖️
📞 This guide covers both parameters in detail — from the Auto Negotiation behavior of SS_SIP_USER_AGENT_EXPIRE (default: Auto, range: 20–7200 seconds) to the failover timing of SS_SIP_USER_AGENT_RETRY_DELAY (default: 60 seconds, range: 30–600 seconds) — plus the companion parameters for clean disconnection, privacy, and endpoint-side registration handling. All data is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Tables 4-3 and 4-4). For expert assistance, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Are the VOS3000 SIP Outbound Registration Parameters?
📡 The VOS3000 SIP outbound registration parameters control how VOS3000 registers to external SIP servers. When VOS3000 acts as a SIP User Agent and registers to another server, two timing parameters govern the complete registration lifecycle: 📋
Parameter
Default
Range
Purpose
📌 SS_SIP_USER_AGENT_EXPIRE
Auto Negotiation
20–7200 seconds
SIP Registration Expiration Time to Other Server
🔄 SS_SIP_USER_AGENT_RETRY_DELAY
60
30–600 seconds
Resend Interval for SIP Registration when Failed
📍 Both parameters are located at: Navigation → Operation management → Softswitch management → Additional settings → SIP parameter
🔑 Critical distinction: These parameters only apply to VOS3000’s outbound SIP registration — when VOS3000 registers to another server. They do not control how VOS3000 handles inbound registrations from your own endpoints. For inbound registration handling, see VOS3000 SIP registration configuration. 📡
⏱️ SS_SIP_USER_AGENT_EXPIRE — Registration Expiry
📡 The SS_SIP_USER_AGENT_EXPIRE parameter controls the SIP registration expiration time when VOS3000 registers to other servers. With a default of Auto Negotiation and a configurable range of 20–7200 seconds, this setting is one of the most important parameters for maintaining stable outbound SIP trunking. Too short, and you flood the remote server with REGISTER messages. Too long, and NAT firewalls close the pinhole before re-registration occurs. ⚖️
🔄 Auto Negotiation vs. Fixed Expiry — How It Works
⚙️ The default “Auto Negotiation” mode follows a simple but effective principle: let the remote server decide. Here is how the negotiation process works: 📡
📡 VOS3000 SIP Registration Expiry — Auto Negotiation Flow:
VOS3000 ──────────────────────────── Remote SIP Server
│ │
│──── REGISTER (Contact: expires=X) ──►│
│ │
│◄─── 200 OK (Contact: expires=Y) ─────│
│ │
│ ┌─────────────────────────────────┐ │
│ │ Auto Negotiation Mode: │ │
│ │ • VOS3000 sends requested │ │
│ │ expiry (X) in REGISTER │ │
│ │ • Remote server responds with │ │
│ │ accepted expiry (Y) in 200 OK │ │
│ │ • VOS3000 uses Y as the │ │
│ │ effective registration expiry │ │
│ │ • Re-registration before Y │ │
│ │ seconds elapse │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Fixed Expiry Mode: │ │
│ │ • VOS3000 forces specified │ │
│ │ value (e.g., 300 seconds) │ │
│ │ • VOS3000 re-registers at │ │
│ │ ~50% of configured expiry │ │
│ │ to prevent lapses │ │
│ └─────────────────────────────────┘ │
Expiry Mode
Who Decides Expiry
Best For
Risk
🤝 Auto Negotiation
Remote server (200 OK)
General use, unknown providers
⚠️ NAT pinhole may close if server proposes long expiry
📌 Fixed Value (e.g., 300s)
VOS3000 (you control it)
NAT environments, predictable timing
⚠️ Value may conflict with remote server’s minimum/maximum
💡 NAT pro tip: If VOS3000 is behind a NAT firewall and registering to an external server, always set a fixed registration expiry of 120–300 seconds rather than using Auto Negotiation. If the remote server proposes a long expiry (e.g., 3600 seconds), your NAT mapping may expire before the next re-registration, silently breaking inbound calls. This is the single most common cause of “my trunk works for a while and then stops” complaints. 🔧
⏱️ When an outbound registration fails (e.g., the remote server returns 403 Forbidden, 401 Unauthorized, or is simply unreachable), VOS3000 waits SS_SIP_USER_AGENT_RETRY_DELAY seconds before attempting to re-register. The default is 60 seconds with a range of 30–600 seconds. 🔁
📊 Key behavior: VOS3000 does not implement exponential backoff for registration retries. Each failed attempt waits the same fixed SS_SIP_USER_AGENT_RETRY_DELAY interval before retrying. This means if you set the delay to 60 seconds, VOS3000 will attempt re-registration every 60 seconds consistently until the registration succeeds. ⏱️
🔄 Retry Delay vs. Registration Expiry — Key Difference
⚠️ A common source of confusion is the difference between these two parameters: 🎯
Aspect
SS_SIP_USER_AGENT_RETRY_DELAY
SS_SIP_USER_AGENT_EXPIRE
📌 Purpose
Wait time after registration failure
Registration validity duration on success
🔢 Default
60 seconds
Auto Negotiation (20–7200s)
🔄 Triggered When
Registration FAILS (timeout, 403, 503, etc.)
Registration SUCCEEDS (200 OK received)
📊 Effect
Determines re-registration attempt interval
Determines when VOS3000 refreshes a valid registration
💡 Simple rule: Retry delay governs “how long to wait before trying again after failure.” Expiry governs “how long my successful registration remains valid before I need to refresh it.” For more on the expiry parameter, see our outbound registration SIP guide. 📡
📋 Companion User Agent Registration Parameters
🔗 The expiry and retry delay do not work alone. Two additional parameters control the unregistration and privacy behavior of outbound registrations: 🛡️
Parameter
Default
Options
Description
📤 SS_SIP_USER_AGENT_SEND_UNREGISTER
On
On / Off
Send Cancel Register Message on restart/shutdown
🔒 SS_SIP_USER_AGENT_PRIVACY
Ignore
Ignore / Id / None
Privacy Setting for Register User
🔌 SS_SIP_USER_AGENT_SEND_UNREGISTER: When this parameter is On (the default), VOS3000 sends a SIP REGISTER with Expires: 0 to the remote server when the registration is removed or the system shuts down. This cleanly de-registers VOS3000, freeing resources on both sides. Keep this On — disabling it means the remote server retains the registration until it naturally expires, which can cause the remote server to route calls to a VOS3000 that is no longer available. For more on how authentication interacts with registration, see our VOS3000 SIP authentication guide. 🔐
🛡️ SS_SIP_USER_AGENT_PRIVACY: Controls how the SIP Privacy header is included in outbound REGISTER messages. The default Ignore means VOS3000 does not include any Privacy header. Id includes “Privacy: id” to request identity privacy. None includes “Privacy: none” to explicitly request no privacy handling. 🔒
📡 Endpoint Registration Expiry — The Other Side of the Coin
🔄 While SS_SIP_USER_AGENT_EXPIRE controls how VOS3000 registers to other servers, the endpoint registration parameters control how external devices register to VOS3000. Understanding the difference is critical for proper VOS3000 SIP outbound registration parameters management. ⚖️
Aspect
User Agent Expiry (Outbound)
Endpoint Expiry (Inbound)
📌 Parameter
SS_SIP_USER_AGENT_EXPIRE
SS_ENDPOINT_EXPIRE / SS_ENDPOINT_NAT_EXPIRE
📡 Direction
VOS3000 → Other Server
Device → VOS3000
🔢 Default
Auto Negotiation
300 / 3600 (NAT: 300)
⚠️ Failure Impact
Outbound/inbound calls via that trunk fail
Device appears unregistered, cannot receive calls
💡 Rule of thumb: If VOS3000 is registering to someone else, think SS_SIP_USER_AGENT_EXPIRE. If someone is registering to VOS3000, think SS_ENDPOINT_EXPIRE. For detailed coverage of endpoint-side registration, see our registration flood protection guide. 🌐
🔐 System-Level Endpoint Retry Parameters
📊 While SS_SIP_USER_AGENT_RETRY_DELAY controls VOS3000’s outbound registration retries, VOS3000 also provides system-level parameters that govern inbound terminal registration failure handling: 📋
🔄 VOS3000 SIP Outbound Registration and Server Redundancy
🖥️ One of the most critical applications of the VOS3000 SIP outbound registration parameters is in server redundancy and failover scenarios. When VOS3000 is configured to register with an upstream SIP proxy and that proxy becomes unavailable, the retry delay determines how quickly VOS3000 attempts to re-establish the registration — which directly impacts your call routing availability. 🌐
📡 Failover Timing Analysis
⏱️ Consider a scenario where VOS3000 is registered to a primary SIP trunk and the upstream server goes down. Here is how the retry delay affects recovery time: 📊
Retry Delay
First Retry After
Max Downtime (5 retries)
Network Load
Best For
30s (minimum)
30 seconds
~2.5 minutes
🔴 Higher
⚡ Mission-critical trunks
60s (default)
60 seconds
~5 minutes
🟡 Moderate
📊 Standard deployments
120s
120 seconds
~10 minutes
🟢 Lower
🏢 Stable enterprise links
300s
5 minutes
~25 minutes
🟢 Very Low
📡 Backup trunks only
🎯 Failover strategy: For primary SIP trunks where call availability is critical, use the minimum 30-second retry delay. For backup or secondary trunks, a longer delay (120-300 seconds) reduces unnecessary network traffic. For a complete failover setup guide, see our VOS3000 vendor failover setup. 🛡️
🔍 Locate SS_SIP_USER_AGENT_EXPIRE in the parameter list
✏️ Choose Auto Negotiation (default) or set a specific value between 20–7200 seconds
💾 Save and apply the changes
Step 2: Configure SS_SIP_USER_AGENT_RETRY_DELAY 🔄
📌 In the same SIP parameter section, locate SS_SIP_USER_AGENT_RETRY_DELAY
✏️ Set the desired value (range: 30–600 seconds, default: 60)
💾 Save changes
Step 3: Configure Companion Parameters 🔗
🔍 Verify SS_SIP_USER_AGENT_SEND_UNREGISTER is On (default) for clean disconnection
🔍 Set SS_SIP_USER_AGENT_PRIVACY to Ignore (default) unless provider requires a specific privacy header
💾 Save all changes
Step 4: Configure Per-Registration Settings 🖥️
📌 Navigate to the outbound registration management page
🔍 Select the registration entry for your upstream provider
✏️ Configure Register period — choose Auto negotiation or a specific value
🔌 Set the Signaling port of the remote registration server
🌐 Enter the SIP proxy address
💾 Save the registration settings
Step 5: Verify Registration with SIP Debug 🔍
📝 After configuration, verify the registration is working correctly. For comprehensive debugging instructions, see our VOS3000 troubleshooting guide. 🔧
📊 VOS3000 SIP Outbound Registration Best Practices by Scenario
🎯 Different deployment scenarios require different registration expiry and retry delay combinations. Here are our recommendations: 💡
Scenario
Expiry
Retry Delay
Rationale
🌐 NAT environment
120–300 seconds
30–60 seconds
Short enough to keep NAT pinhole open; long enough to avoid flooding
🏢 Same LAN / data center
600–3600 seconds
60 seconds
No NAT concerns; longer expiry reduces REGISTER traffic
📡 Wholesale carrier trunk
Auto Negotiation
60 seconds
Let the carrier decide; they know their requirements best
🛡️ Unstable network link
60–120 seconds
30 seconds
Fast recovery; short retry delay for quick re-registration after link recovery
🔌 Multiple trunks to same provider
300–600 seconds
60 seconds
Moderate expiry; avoid all trunks re-registering simultaneously
🔄 Primary SIP trunk (carrier)
120–300 seconds
30–45 seconds
Fast recovery needed; minimize call disruption on primary routes
🛡️ Common VOS3000 SIP Outbound Registration Problems and Solutions
⚠️ Misconfigured outbound registration parameters cause a range of issues. Here are the most common problems and their solutions:
❌ Problem 1: Trunk Works Then Silently Stops Receiving Calls
🔍 Symptom: Outbound calls work fine, but inbound calls via the trunk start failing after some time (typically 5–30 minutes after registration).
💡 Cause: VOS3000 is behind NAT and the registration expiry is too long. The NAT firewall closes the UDP pinhole before VOS3000 re-registers. 🌐
✅ Solutions:
🔧 Change SS_SIP_USER_AGENT_EXPIRE from Auto Negotiation to a fixed value of 120–300 seconds
📡 Verify NAT keep-alive is enabled — see our SIP session guide for session timer settings
🔍 Check SIP debug to confirm re-registration occurs before the NAT mapping expires
❌ Problem 2: Excessive REGISTER Messages Flooding the Network
🔍 Symptom: SIP traces show VOS3000 sending REGISTER messages every few seconds, even when the registration is successful.
💡 Cause: SS_SIP_USER_AGENT_EXPIRE is set to a very low value (e.g., 20 seconds), causing VOS3000 to re-register extremely frequently. 📊
✅ Solutions:
⏱️ Increase SS_SIP_USER_AGENT_EXPIRE to at least 120 seconds
📋 Check if Auto Negotiation is resulting in a very short server-proposed expiry
🔄 If the provider requires short expiry, verify SS_SIP_USER_AGENT_RETRY_DELAY is not adding unnecessary re-registration attempts
❌ Problem 3: Registration Fails and Never Recovers
🔍 Symptom: After a network outage or server restart, VOS3000 does not re-register to the remote server.
💡 Cause: SS_SIP_USER_AGENT_RETRY_DELAY may be set too high, or the authentication credentials may be wrong. 🔐
✅ Solutions:
🔄 Set SS_SIP_USER_AGENT_RETRY_DELAY to 60 seconds for reasonable retry timing
🔐 Verify SIP authentication credentials are correct — see our SIP authentication guide
📋 Check if the remote server has blocked your IP due to excessive registration failures
❌ Problem 4: Registration Flooding — Upstream Server Blocks VOS3000
🔍 Symptom: Upstream carrier reports excessive registration requests from your VOS3000; possibly blocks your IP or suspends your trunk.
💡 Cause: SS_SIP_USER_AGENT_RETRY_DELAY is set too low (30 seconds) and the upstream server is experiencing transient issues, causing VOS3000 to send a REGISTER every 30 seconds continuously.
✅ Solutions:
🔧 Increase SS_SIP_USER_AGENT_RETRY_DELAY to 60–120 seconds
📞 Contact the upstream carrier to understand their registration rate limits
📊 Monitor registration attempt frequency in VOS3000 logs
📊 Here is the complete reference for all parameters that govern SIP registration behavior in VOS3000 — both outbound (User Agent) and inbound (Endpoint): 📋
✅ Use this checklist when deploying or tuning your VOS3000 SIP outbound registration parameters:
Check
Action
Status
📌 1
Set SS_SIP_USER_AGENT_EXPIRE — Auto Negotiation or fixed value (120–300s for NAT)
☐
📌 2
Set SS_SIP_USER_AGENT_RETRY_DELAY — 60s default, 30–45s for primary trunks
☐
📌 3
Verify SS_SIP_USER_AGENT_SEND_UNREGISTER is On for clean restart behavior
☐
📌 4
Configure backup vendor gateways for failover during retry periods
☐
📌 5
Test registration failover by temporarily disabling upstream server
☐
📌 6
Monitor SIP debug trace to confirm retry delay matches configured value
☐
📌 7
Verify authentication user credentials in gateway configuration
☐
❓ Frequently Asked Questions
❓ What are the VOS3000 SIP outbound registration parameters?
📡 The VOS3000 SIP outbound registration parameters are SS_SIP_USER_AGENT_EXPIRE (default: Auto Negotiation, range: 20–7200 seconds) and SS_SIP_USER_AGENT_RETRY_DELAY (default: 60 seconds, range: 30–600 seconds). The expiry parameter controls how long a successful registration remains valid, while the retry delay controls how long VOS3000 waits before re-registering after a failure. Together, they govern the complete lifecycle of VOS3000’s outbound SIP registration to other servers. 🔧
❓ Should I use Auto Negotiation or a fixed registration expiry?
⚖️ Use Auto Negotiation when VOS3000 is in the same data center as the remote server (no NAT) and you want maximum compatibility. Use a fixed value of 120–300 seconds when VOS3000 is behind a NAT firewall — this is critical because Auto Negotiation may result in a long expiry (e.g., 3600 seconds) that allows the NAT mapping to expire before the next re-registration, silently breaking inbound calls. 🔧
❓ What is the recommended retry delay for primary SIP trunks?
⚡ For primary SIP trunks where call availability is critical, use 30–45 seconds. This provides fast recovery after server outages. For backup or secondary trunks, a longer delay of 120–300 seconds reduces unnecessary network traffic. The default 60 seconds is a reasonable balance for standard deployments. ⏱️
❓ What happens when the retry delay expires?
🔄 When the retry delay timer expires, VOS3000 sends a new SIP REGISTER request to the upstream server. If the registration succeeds (200 OK), normal operation resumes. If it fails again, the retry delay timer starts again and VOS3000 will retry after the same fixed interval. This continues until the registration succeeds. ⚙️
📞 Need Expert Help with VOS3000 SIP Outbound Registration?
🔧 Configuring the VOS3000 SIP outbound registration parameters correctly is essential for maintaining stable SIP trunking, fast failover recovery, and reliable inbound call delivery. Whether you need help with NAT-friendly registration expiry tuning, retry delay optimization, or troubleshooting registration failures, our team is ready to assist. 🛡️
VOS3000 SIP Call Progress Timeout: Complete Signal Chain Guide
⏱️ When VOS3000 sends a SIP INVITE, it enters a carefully timed sequence of timeout stages — each governed by a specific parameter that controls how long the softswitch waits at that phase before moving on or giving up. Understanding the complete VOS3000 SIP call progress timeout chain is essential for any VoIP operator who wants to eliminate mysterious call failures, optimize gateway channel utilization, and deliver a reliable calling experience. 📞
🔄 The call progress timeout chain consists of four critical parameters that fire sequentially during SIP call setup: SS_SIP_TIMEOUT_TRYING (20 seconds), SS_SIP_TIMEOUT_SESSION_PROGRESS (20 seconds), SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120 seconds), and SS_SIP_TIMEOUT_RINGING (120 seconds). Together with the initial SS_SIP_TIMEOUT_INVITE (10 seconds) timer, these five parameters define the entire timeout behavior from INVITE to answer. 🎯
🔧 This guide covers every parameter in the VOS3000 SIP call progress timeout chain — from the first 100 Trying response through Session Progress and Ringing stages to final answer or timeout failure. We explain how each timer works, when it fires, how per-gateway overrides give you granular control, and how to troubleshoot the most common timeout-related issues. All data is sourced exclusively from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Tables 4-3 and 4-4) — no guesses, no fabricated values. For expert assistance, contact us on WhatsApp at +8801911119966. 💡
Table of Contents
🔐 What Is VOS3000 SIP Call Progress Timeout?
📡 The VOS3000 SIP call progress timeout refers to the complete family of SIP timers that govern how long VOS3000 waits at each stage of the call setup process after sending an INVITE. These timers monitor provisional (1xx) SIP responses — the intermediate signals that indicate the call is progressing toward an answer. When a timer expires without the expected progress, VOS3000 terminates the call attempt and records the failure in the CDR. ⏱️ (VOS3000 SIP Call Progress Timeout)
⚠️ Misconfiguring any of these timers can cause a range of problems: calls that disappear silently after 100 Trying, early media sessions that get cut off at 20 seconds, endless ringing that wastes gateway channels, and no-answer call forwarding that never triggers. Understanding how the complete chain works together is the key to avoiding these issues. 📋 (VOS3000 SIP Call Progress Timeout)
🛡️ Resource protection: Each pending call consumes memory, sockets, and signaling capacity — timeouts prevent resource exhaustion
🔄 The Complete SIP Timeout Chain — From INVITE to Answer
📊 The VOS3000 SIP call progress timeout operates within a sequential chain. Each timer monitors a specific stage and hands off to the next when the call progresses. Here is the complete flow: 📡
📞 VOS3000 SIP Call Setup Timeout Chain — Complete Flow:
VOS3000 ──── INVITE ────► Destination
│
├── ⏱️ Timer 1: SS_SIP_TIMEOUT_INVITE (10s)
│ └── Waiting for ANY response to INVITE
│ ├── ❌ No response in 10s → Call failed (INVITE timeout)
│ └── ✅ 100 Trying received → Timer 1 stops, Timer 2 starts
│
├── ⏱️ Timer 2: SS_SIP_TIMEOUT_TRYING (20s) ◄── CALL PROGRESS
│ └── Waiting for progress beyond 100 Trying
│ ├── ❌ No 180/183/200 in 20s → Call failed (trying timeout)
│ └── ✅ 183 Session Progress received → Timer 2 stops
│ ├── 183 WITHOUT SDP → Timer 3a starts
│ └── 183 WITH SDP → Timer 3b starts
│
├── ⏱️ Timer 3a: SS_SIP_TIMEOUT_SESSION_PROGRESS (20s) ◄── CALL PROGRESS
│ └── 183 without SDP — no media path established
│ ├── ❌ No 180/200 in 20s → Call failed (session progress timeout)
│ └── ✅ 180 Ringing or 200 OK → Timer stops
│
├── ⏱️ Timer 3b: SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120s) ◄── CALL PROGRESS
│ └── 183 with SDP — early media active (caller hears audio)
│ ├── ❌ No 180/200 in 120s → Call failed (early media timeout)
│ └── ✅ 180 Ringing or 200 OK → Timer stops
│
├── ⏱️ Timer 4: SS_SIP_TIMEOUT_RINGING (120s) ◄── CALL PROGRESS
│ └── 180 Ringing received — waiting for answer
│ ├── ❌ No 200 OK in 120s → CANCEL, no-answer
│ └── ✅ 200 OK → Call established! 🎉
│
└── 🔁 Post-answer: SIP Session Timer takes over
🔑 Key insight: Timers 2, 3a, 3b, and 4 are the VOS3000 SIP call progress timeout parameters. They only activate after VOS3000 receives at least one provisional response. If the gateway never responds at all, only Timer 1 (SS_SIP_TIMEOUT_INVITE) applies. For a complete breakdown of all SIP message flows, refer to our SIP call flow guide. 📡
📊 Here is the master reference table for all four VOS3000 SIP call progress timeout parameters, sourced from the official VOS3000 2.1.9.07 manual: 🔗
Parameter
Default
Unit
Triggered By
Per-GW Override
SS_SIP_TIMEOUT_TRYING
20
Seconds
100 Trying received, no further progress
Yes — Trying timeout
SS_SIP_TIMEOUT_SESSION_PROGRESS
20
Seconds
183 without SDP received
Yes — SessionProgress(183) timeout
SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP
120
Seconds
183 with SDP (early media) received
Yes — SessionProgress(SDP) timeout
SS_SIP_TIMEOUT_RINGING
120
Seconds
180 Ringing received
Yes — Ringing timeout field
📍 All SIP parameters are located at: Navigation → Operation management → Softswitch management → Additional settings → SIP parameter
⚡ Why do SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP and SS_SIP_TIMEOUT_RINGING have 120-second defaults while the other two are only 20 seconds? The answer is early media and active call progress. When a 183 response includes SDP or a 180 Ringing is received, audio is flowing — the caller is actively engaged with ringback, IVR announcements, or queue music. VOS3000 gives these calls 120 seconds because real audio is being exchanged. By contrast, a 100 Trying or 183 without SDP means no media is flowing — just a stalled signaling state that should time out quickly. 🎵
⏱️ SS_SIP_TIMEOUT_TRYING — 100 Trying Timeout
📞 The SS_SIP_TIMEOUT_TRYING parameter defines the maximum number of seconds VOS3000 will wait for call progress after receiving a 100 Trying provisional response. When VOS3000 sends a SIP INVITE and the far end replies with 100 Trying (meaning “I received your request and am processing it”), the trying timer starts. If no further progress signal arrives within the configured timeout — no 180 Ringing, no 183 Session Progress, no 200 OK — VOS3000 terminates the call attempt. ⏱️
Attribute
Value
📌 Parameter Name
SS_SIP_TIMEOUT_TRYING
🔢 Default Value
20
📐 Unit
Seconds
📝 Description
SIP Trying timeout. Default value in “Routing Gateway > Additional settings > Protocol > SIP”
💡 Key insight: The 100 Trying response is informational — it tells VOS3000 that the INVITE was received, but it does not indicate that the call is progressing. The trying timeout ensures that VOS3000 does not wait indefinitely for a dead-end gateway that acknowledged the INVITE but cannot process it further. This is a hop-by-hop response — it is not forwarded beyond the immediate SIP hop, which means the 100 Trying VOS3000 receives is from the next-hop gateway, not necessarily the ultimate destination.
📡 SS_SIP_TIMEOUT_SESSION_PROGRESS — 183 Without SDP Timeout
📡 The SS_SIP_TIMEOUT_SESSION_PROGRESS parameter controls how long VOS3000 waits after receiving a 183 Session Progress response that does not contain an SDP body. A 183 without SDP indicates that the far end is processing the call but has not yet established a media path. 🔧
Attribute
Value
📌 Parameter Name
SS_SIP_TIMEOUT_SESSION_PROGRESS
🔢 Default Value
20
📐 Unit
Seconds
📝 Description
SIP Session Progress (183) timeout. Default value in “Routing Gateway > Additional settings > Protocol > SIP”
🔍 When does this timer apply? Some SIP servers and gateways send a 183 Session Progress without SDP as an intermediate response — for example, when the call is being routed through multiple hops or when the destination is being located. Since no media is established, this state should not persist long. The default of 20 seconds ensures VOS3000 moves on quickly if the call cannot progress. Unlike 100 Trying, the 183 is an end-to-end response — it comes from further downstream in the call path. ⏱️
🎵 SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP — 183 With SDP (Early Media) Timeout
🔊 The SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP parameter controls how long VOS3000 waits after receiving a 183 Session Progress with SDP. This is fundamentally different from the other two progress timeouts because SDP means a media path has been negotiated — audio is flowing even though the call is not yet answered. 🎶
Attribute
Value
📌 Parameter Name
SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP
🔢 Default Value
120
📐 Unit
Seconds
📝 Description
SIP Session Progress with SDP timeout. Default value in “Routing Gateway > Additional settings > Protocol > SIP”
📞 Common early media scenarios:
🎶 IVR announcements: “Press 1 for sales, 2 for support” — audio plays before answer
🔔 Remote ringback tone: The far-end network provides ringback audio instead of local ringback
📢 Queue messages: “Your call is important to us, please hold” — caller hears queue status
🎵 Music on hold: Background music while the call is being connected
⚠️ Error announcements: “The number you have dialed is not in service” — audio error messages from carrier
💡 Why 120 seconds? Early media calls are active audio sessions — the caller is hearing something, which means they are engaged. Cutting these off too early would terminate calls where the caller is listening to an IVR menu or waiting in a queue. The 120-second default provides ample time for these scenarios while still preventing runaway calls. ⚠️ Important distinction: When the remote ring back mode is set to 183 Session Progress + SDP, this timer may apply instead of SS_SIP_TIMEOUT_RINGING. Understanding which timer governs your call depends on the ring back mode configured for the gateway. For a deeper understanding of how these SIP sessions work, see our VOS3000 SIP session guide. 🔗
🔔 SS_SIP_TIMEOUT_RINGING — Ringing Timeout
🔔 The SS_SIP_TIMEOUT_RINGING parameter defines the maximum number of seconds a call will remain in the “ringing” or “alerting” state before VOS3000 terminates the call attempt. When VOS3000 sends a SIP INVITE and receives a 180 Ringing response, the ringing timer starts counting. If the called party does not answer within the configured timeout, VOS3000 sends a CANCEL or BYE to end the call attempt. 📞
Attribute
Value
📌 Parameter Name
SS_SIP_TIMEOUT_RINGING
🔢 Default Value
120
📐 Unit
Seconds
📝 Description
SIP Ringing timeout. Default value in “Routing Gateway > Additional settings > Protocol > SIP”
💡 Key insight: The default of 120 seconds (2 minutes) means that if a called party does not pick up within 2 minutes of ringing, VOS3000 will automatically terminate the call. This is a reasonable default for most deployments, but your specific use case may require a different value — especially when no-answer call forwarding is involved.
📞 No-Answer Call Forwarding and Ringing Timeout
🎯 One of the most critical implications of the VOS3000 SIP ringing timeout is its direct relationship with no-answer call forwarding. When a call hits the ringing timeout and is classified as “no answer,” VOS3000 can automatically forward the call to an alternate destination — but only if the ringing timeout has been configured to allow enough time for the original destination to answer. ⚙️
Ringing Timeout
No-Answer Forward
Total Caller Wait
Use Case
15s
Yes — after 15s
15s + forward ringing
📞 Quick mobile forwarding
30s
Yes — after 30s
30s + forward ringing
🏢 PBX extension forwarding
60s
Yes — after 60s
60s + forward ringing
🔧 Patient desk phone ring
120s (default)
Yes — after 120s
120s + forward ringing
⚠️ Long wait — may frustrate callers
💡 Recommendation: If you are using no-answer call forwarding, set the VOS3000 SIP ringing timeout to 30-45 seconds for mobile destinations and 45-60 seconds for desk phones. The default 120 seconds is too long for most forwarding scenarios — callers will hang up before the forward triggers. 📱
🔊 IVR Ringing Timeout — IVR_RINGING_TIMEOUT
🖥️ VOS3000 also provides a separate ringing timeout for IVR scenarios. The IVR_RINGING_TIMEOUT parameter controls how long IVR will ring before hanging up when there is no reply. 🔔
Attribute
Value
📌 Parameter Name
IVR_RINGING_TIMEOUT
🔢 Default Value
120
📐 Unit
Seconds
📝 Description
Time for IVR Hang Up, When No Reply
🎯 Key difference: While SS_SIP_TIMEOUT_RINGING governs the SIP signaling timeout for all calls, IVR_RINGING_TIMEOUT specifically controls IVR-directed call scenarios. If your IVR transfers calls to agents and the agents do not answer, this timer determines when the IVR gives up. For call center deployments, you may want to set this to 30-45 seconds to ensure callers are not stuck listening to endless ringing before being returned to queue or voicemail. 📞
📋 100 Trying vs 183 Session Progress vs 180 Ringing — Complete Comparison
🤔 A common source of confusion in VOS3000 deployments is the distinction between 100 Trying, 183 Session Progress, and 180 Ringing. All are SIP provisional (1xx) responses, but they serve very different purposes in the call setup signal chain and trigger different timers: 📊
🔧 VOS3000 allows you to override all four VOS3000 SIP call progress timeout values on a per-gateway basis. This is configured in the Routing Gateway > Additional settings > Protocol > SIP section for each gateway. 💡
📊 Why override per gateway? Different termination providers and gateway types behave very differently during call setup:
🏢 Enterprise PBX gateways: Typically respond quickly with 180 Ringing after 100 Trying — 20 seconds is more than enough
📡 Mobile carrier gateways: May take longer to locate the mobile device — might need 25-30 seconds trying timeout
🌍 International routes: Multiple hops can add delay between 100 Trying and the next progress signal
🔔 IVR-enabled gateways: Send 183 with SDP quickly but may keep the caller in early media for a long time
Gateway Setting
Global Default Source
Description
Trying timeout
SS_SIP_TIMEOUT_TRYING (20s)
Overrides how long to wait after 100 Trying
SessionProgress(183) timeout
SS_SIP_TIMEOUT_SESSION_PROGRESS (20s)
Overrides 183 without SDP timeout
SessionProgress(SDP) timeout
SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120s)
Overrides 183 with SDP / early media timeout
Ringing timeout
SS_SIP_TIMEOUT_RINGING (120s)
Overrides ringing timeout for this gateway
Remote ring back mode
Gateway-specific
Controls how ringback is delivered to the caller
⚙️ This per-gateway granularity is powerful. You can give a slow international carrier 30 seconds of trying timeout while keeping fast domestic gateways at the default 20 seconds. For help with gateway configuration, see our gateway configuration and routing mapping guide. 🔗
📡 Remote Ring Back Mode Options
🔔 The Remote ring back mode setting in each gateway’s SIP configuration determines how VOS3000 handles the alerting signal sent back to the caller. This directly interacts with the VOS3000 SIP call progress timeout behavior. 🎯
Mode
SIP Response
Behavior
Active Timer
🔔 Passthrough
180 or 183 as received
Forwards the remote party’s response unchanged
Ringing or Session Progress (based on response)
📞 183 Session Progress + SDP
183 with SDP body
VOS3000 generates 183 with SDP for early media
SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120s)
📱 180 Alerting + SDP
180 with SDP body
VOS3000 generates 180 with SDP for ringback tone
SS_SIP_TIMEOUT_RINGING (120s)
⚠️ Important distinction: When the remote ring back mode is set to 183 Session Progress + SDP, the call enters early media state. In this case, SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (default: 120 seconds) applies instead of SS_SIP_TIMEOUT_RINGING. Understanding which timer governs your call depends on the ring back mode configured for the gateway. For detailed information on how these SIP responses flow through your softswitch, refer to our VOS3000 SIP session guide. 🔧
📝 After configuration, verify the timeouts are working correctly using SIP debug tools. For comprehensive debugging instructions, see our VOS3000 SIP debug guide. 🔎
🎯 Different VoIP deployment scenarios require different signal progress timeout values. Here are our recommended settings based on real-world experience: 💡
Deployment Type
Trying
183 Timeout
183 SDP Timeout
Ringing
📞 Mobile termination
20s
15s
60s
30-45s
🏢 Enterprise PBX
20s
20s
120s
45-60s
🌍 International routes
30s
25s
90s
60s
🔔 IVR / Call center
20s
15s
90s
20-30s
📡 SIP trunking
20s
20s
120s
60-90s
🛡️ Premium routes
25s
20s
120s
90-120s
⚠️ Important note: The VOS3000 SIP call progress timeout must be coordinated with your call routing failover configuration. If the trying timeout is shorter than the time it takes for a backup route to be tried, you may need to adjust either the timeout or the failover strategy. 🔧
🛡️ Common VOS3000 SIP Call Progress Timeout Problems and Solutions
❌ Misconfigured call progress timeouts cause a range of frustrating issues. Here are the most common problems and their solutions: 🔍
❌ Problem 1: Calls Dropping at 20 Seconds After 100 Trying
🔍 Symptom: Calls to specific gateways consistently fail exactly 20 seconds after the INVITE, even though the far end eventually responds.
💡 Cause: The SS_SIP_TIMEOUT_TRYING (20 seconds) is expiring before the gateway can send a progress signal. This is common with international routes that have multiple SIP hops.
✅ Solutions:
🔧 Increase the per-gateway Trying timeout to 25-30 seconds for slow gateways
📡 Check network latency between VOS3000 and the destination gateway
🔍 Use SIP debug to measure actual 100 Trying to 180/183 timing
❌ Problem 2: Early Media Calls Timing Out at 20 Seconds Instead of 120
🔍 Symptom: Calls where the caller is hearing IVR audio or queue announcements get cut off at 20 seconds.
💡 Cause: The far-end gateway is sending a 183 Session Progress without SDP, so SS_SIP_TIMEOUT_SESSION_PROGRESS (20s) applies instead of SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120s). Or the gateway is sending a 100 Trying followed by silence, triggering the trying timeout.
✅ Solutions:
⚙️ Check the gateway’s Remote ring back mode setting — change to 183 Session Progress + SDP if early media is expected
📡 Verify the 183 response actually contains an SDP body in the SIP trace
🔧 Increase SS_SIP_TIMEOUT_SESSION_PROGRESS per-gateway if the gateway legitimately sends 183 without SDP
❌ Problem 3: Calls Ringing Too Long — Channels Exhausted
🔍 Symptom: Gateway channels fill up with unanswered calls, new calls fail with “no available channels.”
💡 Cause: SS_SIP_TIMEOUT_RINGING is set too high (or using the default 120s for mobile routes).
✅ Solutions:
🔧 Reduce SS_SIP_TIMEOUT_RINGING to 30-45 seconds for mobile destinations
🖥️ Use per-gateway override for specific providers — shorter timeout on high-volume mobile gateways
📊 Monitor concurrent ringing calls in real-time to identify bottlenecks
❌ Problem 4: Confusion Between 183 Without SDP and 183 With SDP Timers
🔍 Symptom: Some early media calls time out at 20 seconds while others last 120 seconds, even on the same gateway.
💡 Cause: The far end is inconsistently including or omitting the SDP body in 183 responses. When SDP is present, the 120-second timer applies; when absent, the 20-second timer fires. This is common when multiple upstream providers are reached through the same gateway.
✅ Solutions:
📡 Capture a SIP trace and inspect each 183 response for the presence of SDP (Content-Type: application/sdp)
🔧 Set SS_SIP_TIMEOUT_SESSION_PROGRESS to a higher value (30-45s) per-gateway if legitimate calls use 183 without SDP
❌ Problem 5: No-Answer Call Forwarding Does Not Trigger
🔍 Symptom: Calls are forwarded on no-answer inconsistently or not at all.
💡 Cause: The caller hangs up before the ringing timeout expires, so the “no-answer” condition is never reached — instead, it is recorded as a “caller hangup.”
✅ Solutions:
🔔 Reduce the ringing timeout so it expires before the caller gives up
✅ Use this checklist when deploying or tuning your VOS3000 SIP call progress timeout settings: 📋
Check
Action
Status
📌 1
Set SS_SIP_TIMEOUT_TRYING (default: 20s) based on gateway response times
☐
📌 2
Set SS_SIP_TIMEOUT_SESSION_PROGRESS (default: 20s) based on gateway behavior
☐
📌 3
Set SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (default: 120s) to match IVR/queue hold times
☐
📌 4
Set SS_SIP_TIMEOUT_RINGING (default: 120s) to appropriate value for your deployment
☐
📌 5
Configure per-gateway overrides for slow international routes
☐
📌 6
Set Remote ring back mode for each gateway (Passthrough / 183 + SDP / 180 + SDP)
☐
📌 7
Configure IVR_RINGING_TIMEOUT for call center scenarios
☐
📌 8
Verify with SIP debug to confirm correct timer fires at correct interval
☐
📌 9
Check CDR records for call end reasons to verify timeout classification
☐
📌 10
Coordinate no-answer call forwarding timing with ringing timeout
☐
❓ Frequently Asked Questions
❓ What is the VOS3000 SIP call progress timeout chain?
⏱️ The VOS3000 SIP call progress timeout chain is a sequence of four timers that fire during the SIP call setup process: SS_SIP_TIMEOUT_TRYING (20s, triggered by 100 Trying), SS_SIP_TIMEOUT_SESSION_PROGRESS (20s, triggered by 183 without SDP), SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (120s, triggered by 183 with SDP), and SS_SIP_TIMEOUT_RINGING (120s, triggered by 180 Ringing). Each timer monitors a specific stage of call progress and hands off to the next when the call advances. If any timer expires without progress, the call is terminated. 📡
❓ Why do some calls time out at 20 seconds while others last 120 seconds?
📊 The difference depends on which SIP response the gateway sends. If the gateway sends a 100 Trying or 183 Session Progress without SDP, the 20-second timer applies because no media is flowing. If the gateway sends a 183 Session Progress with SDP or a 180 Ringing, the 120-second timer applies because the call is in an active state (early media or alerting). Check your gateway’s Remote ring back mode setting and inspect the SIP trace to see which responses contain SDP. 🔧
❓ Can I set different timeouts for different gateways?
🖥️ Yes! VOS3000 supports per-gateway overrides for all four call progress timeout parameters. Navigate to Routing Gateway > [Select Gateway] > Additional settings > Protocol > SIP and set the individual timeout fields. If left blank, the gateway uses the global default. This is especially useful when you have both mobile and fixed-line gateways that require different timeout values. 🔧
❓ How does the ringing timeout interact with no-answer call forwarding?
🔄 When the VOS3000 SIP ringing timeout expires, the call is classified as “no-answer” and terminated. If no-answer call forwarding is configured, VOS3000 forwards the call at this point. This means the ringing timeout directly determines when the forwarding triggers. Set it too long and the caller hangs up first; set it too short and legitimate answers are missed. A recommended range is 30-45 seconds for mobile destinations with forwarding enabled. 📞
❓ What is the difference between SS_SIP_TIMEOUT_RINGING and SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP?
📊 SS_SIP_TIMEOUT_RINGING (default: 120s) applies when VOS3000 receives a 180 Ringing response. SS_SIP_TIMEOUT_SESSION_PROGRESS_SDP (default: 120s) applies when VOS3000 receives a 183 Session Progress with SDP, which establishes early media. Which timer applies depends on the gateway’s Remote ring back mode setting and the actual SIP response from the far end. Both default to 120 seconds but can be configured independently. 📡
❓ How do I troubleshoot VOS3000 SIP call progress timeout issues?
🔍 Start by capturing a SIP trace using the methods described in our SIP debug guide. Look for the timing between provisional responses and identify which timer is firing. Verify the actual timeout matches your configured value. Check CDR records for the call end reason codes. If calls are timing out at 20 seconds instead of your configured value, check whether the gateway is using 183 Session Progress mode (which triggers SS_SIP_TIMEOUT_SESSION_PROGRESS instead). For complex issues, contact us on WhatsApp at +8801911119966 for expert support. 📞
📞 Need Expert Help with VOS3000 SIP Call Progress Timeout?
🔧 Configuring the VOS3000 SIP call progress timeout chain correctly is essential for optimizing your VoIP network’s channel utilization, caller experience, and call forwarding behavior. Whether you need help with global parameter tuning, per-gateway overrides, or troubleshooting timeout-related call failures, our team is ready to assist. 🛡️