I've migrating my friends office from exchange to zimbra with this famous instruction:
http://www.zimbra.com/blog/archives/..._admin_ui.html

Then I just realize exchange's members can send instant message each other using msn messenger.

I got a clue using jabberd 2.0 to achieve that:
LDAP Jabber - ZimbraWiki

But i'm using debian etch as server which only provide jabberd 1.4.3-3.3, no auth ldap support.

So I try using ejabberd:
LDAP auth failed | ejabberd

And this is the configuration that works with the famous instruction :-D :
% For LDAP authentication use these lines instead of above one:
{auth_method, ldap}.
{ldap_servers, ["gregzimbra1.zimbra.com"]}. % List of LDAP servers
{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
{ldap_base, "ou=people,dc=gregzimbra1,dc=zimbra,dc=com"}. % Search base of LDAP directory
{ldap_rootdn, "uid=zimbra,cn=admins,cn=zimbra"}. % LDAP manager
{ldap_password, "test123"}. % Password to LDAP manager
I'm using gaim/pidgin as client:
Screen name: risiyanto
Server: gregzimbra1.zimbra.com

Advanced:
activate "Allow plaintext auth",
connect port: 5222,
connect server: gregzimbra1.zimbra.com

And now, zimbra's members can send instant message each other.

Hope this help when your client asking for instant messaging service with zimbra.

p.s.
instruction above is free translation from:
Menggunakan ejabberd sebagai messenger server di zimbra - Laporan Aris