VOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive, VOS3000 SIP Resend Interval, VOS3000 SIP INVITE Timeout, VOS3000 SIP Call Progress Timeout, VOS3000 SIP Outbound Registration Parameters, VOS3000 SIP Privacy Header, VOS3000 SIP Routing Gateway Contact, VOS3000 SIP Publish Expire, VOS3000 SIP Display From, VOS3000 SIP Send Unregister

VOS3000 SIP Send Unregister: Essential Registration Cleanup Easy Guide

VOS3000 SIP Send Unregister: Essential Registration Cleanup Guide

๐Ÿ”„ 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:

AttributeValue
๐Ÿ“Œ Parameter NameSS_SIP_USER_AGENT_SEND_UNREGISTER
๐Ÿ”ข Default ValueOn
๐Ÿ“ OptionsOn / Off
๐Ÿ“ DescriptionSend Cancel Register Message
๐Ÿ“ NavigationOperation management โ†’ Softswitch management โ†’ Additional settings โ†’ SIP parameter

๐Ÿ’ก 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. ๐Ÿ“ก

๐Ÿ”„ VOS3000 SIP Send Unregister โ€” Clean Shutdown Flow:

VOS3000 โ”€โ”€โ”€โ”€ REGISTER (Expires: 3600) โ”€โ”€โ”€โ”€โ–บ Upstream SIP Server
    โ”‚                                           โ”‚
    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โœ… Registered
    โ”‚                                           โ”‚
    โ”‚   ... softswitch running normally ...     โ”‚
    โ”‚                                           โ”‚
    โ”‚   โ›” VOS3000 shutdown/restart initiated   โ”‚
    โ”‚                                           โ”‚
VOS3000 โ”€โ”€โ”€โ”€ REGISTER (Expires: 0) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ Upstream SIP Server
    โ”‚       (Cancel Register Message)           โ”‚
    โ”‚                                           โ”‚
    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โœ… Registration removed
    โ”‚                                           โ”‚
    โ”‚   ๐ŸŽ‰ Clean shutdown โ€” no stale entries!   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“Š 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. ๐Ÿ“ก

๐Ÿ”— 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. ๐Ÿ› ๏ธ

ParameterDefaultRange / OptionsDescription
SS_SIP_USER_AGENT_SEND_UNREGISTEROnOn / OffSend cancel register message on shutdown/restart
SS_SIP_USER_AGENT_EXPIREAuto Negotiation20โ€“7200sSIP registration expiration time to other server
SS_SIP_USER_AGENT_RETRY_DELAY6030โ€“600sResend interval for SIP registration when failed
SS_SIP_USER_AGENT_PRIVACYIgnoreIgnore / Id / NonePrivacy setting for register user
SS_SIP_USER_AGENT_STOP_SWITCH_AFTER_INVITE_TIMEOUTOffOn / OffStop switch gateway after INVITE timeout

๐Ÿ“ 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: ๐ŸŽฏ

AspectSIP Send Unregister (Expires: 0)Registration Natural Expiry
๐Ÿ“Œ MechanismExplicit REGISTER with Expires=0No refresh sent; server times out
โฑ๏ธ EffectivenessImmediate โ€” server removes registration instantlyDelayed โ€” server waits until expiry timer completes
๐Ÿ“ก ControlVOS3000 actively signals intent to unregisterVOS3000 passively allows registration to lapse
๐Ÿ›ก๏ธ Stale State RiskNone โ€” registration removed on 200 OKHigh โ€” registration lingers until Expiry timer ends
๐Ÿ”ง TriggerVOS3000 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: ๐Ÿ“‹

ParameterDefaultDescription
SS_ENDPOINT_REGISTER_REPLACEOnAllow replace current registered users when terminal registration
SS_ENDPOINT_REGISTER_RETRY6Max retry times when terminal registration
SS_ENDPOINT_REGISTER_SUSPEND180Disable 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. ๐Ÿ”‘

๐Ÿ“ž For detailed configuration of endpoint registration behavior and suspension, see our VOS3000 authentication suspend guide. For registration flood protection, refer to our VOS3000 registration flood article. ๐Ÿ“–

๐Ÿ“‹ Registration Management Settings in VOS3000

๐Ÿ–ฅ๏ธ 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: ๐Ÿ“ก

SettingOptionsRelevance to Unregister
๐Ÿ“ก Signaling portConfigurable port numberCancel register message uses the same signaling port
๐Ÿ–ฅ๏ธ Host nameFQDN or IP addressIdentifies VOS3000 in the unregister Contact header
๐ŸŒ Sip proxyAddress of the SIP routeCancel register is sent to the same SIP proxy
๐Ÿ“‹ Register periodDefault or Auto negotiationDetermines how long stale registration persists if unregister fails
๐Ÿ”‘ Authentication userUsername for SIP authCancel 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. ๐Ÿ”‘

๐Ÿ”„ VOS3000 SIP Send Unregister โ€” Complete Shutdown Scenario Analysis

๐Ÿ–ฅ๏ธ 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: ๐Ÿ“‹

ScenarioSS_SIP_USER_AGENT_SEND_UNREGISTER = OnSS_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. ๐Ÿ“ก

๐Ÿ“‹ Step-by-Step VOS3000 SIP Send Unregister Configuration

โš™๏ธ Follow these steps to configure the VOS3000 SIP send unregister parameter on your system:

Step 1: Configure Global SS_SIP_USER_AGENT_SEND_UNREGISTER ๐Ÿ“‹

  1. ๐Ÿ” Log in to VOS3000 Client with administrator credentials
  2. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Additional settings โ†’ SIP parameter
  3. ๐Ÿ” Locate SS_SIP_USER_AGENT_SEND_UNREGISTER in the parameter list
  4. โœ๏ธ Verify it is set to On (default) โ€” this is the recommended setting
  5. ๐Ÿ’พ Save and apply the changes

Step 2: Configure Companion Registration Parameters ๐Ÿ”—

  1. ๐Ÿ” Verify SS_SIP_USER_AGENT_EXPIRE โ€” set registration expiry (default: Auto Negotiation, range: 20โ€“7200s)
  2. ๐Ÿ” Verify SS_SIP_USER_AGENT_RETRY_DELAY โ€” set retry interval (default: 60, range: 30โ€“600s)
  3. ๐Ÿ” Verify SS_SIP_USER_AGENT_PRIVACY โ€” set privacy for register user (default: Ignore)
  4. ๐Ÿ” Verify SS_SIP_USER_AGENT_STOP_SWITCH_AFTER_INVITE_TIMEOUT โ€” gateway failover behavior (default: Off)
  5. ๐Ÿ’พ Save all changes

Step 3: Configure Outbound Registration in Gateway ๐Ÿ“ก

  1. ๐Ÿ“Œ Navigate: Operation management โ†’ Softswitch management โ†’ Routing gateway
  2. ๐Ÿ” Select the gateway that requires outbound registration
  3. ๐Ÿ”ง 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
  4. ๐Ÿ’พ 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. ๐Ÿ”ง

๐Ÿ“ž Verifying VOS3000 SIP Send Unregister During Shutdown:

VOS3000 โ”€โ”€โ”€โ”€ REGISTER (Expires: 3600) โ”€โ”€โ”€โ”€โ–บ Upstream Server
    โ”‚                                           โ”‚
    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โœ… Active registration
    โ”‚                                           โ”‚
    โ”‚   โ›” Administrator initiates VOS3000 stop โ”‚
    โ”‚                                           โ”‚
VOS3000 โ”€โ”€โ”€โ”€ REGISTER (Expires: 0) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ Upstream Server
    โ”‚       Contact: sip:user@vos3000-ip:5060   โ”‚
    โ”‚       (Cancel Register Message)           โ”‚
    โ”‚                                           โ”‚
    โ”‚โ—„โ”€โ”€โ”€โ”€ 401 Unauthorized โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ (auth challenge)
    โ”‚                                           โ”‚
VOS3000 โ”€โ”€โ”€โ”€ REGISTER (Expires: 0) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ Upstream Server
    โ”‚       Authorization: Digest username=...  โ”‚
    โ”‚       (Cancel with credentials)           โ”‚
    โ”‚                                           โ”‚
    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โœ… Registration removed!
    โ”‚                                           โ”‚
    โ””โ”€โ”€ ๐ŸŽ‰ Clean shutdown confirmed โ€” no stale entries

๐Ÿ’ก 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 TypeRecommended SettingRationale
๐Ÿ“ž 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): ๐Ÿ“‹

ParameterDefaultDirectionFunction
SS_SIP_USER_AGENT_SEND_UNREGISTEROnOutboundSend cancel register on shutdown/restart
SS_SIP_USER_AGENT_EXPIREAuto (20โ€“7200s)OutboundRegistration validity period
SS_SIP_USER_AGENT_RETRY_DELAY60sOutboundWait time before re-registering after failure
SS_SIP_USER_AGENT_PRIVACYIgnoreOutboundPrivacy setting for register user
SS_SIP_USER_AGENT_STOP_SWITCH_AFTER_INVITE_TIMEOUTOffOutboundStop switch gateway after INVITE timeout
SS_ENDPOINT_REGISTER_REPLACEOnInboundAllow replace current registered users
SS_ENDPOINT_REGISTER_RETRY6InboundMax retry times for terminal registration
SS_ENDPOINT_REGISTER_SUSPEND180sInboundDisable duration after exceeding retries

๐Ÿ”ง For complete documentation on all SIP parameters, see our VOS3000 parameter description reference. ๐Ÿ“–

๐Ÿ’ก VOS3000 SIP Send Unregister Configuration Checklist

โœ… Use this checklist when deploying or verifying your VOS3000 SIP send unregister settings:

CheckActionStatus
๐Ÿ“Œ 1Verify SS_SIP_USER_AGENT_SEND_UNREGISTER is On (default) in SIP parametersโ˜
๐Ÿ“Œ 2Set appropriate SS_SIP_USER_AGENT_EXPIRE (shorter = less stale time after crash)โ˜
๐Ÿ“Œ 3Configure SS_SIP_USER_AGENT_RETRY_DELAY for post-restart re-registration timingโ˜
๐Ÿ“Œ 4Verify Authentication user credentials match upstream server requirementsโ˜
๐Ÿ“Œ 5Test graceful shutdown and verify cancel register in SIP debug traceโ˜
๐Ÿ“Œ 6Configure backup vendor gateways for failover during restart periodsโ˜
๐Ÿ“Œ 7Verify SS_ENDPOINT_REGISTER_REPLACE is On on upstream server (allows clean override)โ˜
๐Ÿ“Œ 8Document 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. ๐Ÿ’ก

๐Ÿ”— 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:

๐Ÿ“ฑ WhatsApp: +8801911119966
๐ŸŒ Website: www.vos3000.com
๐ŸŒ Blog: multahost.com/blog
๐Ÿ“ฅ Downloads: VOS3000 Downloads


VOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive, VOS3000 SIP Resend Interval, VOS3000 SIP INVITE Timeout, VOS3000 SIP Call Progress Timeout, VOS3000 SIP Outbound Registration Parameters, VOS3000 SIP Privacy Header, VOS3000 SIP Routing Gateway Contact, VOS3000 SIP Publish Expire, VOS3000 SIP Display From, VOS3000 SIP Send UnregisterVOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive, VOS3000 SIP Resend Interval, VOS3000 SIP INVITE Timeout, VOS3000 SIP Call Progress Timeout, VOS3000 SIP Outbound Registration Parameters, VOS3000 SIP Privacy Header, VOS3000 SIP Routing Gateway Contact, VOS3000 SIP Publish Expire, VOS3000 SIP Display From, VOS3000 SIP Send UnregisterVOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive, VOS3000 SIP Resend Interval, VOS3000 SIP INVITE Timeout, VOS3000 SIP Call Progress Timeout, VOS3000 SIP Outbound Registration Parameters, VOS3000 SIP Privacy Header, VOS3000 SIP Routing Gateway Contact, VOS3000 SIP Publish Expire, VOS3000 SIP Display From, VOS3000 SIP Send Unregister
VOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive, VOS3000 SIP Resend Interval, VOS3000 SIP INVITE Timeout, VOS3000 SIP Call Progress Timeout, VOS3000 SIP Outbound Registration Parameters, VOS3000 SIP Privacy Header, VOS3000 SIP Routing Gateway Contact, VOS3000 SIP Publish Expire, VOS3000 SIP Display From, VOS3000 SIP Send Unregister

VOS3000 SIP Authentication Retry: Essential Timeout Settings Easy Guide

VOS3000 SIP Authentication Retry: Essential Timeout Settings Guide

When a SIP device sends a REGISTER or INVITE message to your VOS3000 SIP authentication retry system without proper credentials, the softswitch challenges it with a 401 Unauthorized or 407 Proxy Authentication Required response. But what happens when the device fails to authenticate correctly on the first attempt? Does VOS3000 keep retrying forever? How long does it wait before giving up? The answers lie in two critical SIP parameters: SS_SIP_AUTHENTICATION_RETRY and SS_SIP_AUTHENTICATION_TIMEOUT. Misconfiguring these settings can lead to authentication loops, brute-force vulnerability, or legitimate calls being rejected prematurely. ๐Ÿ”๐Ÿ“ž

This guide explains exactly how VOS3000 handles SIP authentication retries, how to configure the retry count and timeout duration, and the security implications of each setting. All information is sourced from the official VOS3000 V2.1.9.07 Manual, Section 4.3.5.2 (Table 4-3) and Table 4-4. For expert assistance with your VOS3000 deployment, contact us on WhatsApp at +8801911119966. ๐Ÿ’ก

Table of Contents

Understanding VOS3000 SIP Authentication Retry Mechanics

SIP authentication in VOS3000 follows the standard challenge-response mechanism defined in RFC 3261. When a SIP User Agent (a phone, gateway, or another softswitch) sends a request without valid authentication credentials, VOS3000 does not simply accept or reject it outright. Instead, it sends a challenge response, prompting the device to resend the request with proper authentication headers. ๐Ÿ”‘๐Ÿ“ก

The Challenge-Response Authentication Flow

Here is the step-by-step flow of how VOS3000 handles SIP authentication with retry logic:

  1. ๐Ÿ“ž Device sends REGISTER or INVITE without Authorization or Proxy-Authorization header
  2. ๐Ÿ” VOS3000 responds with 401 Unauthorized or 407 Proxy Authentication Required (based on SS_SIP_AUTHENTICATION_CODE)
  3. ๐Ÿ”‘ Device calculates digest authentication and resends the request with credentials
  4. โœ… If credentials are valid โ†’ VOS3000 processes the request normally
  5. โŒ If credentials are invalid โ†’ VOS3000 challenges again (this counts as one retry)
  6. ๐Ÿ”„ Steps 2-5 repeat until SS_SIP_AUTHENTICATION_RETRY limit is reached or SS_SIP_AUTHENTICATION_TIMEOUT expires
  7. โš ๏ธ If the retry count is exhausted or timeout passes โ†’ VOS3000 rejects the call permanently
๐Ÿ“‹ Step๐Ÿ“ก SIP Message๐Ÿ“ Descriptionโš™๏ธ Parameter Involved
1REGISTER / INVITE (no auth)Initial request without credentialsSS_REPLY_UNAUTHORIZED
2401 / 407 ResponseVOS3000 challenges the requestSS_SIP_AUTHENTICATION_CODE
3REGISTER / INVITE (with auth)Device resends with digest credentialsN/A
4401 / 407 (if auth fails)VOS3000 re-challenges failed authSS_SIP_AUTHENTICATION_RETRY
5200 OK / 403 ForbiddenFinal accept or reject after retry exhaustionSS_SIP_AUTHENTICATION_TIMEOUT

SS_SIP_AUTHENTICATION_RETRY: Configuring the Retry Count

The SS_SIP_AUTHENTICATION_RETRY parameter controls how many times VOS3000 will challenge a device when it receives a 401 or 407 response but the device continues to provide incorrect credentials. The default value is 6, meaning VOS3000 will allow up to 6 authentication retry attempts before permanently rejecting the request. ๐Ÿ”ง๐ŸŽฏ

According to the VOS3000 V2.1.9.07 Manual, Table 4-3, the official description states:

Parameter: SS_SIP_AUTHENTICATION_RETRY
Default: 6
Description: SIP authentication retry time, when received 401 or 407

How the Retry Count Works in Practice

When a device sends a REGISTER or INVITE with incorrect authentication credentials, VOS3000 responds with another 401 or 407 challenge. Each subsequent failed attempt decrements the remaining retry count. Once the device exhausts all retries (6 by default), VOS3000 stops challenging and rejects the request. This prevents infinite authentication loops that could consume server resources. ๐Ÿ›ก๏ธ๐Ÿ“Š

โš™๏ธ Retry Setting๐Ÿ“ Behaviorโœ… Best Forโš ๏ธ Risk
1 (Low)Only 1 retry allowed, quick rejectionHigh-security environmentsLegitimate users with typos get locked out
3 (Moderate)3 retries, balanced security and usabilityStandard business VoIPSlightly more attack surface
6 (Default)6 retries, VOS3000 factory settingGeneral-purpose deploymentsMore opportunities for brute force
10+ (High)Many retries, very permissiveTroubleshooting onlySignificant brute-force vulnerability

SS_SIP_AUTHENTICATION_TIMEOUT: Setting the Time Limit

The SS_SIP_AUTHENTICATION_TIMEOUT parameter defines the maximum time (in seconds) VOS3000 will wait for a device to complete authentication. The default value is 10 seconds. If the caller fails to get authenticated within this time window, VOS3000 will reject the call regardless of how many retries remain. โฑ๏ธ๐Ÿ“ž

From the VOS3000 V2.1.9.07 Manual, Table 4-3:

Parameter: SS_SIP_AUTHENTICATION_TIMEOUT
Default: 10 (seconds)
Description: Time for SIP Authentication. If caller failed to get
authentication within the time, Softswitch will reject the call.

Why the Timeout Matters

The timeout serves as a critical safety net. Even if the retry count is set very high, the timeout ensures that no authentication attempt can drag on indefinitely. This is essential for two reasons: ๐Ÿ’ป๐Ÿ”’

  • ๐Ÿ›ก๏ธ Security: Prevents slow brute-force attacks where an attacker deliberately spaces out retry attempts to evade detection
  • ๐Ÿ“Š Resource management: Frees up VOS3000 call processing resources that would otherwise be held open by incomplete authentication sessions
  • ๐Ÿ“ž Call setup performance: Ensures that failed authentication attempts do not create long delays before the caller hears a rejection
โฑ๏ธ Timeout (sec)๐Ÿ“ Behaviorโœ… Best Forโš ๏ธ Consideration
5Very quick rejection, fast call processingHigh-security, low-latency networksMay reject over slow/congested links
10 (Default)Balanced timeout for most networksGeneral-purpose VoIPGood balance for most deployments
20More time for slow devices or networksSatellite/high-latency linksLonger window for attack attempts
30+Very permissive time windowExtreme latency troubleshootingNot recommended for production

How to Configure VOS3000 SIP Authentication Retry and Timeout

Both parameters are located in the VOS3000 client under the SIP parameter section. Follow these steps to access and modify them: ๐Ÿ–ฅ๏ธโš™๏ธ

Step-by-Step Configuration

  1. ๐Ÿ–ฅ๏ธ Open the VOS3000 Client and log in with administrator credentials
  2. ๐Ÿ“‹ Navigate to Operation Management > Softswitch Management > Additional Settings > SIP Parameter
  3. ๐Ÿ” Locate SS_SIP_AUTHENTICATION_RETRY in the parameter list
  4. โœ๏ธ Set the desired retry count (default: 6, recommended range: 3-6)
  5. ๐Ÿ” Locate SS_SIP_AUTHENTICATION_TIMEOUT in the parameter list
  6. โœ๏ธ Set the desired timeout in seconds (default: 10, recommended range: 5-20)
  7. ๐Ÿ’พ Click Save to apply the changes
  8. ๐Ÿ”„ Changes take effect for new authentication sessions; existing sessions continue with old settings
Navigation path:
Operation Management โ†’ Softswitch Management โ†’ Additional Settings โ†’ SIP Parameter

Parameters to configure:
  SS_SIP_AUTHENTICATION_RETRY  = 6    (default)
  SS_SIP_AUTHENTICATION_TIMEOUT = 10  (default, in seconds)
โš™๏ธ Parameter๐Ÿ”ข Default๐Ÿ“ Recommended Range๐Ÿ“ Unit
SS_SIP_AUTHENTICATION_RETRY63โ€“6 (production), 1โ€“2 (high security)Count (integer)
SS_SIP_AUTHENTICATION_TIMEOUT105โ€“20 (production), 30+ (troubleshooting)Seconds

The VOS3000 SIP authentication retry and timeout settings work in conjunction with several related system-level security parameters. Understanding how they interact is crucial for building a secure VoIP infrastructure. ๐Ÿ”๐Ÿ›ก๏ธ For a broader view of VOS3000 security, see our VOS3000 security guide.

SS_AUTHENTICATION_FAILED_SUSPEND

This parameter determines how long a terminal is disabled after exceeding the maximum password authentication retry times. The default is 180 seconds (3 minutes), with a configurable range of 60โ€“3600 seconds. When a device exhausts its allowed authentication retries, VOS3000 suspends that device for the configured duration, blocking all further authentication attempts during the suspension period. ๐Ÿ”’โฑ๏ธ

SS_AUTHENTICATION_MAX_RETRY

This parameter sets the maximum terminal password authentication retry times at the system level. The default is 6, with a configurable range of 0โ€“999. Note that this is different from SS_SIP_AUTHENTICATION_RETRY: the SIP retry parameter controls the per-session SIP challenge-response cycle, while SS_AUTHENTICATION_MAX_RETRY controls the overall terminal-level password retry limit. ๐Ÿ“‹๐Ÿ”‘

SS_REPLY_UNAUTHORIZED

This parameter determines whether VOS3000 responds to unauthorized registration or call attempts. The default is On. When set to On, VOS3000 sends 401/407 challenges to devices without valid credentials. When set to Off, VOS3000 silently drops the request without sending any response, which can be useful for hiding the server from SIP scanners. ๐ŸŒ๐Ÿ›ก๏ธ Learn more about SIP scanner protection in our VOS3000 extended firewall guide.

โš™๏ธ Parameter๐Ÿ”ข Default๐Ÿ“ Range๐Ÿ“ Function
SS_AUTHENTICATION_FAILED_SUSPEND18060โ€“3600 secondsDisable duration after exceeding max retries
SS_AUTHENTICATION_MAX_RETRY60โ€“999Max terminal password retry times
SS_REPLY_UNAUTHORIZEDOnOn / OffRespond to unauthorized registration or call
SS_SIP_AUTHENTICATION_CODE401 Unauthorized401 / 407Return code for SIP authentication challenge

VOS3000 SIP Authentication Retry: Security Implications

Configuring the authentication retry and timeout parameters is not just a technical exercise โ€” it directly impacts your softswitch security posture. Every retry attempt is an opportunity for an attacker to guess credentials, and every second of timeout is additional time for brute-force password attacks. ๐Ÿ”โš ๏ธ

Brute-Force Attack Protection

SIP brute-force attacks are one of the most common threats to VoIP servers. Attackers use automated tools to rapidly try username/password combinations against SIP registration endpoints. The combination of SS_SIP_AUTHENTICATION_RETRY and SS_AUTHENTICATION_FAILED_SUSPEND creates a layered defense: ๐Ÿ›ก๏ธ๐Ÿ”’

  • ๐Ÿ” SS_SIP_AUTHENTICATION_RETRY (6): Limits how many password attempts per session
  • โฑ๏ธ SS_SIP_AUTHENTICATION_TIMEOUT (10s): Limits the time window for any single session
  • ๐Ÿšซ SS_AUTHENTICATION_FAILED_SUSPEND (180s): Locks out the terminal after all retries fail
  • ๐Ÿ”ข SS_AUTHENTICATION_MAX_RETRY (6): Controls the terminal-level retry ceiling

With default settings, an attacker gets at most 6 attempts per session, must complete them within 10 seconds, and then faces a 3-minute lockout. This means a maximum of 6 password guesses every 3+ minutes โ€” making brute-force attacks extremely slow and impractical. ๐Ÿ“Š๐ŸŽฏ

โš”๏ธ Scenario๐Ÿ”„ Retries/Suspendโฑ๏ธ Guesses per Hour๐Ÿ›ก๏ธ Protection Level
Default (6 retries, 180s suspend)6 per 190 seconds~113๐ŸŸข Moderate
Tight (3 retries, 600s suspend)3 per 610 seconds~18๐ŸŸข Strong
Loose (10 retries, 60s suspend)10 per 70 seconds~514๐ŸŸก Weak
SS_REPLY_UNAUTHORIZED = OffNo challenge sent0 (silent drop)๐ŸŸข Very Strong (stealth)

When to Increase the Retry Count

While lower retry counts improve security, some scenarios require higher values: ๐Ÿ“ž๐Ÿ’ก

  • ๐ŸŒ High-latency networks: Devices connecting over satellite or long-distance links may experience packet loss during authentication, causing legitimate retries
  • ๐Ÿ“ฑ Mobile SIP clients: Users on mobile networks may have intermittent connectivity, causing temporary authentication failures
  • ๐Ÿ”„ NAT environments: NAT rebinding can cause authentication challenges to arrive out of order, requiring additional retries

In these cases, increase the retry count to 8-10 but also consider increasing SS_AUTHENTICATION_FAILED_SUSPEND to 600 seconds (10 minutes) to compensate for the higher retry count. For NAT-specific issues, see our VOS3000 SIP registration guide. ๐Ÿ“ก๐Ÿ”ง

Troubleshooting VOS3000 SIP Authentication Retry Failures

Authentication failures in VOS3000 can stem from multiple root causes. Use this systematic troubleshooting approach to identify and resolve issues quickly. ๐Ÿ”๐Ÿ› ๏ธ

Common Authentication Failure Scenarios

Scenario 1: Persistent 401/407 Loop ๐Ÿ”โŒ

The device continuously receives 401 or 407 responses despite providing credentials. This typically indicates a password mismatch, realm incompatibility, or clock synchronization issue affecting the digest nonce calculation. Verify the exact credentials in the VOS3000 gateway configuration and check that the device is using the correct SIP realm.

Scenario 2: Authentication Timeout Before Retry Completes โฑ๏ธโš ๏ธ

The device is trying to authenticate but the process takes longer than SS_SIP_AUTHENTICATION_TIMEOUT (10 seconds by default). This happens on high-latency networks or when the device is slow to compute digest responses. Increase SS_SIP_AUTHENTICATION_TIMEOUT to 15-20 seconds for these environments.

Scenario 3: Device Suspended After Failed Retries ๐Ÿšซ๐Ÿ”’

The device exceeded SS_AUTHENTICATION_MAX_RETRY and was suspended for SS_AUTHENTICATION_FAILED_SUSPEND seconds. Check the VOS3000 system log to identify which device was suspended and verify whether the credentials are correct. For detailed suspension handling, see our VOS3000 authentication suspend guide.

โš ๏ธ Symptom๐Ÿ” Likely Cause๐Ÿ› ๏ธ Fixโš™๏ธ Parameter
401/407 loopWrong password or realm mismatchVerify credentials and SIP realmSS_SIP_AUTHENTICATION_RETRY
Auth timeoutNetwork latency or slow deviceIncrease timeout to 15-20sSS_SIP_AUTHENTICATION_TIMEOUT
Device suspendedExceeded max retry countFix credentials, wait for suspend periodSS_AUTHENTICATION_FAILED_SUSPEND
No 401 sentSS_REPLY_UNAUTHORIZED is OffSet SS_REPLY_UNAUTHORIZED to OnSS_REPLY_UNAUTHORIZED
Wrong challenge codeDevice expects 407 but gets 401Change SS_SIP_AUTHENTICATION_CODESS_SIP_AUTHENTICATION_CODE
SIP scanner floodInternet-exposed SIP portSet SS_REPLY_UNAUTHORIZED to Off + firewallSS_REPLY_UNAUTHORIZED + iptables

Using Debug Trace for Authentication Issues

VOS3000 provides a powerful Debug Trace tool that captures every SIP message exchanged during the authentication process. To use it for troubleshooting VOS3000 SIP authentication retry issues: ๐Ÿ–ฅ๏ธ๐Ÿ”

Step 1: Open VOS3000 Client โ†’ System Management โ†’ Debug Trace
Step 2: Select the SIP Trace type
Step 3: Filter by the IP address of the problematic device
Step 4: Reproduce the authentication failure
Step 5: Analyze the 401/407 challenge and the device's response
Step 6: Verify the nonce, realm, and digest in the Authorization header

For comprehensive debugging techniques, refer to our VOS3000 SIP debug guide. ๐Ÿ“๐Ÿ’ก

VOS3000 SIP Authentication Retry: Best Practice Recommendations

Based on the VOS3000 manual specifications and real-world deployment experience, here are the recommended configurations for different deployment scenarios: ๐ŸŽฏโœ…

๐Ÿ—๏ธ Deployment Type๐Ÿ”„ Retryโฑ๏ธ Timeout๐Ÿšซ Suspend๐Ÿ“ Notes
๐Ÿ”’ Internet-facing (high security)35600Minimize attack surface
๐Ÿข Standard business (default)610180Factory defaults, balanced
๐Ÿ“ก High-latency / satellite820300More time for slow links
๐Ÿฅ Private network / LAN only610120Lower security risk, shorter suspend OK

Key Recommendations Summary

  • ๐ŸŽฏ Never set SS_SIP_AUTHENTICATION_RETRY above 10 in production โ€” it creates excessive brute-force opportunities
  • โฑ๏ธ Always pair retry limits with SS_AUTHENTICATION_FAILED_SUSPEND โ€” retries without suspension provide no real protection
  • ๐Ÿ›ก๏ธ Consider SS_REPLY_UNAUTHORIZED = Off for internet-facing servers โ€” silent dropping hides your server from SIP scanners
  • ๐Ÿ” Use strong passwords โ€” even 6 retries ร— 20 attempts per hour = 120 guesses per hour; a strong 12-character password makes this negligible
  • ๐Ÿ“‹ Monitor authentication failures โ€” check VOS3000 system logs regularly for patterns of repeated failures indicating attack attempts

For comprehensive system parameter documentation, see our VOS3000 system parameters guide. For the full parameter reference, visit VOS3000 parameter description. ๐Ÿ“–๐Ÿ”ง

Interaction Between SS_SIP_AUTHENTICATION_RETRY and SS_SIP_AUTHENTICATION_TIMEOUT

A common question is: which limit is reached first โ€” the retry count or the timeout? The answer depends on the device’s behavior and network conditions. ๐Ÿ’ก๐Ÿ“Š

If a device sends authentication responses quickly (within 1-2 seconds per attempt), it will likely exhaust the retry count (6 attempts in ~6-12 seconds) before the 10-second timeout expires. However, if the device is slow or the network introduces delay, the timeout may trigger first, rejecting the call even if retries remain. โš™๏ธ๐Ÿ“ž

This means both parameters act as independent circuit breakers. Whichever limit is reached first terminates the authentication session. For optimal configuration: ๐Ÿ”ง๐ŸŽฏ

  • โœ… If retry count ร— average response time < timeout โ†’ retry count is the effective limit
  • โš ๏ธ If retry count ร— average response time > timeout โ†’ timeout is the effective limit
  • ๐ŸŽฏ Best practice: Set timeout โ‰ฅ (retry count ร— 3 seconds) to ensure all retries have a fair chance
Formula:
  Minimum recommended timeout = SS_SIP_AUTHENTICATION_RETRY ร— 3 seconds

Examples:
  Retry = 6  โ†’ Timeout โ‰ฅ 18 seconds (but 10 is default, which works
                because most devices respond within ~1.5 seconds)
  Retry = 3  โ†’ Timeout โ‰ฅ 9 seconds
  Retry = 10 โ†’ Timeout โ‰ฅ 30 seconds

Frequently Asked Questions About VOS3000 SIP Authentication Retry

What is VOS3000 SIP authentication retry and why does it matter?

VOS3000 SIP authentication retry (SS_SIP_AUTHENTICATION_RETRY) defines how many times VOS3000 will challenge a SIP device when it provides incorrect credentials during registration or call setup. The default is 6 retries. This setting matters because it directly affects both user experience (too few retries may lock out legitimate users with typos) and security (too many retries enable brute-force password attacks). It works together with SS_SIP_AUTHENTICATION_TIMEOUT to form a complete authentication control mechanism. ๐Ÿ”๐Ÿ“ž

What happens when VOS3000 SIP authentication retry count is exhausted?

When the retry count specified by SS_SIP_AUTHENTICATION_RETRY is exhausted, VOS3000 stops sending 401/407 challenges and permanently rejects the current authentication session. Additionally, the related parameter SS_AUTHENTICATION_FAILED_SUSPEND (default: 180 seconds) activates, temporarily disabling the terminal from making further authentication attempts for the configured suspension duration. This dual-rejection mechanism protects against both immediate and sustained brute-force attacks. ๐Ÿšซ๐Ÿ”’

How do I change VOS3000 SIP authentication timeout settings?

Open the VOS3000 Client and navigate to Operation Management > Softswitch Management > Additional Settings > SIP Parameter. Find SS_SIP_AUTHENTICATION_TIMEOUT (default: 10 seconds) and set your desired value. Save the changes. The new timeout will apply to all new authentication sessions. Existing sessions will continue with the previous setting. For environments with high latency, consider increasing the timeout to 15-20 seconds. If you need help with configuration, contact us on WhatsApp at +8801911119966. โš™๏ธ๐Ÿ’ป

What is the difference between SS_SIP_AUTHENTICATION_RETRY and SS_AUTHENTICATION_MAX_RETRY?

SS_SIP_AUTHENTICATION_RETRY (default: 6) controls the per-session SIP challenge-response retry count โ€” how many times VOS3000 will resend a 401/407 challenge within a single registration or call attempt. SS_AUTHENTICATION_MAX_RETRY (default: 6) is a system-level parameter that controls the maximum terminal password authentication retry times overall โ€” the total number of failed password attempts before the terminal is suspended. They operate at different levels: one is per-SIP-session, the other is per-terminal over time. ๐Ÿ“‹๐Ÿ”‘

Should I disable SS_REPLY_UNAUTHORIZED for better security?

Setting SS_REPLY_UNAUTHORIZED to Off can improve security for internet-facing VOS3000 servers because VOS3000 will silently drop unauthorized requests instead of sending 401/407 responses. This hides your server from SIP scanners and prevents them from discovering valid usernames through authentication challenges. However, it also means legitimate devices that misconfigure their credentials will receive no feedback โ€” the call simply fails without any error message. Use this setting Off only if you have IP-based firewall restrictions in place and your devices use known, correct credentials. For more security tips, see our VOS3000 security anti-fraud guide. ๐Ÿ›ก๏ธ๐ŸŒ

How do I troubleshoot repeated VOS3000 SIP authentication retry failures?

Start by enabling the VOS3000 Debug Trace tool (System Management > Debug Trace > SIP Trace) filtered by the problematic device’s IP address. Reproduce the failure and examine the SIP message exchange. Look for: (1) Whether the device is including an Authorization or Proxy-Authorization header in its retry, (2) Whether the digest response calculation is correct (check the nonce, realm, and algorithm), (3) Whether the retry count or timeout is being hit first, and (4) Whether the device gets suspended after exhausting retries. For detailed debugging steps, see our VOS3000 SIP debug guide. ๐Ÿ”๐Ÿ› ๏ธ

Can I set different authentication retry limits for different devices?

The SS_SIP_AUTHENTICATION_RETRY parameter is a global SIP parameter that applies to all devices connecting to the VOS3000 softswitch. It cannot be configured per-device or per-gateway. However, you can achieve per-device security differentiation through other mechanisms: use SS_REPLY_UNAUTHORIZED = Off to silently drop unauthorized requests from unknown IPs, configure extended firewall rules to block specific IP ranges, and use the VOS3000 dynamic blacklist feature for repeat offenders. For help with advanced configurations, reach out on WhatsApp at +8801911119966. ๐Ÿ“‹๐Ÿ”ง

Get Expert Help with VOS3000 SIP Authentication Retry Configuration

Configuring VOS3000 SIP authentication retry and timeout settings requires balancing security, usability, and network conditions. Whether you are securing an internet-facing softswitch against brute-force attacks or troubleshooting authentication failures on high-latency links, our team has the expertise to optimize your VOS3000 deployment. ๐Ÿ’ป๐Ÿ“ž

Contact us on WhatsApp: +8801911119966

We provide complete VOS3000 services including security hardening, SIP parameter optimization, authentication troubleshooting, and ongoing monitoring. From initial installation to advanced anti-fraud configuration, we ensure your VoIP infrastructure is both secure and reliable. ๐Ÿ”๐Ÿ›ก๏ธ


๐Ÿ“ž Need Professional VOS3000 Setup Support?

For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:

๐Ÿ“ฑ WhatsApp: +8801911119966
๐ŸŒ Website: www.vos3000.com
๐ŸŒ Blog: multahost.com/blog
๐Ÿ“ฅ Downloads: VOS3000 Downloads


VOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT KeepaliveVOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT KeepaliveVOS3000 SIP Authentication Retry, VOS3000 SIP Early Hangup, VOS3000 SIP Session Timer Refresh, VOS3000 Non-Timer Endpoint Safety, VOS3000 SIP NAT Keepalive
VOS3000 P-Asserted-Identity, VOS3000 Web Manager, VOS3000 DTMF Configuration, VOS3000 Agent Account, VOS3000 Transcoding

VOS3000 Transcoding: Codec Converter Configuration Important Guide for VoIP

VOS3000 Transcoding: Codec Converter Configuration Guide for VoIP

Configuring VOS3000 transcoding correctly is one of the most critical steps in building a reliable VoIP platform that can interconnect diverse networks and endpoints. When the caller and callee use incompatible voice codecs, calls simply cannot connect โ€” or they connect with no audio, one-way audio, or severely degraded voice quality. According to the VOS3000 Transcode Module documentation (Section 1.1, Page 1), “When caller and callee voice codecs are incompatible, transcoding function can be used to make them compatible.” This single statement captures the entire purpose and value of VOS3000 transcoding: bridging the codec gap between different VoIP networks, devices, and service providers.

The reality of VoIP operations is that you will frequently encounter situations where your customers (calling side) support one set of codecs while your vendors (called side) support a different set. For example, a retail SIP customer may only support PCMA (G711a), while your termination vendor only accepts G729 calls. Without VOS3000 transcoding enabled and properly configured, these calls will fail every time โ€” costing you revenue and frustrating your customers. The VOS3000 transcode module solves this problem by converting the voice stream from one codec to another in real time, ensuring both ends can communicate regardless of their native codec support.

This comprehensive guide covers every aspect of VOS3000 transcoding configuration, from the basic codec settings on mapping and routing gateways to advanced DTMF handling during transcoding and G729 negotiation modes. All information is based on the official VOS3000 Transcode Module documentation and the VOS3000 V2.1.9.07 Manual. For expert assistance with your transcoding configuration, contact us on WhatsApp at +8801911119966.

Table of Contents

Understanding VOS3000 Transcoding Fundamentals

Before diving into configuration, it is essential to understand what VOS3000 transcoding does, when it is needed, and how it interacts with other VOS3000 features like media proxy and DTMF handling. Many VOS3000 operators struggle with transcoding because they configure it without understanding the underlying concepts, leading to misconfigurations that cause audio problems instead of solving them.

What Is VOS3000 Transcoding?

Transcoding in VOS3000 refers to the real-time conversion of a voice media stream from one codec format to another. When a call passes through VOS3000 with media proxy enabled, the softswitch sits in the media path between the caller and callee. This position allows VOS3000 to receive audio in one codec from the caller, decode it, re-encode it in a different codec, and send it to the callee โ€” all in real time with minimal latency. The VOS3000 Transcode Module documentation confirms this process in Section 1.1 (Page 1): “When caller and callee voice codecs are incompatible, transcoding function can be used to make them compatible.”

The key requirement for VOS3000 transcoding to work is that media proxy must be enabled. Without media proxy, VOS3000 does not intercept the RTP media stream and therefore cannot perform codec conversion. The RTP flows directly between endpoints, and both endpoints must share at least one common codec for the call to succeed.

When VOS3000 Transcoding Is Required

VOS3000 transcoding is required in several common VoIP scenarios. Understanding these scenarios helps you determine when to enable codec conversion and how to configure it properly:

  • Different codec support between customer and vendor: Your customer’s SIP device only supports PCMA (G711a) and PCMU (G711u), but your termination vendor only accepts G729 calls. Without transcoding, every call between this customer and vendor will fail with a codec negotiation error
  • Bandwidth optimization: You want to use G729 on the vendor side to save bandwidth on your WAN link, while customers connect with G711 over their local network where bandwidth is not a concern
  • Multi-vendor routing: Different vendors support different codecs, and you need VOS3000 to adapt the codec for each vendor automatically
  • Legacy device interconnection: Older SIP phones or gateways may only support G711, while modern networks use G729 or G723 for efficiency
  • Mobile VoIP applications: Mobile SIP clients often prefer G729 for lower bandwidth usage, while the called party may be on a traditional G711 landline
๐Ÿ“ž Scenario๐Ÿ”ต Caller Codec๐ŸŸข Callee Codec๐Ÿ”„ Transcoding Needed
Retail SIP phone โ†’ G729 vendorPCMA (G711a)G729โœ… Yes โ€” PCMA โ†’ G729
Mobile app โ†’ Landline gatewayG729PCMA (G711a)โœ… Yes โ€” G729 โ†’ PCMA
SIP phone โ†’ SIP phone (same codec)PCMAPCMAโŒ No โ€” codecs match
G723 gateway โ†’ G729 vendorG723G729โœ… Yes โ€” G723 โ†’ G729
G711 โ†’ G711 vendorPCMU (G711u)PCMA (G711a)โš ๏ธ Maybe โ€” depends on device support

VOS3000 Transcoding Resource Considerations

VOS3000 transcoding is a CPU-intensive operation because it requires real-time decoding and re-encoding of voice streams. Each transcoded call consumes significantly more server resources than a simple pass-through call. The impact depends on which codecs are involved: transcoding between G711 and G729 is more CPU-intensive than transcoding between G711 variants. When planning your VOS3000 deployment, factor in the expected percentage of transcoded calls and ensure your server has sufficient CPU capacity. For load testing guidance, see our VOS3000 concurrent call load test guide.

Where to Configure VOS3000 Transcoding Codec Settings

The VOS3000 transcoding codec settings are located in the Additional Settings section of both mapping gateways (customer side) and routing gateways (vendor side). According to the VOS3000 Transcode Module documentation (Section 1.2, Page 1), the codec configuration is found at: Business Management > Routing Gateway/Mapping Gateway > Additional Settings > Codec. This same path is referenced in the VOS3000 Manual Section 2.5.1.1 (Page 32, 47) which describes the codec settings under Additional Settings > Codec > H323/SIP.

Understanding this configuration location is critical because the transcoding behavior is controlled independently on each gateway. The mapping gateway codec settings determine how VOS3000 handles the codec on the caller (customer) side, while the routing gateway codec settings determine the codec handling on the callee (vendor) side. Both sides must be configured correctly for VOS3000 transcoding to function as intended.

To access the VOS3000 transcoding codec settings, follow these steps for each gateway type:

For Mapping Gateway (Customer Side):

  1. Navigate to Business Management > Mapping Gateway
  2. Double-click the mapping gateway you want to configure
  3. Click the Additional Settings tab
  4. Select the Codec sub-tab
  5. Configure the SIP and/or H323 codec settings as needed

For Routing Gateway (Vendor Side):

  1. Navigate to Business Management > Routing Gateway
  2. Double-click the routing gateway you want to configure
  3. Click the Additional Settings tab
  4. Select the Codec sub-tab
  5. Configure the SIP and/or H323 codec settings as needed

For mapping gateways, the path is Business Management > Mapping Gateway > Additional Settings > Codec > H323/SIP (referenced in VOS3000 Transcode Module Section 1.2 and VOS3000 Manual Section 2.5.1.1, Page 32). For routing gateways, the path is Business Management > Routing Gateway > Additional Settings > Codec > H323/SIP (referenced in VOS3000 Transcode Module Section 1.2 and VOS3000 Manual Section 2.5.1.1, Page 47). Both paths lead to the same codec configuration interface, but the settings you apply on each gateway type control different sides of the call.

VOS3000 Transcoding Configuration Options Explained

The VOS3000 transcoding codec configuration provides two primary settings that control how the softswitch handles codec negotiation and conversion: “Softswitch specified” and “Allow codec conversion.” Understanding the exact behavior of each option is essential for correct VOS3000 transcoding configuration.

Softswitch Specified Codec Setting

According to the VOS3000 Transcode Module documentation (Section 1.2, Page 1), the “Softswitch specified” option means that both the caller and callee use the codec specified by the softswitch. When this option is selected, VOS3000 dictates the codec to be used on that gateway side, regardless of what codecs the far-end device supports or negotiates in SDP.

The practical impact of the “Softswitch specified” setting is significant:

  • On the mapping gateway (caller side): Selecting “Softswitch specified” with a specific codec (e.g., PCMA) forces VOS3000 to use PCMA when communicating with the customer’s device, even if the customer’s device offers G729 in its SDP
  • On the routing gateway (callee side): Selecting “Softswitch specified” with a specific codec (e.g., G729) forces VOS3000 to use G729 when sending media to the vendor, even if the vendor’s SDP also offers PCMA
  • Combined effect: When both sides use “Softswitch specified” with different codecs, VOS3000 transcoding is automatically activated to convert between the two specified codecs

This is the most common and recommended configuration for VOS3000 transcoding because it gives you precise control over which codec is used on each side of the call.

Allow Codec Conversion Setting

The “Allow codec conversion” checkbox is the second critical setting for VOS3000 transcoding. According to the VOS3000 Transcode Module documentation (Section 1.2, Page 1), “When caller and callee codecs are inconsistent, use codec conversion to convert to far-end supported voice codec.” This setting explicitly permits VOS3000 to perform real-time codec conversion when the codecs on the two sides of the call do not match.

The “Allow codec conversion” checkbox must be checked on both the mapping gateway and the routing gateway for full transcoding support. The behavior is as follows:

  • Checked on mapping gateway: VOS3000 is allowed to convert the codec on the caller (customer) side to match what the callee (vendor) requires
  • Checked on routing gateway: VOS3000 is allowed to convert the codec on the callee (vendor) side to match what the caller (customer) is sending
  • Unchecked on either side: VOS3000 will not perform codec conversion on that side, which may result in call failure if the codecs are incompatible

The combination of “Softswitch specified” and “Allow codec conversion” creates a complete VOS3000 transcoding configuration that ensures calls succeed even when the caller and callee have no common codecs.

โš™๏ธ Setting๐Ÿ“ Description๐ŸŽฏ Purpose๐Ÿ“‹ When to Use
Softswitch specifiedVOS dictates the codec used on this gateway sideForce a specific codec regardless of SDP negotiationWhen you need precise codec control for transcoding
Allow codec conversionPermits VOS to convert between incompatible codecsEnable real-time codec transcodingWhen caller and callee codecs differ
Auto negotiationVOS negotiates the codec based on SDP offer/answerLet endpoints agree on a common codecWhen both sides share common codecs

VOS3000 Transcoding Function Scenario: Step-by-Step

The VOS3000 Transcode Module documentation (Section 1.3, Pages 2-3) provides a detailed application scenario that demonstrates exactly how VOS3000 transcoding works in practice. This scenario is the most important configuration example to understand because it shows the complete flow of a transcoded call from start to finish.

Scenario: Caller Supports PCMA Only, Callee Supports G729 Only

In this scenario, the caller (customer connected through a mapping gateway) only supports the PCMA codec (G711a), while the callee (vendor connected through a routing gateway) only supports G729. Without VOS3000 transcoding, this call would fail because the two endpoints have no common codec. With VOS3000 transcoding properly configured, the call succeeds because VOS3000 converts the voice stream from PCMA to G729 in real time.

According to the VOS3000 Transcode Module documentation (Section 1.3, Pages 2-3), the configuration steps are:

Step 1: Configure the Mapping Gateway (Caller Side)

  1. Navigate to Business Management > Mapping Gateway
  2. Double-click the mapping gateway used by the caller
  3. Go to Additional Settings > Codec
  4. Check the “Allow codec conversion” checkbox
  5. Select “Softswitch specified codec PCMA”
  6. Save the configuration

By checking “Allow codec conversion” and selecting “Softswitch specified codec PCMA” on the mapping gateway, you are telling VOS3000 to force the use of PCMA when communicating with the caller, and to allow VOS3000 to convert this codec to whatever the callee requires.

Step 2: Configure the Routing Gateway (Callee Side)

  1. Navigate to Business Management > Routing Gateway
  2. Double-click the routing gateway used for the callee
  3. Go to Additional Settings > Codec
  4. Check the “Allow codec conversion” checkbox
  5. Select “Softswitch specified codec G729”
  6. Save the configuration

By checking “Allow codec conversion” and selecting “Softswitch specified codec G729” on the routing gateway, you are telling VOS3000 to force the use of G729 when communicating with the vendor, and to allow VOS3000 to convert the incoming PCMA stream to G729 before sending it to the vendor.

๐Ÿ”ง Configuration Step๐Ÿ‘ค Mapping Gateway (Caller)๐Ÿข Routing Gateway (Callee)๐Ÿ“ Result
Allow codec conversionโœ… Checkedโœ… CheckedVOS3000 can transcode between sides
Softswitch specified codecPCMA (G711a)G729Different codecs on each side โ†’ transcoding active
Media proxyOn / AutoOn / AutoVOS3000 intercepts RTP for transcoding
Call flowCaller โ†’ PCMA โ†’ VOS3000VOS3000 โ†’ G729 โ†’ Vendorโœ… Call succeeds with real-time transcoding

How the Call Flow Works During VOS3000 Transcoding

Understanding the complete call flow during VOS3000 transcoding helps you troubleshoot issues and design your transcoding architecture correctly. Here is what happens at each stage of the call:

  1. Call initiation: The caller sends a SIP INVITE to VOS3000 with PCMA in the SDP codec list
  2. Codec selection on mapping gateway: VOS3000, using the “Softswitch specified codec PCMA” setting on the mapping gateway, responds to the caller with PCMA as the selected codec, regardless of what other codecs the caller offered
  3. Call routing: VOS3000 routes the call to the appropriate routing gateway based on the dial plan and LCR configuration
  4. Codec selection on routing gateway: VOS3000, using the “Softswitch specified codec G729” setting on the routing gateway, sends a SIP INVITE to the vendor with only G729 in the SDP, forcing the vendor to use G729
  5. Media path established: The caller sends RTP audio in PCMA format to VOS3000. VOS3000 decodes the PCMA audio, re-encodes it as G729, and sends the G729 audio to the vendor. In the reverse direction, the vendor sends G729 audio to VOS3000, which decodes it and re-encodes as PCMA for the caller
  6. Two-way audio: Both parties hear each other clearly because VOS3000 transcoding handles the codec conversion in both directions simultaneously

This bidirectional real-time codec conversion is the core function of VOS3000 transcoding. The process is seamless to both parties โ€” neither the caller nor the callee is aware that their voice is being decoded, converted, and re-encoded by VOS3000 in the middle.

VOS3000 Transcoding: Auto Negotiation vs Softswitch Specified

The VOS3000 Manual Section 2.5.1.1 (Page 32, 47) describes two primary codec selection modes available in the Additional Settings > Codec > H323/SIP configuration: Auto negotiation and Softswitch specified. Choosing the correct mode for each gateway is critical for VOS3000 transcoding to work properly.

Auto Negotiation Mode

In Auto negotiation mode, VOS3000 allows the endpoints to negotiate the codec through the standard SDP offer/answer mechanism. VOS3000 does not force a specific codec; instead, it facilitates the negotiation between the caller and callee to find a mutually supported codec. If both endpoints share at least one common codec, Auto negotiation will select it and no transcoding is needed.

Auto negotiation is appropriate when:

  • Both endpoints share common codecs: If your customers and vendors both support G711 and G729, Auto negotiation will select the best common codec without requiring transcoding
  • You want to minimize server load: Auto negotiation avoids transcoding when possible, reducing CPU consumption on your VOS3000 server
  • Simple deployments: When all your gateways and endpoints use the same codecs, Auto negotiation is the simplest configuration

However, Auto negotiation fails when the caller and callee have no common codecs. In this case, VOS3000 cannot complete the SDP negotiation and the call will fail with a codec mismatch error. This is exactly when you need to switch from Auto negotiation to Softswitch specified with “Allow codec conversion” enabled.

Softswitch Specified Mode

In Softswitch specified mode, VOS3000 dictates which codec is used on each side of the call. As described in the VOS3000 Transcode Module documentation (Section 1.2, Page 1), “Softswitch specified: Both caller and callee use softswitch specified codec.” This mode gives you complete control over the codec selection on each gateway, independent of what the endpoints negotiate or offer in SDP.

Softswitch specified mode is required when:

  • Caller and callee have no common codecs: You must force different codecs on each side and rely on VOS3000 transcoding to bridge the gap
  • You need to control bandwidth usage: Forcing G729 on the vendor side reduces bandwidth consumption, even if both sides support G711
  • A specific codec is required by a gateway: Some SIP gateways only work correctly with a specific codec, and you need to force it regardless of the endpoint’s SDP offer
๐Ÿ“‹ Feature๐Ÿ”„ Auto Negotiation๐Ÿ–ฅ๏ธ Softswitch Specified
Codec selectionEndpoints negotiate via SDPVOS3000 forces specific codec
Transcoding neededOnly if no common codec foundYes, when different codecs on each side
Server CPU loadLower (no transcoding usually)Higher (active transcoding)
Call success rateFails if no common codecAlways succeeds with proper config
Best forSame codec on both sidesDifferent codecs on each side
Bandwidth controlLimited controlFull control (force G729 for bandwidth)

VOS3000 Transcoding G729 Negotiation Modes

When configuring VOS3000 transcoding with the G729 codec, you must understand the G729 negotiation modes available in VOS3000. According to the VOS3000 Manual Section 2.5.1.1 (Page 32, 47), the G729 codec has multiple variants and VOS3000 supports several negotiation modes for handling them.

G729 Variants and Their Differences

The G729 codec family includes several variants, the most important being:

  • G729: The original G729 codec (also known as G729A annex), providing 8 kbps voice compression
  • G729a: A lower-complexity version of G729 with slightly reduced voice quality but significantly lower CPU requirements. The “a” stands for “annex A”
  • G729b: G729 with Voice Activity Detection (VAD) and Comfort Noise Generation (CNG), which reduces bandwidth during silence periods
  • G729ab: Combination of G729a (low complexity) and G729b (VAD/CNG)

While all G729 variants use the same basic encoding algorithm and are largely interoperable, some SIP devices are strict about which variant they accept. If a device advertises only G729a in its SDP but VOS3000 sends G729, the call may fail even though the audio encoding is compatible. The G729 negotiation modes in VOS3000 solve this problem by controlling how VOS3000 advertises and handles G729 variants.

G729 Negotiation Mode Options

VOS3000 provides four G729 negotiation modes, as referenced in the VOS3000 Manual (Section 2.5.1.1, Page 32, 47):

  • Auto: VOS3000 automatically selects the G729 variant based on the remote endpoint’s SDP offer. If the endpoint offers G729, VOS3000 responds with G729. If the endpoint offers G729a, VOS3000 responds with G729a. This is the recommended setting for maximum compatibility
  • G729: VOS3000 always uses G729 regardless of what the remote endpoint offers. Use this when you need to force G729 for compatibility with gateways that only accept this variant
  • G729a: VOS3000 always uses G729a regardless of the remote endpoint’s offer. Use this when you need the lower-complexity variant for CPU savings on high-capacity transcoding
  • G729&G729a: VOS3000 offers both G729 and G729a in the SDP, allowing the remote endpoint to choose which variant to use. This provides maximum compatibility by supporting both variants simultaneously
โš™๏ธ Mode๐Ÿ“ Behavior๐ŸŽฏ Best Forโš ๏ธ Consideration
AutoMatches remote endpoint’s G729 variantGeneral use (recommended default)May not work with some strict gateways
G729Forces G729 variant onlyGateways requiring G729 specificallyHigher CPU than G729a
G729aForces G729a (low complexity) variantHigh-capacity transcoding serversSlightly lower voice quality
G729&G729aOffers both G729 and G729a in SDPMaximum compatibilityLarger SDP payload, may confuse some devices

Choosing the Right G729 Negotiation Mode for VOS3000 Transcoding

For most VOS3000 transcoding deployments, the Auto G729 negotiation mode is the best choice because it automatically adapts to the remote endpoint’s G729 variant, minimizing compatibility issues. However, if you encounter G729 codec negotiation failures where calls fail with codec mismatch errors even though both sides claim to support G729, try switching to G729&G729a mode, which offers both variants in the SDP and allows the remote endpoint to select the one it supports.

If your VOS3000 server handles a large number of concurrent transcoded calls and CPU utilization is a concern, consider using G729a mode, which uses less CPU per call due to its lower algorithmic complexity. The voice quality difference between G729 and G729a is minimal and typically imperceptible to callers.

VOS3000 Transcoding and DTMF Handling

DTMF (Dual-Tone Multi-Frequency) handling is a critical consideration when configuring VOS3000 transcoding. When VOS3000 performs transcoding, it sits in the media path and processes all RTP packets, including DTMF signals. The VOS3000 Transcode Module documentation (Section 2, Pages 5-6) provides detailed information about how DTMF is handled during transcoding, and understanding these behaviors is essential for ensuring that IVR systems, calling card platforms, and PIN authentication work correctly with transcoded calls.

DTMF Transport Methods in VOS3000 Transcoding

VOS3000 supports three DTMF transport methods, each with different behavior during transcoding:

SIP INFO: According to the VOS3000 Transcode Module documentation (Section 2.2, Page 5), “SIP INFO belongs to independent signaling, where key presses are carried in separate signaling messages.” SIP INFO DTMF signals travel in the SIP signaling channel, completely separate from the RTP media stream. This means SIP INFO DTMF is unaffected by codec conversion because it does not travel in the media path.

RFC2833: According to the VOS3000 Transcode Module documentation (Section 2.3, Page 5), “RFC2833 is identified in SDP by a=rtpmap:101 telephone-event/8000, and key presses are carried in separate RTP packets.” RFC2833 transmits DTMF as special RTP events within the media stream, identified by a specific payload type. The SDP attribute a=rtpmap:101 telephone-event/8000 advertises RFC2833 support and specifies the payload type number (commonly 101).

Inband: According to the VOS3000 Transcode Module documentation (Section 2.4, Page 5), “Inband key presses are carried in the RTP as a continuous segment of voice.” Inband DTMF embeds the DTMF tones as actual audio in the RTP voice stream. This is the most problematic method for VOS3000 transcoding because the DTMF tones are compressed along with the voice audio, which can distort them beyond recognition โ€” especially when transcoding between G711 and G729.

RFC2833 Payload Configuration for VOS3000 Transcoding

The RFC2833 payload value is a critical setting for VOS3000 transcoding when DTMF is transported via RFC2833. According to the VOS3000 Transcode Module documentation, only RFC2833 has a Payload value setting. The payload number (typically 101) identifies the RTP payload type used for telephone-event packets. When configuring VOS3000 transcoding, ensure that the RFC2833 payload value matches on both sides of the call, or that VOS3000 is correctly translating the payload type during transcoding.

The SDP for RFC2833 includes the following attribute:

a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16

In this example, payload type 101 is used for telephone-event, and keys 0-16 are supported (digits 0-9, *, #, and additional keys A-D). When media proxy is enabled during VOS3000 transcoding, VOS3000 controls the payload type and key range sent to each side.

Use Peer RFC2833 Ability Setting

The “Use peer RFC2833 ability” setting controls how VOS3000 advertises RFC2833 support in the SDP during VOS3000 transcoding. According to the VOS3000 Transcode Module documentation (Section 2.5, Page 6):

  • When checked: If the peer (far end) sends RFC2833 capability in its SDP, VOS3000 will also advertise RFC2833 to the other side. If the peer does not send RFC2833, VOS3000 will not advertise it either. This follows the peer’s capability transparently
  • When unchecked: If the peer sends RFC2833 capability, VOS3000 sends RFC2833 to the far end normally. If the peer does not send RFC2833, VOS3000 auto-generates the SDP field to include RFC2833 capability, regardless of what the peer supports. This forces RFC2833 on the far end even when the original peer did not offer it

For VOS3000 transcoding deployments where you want to ensure RFC2833 DTMF works reliably on both sides, unchecking “Use peer RFC2833 ability” is often the better choice because it guarantees that VOS3000 advertises RFC2833 in SDP to both endpoints, enabling proper DTMF relay during transcoding.

๐Ÿ“ž DTMF Method๐Ÿ”„ Transcoding Impactโœ… Reliability๐Ÿ“‹ Recommendation
SIP INFONo impact (signaling channel, not media)High โ€” independent of codecGood for transcoded calls
RFC2833VOS terminates and regenerates DTMF eventsHigh โ€” VOS controls payloadโœ… Recommended for transcoded calls
InbandDTMF tones distorted by codec compressionLow โ€” unreliable with G729โŒ Avoid for transcoded calls

VOS3000 Transcoding DTMF Behavior with Media Proxy

The VOS3000 Transcode Module documentation (Section 2.6, Page 6) provides critical details about how DTMF is handled when media proxy is enabled or disabled during VOS3000 transcoding. This is one of the most important aspects of transcoding configuration because incorrect DTMF handling can cause IVR failures, PIN entry problems, and other issues that directly impact your customers.

DTMF with Media Proxy Enabled (Required for VOS3000 Transcoding)

When media proxy is enabled โ€” which is required for VOS3000 transcoding โ€” VOS3000 fully intercepts and processes all RTP media streams, including DTMF signals. According to the VOS3000 Transcode Module documentation (Section 2.6, Page 6), “If media forwarding is enabled, the RFC2833 payload and 0-16 key support type received from the far-end SDP is terminated by VOS, and VOS integrates and sends the values set in VOS DTMF configuration to the peer end.”

This means that with media proxy on during VOS3000 transcoding:

  • RFC2833 is terminated and regenerated: VOS3000 receives the RFC2833 DTMF events from one side, terminates them, and then generates new RFC2833 DTMF events on the other side using the payload value and key range configured in VOS3000’s DTMF settings
  • DTMF conversion is possible: VOS3000 can convert DTMF from one method to another (e.g., SIP INFO on the caller side to RFC2833 on the callee side)
  • Payload type is controlled by VOS3000: The RFC2833 payload type number sent to each endpoint is determined by VOS3000, not passed through from the remote side
  • Key support range is controlled: VOS3000 sends DTMF key support 0-16 (digits 0-9, *, #, A-D) as configured in the DTMF settings

DTMF Without Media Proxy (Passthrough Mode)

When media proxy is disabled, VOS3000 does not intercept the RTP stream and DTMF signals pass through directly between endpoints. According to the VOS3000 Transcode Module documentation (Section 2.6, Page 6), without media proxy, “RFC2833 passthrough” is the behavior โ€” DTMF events travel directly from the caller to the callee without modification.

However, without media proxy, VOS3000 transcoding cannot function because VOS3000 does not have access to the media stream to perform codec conversion. This means passthrough mode and transcoding are mutually exclusive โ€” if you need VOS3000 transcoding, media proxy must be enabled, and VOS3000 will actively handle DTMF as described above.

โš™๏ธ Aspect๐Ÿ”ต Media Proxy ON (Transcoding)โšช Media Proxy OFF (Passthrough)
VOS3000 transcodingโœ… Active โ€” codec conversion worksโŒ Not possible โ€” no media access
RFC2833 DTMFTerminated and regenerated by VOSDirect passthrough
RFC2833 payload typeVOS controls payload value sent to each sideOriginal payload passed through
DTMF method conversionโœ… Possible (e.g., Inband โ†’ RFC2833)โŒ Not possible
Inband DTMF detectionโœ… VOS can detect and convertโŒ Cannot intercept
SIP INFO DTMFUnaffected (signaling channel)Unaffected (signaling channel)

Important VOS3000 Transcoding DTMF Notes and Edge Cases

The VOS3000 Transcode Module documentation (Section 2.6, Page 6) includes several important notes about DTMF behavior during transcoding that are critical for avoiding common problems. These edge cases frequently cause confusion and support issues, so understanding them thoroughly is essential.

Dual DTMF Method Handling

According to the VOS3000 Transcode Module documentation, “When the far-end sends both SIP INFO and RFC2833, VOS will only recognize the first detected key press type.” This means that if a device sends DTMF using both SIP INFO and RFC2833 simultaneously (which some devices do), VOS3000 locks onto whichever method it detects first and ignores the other for the remainder of that call. This first-detected-type locking mechanism prevents duplicate DTMF digits but can cause issues if the far-end switches DTMF methods mid-call.

Inband to SIP INFO/RFC2833 Conversion

The VOS3000 Transcode Module documentation states: “If Inband is received but far-end uses SIP INFO/RFC2833, VOS can only identify and pass through, then send additional SIP INFO/RFC2833.” This means VOS3000 can detect Inband DTMF in the incoming RTP stream and then generate the corresponding SIP INFO or RFC2833 DTMF on the outgoing side. However, this conversion requires media proxy to be enabled and is not 100% reliable because Inband DTMF detection depends on audio quality and codec type.

RFC2833/SIP INFO to Inband Conversion

When the situation is reversed, the VOS3000 Transcode Module documentation explains: “If peer sends RFC2833/SIP INFO but far-end uses Inband, the RFC2833/SIP INFO is discarded and converted to Inband.” VOS3000 discards the incoming RFC2833 or SIP INFO DTMF and instead generates Inband DTMF tones in the outgoing RTP audio stream. This conversion is less common but may be necessary when connecting to legacy PBX systems or analog gateways that only understand Inband DTMF.

Key Range and Payload Control with Media Proxy

As stated in the VOS3000 Transcode Module documentation, “With media proxy on: RFC2833 payload and 0-16 key support terminated by VOS, VOS sends configured DTMF values.” This means VOS3000 takes full control of the RFC2833 parameters on both sides of the transcoded call. The payload type number and the supported key range (0-16) advertised in the SDP are determined by VOS3000’s configuration, not by what the original endpoint offered. This ensures consistency and prevents payload type mismatches that could cause DTMF failures.

For more detailed DTMF configuration guidance beyond transcoding, see our dedicated VOS3000 no voice and one-way audio troubleshooting guide which covers DTMF-related audio issues in detail.

These DTMF edge cases highlight the importance of understanding VOS3000 transcoding behavior in detail. The key takeaways are: (1) VOS3000 locks to the first detected DTMF type when multiple methods are received simultaneously; (2) Inband to SIP INFO/RFC2833 conversion is partial and may not be fully reliable; (3) RFC2833/SIP INFO to Inband conversion is full and reliable with media proxy; (4) With media proxy on, VOS3000 has full control over RFC2833 payload type and key range; (5) Without media proxy, RFC2833 passthrough is the only option and transcoding is not possible.

Complete VOS3000 Transcoding Configuration Walkthrough

This section provides a complete, step-by-step walkthrough for configuring VOS3000 transcoding in a real-world scenario. The example uses the most common transcoding situation: a customer who only supports G711 (PCMA) connecting through a vendor that only accepts G729.

Prerequisites for VOS3000 Transcoding

Before configuring VOS3000 transcoding, ensure the following prerequisites are met:

  • VOS3000 transcode module is installed: The transcode module must be installed and licensed on your VOS3000 server. Without it, codec conversion options will not be available in the gateway configuration
  • Media proxy is enabled: VOS3000 transcoding requires media proxy to intercept and process the RTP media stream. Verify that media proxy is set to “Auto” or “On” on both the mapping gateway and routing gateway
  • Sufficient server CPU capacity: Each transcoded call consumes more CPU than a pass-through call. Monitor your server’s CPU utilization and ensure you have headroom for the expected number of concurrent transcoded calls
  • Proper DTMF configuration: If your calls involve IVR or DTMF-dependent features, configure DTMF settings correctly on both gateways before enabling transcoding

Step 1: Configure Mapping Gateway Codec for VOS3000 Transcoding

Access the mapping gateway configuration for the customer who will be sending calls:

  1. Navigate to Business Management > Mapping Gateway
  2. Double-click the target mapping gateway
  3. Click the Additional Settings tab
  4. Select the Codec sub-tab
  5. Under the SIP section:
    • Set codec mode to “Softswitch specified”
    • Select PCMA as the softswitch specified codec
    • Check “Allow codec conversion”
  6. Set media proxy to Auto or On
  7. Click Save

Step 2: Configure Routing Gateway Codec for VOS3000 Transcoding

Access the routing gateway configuration for the vendor who will be receiving calls:

  1. Navigate to Business Management > Routing Gateway
  2. Double-click the target routing gateway
  3. Click the Additional Settings tab
  4. Select the Codec sub-tab
  5. Under the SIP section:
    • Set codec mode to “Softswitch specified”
    • Select G729 as the softswitch specified codec
    • Set G729 negotiation mode to Auto
    • Check “Allow codec conversion”
  6. Set media proxy to Auto or On
  7. Click Save

Step 3: Configure DTMF for VOS3000 Transcoding

On both the mapping gateway and routing gateway, configure the DTMF settings to ensure DTMF works correctly during transcoding:

  1. In the same Additional Settings tab, select the Protocol sub-tab (or DTMF sub-tab depending on your VOS3000 version)
  2. Set DTMF receive to All (accepts all DTMF methods)
  3. Set DTMF send (SIP) to Auto or RFC2833
  4. Set RFC2833 Payload to 101 (default)
  5. Uncheck “Use peer RFC2833 ability” if you want VOS3000 to always advertise RFC2833 regardless of the peer’s capability (recommended for transcoding)
  6. Click Save

Step 4: Test VOS3000 Transcoding

After completing the configuration, test the transcoding with actual calls:

  1. Use a SIP softphone configured with only PCMA codec to place a test call
  2. The call should route through the mapping gateway (PCMA side) to the routing gateway (G729 side)
  3. Verify two-way audio by speaking and confirming the other party can hear you
  4. Test DTMF by pressing keypad buttons during the call and verifying they are received on the far end
  5. Check the VOS3000 Current Call view to verify that the caller is using PCMA and the callee is using G729
  6. Review CDR records after the call to confirm the codec information is recorded correctly

For detailed call testing procedures, see our VOS3000 PIN test and SIP account call testing guide.

โœ… Step๐Ÿ‘ค Mapping Gateway Setting๐Ÿข Routing Gateway Setting
1. Codec modeSoftswitch specifiedSoftswitch specified
2. Specified codecPCMA (G711a)G729
3. Allow codec conversionโœ… Checkedโœ… Checked
4. G729 negotiation modeN/A (using PCMA)Auto
5. Media proxyAuto or OnAuto or On
6. DTMF receiveAllAll
7. DTMF send (SIP)AutoAuto
8. RFC2833 Payload101101

Troubleshooting VOS3000 Transcoding Issues

VOS3000 transcoding problems typically manifest as no audio, one-way audio, or DTMF failures. This section covers the most common issues and their solutions.

Issue 1: No Audio After Enabling VOS3000 Transcoding

If you enable VOS3000 transcoding but calls have no audio at all, the most common causes are:

  • Media proxy not enabled: VOS3000 transcoding requires media proxy to be active. Check that both the mapping gateway and routing gateway have media proxy set to “Auto” or “On”
  • Transcode module not installed: Without the transcode module installed and licensed, VOS3000 cannot perform codec conversion even if the settings are configured. Verify the transcode module is active in your VOS3000 installation
  • Firewall blocking RTP: Check that your server’s firewall allows RTP traffic on the configured media port range. For firewall configuration guidance, see our VOS3000 extended firewall configuration guide
  • Incorrect codec selection: Verify that the “Softswitch specified codec” on each gateway matches a codec that the endpoint actually supports. If you specify G729 on the mapping gateway but the customer’s SIP phone does not support G729, the call will fail

Issue 2: One-Way Audio with VOS3000 Transcoding

One-way audio during VOS3000 transcoding means that one party can hear the other but not vice versa. This typically indicates an asymmetric configuration issue:

  • Codec conversion only enabled on one side: If “Allow codec conversion” is checked on the mapping gateway but not the routing gateway, transcoding may only work in one direction. Ensure both sides have “Allow codec conversion” checked
  • NAT/routing issue on one side: The RTP stream from VOS3000 to one endpoint may be blocked by a NAT or firewall. This is not a transcoding issue but a network issue that must be resolved separately
  • Asymmetric media proxy: If media proxy is enabled on one gateway but not the other, the RTP path may be incomplete. Enable media proxy on both gateways for VOS3000 transcoding

Issue 3: DTMF Not Working During VOS3000 Transcoding

DTMF failures during transcoded calls are common and usually caused by DTMF method mismatches or incorrect payload configuration:

  • Inband DTMF with G729: If the DTMF method is set to Inband but the transcoded call uses G729 on one side, DTMF tones will be distorted by the codec compression. Switch to RFC2833 or SIP INFO for reliable DTMF during VOS3000 transcoding
  • Payload mismatch: If the RFC2833 payload value configured in VOS3000 does not match what the endpoint expects, DTMF events will not be recognized. Verify the payload value matches the SDP negotiation
  • “Use peer RFC2833 ability” misconfigured: If this setting is checked and the peer does not advertise RFC2833 support, VOS3000 will not advertise RFC2833 to the other side, causing DTMF to fail. Try unchecking this option so VOS3000 always advertises RFC2833

For comprehensive audio troubleshooting, including DTMF-related audio problems, see our VOS3000 one-way audio troubleshooting guide.

โš ๏ธ Problem๐Ÿ” Likely Causeโœ… Solution
No audio at allMedia proxy disabled or transcode module not installedEnable media proxy; verify transcode module
One-way audioAsymmetric codec conversion or NAT issueCheck “Allow codec conversion” on both sides; verify RTP routing
DTMF not workingInband DTMF with G729, or payload mismatchUse RFC2833; match payload value with SDP
Call fails immediatelySoftswitch specified codec not supported by endpointUse a codec that the endpoint supports
Poor voice qualityHigh CPU utilization from too many transcoded callsReduce concurrent transcoded calls or upgrade server
G729 negotiation failureG729 variant mismatch (G729 vs G729a)Try G729&G729a negotiation mode

Best Practices for VOS3000 Transcoding Configuration

Following these best practices will help you configure VOS3000 transcoding correctly and avoid common problems that affect call quality and reliability.

1. Minimize Transcoding When Possible

VOS3000 transcoding consumes significant server CPU resources and introduces a small amount of latency and potential voice quality degradation. Always prefer direct codec passthrough when both endpoints share a common codec. Only enable VOS3000 transcoding when there is a genuine codec incompatibility that prevents calls from connecting. Use Auto negotiation as the default codec mode, and switch to Softswitch specified with Allow codec conversion only when you need to force different codecs on each side.

2. Use RFC2833 for DTMF with VOS3000 Transcoding

RFC2833 is the most reliable DTMF method for VOS3000 transcoding because it is carried in separate RTP packets that VOS3000 can terminate and regenerate without quality loss. SIP INFO is also reliable since it travels in the signaling channel, but it may not be supported by all devices. Avoid Inband DTMF with transcoded calls because codec compression distorts the DTMF tones, especially with G729.

3. Monitor CPU Utilization

VOS3000 transcoding is CPU-intensive. Monitor your server’s CPU utilization regularly, especially during peak call volumes. If CPU utilization consistently exceeds 70-80%, consider upgrading your server hardware or reducing the number of concurrent transcoded calls. Use the VOS3000 system monitoring tools to track resource usage in real time.

4. Configure G729 Negotiation Mode Correctly

For maximum compatibility with diverse gateways and SIP devices, use the Auto G729 negotiation mode. If you encounter G729-specific negotiation failures, switch to G729&G729a mode to offer both variants. Only use the strict G729 or G729a modes when you have a specific reason to force one variant.

5. Always Enable Media Proxy for VOS3000 Transcoding

VOS3000 transcoding cannot function without media proxy. Always verify that media proxy is set to Auto or On on both the mapping gateway and routing gateway before enabling codec conversion. If media proxy is set to Off, VOS3000 will not intercept the RTP stream and cannot perform codec conversion.

6. Test After Every Configuration Change

Always test with actual calls after making any VOS3000 transcoding configuration change. Verify two-way audio, DTMF functionality, and call completion. Use the Current Call view to confirm that the correct codecs are being used on each side. For testing methodology, see our VOS3000 call testing guide.

By following these six best practices โ€” minimizing unnecessary transcoding, using RFC2833 for DTMF, monitoring CPU utilization, configuring the correct G729 negotiation mode, always enabling media proxy, and testing after every change โ€” you can ensure that your VOS3000 transcoding deployment delivers reliable, high-quality voice calls while efficiently utilizing your server resources.

VOS3000 Transcoding vs No Transcoding: Decision Guide

Not every VOS3000 deployment needs transcoding. In some cases, enabling VOS3000 transcoding unnecessarily can waste server resources and introduce quality issues. Use this decision guide to determine whether VOS3000 transcoding is needed for your deployment.

When VOS3000 Transcoding Is Required

  • Your customers and vendors have no common codecs (e.g., customer only G711, vendor only G729)
  • You need to optimize bandwidth by using G729 on one side while keeping G711 on the other
  • You are interconnecting networks with different codec requirements
  • You need to force a specific codec on a gateway for compatibility reasons
  • You are connecting legacy SIP devices that only support G711 to modern G729-based networks

When VOS3000 Transcoding Is Not Required

  • All your customers and vendors share common codecs (Auto negotiation will select the best match)
  • You have low server CPU capacity and cannot afford the overhead of transcoding
  • Your traffic volume is high enough that transcoding CPU cost would be prohibitive
  • Both endpoints can natively agree on a codec without softswitch intervention

In summary: if your customers and vendors share common codecs, use Auto negotiation without transcoding. If they have no common codecs (e.g., customer G711 only, vendor G729 only), enable Softswitch specified with Allow codec conversion. For bandwidth optimization, force G729 on the WAN side and G711 on the LAN side. For G723 to G729 scenarios, use Softswitch G723 on the gateway side and G729 on the vendor side.

Frequently Asked Questions About VOS3000 Transcoding

โ“ What is VOS3000 transcoding and when do I need it?

VOS3000 transcoding is the real-time conversion of voice media streams between different codecs (e.g., PCMA to G729). You need it when your caller and callee have incompatible codecs โ€” for example, when a customer only supports G711 but your termination vendor only accepts G729. Without transcoding, these calls would fail due to codec mismatch. According to the VOS3000 Transcode Module documentation (Section 1.1), “When caller and callee voice codecs are incompatible, transcoding function can be used to make them compatible.”

โ“ Where do I configure VOS3000 transcoding codec settings?

VOS3000 transcoding codec settings are located in the Additional Settings > Codec section of both mapping gateways and routing gateways. Navigate to Business Management > Routing Gateway/Mapping Gateway > Additional Settings > Codec, as documented in the VOS3000 Transcode Module documentation (Section 1.2, Page 1) and the VOS3000 Manual Section 2.5.1.1 (Pages 32, 47). You must configure both the mapping gateway (caller side) and routing gateway (callee side) for transcoding to work correctly.

โ“ Does VOS3000 transcoding work without media proxy?

No. VOS3000 transcoding requires media proxy to be enabled because the softswitch must intercept the RTP media stream to decode and re-encode the audio in a different codec. Without media proxy, RTP flows directly between endpoints and VOS3000 cannot perform codec conversion. Always set media proxy to Auto or On on both gateways when enabling VOS3000 transcoding.

โ“ What is the difference between Softswitch specified and Auto negotiation?

Auto negotiation allows endpoints to negotiate a common codec through the standard SDP offer/answer mechanism, with no transcoding needed if both sides share a codec. Softswitch specified forces VOS3000 to use a specific codec on each gateway side, regardless of what the endpoints offer. When you use Softswitch specified with different codecs on each side, VOS3000 transcoding is activated to bridge the codec gap. Use Auto negotiation when both sides share common codecs, and Softswitch specified when they do not.

โ“ How does DTMF work during VOS3000 transcoding?

During VOS3000 transcoding with media proxy enabled, VOS3000 terminates all incoming DTMF signals (RFC2833, SIP INFO, or Inband) from one side and regenerates them on the other side according to the DTMF send settings configured for that gateway. RFC2833 is the recommended DTMF method for transcoded calls because VOS3000 can reliably terminate and regenerate the telephone-event packets. Inband DTMF should be avoided with G729 transcoding because codec compression distorts the DTMF tones.

โ“ Why is my G729 transcoded call failing with a codec error?

G729 codec errors during VOS3000 transcoding are usually caused by G729 variant mismatches. Some devices only accept G729 while others only accept G729a, even though they are largely compatible. Try changing the G729 negotiation mode on the routing gateway to “G729&G729a” which offers both variants in the SDP, giving the remote endpoint the choice. If that does not resolve the issue, check that the vendor actually supports G729 and that the transcode module is properly installed and licensed.

โ“ How much CPU does VOS3000 transcoding use?

VOS3000 transcoding is CPU-intensive, with each transcoded call consuming significantly more CPU than a pass-through call. The exact CPU usage depends on the codecs involved and the server hardware. G729 transcoding is more CPU-intensive than G711-to-G711 transcoding. Monitor your server’s CPU utilization during peak hours and ensure you have sufficient capacity. If CPU exceeds 80%, consider upgrading your server or reducing the number of concurrent transcoded calls. For load testing, see our VOS3000 concurrent call load test guide.

โ“ Can I get professional help configuring VOS3000 transcoding?

Absolutely. Our VOS3000 specialists have extensive experience configuring transcoding for VoIP deployments of all sizes. We can help you determine when transcoding is needed, configure codec conversion on both mapping and routing gateways, optimize DTMF settings for transcoded calls, and troubleshoot any transcoding issues. Contact us on WhatsApp at +8801911119966 for expert assistance with your VOS3000 transcoding configuration.

Get Expert Help with VOS3000 Transcoding Configuration

VOS3000 transcoding is a powerful feature that enables your VoIP platform to interconnect diverse networks and endpoints, but it must be configured correctly to deliver reliable call quality. Misconfigured transcoding can cause no audio, one-way audio, DTMF failures, and excessive CPU load โ€” all of which directly impact your customers’ experience and your business revenue.

Whether you are setting up VOS3000 transcoding for the first time, troubleshooting an existing configuration, or planning a large-scale deployment with multiple codec conversions, our team can help. We provide complete VOS3000 transcoding configuration services including codec analysis, gateway configuration, DTMF optimization, and performance tuning.

๐Ÿ“ฑ Contact us on WhatsApp: +8801911119966

Our VOS3000 experts are available to help you configure transcoding for any scenario โ€” from simple PCMA to G729 conversion to complex multi-codec deployments. We can also assist with server capacity planning to ensure your hardware can handle the transcoding load. For faster troubleshooting of any VOS3000 issue, see our VOS3000 easy troubleshoot guide.


๐Ÿ“ž Need Professional VOS3000 Setup Support?

For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:

๐Ÿ“ฑ WhatsApp: +8801911119966
๐ŸŒ Website: www.vos3000.com
๐ŸŒ Blog: multahost.com/blog
๐Ÿ“ฅ Downloads: VOS3000 Downloads


VOS3000 P-Asserted-Identity, VOS3000 Web Manager, VOS3000 DTMF Configuration, VOS3000 Agent Account, VOS3000 TranscodingVOS3000 P-Asserted-Identity, VOS3000 Web Manager, VOS3000 DTMF Configuration, VOS3000 Agent Account, VOS3000 TranscodingVOS3000 P-Asserted-Identity, VOS3000 Web Manager, VOS3000 DTMF Configuration, VOS3000 Agent Account, VOS3000 Transcoding