diff --git a/app/scripts/resources/scripts/app/xml_handler/resources/scripts/configuration/ivr.conf.lua b/app/scripts/resources/scripts/app/xml_handler/resources/scripts/configuration/ivr.conf.lua
index 6e7d07365d..9b5403698a 100644
--- a/app/scripts/resources/scripts/app/xml_handler/resources/scripts/configuration/ivr.conf.lua
+++ b/app/scripts/resources/scripts/app/xml_handler/resources/scripts/configuration/ivr.conf.lua
@@ -287,9 +287,9 @@
if (ivr_menu_direct_dial == "true") then
local negative_lookahead = "";
if (#direct_dial_exclude > 0) then
- negative_lookahead = "(?!"..table.concat(direct_dial_exclude, "|")..")";
+ negative_lookahead = "(?!^("..table.concat(direct_dial_exclude, "|")..")$)";
end
- local direct_dial_regex = string.format("/^%s(\\d{%s,%s})$/", negative_lookahead, direct_dial_digits_min, direct_dial_digits_max);
+ local direct_dial_regex = string.format("/^(%s\\d{%s,%s})$/", negative_lookahead, direct_dial_digits_min, direct_dial_digits_max);
table.insert(xml, [[ \n]]);
--table.insert(xml, [[ \n]]);
table.insert(xml, [[ \n]]);