Am Freitag, 4. November 2011, 14:22:38 schrieb Alexander Tanyukevich: > 2011/11/4 Jorge Martínez López <jorg...@gmail.com>: > > I played some years ago with Openfire: > > http://www.igniterealtime.org/projects/openfire/ I did not test the > > integration with Asterisk, but it sounds promising. > > > > Cheers, > > > > -- > > Jorge Martínez López <jorg...@gmail.com> http://www.jorgeml.net > > Google Talk / XMPP: jorg...@gmail.com > > I've asked that question on couple of forums and everytime got answer: > "ejabberd". But there was no arguments. And actually I've never used > it because of erlang :)
ejabberd supports clustering. New servers can be added or removed from the cluster without stopping anything. This is also a plus for fault-tolerance. It scales to 1.000.000s of users without any problems. erlang is designed for problems like this and it's really good in this domain. ejabberd is quite easy to extend via hooks. Of course, you need to learn erlang to do this. In the simple case, you write some glue code in erlang (typically 20-30 LOC) and do the work in the language you are most familiar with. You can even add C- or Java-Nodes to your cluster, that can talk to the ejabberd's via erlangs native message-passing. In the company I worked for, we have an ejabberd-cluster with millions of accounts (iirc something like 20 million customers at the time I left) We evaluated ejabberd, OpenFire and jabberd, but only ejabberd was able to cope with our load. Best, Michael