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 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