I did some testing of my own, and found out that the first part of the 7-digit rules were causing the Lync client to ignore the entire rule. The first part of each 7-digit normalization rule is this cryptic piece of regex:
(?=^\d{7}$)This bit of regex says that whatever number is entered has to be a total of 7 digits long. The rest of the regular expression dictates the allowable first 2 or 3 digits for that particular area code. At the time, this was the only way I could think of to ensure the total number of digits entered was exactly 7.
I put the question to Microsoft, who acknowledged that the server and the client can use different criteria for evaluating the validity of regular expressions. It may be fixed in a future patch, but rather than waiting, I went about figuring out how to ensure 7-digit numbers without that bit of cryptic regex at the beginning.
After a good amount of research, work, and testing, I was able to figure out a way to ensure 7 digits in a much simpler way. At the same time, I got a bit of regex schooling by Dan Berry of Acrodex. He told me I had way too many brackets in my regular expressions, so with his prompting, I was able to reduce the number of brackets by quite a bit. He also gave me some other ideas for reducing the length and complexity of my regular expressions.
The end result is a much shorter and more robust set of regular expressions for all the North American local dialing rules. For example, one ruleset for Toronto, ON used to be 820 characters long. With the new optimizations, the character count is down to 621. This reduction can result in fewer rules, especially in larger cities.
If you've previously used the Optimizer to create your rulesets for 7-digit dialing, I recommend you apply the updated rules. If you subscribe to the monthly email rule update, then you'll get the updated ruleset starting next month. If you come across any issues with the new rules, please let me know.