Abuse Reporting Unfortunately, not all XMPP entities are well-behaved -- they may send spam of various kinds, harrass chat rooms, generate large amounts of traffic, etc. Currently, if an XMPP entity (the "attacker") sends abusive stanzas to another XMPP entity (the "victim"), there is no way for the victim or the victim's server to inform the attacker's server that the attacker is generating abusive traffic. In current practice, the victim's server may have no choice but to terminate the server-to-server connection rather than continue to accept the abusive traffic. This situation is far from desirable. Therefore, this specification defines several protocol functions that can help to discourage abuse on the XMPP network: 1. A method by which a victim or the victim's server can send an abuse report to the attacker's server. 2. A method by which the attacker's server can inform other servers (or dedicated reporting services) that the IP address from which the attacker connected may be compromised. 3. A method by which the victim's server can inform other servers (or dedicated reporting services) that the attacker's server may be a rogue server. 4. An application-specific stanza error condition that can be combined with the standard <not-acceptable/> stanza error condition to inform the attacker's server that a particular XMPP stanza is considered abusive. 5. An application-specific stream error condition that can be combined with the standard <policy-violation/> stream error condition to inform the attacker's server about the reason for termination of an XML stream (if necessary). Ping As specified in XMPP Core [1], the XML streams used in XMPP are bound to TCP. Unfortunately, TCP connections can go down without the application (XMPP) layer knowing about it. The traditional approach to solving this issue has been to periodically send so-called "whitespace pings" over the XML stream. VD về XEP XEP-0071: XHTML-IM This document defines methods for exchanging instant messages that contain lightweight text markup. In the context of this document, "lightweight text markup" is to be understood as a combination of minimal structural elements and presentational styles that can easily be rendered on a wide variety of devices without requiring a full rich-text rendering engine such as a web browser. Examples of lightweight text markup include basic text blocks (e.g., paragraphs and blockquotes), structural elements (e.g., emphasis and strength), lists, hyperlinks, image references, and font styles (e.g., sizes and colors). Ejabberd Ideal for use in large-scale enterprise and commercial applications, ejabberd scales naturally to thousands of simultaneous users connected to a single ejabberd node and has been designed to provide exceptional standards of fault tolerance. As an open source technology, based on industry-standards, ejabberd openfire Openfire scaling is proven to many, many thousands of concurrent users Tigase can be used to build bespoke solutions very cost effectively (tens of thousands of simultaneous users on a single node) ejabberd servers reliably support tens of thousands of simultaneous users on a single node. Companies can elect to build clusters of multiple nodes within their instant messaging system and thereby easily increase the number of potential users. ProcessOne has designed and delivered solutions that support more than 1,000,000 simultaneously connected users in a single domain. However large the network becomes, the platform will continue to deliver exceptional performance All our instant messaging products are based on the ejabberd platform, an open-source technology that is renowned in the industry for its stability, reliability and scalability. ProcessOne has been working with ejabberd since the technology’s inception and has unrivalled expertise in building customised solutions based on the ejabberd platform What is the maximum number of users that can be supported on an ejabberd platform? There is no maximum (or if there is, no-one has reached it yet!) The platform is sufficiently scalable to support thousands of simultaneous users per node, and companies can set up multiple nodes in a cluster to increase their capacity without experiencing any degradation in performance. Clustering is a useful capability as it also allows companies to increase their fault tolerance. If one node fails, the other clusters will be unaffected By adding further nodes in clusters, organisations can not only multiply their user numbers, but also enhance the system’s fault tolerance. If a cluster fails, the performance of the entire instant messaging application is unaffected. Equally, individual clusters can be added or removed on the fly without stopping servers ejabberd system users can therefore easily communicate with users on other networks such as AOL Messenger, ICQ, MSN and Yahoo Messenger Key features include: A web administration console and command line administration tools that ensure easy set up Support for encrypted connections to ensure secure communications Many built-in services, including Jabber User Directory and Multi-User Chat The ability to run on heterogeneous platforms including Microsoft Windows, Linux, MacOSX and Solaris Standard Jabber transport compliance to enable communication with other instant messaging networks Automatic collection of statistics for reporting and system analysis Virtual hosting, enabling ejabberd to run several virtual domains from a single ejabberd instance Shared rosters, so that users can have predefined entries in their contacts lists External storage support Large numbers of supported protocols (see the supported protocols list for details) Multi-lingual web administration interface Full IPv6 support The installers contain all the libraries and dependencies needed to run ejabberd . ejabberd is distributed under the terms of the GNU GPL v2 Only thing I know (which doesn't mean that there isn't any more with special licenses) is MySQL. It is The GNU General Public License(GPL), which is While the basic version of the OpenFire server is available free of cost, an enterp rise version, which costs $15 per user it is not in our interest to simply allow other companies take this all for free and compete against us on the market. That would destroy the project. If you are interested in a commercial use of our code, sell product based on the Tigase or extend standard distribution with custom, closed source components, I am sure we could come to agreement which could benefit both of us, your company and our project in such a way which would allow us to continue and focus on the code development and for you to make a not as "nice" for "secret" companies like The GNU Lesser General Public License(LGPL) (GNU clib is one with LGPL license). That means that IF you use MySQL libraries and don't buy license from them, you MUST deliver YOUR source to every one that YOU deliver binaries to. Same goes for your customers too. Can then go to others with that to make other changes etc... If they had used LGPL on there libraries, you could have had any license you wnat on your code. Read http://www.mysql.com/ for info about MySQL. Read http://www.gnu.org/licenses/licenses .html for info on different GPL licenses. According to http://www.erlang.org/, Ericsson calls Erlangs license Erlang Public License (EPL). It suppose to be like Mozilla license. See http://www.erlang.org/EPLICENSE and http://www.erlang.org/license/EPL1x0explained.html. Looking in ejabberd's tarball (tar archive) looking into the file COPYING, you can se that it is GNU General Public License version 2 (GPL). So same as for MySQL, without the posibilities like MySQL. So, if you drop MySQL, I guess that you could use ejabberd as you like, as long you don't add code to core ejabberd (GPL license). Would guess that modules would need to be licensed GNU to, If you add to core, you have to make the source available to your customers (but no need to deliver to others, but the customers can). per year, adds features suitable for a large multioffice corporatio n In our lab tests from a few years ago, we got up to 500K simultaneo us connected users with a cluster of 2 nodes. Those users where chatting and changing their presences. Comp onents that will be Open Source (4-4-2008) Chat and group chat archiving Reporting Sparkweb Fastpath Client control h4 Componen ts that will not be Open Source Clustering -- the clustering module money out of it. If you are interested in a commercial/business relationship, please use the contact form to contact me and we can discuss details ejabberd Installation Support – the expert assistance in installing the ejabberd server. The package includes: • support for 1 domain with up to 500 users • support access by email or web • 2 support tickets relies on a commercia l 3rd party component and cannot be made Open Source. We no longer offer a way to purchase clustering as a standalone module. Spark Skinning service -there's no easy way to make this service open source and it relies on commercia l software to function. We hope to add more customizat ions options to SparkWeb in the future, which should be a good substitute. Larger deployment? Contact us » A ticket is defined as an exchange on a well defined and well limited problem. Support questions can cover installation assistance only. This package cannot be renewed – requires switching to support contract for production systems Quản lý cluster: http://www.processone.net/tutorials/demo_teamleader2_overview_viewlet_swf.html http://www.processone.net/tutorials/demo_teamleader4_supervision1_viewlet_swf.html Virtual hosts support" - yes, Tigase was built to support thousands of virtual hosts My qu esti on is will Op enfi re allo w me to do this kin d of cus to miz atio n to the XM PP ser ver ? You have full access to Openfire API when writing an plugin. However, many things are possible, not all. In any case, Openfire is open source, you can modify the code directly, but that not the best way. The whole RFC-3921 including roster managemen subscription and privacy lists plus the recent modif drafts Generic communication blocking Multi User Chat - available as an internal or extern Stream Compression - zlib, for client to server link between cluster nodes XMPP Ping Instant Messaging Intelligence Quotient (IM IQ) - H vCard-Based Avatars Full support for PostgreSQL database with databas excluding dedicated DB schema for PubSub compo Full support for built-in Derby database with datab excluding dedicated DB schema for PubSub compo Full support for MS SQL Server database with data excluding dedicated DB schema for PubSub compo Tigase server version 3.x Full clustering support for HA and LB with plugga strategies for perfect optimising the cluster to the cl Drupal authentication - the Tigase server can share authentication database with Drupal CMS and auth agains Drupal user database Close integration with Drupal CMS, the Tigase can notifications to subscribed users about new posts, c can also publish short news information via XMPP clustering If you want gateways to other IM networks like AIM, Yahoo, MSN, etc then you''ll want to use Openfire