The above process is correct, however....The directory on the ice is terrible....it uses the first letter of the persons first or last name....
I usually program a mailbox to perform this function and not the 9 (in the greeting, state for a directory dial 9 and put mailbox (for example) 420 in the 9 position )and record a greeting in this mailbox like for John press 401, for Mary press 402, etc...set the mailbox up with it's own class of service for 0 messages....if you do it this way make sure you record silence in at the end of the message.
Another way to do this is to use mailbox 801 which is an announcement mailbox.