VOS3000 Dial Plan: Complete Number Transformation & Prefix Manipulation Guide
VOS3000 dial plan is a powerful feature that enables precise number transformation for routing, billing, and gateway interconnection scenarios. Understanding dial plan syntax and configuration is essential for VoIP operators who need to manipulate called numbers, handle international prefix variations, and ensure seamless interoperability between different networks and devices. This comprehensive guide covers all dial plan capabilities based on official VOS3000 2.1.9.07 documentation.
📞 Need help with VOS3000 dial plan? WhatsApp: +8801911119966
Table of Contents
🔍 Understanding VOS3000 Dial Plan
The dial plan in VOS3000 provides a flexible mechanism for transforming phone numbers before routing and billing. When a call is processed, VOS3000 can apply dial plan rules to modify the called number (callee) or calling number (caller) based on pattern matching and substitution rules.
📊 Dial Plan Application Points
Reference: VOS3000 2.1.9.07 Manual, Section 4.3.1 (Page 219-220)
| Application Point | Location | Purpose | Affects |
|---|---|---|---|
| Mapping Gateway Dial Plan | Mapping Gateway > Additional settings | Transform incoming called number | Number before routing decision |
| Routing Gateway Dial Plan | Routing Gateway > Additional settings | Transform outgoing called number | Number sent to downstream gateway |
| Phone Dial Plan | Phone Management > Additional settings | Transform called number for phone | Number before routing from phone |
📐 Dial Plan Syntax and Wildcards
Reference: VOS3000 2.1.9.07 Manual, Section 4.3.1 (Page 219-220)
🔤 Wildcard Characters
VOS3000 dial plan supports wildcard characters for flexible pattern matching:
| Wildcard | Name | Matches | Example |
|---|---|---|---|
| * | Asterisk | Any number of any digits (including zero) | * matches any number |
| ? | Question Mark | Single random digit (in target prefix only) | 123?78 matches 123178, 123278, etc. |
| $ | Dollar Sign | Keep original digit at position (in target only) | $$$ keeps first three digits unchanged |
🔧 Escape Characters for Length Constraints
VOS3000 dial plan supports escape characters to specify number length constraints:
| Escape Char | Meaning | Syntax | Example |
|---|---|---|---|
| L | Length Less Than | Prefix followed by L and digit count | 13L9 matches 11-digit numbers starting with 13 |
| E | Length Equal To | Prefix followed by E and digit count | 010E7 matches exactly 10 digits starting with 010 |
| G | Length Greater Than | Prefix followed by G and digit count | 010G7 matches 11+ digits starting with 010 |
Note: Use backslash before escape character (\L, \E, \G) to remove its special meaning and match literally.
📋 Complete Dial Plan Examples from Manual
Reference: VOS3000 2.1.9.07 Manual, Table 4-1 (Page 219-220)
📊 Dial Plan Transformation Table (VOS3000 Dial Plan)
| Original Prefix | Target Prefix | Example Input | After Transformation | Description |
|---|---|---|---|---|
| 0 | 0 | 02584316146 | 02584316146 | No change – pass through |
| 0 | 010 | 02584316146 | 01084316146 | Change prefix 0 to 010 |
| 025 | (empty) | 02584316146 | 84316146 | Remove prefix 025 |
| * | 025* | 117 | 025117 | Add prefix 025 to all numbers |
| 025* | 010 | 02584316146 | 01084316146 | Change prefix 025 to 010 |
| 010* | (empty) | 02584316146 | 01002584316146 | Add prefix 010 (empty = append) |
| * | (empty) | 02584316146 | (empty) | Delete all numbers |
| * | 12345678 | 02584316146 | 12345678 | Replace all numbers with constant |
| 025* | 8008100-8008121 | 02584316146 | 8008100 to 8008121 | Range-based random selection |
| * | 12345?78 | 02584316146 | 12345178, 12345278, etc. | ? becomes random digit |
| 0??8431 | 8431 | 02584316146 | 84316146 | ? matches any digit in pattern |
| 0134 | $$$ | 0134131 | 013131 | $ keeps original digit position |
🔀 Longest Matching Principle (VOS3000 Dial Plan)
Reference: VOS3000 2.1.9.07 Manual, Section 4.3.1 (Page 220)
When multiple dial plan rules exist, VOS3000 uses the longest matching principle to select which rule to apply. This ensures that more specific patterns take precedence over generic ones.
📊 Longest Matching Examples (VOS3000 Dial Plan)
| Dial Plan Rules | Input Number | Matched Rule | Result | Reason |
|---|---|---|---|---|
| 0 → 0 010 → 025 | 01012345678 | 010 → 025 | 02512345678 | 010 is longer match than 0 |
| * → 025* 01 → 00 | 0112345678 | 01 → 00 | 0012345678 | 01 is longer match than * |
| 0 → 0 01 → 025 011 → 00 | 01117654321 | 011 → 00 | 0017654321 | 011 is longest matching prefix |
Important: The pattern “*” has the lowest priority and will only be matched when no other pattern matches. This makes it useful as a “default” rule.
🔧 Multiple Substitution Targets
VOS3000 dial plan supports multiple substitution targets separated by semicolons (;). When “?” exists in the target, each “?” is replaced by a randomly generated digit.
📋 Multiple Target Examples
Multiple Substitution Target Examples: ====================================== Target: 12345678;8008100-8008121;12345?78 This means randomly choose ONE of: - 12345678 (constant) - Any number from 8008100 to 8008121 (range) - 12345?78 where ? is a random digit (pattern) Result Examples: - 12345678 - 8008105 - 8008119 - 12345178 - 12345878 Use Cases: ========== 1. Load balancing across multiple destination numbers 2. A/B testing different routes 3. Redundancy with fallback numbers 4. Random selection for pool allocation
⚙️ Dial Plan Configuration in VOS3000
📍 Configuring Mapping Gateway Dial Plan (VOS3000 Dial Plan)
Reference: VOS3000 2.1.9.07 Manual, Section 2.5.1.1 (Page 28-32)
Step-by-Step Mapping Gateway Dial Plan Configuration: ===================================================== 1. Navigate to: Navigation > Operation management > Gateway operation > Routing gateway 2. Right-click gateway and select "Additional settings" 3. Find "Callee number transform" section: - Callee number transform: Original prefix → Target prefix - Multiple rules separated by comma 4. Example Configuration: Original: 00 Target: (empty) Effect: Remove 00 prefix from incoming calls 5. Apply changes and test Example Scenarios: ================== Scenario 1: International calls coming with 00 prefix Need to route to gateway expecting numbers without 00 Solution: Original: 00, Target: (leave empty) Scenario 2: Local calls coming without area code Need to add area code for routing Solution: Original: *, Target: 025* (adds 025 prefix to all) Scenario 3: Convert mobile prefix Solution: Original: 013, Target: 8613 (convert Chinese mobile format)
📍 Configuring Routing Gateway Dial Plan
Reference: VOS3000 2.1.9.07 Manual, Section 2.5.1.1 (Page 32-39)
| Setting | Location | Purpose |
|---|---|---|
| Callee number transform | Routing Gateway > Additional settings > Dial plan | Transform called number before sending to this gateway |
| Caller number transform | Routing Gateway > Additional settings > Dial plan | Transform calling number before sending to this gateway |
| Gateway prefix | Routing Gateway > Main settings | Add prefix for routing to this gateway |
🎯 Common Dial Plan Use Cases
🌐 International Prefix Handling (VOS3000 Dial Plan)
| Scenario | Original | Target | Example |
|---|---|---|---|
| Remove 00 international prefix | 00 | (empty) | 004412345678 → 4412345678 |
| Add 00 international prefix | * | 00* | 4412345678 → 004412345678 |
| Convert + to 00 | + | 00 | +4412345678 → 004412345678 |
| Add country code | * | 86* | 13812345678 → 8613812345678 |
📞 Area Code Manipulation
| Scenario | Original | Target | Example |
|---|---|---|---|
| Add area code to local numbers | E8 | 025* | 84316146 → 02584316146 |
| Remove area code | 025 | (empty) | 02584316146 → 84316146 |
| Change area code | 025 | 010 | 02584316146 → 01084316146 |
🚨 Emergency Number Routing
Emergency Number Dial Plan Examples: ==================================== Scenario: Route emergency numbers to specific gateway 1. Emergency 911/112 routing: Create routing gateway with prefix: 911,112 Dial plan on mapping gateway: - Original: 911, Target: (empty - pass through) - Original: 112, Target: 911 (convert 112 to 911) 2. Police emergency: Original: 110 Target: (empty or specific routing number) 3. Ambulance/Medical: Original: 120 Target: (routing destination) Important Notes: ================ - Emergency numbers should have highest priority - Use specific prefixes (not wildcards) for emergency routing - Test thoroughly before production deployment
🔍 Troubleshooting Dial Plan Issues
🚨 Common Problems and Solutions
| Problem | Possible Cause | Solution |
|---|---|---|
| Number not matching expected rule | Longer pattern exists and takes precedence | Review all dial plan rules, use longest matching principle |
| Prefix not removed | Original prefix doesn’t match exactly | Verify exact prefix in CDR, adjust dial plan |
| Wrong transformation applied | Multiple rules with overlapping patterns | Check longest matching, reorder if needed |
| Billing discrepancy | Dial plan changes number after billing lookup | Verify dial plan application point (before/after billing) |
| Number becomes empty | Target prefix is empty for full match | Use correct wildcard patterns, avoid deleting entire number |
📋 Dial Plan Testing Procedure
Dial Plan Testing Steps: ======================== 1. Enable Debug Trace: System > Debug trace > Check "On" 2. Make Test Call: Place call with number to test 3. View Call Analysis: CDR > Right-click failed call > Call analysis 4. Check Number Transformation: - Look for "called number" before and after transformation - Verify correct dial plan was applied 5. Check CDR: - Verify "callee billing" shows correct number - Compare with "callee access" for incoming number 6. Adjust if needed: - Modify dial plan rules - Re-test with new configuration
🔗 Related Resources (VOS3000 Dial Plan)
- 📖 VOS3000 Callee Rewrite Rule and Prefix Conversion
- 📖 VOS3000 Prefix Settings Guide
- 📖 VOS3000 Call Routing Guide
- 📖 SIP Trunking with VOS3000
- 📖 VOS3000 Downloads
❓ Frequently Asked Questions
What happens when multiple dial plan rules match?
VOS3000 applies the longest matching principle. The dial plan rule with the longest matching prefix is selected. For example, if you have rules for “0” and “010”, the number “01012345678” will match “010” because it’s longer. The “*” wildcard has the lowest priority.
Can I use dial plan to change caller ID?
Yes, VOS3000 supports caller number transformation in routing gateway settings. Configure “Caller number transform” in the routing gateway’s additional settings to modify the calling party number before sending to the downstream gateway.
How do I test if my dial plan is working correctly?
Enable debug trace in VOS3000, make a test call, then check the CDR and call analysis. The call analysis will show the number before and after transformation, confirming which dial plan rule was applied.
Can dial plan affect billing?
Yes, dial plan can affect billing if applied before the rate lookup. Mapping gateway dial plan transforms numbers before billing, while routing gateway dial plan transforms numbers after billing. Consider this when designing your number transformation strategy.
What’s the difference between gateway prefix and dial plan?
Gateway prefix is used for routing decisions – it determines which gateway handles the call. Dial plan transforms the actual number. Gateway prefix matching happens first for route selection, then dial plan transforms the number for the selected gateway.
📞 Get Expert Help with VOS3000 Dial Plan
Need assistance with complex dial plan configurations? Our VOS3000 experts can help you design and implement number transformation strategies for any VoIP scenario.
📱 WhatsApp: +8801911119966
Contact us for VOS3000 installation, dial plan configuration, gateway setup, and professional VoIP support services!
📞 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
![]() | ![]() | ![]() |




