I just implemented an openfire server for a hospital I currently support. The features I am familiar with are, user presence, ldap integration, client customization,(branding) Mysql database. I believe in the product that the igniterealtime community has developed. I would be willing to avoid the hourly rate and accept a flat compensation at the end of the project. I am fully aware of the bugs present with openfire and have already worked through them. Server stand up time from bare metal, would be a few hours at most, which would include database setup, openfire setup, security hardening, and firewall config.
Depending on what you have in your current environment openfire can be a very robust yet affordable solution.