I believe all the M39xx, and all of the IP phones support corporate directory.
The M3900 series phones support a personal directory where the entries are stored on the telephone set. If you have to change out the set, the user loses the directory.
The IP phones all support personal directory through the signaling server, and the directory is keyed to whatever DN is on Key 0, so if a user has multiple phones with the same DN on key 0, the directory will be accessible on all of those phones.