I've migrating my friends office from exchange to zimbra with this famous instruction:

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

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.

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