Still working to recover. Please don't edit quite yet.

Jabber

From Anarchopedia
Jump to: navigation, search

Jabber is a collection of protocols for instant messaging and online presence information.

Unlike most instant messaging protocols, Jabber is an open standard. As with e-mail, an account on any Jabber server can communicate with users on other Jabber servers. Unlike IRC, there isn't a limit on the number of servers that can compose the Jabber network.

Jabber clients can connect to other IM systems (ICQ, AIM, MSN Messenger), or to IRC depending on the server (Jabber transports).

Features[edit]

Decentralized 
The architecture of the Jabber network is similar to email; anyone can run their own Jabber server and there is no central master server.
Open Standard 
The Internet Engineering Task Force has formalized Jabber's core XML streaming protocols as an approved instant messaging and presence technology under the name of XMPP, and the XMPP specifications have been published as RFC 3920 and RFC 3921. No royalties are required to implement support of these specifications and their development is not tied to a single vendor.
Proven 
Jabber technologies have been in use since 1998. Multiple implementations of Jabber's standards exist for clients, servers, components, and code libraries, with the backing of large companies such as Sun Microsystems and Google.
Secure 
Jabber servers may be isolated from the public Jabber network (e.g., on a company intranet), and robust security using SASL and TLS has been built into the core XMPP specifications.
Flexible 
Custom functionality can be built on top of Jabber's core protocols; to maintain interoperability, common extensions are managed by the Jabber Software Foundation. Jabber applications beyond IM include network management, content syndication, collaboration tools, file sharing, gaming, and remote systems monitoring.

How it works[edit]

The Jabber network is server-based (i.e. clients do not talk directly to one another) but decentralized; there is no central authoritative server, as there is with services such as AOL Instant Messenger or MSN Messenger. Some confusion often arises on this point as there is, in fact, a public Jabber server being run at "Jabber.org", to which a large number of users subscribe. However, anyone may run their own Jabber server on their own domain.

A user is identified with a user name and a server name. The two fields are separated by the @ sign. This identifier is called a Jabber ID or JID.

Suppose juliet@capulet.com wants to chat with romeo@montague.net. Juliet and Romeo each respectively have accounts on the Capulet.com and Montague.net servers. When Juliet types in and sends her message, a sequence of events is set in action:

  1. Juliet's Jabber client sends her message to the Capulet.com Jabber server
    • If Montague.net is blocked on Capulet.com the message is dropped.
  2. The Capulet.com Jabber server opens a connection to the Montague.net Jabber server.
  3. The Montague.net Jabber server delivers the message to Romeo
    • If Capulet.com is blocked on Montague.net, the message is dropped.
    • If Romeo is not currently connected, the message is stored for later delivery.
Juliet
↔
Capulet.com
→
Montague.net
↔
Romeo

Jabber ID[edit]

<!- this could be an article on its own.. --> A Jabber ID or JID is the username or account name used to access a Jabber account. It usually takes the form user@domain/resource, in a way that is similar to email addresses. The resource component enables a user to contact a particular access point logged into each account, e.g. user@domain.com/work and user@domain.com/home. The resource component is not necessary in order to contact a Jabber user.

Transports, agents, and other automated parts of the Jabber network may not have a user part to the JID. A common example would be the AIM transport, where the transport itself has a JID along the lines of aim.domain.com, and contacts on AIM would appear as screenname@aim.domain.com.

In a similar way to Sendmail, accessing other protocols is possible with Jabber transports. Users can then contact from a client such as MSN Messenger using the JID form user%msn.com@msn.jabberserver.com.

Multi User Chat - MUC[edit]

Jabber servers can host chatrooms which are not too different from channels in IRC. Chatrooms are not accessible if the jabber client being used does not support MUC.

Chatrooms

  • jabber@conference.jabber.org - The largest room in jabber.org.
  • anarchy@conference.jabber.org

Connecting to other protocols[edit]

A unique feature of the Jabber system is that of transports, also known as gateways, which allow users to access networks using other protocols. This can be other instant messaging protocols, but also protocols such as SMS or E-mail. Unlike multi-protocol clients, Jabber provides this access at the server level by communicating via special gateway services running on a remote computer. Any Jabber user can "register" with one of these gateways by providing the information needed to log on to that network, and can then communicate with users of that network as though they were Jabber users. This means that any client which fully supports the Jabber protocol can be used to access any network to which a gateway exists, without the need for any extra code in the client.

Jabber and HTTP[edit]

Another interesting aspect of the Jabber protocol and server is the HTTP binding for users behind restricted firewalls. Jabber can use HTTP in two ways: polling and binding. HTTP polling essentially implies messages stored on a server-side database being fetched (and posted) regularly by a Jabber client by way of HTTP 'GET' and 'POST' requests. With the binding, the client uses longer-lived HTTP connections to receive messages as soon as they are sent; it is much more efficient than polling.

Because the client uses HTTP, most firewalls would allow the client to fetch and post messages without any hindrance. Thus, in scenarios where opening a native Jabber TCP connection is not possible, clients can use HTTP to stay connected and provide instant messaging. This aspect of Jabber protocol has also made it popular with some users.

Regional Jabber communities[edit]

In a few places around the world, communities have evolved where the main focus is advocating Jabber and bringing Jabber closer to the end user. Usually services are offered, such as a Jabber server, a web portal to assist users with signing up to Jabber and forums.

Some examples of these Jabber communities include:

See also[edit]

External links[edit]

This article contains content from Wikipedia. Current versions of the GNU FDL article Jabber on WP may contain information useful to the improvement of this article WP
This article is based on a public domain infoAnarchy article: Jabber iA