eXtensible Messaging and Presence Protocol (XMPP) (formerly known as Jabber) is an open sourced, XML-inspired protocol for near real time, extensible instant messaging (IM) and presence information (a. XMPP Standards Foundation is the foundation in charge of the standardization of the protocol extensions of XMPP / Jabber, the open standard of Instant messaging Open source software (OSS began as a marketing campaign for Free software. Don't change "Extensible" In computing, a protocol is a convention or standard that controls or enables the connection Communication, and Data transfer between two computing The term near real time pertains to the Delay introduced by automated Data processing or network transmission between the occurrence of an event and the In computer and Telecommunications networks presence information is a status indicator that conveys ability and willingness of a potential communication partner - k. a. buddy lists). The protocol is built to be extensible and other features such as Voice over IP and file transfer signaling have been added. Voice-over-Internet protocol ( VoIP, vɔɪp is a protocol optimized for the transmission of voice through the Internet File transfer is a generic term for the act of transmitting files over a Computer network or the Internet.
Unlike most instant messaging protocols, XMPP is based on open standards [2]. An open standard is a Standard that is publicly available and has various rights to use associated with it Like e-mail, it is an open system where anyone who has a domain name and a suitable Internet connection can run their own Jabber server and talk to users on other servers. Electronic mail, often abbreviated to e-mail, email, or originally eMail, is a Store-and-forward method of writing sending receiving Open systems are Computer systems that provide some combination of Interoperability, portability, and open software standards (It can also mean In Computer networking, a domain name is a name given to a collection of network devices that belong to a domain which is an administrative space managed according Internet access refers to the means by which users connect to the Internet. The standard server implementations and many clients are also Free Software. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified
The Internet Engineering Task Force (IETF) formed an XMPP Working Group in 2002 [3] to formalize the core protocols as an IETF Instant Messaging and presence technology. The four specifications produced by the XMPP WG were approved by the IESG as Proposed Standards in 2004. The Internet Engineering Steering Group is a body composed of the Internet Engineering Task Force Chair and Area Directors Applications Area (app In Computer network Engineering, a Request for Comments (RFC is a Memorandum published by the Internet Engineering Task Force (IETF describing RFC 3920 and RFC 3921 are currently undergoing revisions (see Development) in preparation for advancing them to Draft Standard within the Internet Standards Process. Extensible Messaging and Presence Protocol ( XMPP) is an open XML -inspired protocol originally aimed at near-real-time extensible Instant messaging The XMPP Standards Foundation (formerly the Jabber Software Foundation) is active in developing open XMPP extensions[4]. XMPP Standards Foundation is the foundation in charge of the standardization of the protocol extensions of XMPP / Jabber, the open standard of Instant messaging Unfortunately no Jabber technology correctly implements the RFCs in full.
XMPP-based software is deployed on thousands of servers across the Internet and by 2003 was used by over ten million people worldwide, according to the XMPP Standards Foundation. [1] Popular commercial servers include the Gizmo Project and Google Talk. Gizmo5 (formerly known as Gizmo Project) is the name of a Peer-to-peer VoIP network and of a proprietary Freeware Google Talk ( GTalk) is a Windows and web-based application for voice over internet protocol (VOIP and Instant messaging, offered by Google. Popular client applications include the freeware clients offered by Google and the Gizmo Project, multi-protocol instant messengers such as iChat, Pidgin (formerly Gaim), Miranda IM, and free dedicated clients such as Psi. Freeware is computer Software that is available for use at no cost or for an optional fee Google Inc is an American public corporation, earning revenue from advertising related to its Internet search, e-mail, online Gizmo5 (formerly known as Gizmo Project) is the name of a Peer-to-peer VoIP network and of a proprietary Freeware A multiprotocol instant messaging application is client software comprised of an IM application which may connect to multiple IM networks iChat AV is an AOL Instant Messenger (AIM.Mac, ICQ and XMPP client by Apple Inc Pidgin (formerly named Gaim) is a multi-platform Instant messaging client. Miranda IM is a minimalist Open source Multiprotocol instant messaging application, designed for Microsoft Windows. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified Psi is a GPL Instant messaging client for the Jabber ( XMPP) protocol which uses the Qt toolkit
Contents |
Jeremie Miller began the Jabber project in 1998. Jeremie Miller (born 1975 is the inventor of Jabber / XMPP technologies and was the primary developer of Jabberd 1 Its first major public release occurred in May 2000. The project's main product was jabberd, a Jabber server. jabberd14 (formerly known as jabberd) is a Cross-platform Jabber server daemon.
This early Jabber protocol formed the basis for XMPP, published as RFC 3920. In the field of Telecommunications, a communications protocol is the set of standard rules for data representation signaling authentication and error detection required to It has often been regarded as being in competition with SIMPLE, based on the SIP protocol, as the standard protocol for instant messaging and presence notification. SIMPLE, the S ession Initiation Protocol for I nstant M essaging and P resence L everaging E xtensions, is an instant The Session Initiation Protocol ( SIP) is a signalling protocol widely used for setting up and tearing down Multimedia Communication sessions [2]
In August 2005, Google introduced Google Talk, a combination VoIP and IM system which uses XMPP for its instant messaging function and as well as a base for their voice and file transfer signalling protocol. Google Inc is an American public corporation, earning revenue from advertising related to its Internet search, e-mail, online Google Talk ( GTalk) is a Windows and web-based application for voice over internet protocol (VOIP and Instant messaging, offered by Google. Voice-over-Internet protocol ( VoIP, vɔɪp is a protocol optimized for the transmission of voice through the Internet The initial launch did not include server-to-server communications, but as of January 17, 2006, it has server-to-server communications enabled. In Computing, inter-server is a technical term used in Network protocol design to refer to the extension of the Client-server model by having parts of a Events 38 BC - Octavian marries Livia Drusilla. 1287 - King Alfonso III of Aragon invades Minorca Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. [3]
The Jabber network is server-based (i. e. clients do not talk directly to one another) but decentralized; by design 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 a public XMPP server being run at "Jabber. org", to which a large number of users subscribe. However, anyone may run their own XMPP server on their own domain. Standard TCP port for Jabber is 5222[7].
Every user on the network has a unique Jabber ID (usually abbreviated as JID). To avoid the need for a central server with a list of IDs, the JID is structured like an e-mail address with a username and a DNS address for the server where that user resides separated by an at sign (@), such as username@domain. The Domain Name System (DNS is a hierarchical naming system for computers services or any resource participating in the Internet. The typographic character @, the at sign, denotes a pan-lingual abbreviation of the word 'at' com.
Since a user may wish to log in from multiple locations, the server allows the client to specify a further string known as a resource, which identifies which of the user's clients it is (for example home, work and mobile). This may then be included in the JID by adding a forward slash followed by the name of the resource. Each resource may have specified a numerical value called priority. For example the full JID of a user's mobile account would be username@domain. com/mobile. Messages that are simply sent to username@domain. com will go to the client with highest priority, but those sent to username@domain. com/mobile will only go to the mobile client.
JIDs without a username part are also valid and may be used (with or without a resource part) for system messages and control of special features on the server.
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:
| Juliet | ↔ | capulet. com | → | montague. net | ↔ | Romeo |
Another useful feature of the XMPP 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. Short Message Service ( SMS) is a Communications protocol allowing the interchange of short text messages between mobile telephone devices. Electronic mail, often abbreviated to e-mail, email, or originally eMail, is a Store-and-forward method of writing sending receiving Unlike multi-protocol clients, XMPP provides this access at the server level by communicating via special gateway services running on a remote computer. A multiprotocol instant messaging application is client software comprised of an IM application which may connect to multiple IM networks Any 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 XMPP can be used to access any network to which a gateway exists, without the need for any extra code in the client and without the need for the client to have direct access to the Internet. This may violate terms of service on the protocol used; however, such terms of service are not legally enforceable in several countries.
Another aspect of XMPP is the HTTP binding for users behind restricted firewalls. Hypertext Transfer Protocol ( HTTP) is a Communications protocol for the transfer of information on the Internet. A firewall is an integrated collection of security measures designed to prevent unauthorized electronic access to a networked computer system In the original specification, XMPP could use HTTP in two ways: polling[8] and binding. [9] Polling is now deprecated, but HTTP polling essentially implies messages stored on a server-side database are being fetched (and posted) regularly by an XMPP client by way of HTTP 'GET' and 'POST' requests. With binding, the client uses longer-lived HTTP connections to receive messages as soon as they are sent. This push-model of notification is more efficient than polling, where many of the polls return no new data.
Because the client uses HTTP, most firewalls would allow the client to fetch and post messages without any hindrance. Thus, in scenarios where the TCP port used by XMPP is blocked, a server can listen on the normal HTTP port and the traffic should pass without problems. The Transmission Control Protocol (TCP is one of the core protocols of the Internet Protocol Suite. There also are various websites which allow people to sign in to Jabber via their browser. Also, there are some open public servers, like www.jabber80.com that listen on standard http (port 80) and https (port 443) ports and hence allow connections from behind most firewalls.
XMPP is implemented by a large number of XMPP clients, servers, and code libraries. These include:
The IETF XMPP working group has produced a number of RFC protocol documents:
RFC 3920, RFC 3921, RFC 3922, RFC 3923, RFC 4622, RFC 4854, RFC 4979
The XMPP Standards Foundation (XSF) develops and publishes extensions to XMPP through a standards process centered around XMPP Extension Protocols (XEPs, previously known as Jabber Enhancement Proposals - JEPs). The following extensions are in especially wide use:
XMPP is also currently being extended to handle signalling / negotiation for Voice over Internet protocol (VoIP) and other media sessions. Voice-over-Internet protocol ( VoIP, vɔɪp is a protocol optimized for the transmission of voice through the Internet This signalling protocol is called Jingle. Jingle is an extension to the Jabber / XMPP protocol to allow for Peer-to-peer (p2p signalling for Multimedia interactions such as voice Jingle is designed to be consistent with the Google Talk service and interoperable with the Session Initiation Protocol. Google Talk ( GTalk) is a Windows and web-based application for voice over internet protocol (VOIP and Instant messaging, offered by Google. The Session Initiation Protocol ( SIP) is a signalling protocol widely used for setting up and tearing down Multimedia Communication sessions