Corporate Addressbook

I took it upon myself to fix what I felt was an issue with the vanilla Froyo (2.2). I wrote and released an app called Corporate Addressbook to the Android Market.

I wrote this app since my Nexus One lacks a feature that I really needed – a true GAL lookup. The Global Address List (GAL) lookup currently available in vanilla Android (Froyo running on my Nexus One) is quite limited in functionality. It only looks up email addresses and does not return anything more. This is quite frustrating when you are trying to look up the address book for the contact information (including office number) of a colleague. The only other option was to buy Touchdown. Touchdown is a great app, however it does much more than GAL lookups. It also fetches email and does a bunch of other things that are now included in Froyo. Hence I thought it was better to write this application to meet my requirement. This application looks up the GAL and returns ALL data that is available on the Exchange server for the query.

The app uses the ActiveSync protocol to communicate with the Exchange server, and supports both Exchange 2003, 2007 and 2010. The app is free and has no ads. Download it while it is hot  (look for Corporate Addressbook in the Android market)

Related links

§ 20 Responses to “Corporate Addressbook”

  • Rick Valstar says:

    Love the app. Works great. Any way I can configure for 2 Exchange servers? One for corporate and one for the customer’s Exchange server

  • vivek says:

    Hey Rick

    Thank you for your message, am glad you like the app and find it useful. Support for multiple Exchange servers is on my radar, and I am working on it. Hopefully I will add support for it sooner than later. You can track the status of this enhancement here
    http://code.google.com/p/corporateaddressbook/issues/detail?id=42

    Thanks
    Vivek

  • Mirko says:

    Hi Vivek,

    I’d like to make a change to the app to perform a search of a mailbox instead of the GAL. In particular I would like to perform a search with an Outlook public folder structure. I had the following quick questions:

    1) within outlook, specifying a mailbox will allow me to perform a search in an outlook public folder structure?
    2) I have modified the search xml name tag to specify “Maibox” instead on “GAL”, but I am not quiet sure how to specify the folder name or path for the search. Can you tell me what tags need to be used and how they need to get populated?
    3) I have tried modifying the xml to include: , , , (how can I figure out what the id number of the outlook folder is?) with no success.

    Any information you can provide will be greatly appreciated.

    Mirko

  • vivek says:

    Hi Mirko

    Thank you for your message. In order to search within a folder in Outlook, this is what you will need to do

    1. Get a list of folders via the foldersync command
    Request

    <?xml version="1.0" encoding="utf-8"?>
    <FolderSync xmlns="FolderHierarchy:">
    	<SyncKey>0</SyncKey>
    </FolderSync>
    

    You should see a response that looks like this

    <FolderSync xmlns="FolderHierarchy">
           <Status>1</Status>
           <SyncKey>1</SyncKey>
           <Changes>
    		<Count>34</Count>
    		<Add>
    			<ServerId>2</ServerId>
    			<ParentId>0</ParentId>
    			<DisplayName>Calendar</DisplayName>
    			<Type>8</Type>
    		</Add>
    		<Add>
    			<ServerId>3</ServerId>
    			<ParentId>0</ParentId>
    			<DisplayName>Contacts</DisplayName>
    			<Type>9</Type>
    		</Add>
    		<Add>
    			<ServerId>10</ServerId>
    			<ParentId>0</ParentId>
    			<DisplayName>Inbox</DisplayName>
    			<Type>2</Type>
    		</Add>
    ...
    

    2. Note the ServerId for the mailbox you want to search. Lets say you want to search the Inbox. In this case the serverId is 10 .

    3. Using this information, send the search command in the following format

    <?xml version="1.0" encoding="utf-8"?>
    <Search xmlns="Search:" xmlns:airsync="AirSync:"  xmlns:email="Email:" xmlns:contacts="Contacts:" >
      <Store>
        <Name>Mailbox</Name>
        <Query>
          <And>
    	<airsync:CollectionId>10</airsync:CollectionId>
    	<FreeText>queryString</FreeText>
          </And>
        </Query>
    </Store>
    </Search>
    

    This should give you the response you need.

    Looks here for more examples
    http://msdn.microsoft.com/en-us/library/ee159095(v=EXCHG.80).aspx

  • Mirko says:

    Hi Vivek,

    Thanks for the response. After doing the folderSync I only received a listing of my inbox folders. How can I get the list of folders under “Public folders”? This this supported by active sync?

    thanks,

    Mirko

  • Gustav says:

    eally nice app, good work!

    I´ve checked out the code and I wonder if there is any easy way to make it support reverse lookup queries i.e. return a contact (or a list of contacts) when you search for a number?

    Thanks again for a great app!

  • vivek says:

    Thanks for your comment, Gustav, I am glad you like the app. I will have to look into adding support for reverse lookups. I do know that Exchange GAL supports some sort of a search based on phone numbers, but I am not sure how well it works.

  • Nicolas says:

    Hi,

    I’ve been using your application on my Nexus One ahd it just works like a charm with my office exchange server. Great work !

    Also, as honeycomb has no full GAL lookup, can you add support for HoneyComb in your application ? Application is yet not available for my A500.

    Thanks !

  • vivek says:

    Hi Nicolas

    Can you please try to download the latest version from here ( http://code.google.com/p/corporateaddressbook/downloads/list ). This matches what is available in the market. You will need to enable unknown sources in order to install this. Please do let me know if this works on your A500. I am looking into enabling Tablets.

    Thanks
    Vivek

  • ie5x says:

    Hi,

    I tried this app and it keeps on telling me that validation has failed, despite me confirming time and again that the login settings are totally correct. I have configured the same settings to the Android Mail app and there the sync is working. Any ideas?

    Thanks!

  • Samjith says:

    Hi,

    Iam trying to search exchange server mailbox by the following command from a mobile client.

    Mailbox

    Email
    5
    a

    0-4

    But the response is a status error…

    1

    2
    ………….

    Any pointers?

    Thank you

  • Samjith says:

    Hi Vivek,

    I am trying to search exchange server mailbox by the following command from a mobile client.

    Mailbox

    Email
    5
    a

    0-4

    But the response is a status error…

    1

    2
    ………….

    Any pointers?

    Thank you

  • Anders says:

    Hi

    The app works great, but…
    When there is multiple persons with the same name it seams to return just one of them.

    Anders

  • vivek says:

    Hi Anders

    Thank you for your message. I am aware of this issue, and a fix is on the way. Hopefully should be able to push out something soon :)

    Thanks
    Vivek

  • Ralf says:

    Hi Vivek, the app is yery good,
    but i look for the secend office phone number.
    Is that possible ?

    Thans Ralf

  • vivek says:

    Hi Ralf

    Thanks for your message and sorry about the late response. The app does return everything that is stored in the Exchange GAL (including all phone numbers). Are you looking to search by phone numbers? That unfortunately is not supported yet.

    Thanks
    Vivek

  • Nisse says:

    Hi,

    If you want to download the whole GAL and store in i a local database, how do you do that? One way to do it would be to search for a common entity that is shared by every contact in the GAL but the search command can only receive 100 hits, (default range value).
    Any suggestion in how to do this?

    Thanks for a great app!

  • apps says:

    good
    thanks

  • Mikael Sköld says:

    Hi,

    Thanks for a great app. We only miss one GAL-field, Department. Is there any plans for including that field in the result?

  • Joel says:

    Hi,

    Any chance this nice app will one day support .p12 certificates? ICS does natively, but the Gingerbread people have to rely on “Secure EAS”. Maybe your app could connect to “Secure EAS” for authentication? Just a thought.

  • § Leave a Reply