I am looking to startup a hosting business hosting instant messaging and trying to decide between three different business models. Each litteraly focuses on a different product and this determines where my money goes and what products I use. Currently on the table is Antepo's OPN or just reselling Omnipod. I am a big proponent of xmpp but I need to be able to sell reliable and secure instant messaging. My third option is to utilize Ejabberd. But before I give serious concideration to Ejabberd I need to know if it can handle the features I need in the manor I need to.
I need to be able to setup a config that support the following example:
mycompany.com (parent host) that users from other hosters can communicate with. MUC and Transports to public IMs. Publish/subscribe would be a plus.
hostedcompany1.com (first virtual host) users can be administrated by admins of mycompany.com as well as their own administrators without their administrators having any access to any other virtual host. MUC that is strictly controlled by their MUC administrators as well as mycompany.com administrators. Controlled access to the external transports on an account by account basis and logged messages. All secure via ssl or tls or sasl. Authentication handled against hostedcompany1.com's own LDAP structure whether that is openldap or AD. Web client support. S2S communication to any other SSL enabled xmpp server that supports S2S.
hostedcompany2.net (second virtual host) users can be adminsitrated by only mycompany.com. MUC moderated any only persistant rooms that are controled by mycompany.com. logged communication. No access to external public IM and only S2S with mycompany.com. Authentication via ldap. Web Client that allows for customers to come and open up a troubleticket for support and initiate live chat with the next available associate that doesnt have any chat windows associated with anonymously logged users.
Some of the features such as the anonymous client I am willing to write myself if needed but I need the kind of granular control over virtual hosts as expressed above. If it is possible it would be wonderful. If not and somebody can let me know how much of what I have mentioned is possible we still my be able to move forward with this.
It can, mostly
It took me some time, but here are the answers:
If you want additional comments about these or other features, please ask again.
different auth methods on different vhosts
I just want to inform that ejabberd on SVN now allows different authentication methods for different virtual hosts.
Badlop, thank you a bunch for your answers.
Thank you for all of your answers. This really gives me a good picture of what I can expect from ejabberd. I will probably use ejabberd for some implementations as I am quite impressed with its functionality, but it doesnt yet fit every need I have right now. However I do not know if there are many commercial solutions that fit these needs either so I will just have to see.