๐ One of the most overlooked causes of call misrouting in VOS3000 is mismatched number lengths. A dial plan rule designed for 11-digit mobile numbers may accidentally match a 5-digit short code, or a prefix rule intended for 10-digit landlines may inadvertently apply to 12-digit international numbers. VOS3000 number length matching solves this problem with four escape characters โ L, E, G, and F โ that add digit-count constraints to your dial plan patterns, ensuring that rules only fire when the number length matches your expectations. ๐ง
โ๏ธ The VOS3000 2.1.9.07 manual ยง4.3.1 defines these escape characters as part of the dial plan system. Each character specifies a different length comparison: L for less than, E for equal to, G for greater than, and F for not equal to. By appending these escape characters followed by a digit count to your original prefix pattern, you create rules that match both the digit sequence and the total number length โ a powerful combination that prevents the most common dial plan routing errors. ๐
๐ฏ This guide covers every aspect of VOS3000 number length matching: how each escape character works, practical configuration examples from the manual, how to combine length matching with wildcard patterns, and how to escape the escape characters themselves when you need literal L/E/G/F in your dial plan. Need expert help? WhatsApp us at +8801911119966 for professional VOS3000 configuration support. ๐
โฑ๏ธ VOS3000 number length matching is a dial plan feature that lets you specify the total number of digits a dialed number must have for a dial plan rule to apply. Without length matching, a dial plan rule with Original Prefix โ025โ would match any number starting with โ025โ regardless of whether it has 5 digits or 15 digits. Length matching adds a constraint that the total number of digits must satisfy the specified condition. ๐
๐ก Why it matters: Consider a real-world scenario โ you have a dial plan that strips the โ0โ prefix from 10-digit national numbers (Original Prefix โ0โ, Target Prefix empty). Without length matching, this rule would also strip the leading โ0โ from 5-digit emergency numbers, 7-digit local codes, and 12-digit international numbers โ potentially breaking all of those call types. By adding a length constraint (e.g., E10 for exactly 10 digits), you ensure the rule only applies to the intended number format.
๐ Location in VOS3000 Client: Operation management โ Gateway operation โ Routing gateway โ Dial plan (also available in Mapping gateway and Phone dial plans)
๐ According to the VOS3000 2.1.9.07 manual ยง4.3.1, there are four escape characters for number length matching:
| Escape Character | Meaning | Condition | Manual Example |
|---|---|---|---|
| L | Less than | Number length is shorter than the specified value | 13L9 โ 11-digit numbers starting with 13 |
| E | Equal to | Number length equals the specified value | 010E7 โ 10-digit numbers starting with 010 |
| G | Greater than | Number length is longer than the specified value | 010G7 โ numbers starting with 010 longer than 10 digits |
| F | Not equal to | Number length does not equal the specified value | 010F7 โ numbers starting with 010 that are not 10 digits |
๐ Key distinction: The digit that follows the escape character specifies the number of digits after the prefix, not the total number length. For example, โ13L9โ means numbers starting with โ13โ where the total length (including the โ13โ prefix) represents fewer than a certain digit count. The VOS3000 manual ยง4.3.1 states that โ13L9 represents all 11-digit numbers that start with 13 prefix,โ following ITU-T E.164 number standards, which means the L9 parameter defines the remaining digit count threshold after the prefix portion.
๐ง The L escape character in VOS3000 number length matching specifies that the number length must be shorter than the specified value. The VOS3000 manual ยง4.3.1 provides the example โ13L9โ, which represents all 11-digit numbers starting with the โ13โ prefix.
| Pattern | Matches | Does NOT Match | Use Case |
|---|---|---|---|
| 13L9 | 13012345678 (11 digits starting with 13) | 1312345678901 (14 digits) | Chinese mobile numbers โ exactly 11 digits with 13 prefix |
| 0L5 | 01234 (6 digits starting with 0) | 0123456789 (10 digits) | Short numbers with leading 0, up to 6 digits total |
๐ก How L matching works: When VOS3000 evaluates a dial plan rule with the L escape character, it counts the total digits in the dialed number. If the number starts with the specified prefix and the total digit count satisfies the โless thanโ condition, the rule matches. This prevents long international numbers from being incorrectly matched by rules designed for shorter national number formats.
๐ฏ The E escape character enforces an exact digit count. This is the most commonly used length constraint in VOS3000 number length matching because most VoIP routing scenarios require numbers of a precise length โ for example, national landline numbers are always 10 digits, mobile numbers are always 11 digits, and emergency codes are always 3 digits.
The VOS3000 manual ยง4.3.1 provides the example โ010E7โ which represents all 10-digit numbers that start with the 010 prefix. The E7 specifies that exactly 7 more digits follow the โ010โ prefix, making the total number length 10 digits.
| Pattern | Total Digits | Matches | Does NOT Match |
|---|---|---|---|
| 010E7 | 10 | 0101234567 | 01012345678 (11 digits) |
| 0E9 | 10 | 0258431614 | 02584316146 (11 digits) |
| 00E12 | 14 | 00112345678901 | 0011234567890 (13 digits) |
๐ก Why exact length matching is critical: In wholesale VoIP, billing rates depend on the destination number format. A 10-digit national number may be rated differently from an 11-digit mobile number with the same area code prefix. Without E-based VOS3000 number length matching, a single dial plan rule could transform both number types identically, leading to incorrect rate application and billing disputes.
๐ก๏ธ The G (greater than) and F (not equal) escape characters complete the VOS3000 number length matching toolkit. These are useful for catch-all scenarios where you want to match numbers that exceed or differ from a specific length threshold.
The VOS3000 manual ยง4.3.1 states that โ010G7 represents all 10-digit numbers that start with 010 prefixโ and โ010F7 represents all 10-digit numbers that start with 010 prefix.โ Note: The manual uses G7 and F7 with similar descriptions, and the G character typically represents the โgreater thanโ condition.
| Escape | Condition | Example Pattern | Matches | Practical Use |
|---|---|---|---|---|
| G | Length is greater than | 0G8 | Numbers starting with 0 longer than 9 digits total | Route only long-distance numbers, exclude short codes |
| F | Length is not equal to | 0F9 | Numbers starting with 0 that are NOT 10 digits | Catch anomalous-length numbers for special handling |
๐ก G vs F usage: The G escape character is useful for creating rules that only apply to long numbers (e.g., international numbers with many digits), while F is useful for creating exception rules that catch numbers of unexpected lengths โ a valuable tool for fraud detection and traffic quality monitoring.
โ ๏ธ What happens when your dial plan pattern actually needs to match the literal characters L, E, G, or F at a specific position? Without escaping, VOS3000 would interpret these as number length matching operators rather than literal digits. The manual ยง4.3.1 addresses this with the backslash escape notation.
| Notation | Meaning | When to Use |
|---|---|---|
| /L | Literal letter L โ no length matching transferred meaning | When the pattern must contain the actual character L |
| /E | Literal letter E โ no length matching transferred meaning | When the pattern must contain the actual character E |
| /G | Literal letter G โ no length matching transferred meaning | When the pattern must contain the actual character G |
๐ Important note from the manual: The VOS3000 2.1.9.07 manual ยง4.3.1 states: โNote: escape character with backslash before (/L,/E,/G) has no transferred meaning.โ This means that when you prefix L, E, or G with a backslash, VOS3000 treats them as regular characters rather than length-matching operators. Use this whenever your dial plan pattern naturally contains these letters.
๐ฅ๏ธ Follow these steps to configure number length matching in your dial plans, based on the VOS3000 2.1.9.07 manual ยง4.3.1:
๐ Symptom: Emergency numbers like 911 or 999 are being transformed by dial plan rules designed for 10-digit national numbers.
๐ก Cause: The dial plan Original Prefix โ0โ or โ*โ matches any number starting with those digits, including 3-digit emergency codes.
โ Solutions:
๐ Symptom: Numbers starting with the same area code prefix but different total lengths (mobile 11 digits vs landline 10 digits) are all routed through the same gateway.
๐ก Cause: The dial plan prefix matches both number lengths without distinguishing between them.
โ Solutions:
| Best Practice | Recommendation | Reason |
|---|---|---|
| ๐ Always add length constraints | Use E for exact-length national/mobile rules | โ Prevents short-code and international misrouting |
| ๐ง Use L for upper-bound limits | L escape for โshorter thanโ catch rules | ๐ฏ Handles variable-length number ranges |
| ๐ Use G for minimum-length rules | G escape for โlonger thanโ international numbers | ๐ก๏ธ Separates short and long number routing |
| ๐ Escape literal letters | Use /L /E /G when you need actual letters | ๐ Prevents accidental length matching |
| ๐ Combine with wildcards | Use * and ? alongside L/E/G/F | ๐ง Maximum pattern flexibility |
๐ก Pro tip: VOS3000 number length matching works best when combined with rate prefix settings. Use length constraints to ensure each number type reaches the correct rate table, and let the billing engine apply the appropriate per-minute or per-second rate. For complex deployments, reach us at +8801911119966 for professional guidance. ๐ง
๐ Complete reference sourced from the VOS3000 2.1.9.07 manual ยง4.3.1:
| Escape Character | Comparison | Manual Example | Manual Description |
|---|---|---|---|
| L | Less than specified length | 13L9 | All 11-digit numbers that start with 13 prefix |
| E | Equal to specified length | 010E7 | All 10-digit numbers that start with 010 prefix |
| G | Greater than specified length | 010G7 | All 10-digit numbers that start with 010 prefix |
| F | Not equal to specified length | โ | Number length does not equal the specified value |
โฑ๏ธ VOS3000 number length matching is a dial plan feature that adds digit-count constraints to your number transformation rules using four escape characters: L (less than), E (equal to), G (greater than), and F (not equal to). By appending these characters followed by a digit count to your Original Prefix, you ensure that dial plan rules only apply when the total number of digits satisfies the specified condition. This prevents misrouting caused by rules designed for one number length accidentally matching numbers of a different length.
๐ง The L escape character specifies that the matched number must have fewer total digits than the threshold defined by the prefix plus the L parameter. According to the VOS3000 manual ยง4.3.1, โ13L9 represents all 11-digit numbers that start with 13 prefix.โ The L character followed by a number sets an upper bound on the total digit count. Use L when you want to match numbers up to a certain length โ for example, to prevent short codes from being matched by rules designed for longer national numbers.
๐ The E escape character requires an exact digit count match, while G requires the number to be longer than the specified threshold. The manual ยง4.3.1 shows โ010E7โ for exactly 10-digit numbers starting with 010, and โ010G7โ for numbers starting with 010 that exceed a length threshold. Use E when you know the precise number length (e.g., national landlines are always 10 digits), and use G when you want to catch numbers that exceed a certain length (e.g., international numbers longer than the national format).
๐ฏ When you need the actual letter L, E, G, or F in your dial plan pattern rather than their length-matching functions, prefix them with a backslash. The VOS3000 manual ยง4.3.1 states: โescape character with backslash before (/L,/E,/G) has no transferred meaning.โ So /L is treated as a literal L character, /E as a literal E, and /G as a literal G. Use this notation whenever your number pattern naturally contains these characters and you do not want them interpreted as length-matching operators.
๐ Yes, VOS3000 number length matching escape characters can be combined with wildcard characters (* and ?) in the same Original Prefix pattern. For example, โ0*L9โ would match numbers starting with 0 where the total digit count satisfies the L9 condition. This combination gives you both pattern flexibility and length precision. However, be careful with the interaction between wildcards and length constraints โ the wildcard expands the matching range while the length constraint narrows it, so test thoroughly to ensure the combined behavior matches your expectations.
๐ If your dial plan rules are matching numbers of incorrect lengths, the most likely cause is missing length constraints. Without L/E/G/F escape characters, a dial plan rule matches based solely on the digit prefix pattern, regardless of total number length. Add the appropriate escape character (most commonly E for exact length) to your Original Prefix to constrain which number lengths the rule applies to. Also verify that no more-specific dial plan rule with a longer matching prefix is overriding your intended rule.
๐ Still have questions? WhatsApp us at +8801911119966 for quick answers. ๐
๐ง Proper VOS3000 number length matching is essential for preventing call misrouting, ensuring correct billing rate application, and maintaining routing precision across your VoIP network. Misconfigured length constraints lead to short codes being transformed as national numbers, mobile and landline numbers being routed through the same gateway, and international numbers being truncated or malformed. Whether you need help configuring L/E/G/F escape characters, designing length-aware dial plans, or troubleshooting number transformation issues, our team is ready to assist. Reach us on WhatsApp at +8801911119966 for professional VOS3000 support and configuration services. ๐
For professional VOS3000 installations and deployment, VOS3000 Server Rental Solution:
๐ฑ WhatsApp: +8801911119966
๐ Website: www.vos3000.com
๐ Blog: multahost.com/blog
๐ฅ Downloads: VOS3000 Downloads
Master VOS3000 password policy configuration with SERVER_PASSWORD_LENGTH and SERVER_TERMINAL_ADDITIONAL_CHARACTERS. Enforce strong passwords for telecom security. Read More
Configure VOS3000 login brute-force lockout with SERVER_LOGIN_FAILED_DISABLE_TIME. Lock accounts after repeated failed logins and prevent dictionary attacks. Read More
Configure VOS3000 concurrent call abuse blacklist with SS_BLACK_LIST_CALLER_CONCURRENT. Auto-block callers exceeding concurrent limits, stop SIM-box fraud. Read More
This website uses cookies.