Skype for Business Server Address Book Normalization Rules–Failing Normalization

Recently I was working on a Service Request, where the address book normalization was not able to normalize simple 10 Digit numbers. I tried about half a dozen normalization rules, trying to make sure that the pattern would capture the phone numbers, but kept failing continuously.

As I was reading Ken’s Blog ( See: ), I noticed that the default E164 rule was indeed missing

(UPDATE 2015-Aug-13: Hany Elkady noted in the comments below that removing the E164 rule seemed to stop AD phone numbers already stored in E.164 format from appearing in the address book.  I personally haven't seen this occur but you might want to leave that rule in place.)

I decided to rebuild the default Normalization rule by running the following and noticed that Normalization started to occur.

New-CsAddressBookNormalizationRule -Parent Global -Name 'Generic_E164' -Description "Generic_E164" -Pattern E164 -Translation NULL

Since then our Documentation for New-CsAddressBookNormalizationRule ( See: has been updated

noteNote:E164 is a well-known keyword which translates to tel:+digits-that-match. If E164 is specified and the phone number doesn't need to be translated then NULL is an expected response

and also

Note:If the pattern is E164 then NULL is a valid value for Translation since the number doesn't need to be translated.

Comments (1)

  1. Hi, Hany Elkady’s comments were right and verified by myself today. I was troubleshooting address book issue today and found that the missing Generic_E164 is indeed required for the default E164 formatted numbers to normalize for address book. It stops working if its removed. I put it back and things started working normally.

    New-CsAddressBookNormalizationRule -Parent Global -Name ‘Generic_E164’ -Description “Generic_E164” -Pattern E164 -Translation NULL


Skip to main content