Adam,
Your first step should be to re-enter the user’s phone number from the ‘telephoneNumber’ attribute in Active Directory as a ‘TEL URI’ in the ‘msRTCSIP-Line’ attribute. The msRTCSIP-Line is the value used by OCS to match a phone number to a user.
To use your example, +649xxxxxxx ext xxxx would become: tel:+649xxxxxxx;ext=xxxx
If your users have individual direct dial numbers, then don’t bother with the ext part (unless you are also using Remote Call Control, but that is another story). So to make things simpler: +649xxxxxxx ext xxxx would become simply: tel:+649xxxxxxx
The normalization rule you need will convert a dialed number to match the phone number as it appears in the msRTCSIP-Line attribute (minus the tel: part).
If you want to support 4 digit dialing in your workplace, then you want to replace a 4 digit number with the full 11 digits like this:
Pattern: ^(\d{4})$
Translation: +649xxx$1
Of course, xxx should be actual digits.
You will find Route Helper handles this formatting with no problem.
Paul