your organisation uses exchange.
Does your organisation run its own active directory.
in active directory you can store all that information, and it is available in the global address list, (you can see this contact information when you choose who to send a message to.)
this information is held on the domain controllers and exchange server, and will be available to anyone logged in where they can send email.
people in your organisation need the details filled in on their active directory user account.
people outside your organisation need to have an object in the active directory, my suggestion is that you create a new OU for contacts and fill this with the "contact" objects (which can contain these contact details, but are not logon accounts.