Comparison of instant messaging protocols

Last updated

The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.

Contents

Table of instant messaging protocols

Protocol CreatorFirst public release dateLicenseIdentity (not inc. alias)Asynchronous message relaying Transport Layer Security End-to-end encryption Unlimited number of contactsBulletins to all contactsOne-to-many routing [a] Spam protectionGroup, channel or conference supportAudio/VoIP supportWebcam/VideoBatch file sharingMedia synchronizationServerless [b] Binary format Protocol
3GPP standards Friedhelm Hillebrand 1985 Proprietary Phone number (e.g. +15550123)YesNoNoAbout 250 contacts in SIM, unlimited from phone.Noserial messagesMediumNoYes 3G-324M/ViLTE RCS No ?? 3GPP standards
Bitmessage Jonathan Warren2012 Nov Open standard Alphanumeric addressYesYesYesYesNoYesYes (through proof-of-work)YesNoNoYesNoYes? Bitmessage
Bonjour Apple Inc.2002 AugustProprietary Freeware; portions under the Apache licenseUsernameNoNoNoYesNo multicast MediumNoNoNoYesNoYes? Bonjour
Briar Briarproject.org2018 May 9 Open standard Public & Private key (via QR Codes)YesYesYesYesYesYesYesYesNoNoNoNoYes? Briar
Discord Discord Inc.2015 May 13 Proprietary Discord ID [1] YesNoNoNo [2] No ?Medium ?YesYesYes ?No? Discord
dm3corpus.io / dm3.network2022Open Source (BSD)ENS (Ethereum Name Service)YesYesYesYesYesYesYesYesNoNoNoYesYes?dm3
Echo spot-on.sf.net / goldbug.sf.net2013 Open standard KeyYesOptionalYesYesYesYesYesYesNoNoYesYesYes? Echo
Gadu-Gadu GG Network2000 Jul 17 Proprietary UIN
e.g. 12345678
YesYesNoYesNoCentralisticYes [c] (simple)YesYesYesYesNoNo? Gadu-Gadu
IRC Jarkko Oikarinen 1988 Aug Open standard Nickname!Username@hostname
(or "hostmask")
e.g. user!~usr@a.b.com [d]
Yes, via IRCv3 [3] or MemoServ that differs from the main systemOptionalMany implementations which are mostly non-interoperable with other IRC clients [4] [5] [6] No [e] NoSimplistic multicast MediumYes (everyone, multiple simultaneous, any size)many implementations which are incompatible with other IRC clients [9] [10] NoYesvia BNCyes, via DCC CHAT? IRC
Jami (based on DHT and SIP)Savoir-faire Linux Inc.2002 August Open Standard 40-digit addressYesYesYesYesNoYesMediumYesYesYesYesNoYes? Jami (based on DHT and SIP)
Matrix Matrix.org2014 Sep [11] [ failed verification ] Open standard @Username:Hostname (MXID)YesYes, mandatoryYes, default for private conversations [12] YesYesYesYes (using pluggable server-side filtering modules and contact ignoring)YesYesYesYesYesUnder development [13] ? Matrix
Mattermost Mattermost Inc2015 October 2 Open standard ?
MSNP (Windows Live Messenger, etc.) Microsoft 1999 Jul Proprietary Email address (Microsoft account)YesNoNoOnly for certified robotsNoCentralisticYesYesYesYesYesYesNo? MSNP (Windows Live Messenger, etc.)
MTProto (Telegram)Telegram Messenger LLP2013 Aug Open standard Phone number (e.g. +15550123), nickname (e.g. @example)YesYesNo end-to-end encryption for group chatsYesNoYesYes, contact blockingYesYes [14] YesYesYesNo?MTProto (Telegram)
Mumble Thorvald Natvig1999 Jul Open standard UsernameYesYesNoOnly for certified robotsNoCentralisticYesYesYesNoYesNoNo? Mumble
LINE LY Corporation 2011 June 23 Proprietary ?
OSCAR (AIM, ICQ) AOL 1997 Proprietary (Discontinued 15-Dec-2017) [15] Username, Email Address or UIN
e.g. 12345678
YesYes (Aim Pro, Aim Lite)NoNoNoCentralisticclient-basedYes (Multiple, simultaneous)YesYesYesNoNo? OSCAR (AIM, ICQ)
RVP (Windows Messenger, etc.) Microsoft 1997 Mar Proprietary (Discontinued)Windows Active Directory LoginNoNo ?NoCentralisticNoneNo ? ?NoNoNo? RVP (Windows Messenger, etc.)
Ricochet Invisible.im2014 Mar Open standard Tor onion addressYesYesYesYesNoYesYesYesNoNoYesNoYes? Ricochet
Serval Project Serval Project2016 Open Standard Digit addressYesNoYesYesYesYesNoNoYesYesYesYesYes? Serval Project
Signal Protocol Signal Foundation 2014 Feb [16] Open standard Phone number (e.g. +15550123)YesYesYesYes ?YesYes, contact blockingYesYesYesYesYesNo? Signal Protocol
SimpleX Messaging ProtocolEvgeny Poberezkin2020 AGPLv3 No user identifiersYesYesYesYesYesYes, through WebRTC [17] Yes, through WebRTC [17] YesNo?SimpleX Messaging Protocol
SIP/SIMPLE IETF 1996 Open standard user@hostnameYesYesOptionalYesYesNoMedium ?YesYesYesNoDepends on implementation? SIP/SIMPLE
Skype Skype 2003 Aug Proprietary Username Yes Proprietary NoNoNoCentralisticclient-basedYesYesYesYesNoNo? Skype
Steam Friends Valve 2003 Sep 12 Proprietary SteamID/Username or Unique NumberYes Proprietary  ?No, although risingYes ?NoYesYesNoNoNoNo? Steam Friends
TeamSpeak TeamSpeak Systems GmbH2001 Aug Proprietary Unique ID in base64NoNoNo ? ? ? ?YesYesNo?
TOC2 AOL 2005 Sep Proprietary (Discontinued) Username or UIN
e.g. 12345678
YesNoNoNoNoCentralisticNopaying members only ? ?Partial ?No? TOC2
Threema Threema GmbH2012 December Open standard ?
TOX (based on DHT)irungentoo (GitHub user)2013 June GNU General Public License (GPL) version 3 or laterPublic & Private keyYesYesYesYesYesYes [18] [19] YesYesYesYesYesYes [20] Yes? TOX (based on DHT)
Tuenti Tuenti 2006Proprietary Username YesYesNoYes ?YesYesYesYesYesYes ?No? Tuenti
WeChat Tencent 2011ProprietaryUsernameYesYesNoYesYesYesNoYesYesYesNoNoNo? WeChat
Windows Messenger service Microsoft 1990 Proprietary (Discontinued)NetBIOSYesNoNoYesYesYesNoNoNoNoNoNoNo? Windows Messenger service
XMPP Jeremie Miller, standardized via IETF 1999 Jan Open standard Jabber ID (JID)
e.g. usr@a.b.c/home [f]
Yes [21] [22] Yes [23] Optional [24] [25] [26] [27] YesYes [28] Yes [29] [30] Yes [31] [32] [33] Yes [29] Yes, via Jingle Yes, via Jingle Yes [34] Yes [35] Optional [36] Yes [37] XMPP
YMSG (Yahoo! Messenger) Yahoo! 1998, March 9 Proprietary Username YesNo[ needs update? ]NoNoYesCentralisticYesYesYesYesYesNoNo? YMSG (Yahoo! Messenger)
Zephyr Notification Service MIT 1987 Open standard Kerberos principal
e.g. user@ATHENA.MIT.EDU
YesNoNoYesYesYesNoYesNoNoNoNoNo? Zephyr Notification Service
Protocol CreatorFirst public release dateLicenseIdentity (not inc. alias)Asynchronous message relaying Transport Layer Security End-to-end encryption Unlimited number of contactsBulletins to all contactsOne-to-many routing [a] Spam protectionGroup, channel or conference supportAudio/VoIP supportWebcam/VideoBatch file sharingMedia synchronizationServerless [b] (decentralized)Binary format Protocol
  1. 1 2 One-to-many/many-to-many communications primarily comprise presence information, publish/subscribe and groupchat distribution. Some technologies have the ability to distribute data by multicast, avoiding bottlenecks on the sending side caused by the number of recipients. Efficient distribution of presence is currently however a technological scalability issue for both XMPP and SIP/SIMPLE.
  2. 1 2 Serverless protocols don't have any central entities (usually companies) controlling the network. Serverless network consists only of clients. Such systems are usually extremely resistant to surveillance and censorship.
  3. There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.
  4. In ~usr@a.b.com, the a.b.com part is known as the "hostmask" and can either be the server being connected from or a "cloak" granted by the server administrator; a more realistic example is ~myname@myisp.example.com. The tilde generally indicates that the username provided by the IRC client on signon was not verified with the ident service.
  5. Scalability issue: The protocol gets increasingly inefficient with the number of contacts. [7] [8]
  6. In usr@a.b.c/home, the home part is a "resource", which distinguishes the same user when logged in from multiple locations, possibly simultaneously; a more realistic example is user@xmppserver.example.com/home.

See also

Related Research Articles

ICQ was a cross-platform instant messaging (IM) and VoIP client founded in June 1996 by Yair Goldfinger, Sefi Vigiser, Amnon Amir, Arik Vardi, and Arik's father, Yossi Vardi. The name ICQ derives from the English phrase "I Seek You". Originally developed by the Israeli company Mirabilis in 1996, the client was bought by AOL in 1998, and then by Mail.Ru Group in 2010.

<span class="mw-page-title-main">Instant messaging</span> Form of computer communication over the internet or locally

Instant messaging (IM) technology is a type of synchronous computer-mediated communication involving the immediate (real-time) transmission of messages between two or more parties over the Internet or another computer network. Originally involving simple text message exchanges, modern IM applications and services tend to also feature the exchange of multimedia, emojis, file transfer, VoIP, and video chat capabilities.

<span class="mw-page-title-main">ChatZilla</span> IRC client

ChatZilla is an IRC client that is part of SeaMonkey. It was previously an extension for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting.

Trillian is a proprietary multiprotocol instant messaging application created by Cerulean Studios. It is currently available for Microsoft Windows, macOS, Linux, Android, iOS, BlackBerry OS, and the Web. It can connect to multiple IM services, such as AIM, Bonjour, Facebook Messenger, Google Talk (Hangouts), IRC, XMPP (Jabber), VZ, and Yahoo! Messenger networks; as well as social networking sites, such as Facebook, Foursquare, LinkedIn, and Twitter; and email services, such as POP3 and IMAP.

<span class="mw-page-title-main">Pidgin (software)</span> Open-source multi-platform instant messaging client

Pidgin is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols, thus avoiding the hassle of having to deal with new software for each device and protocol.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

<span class="mw-page-title-main">Psi (instant messaging client)</span> Instant messaging client

Psi is a free instant messaging client for the XMPP protocol which uses the Qt toolkit. It runs on Linux, Windows, macOS and OS/2.

<span class="mw-page-title-main">Google Talk</span> Instant messaging service

Google Talk was an instant messaging service that provided both text and voice communication. The instant messaging service was variously referred to colloquially as Gchat, Gtalk, or Gmessage among its users.

Off-the-record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

The following tables compare general and technical information between a number of notable IRC client programs which have been discussed in independent, reliable prior published sources.

<span class="mw-page-title-main">Jitsi</span> Videoconferencing and messaging software

Jitsi is a collection of free and open-source multiplatform voice (VoIP), video conferencing and instant messaging applications for the Web platform, Windows, Linux, macOS, iOS and Android. The Jitsi project began with the Jitsi Desktop. With the growth of WebRTC, the project team focus shifted to the Jitsi Videobridge for allowing web-based multi-party video calling. Later the team added Jitsi Meet, a full video conferencing application that includes web, Android, and iOS clients. Jitsi also operates meet.jit.si, a version of Jitsi Meet hosted by Jitsi for free community use. Other projects include: Jigasi, lib-jitsi-meet, Jidesha, and Jitsi.

<span class="mw-page-title-main">XMPP Standards Foundation</span> Organization overseeing the XMPP network protocol

XMPP Standards Foundation (XSF) is the foundation in charge of the standardization of the protocol extensions of XMPP, the open standard of instant messaging and presence of the IETF.

<span class="mw-page-title-main">Empathy (software)</span> Open source instant messaging and VoIP client

Empathy was an instant messaging (IM) and voice over IP (VoIP) client which supported text, voice, video, file transfers, and inter-application communication over various IM communication protocols.

<span class="mw-page-title-main">Tox (protocol)</span> Distributed protocol for telephony and instant messaging

Tox is a peer-to-peer instant-messaging and video-calling protocol that offers end-to-end encryption. The stated goal of the project is to provide secure yet easily accessible communication for everyone. A reference implementation of the protocol is published as free and open-source software under the terms of the GNU GPL-3.0-or-later.

<span class="mw-page-title-main">Matrix (protocol)</span> Networking protocol for real-time communication and data synchronization

Matrix is an open standard and communication protocol for real-time communication. It aims to make real-time communication work seamlessly between different service providers, in the way that standard Simple Mail Transfer Protocol email currently does for store-and-forward email service, by allowing users with accounts at one communications service provider to communicate with users of a different service provider via online chat, voice over IP, and videotelephony. It therefore serves a similar purpose to protocols like XMPP, but is not based on any existing communication protocol.

<span class="mw-page-title-main">OMEMO</span> Extension to XMPP for multi-client end-to-end encryption

OMEMO is an extension to the Extensible Messaging and Presence Protocol (XMPP) for multi-client end-to-end encryption developed by Andreas Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to provide multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients, even if some of them are offline". The name "OMEMO" is a recursive acronym for "OMEMO Multi-End Message and Object Encryption". It is an open standard based on the Double Ratchet Algorithm and the Personal Eventing Protocol . OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.

<span class="mw-page-title-main">Signal Protocol</span> Non-federated cryptographic protocol

The Signal Protocol is a non-federated cryptographic protocol that provides end-to-end encryption for voice and instant messaging conversations. The protocol was developed by Open Whisper Systems in 2013 and was introduced in the open-source TextSecure app, which later became Signal. Several closed-source applications have implemented the protocol, such as WhatsApp, which is said to encrypt the conversations of "more than a billion people worldwide" or Google who provides end-to-end encryption by default to all RCS-based conversations between users of their Google Messages app for one-to-one conversations. Facebook Messenger also say they offer the protocol for optional Secret Conversations, as does Skype for its Private Conversations.

<span class="mw-page-title-main">Xabber</span> Open source instant messaging software

Xabber is a XMPP client for the Android Operating System. It is developed as an open source Project on GitHub and is licensed under the GNU GPL v.3 license. The original developers are from a software company called Redsolution, Inc. Xabber is available on the Android Play Store and on F-Droid.

<span class="mw-page-title-main">Element (software)</span> Decentralized encrypted chat and collaboration software powered by the Matrix protocol

Element is a free and open-source software instant messaging client implementing the Matrix protocol.

<span class="mw-page-title-main">Conversations (software)</span> Free software instant messaging client for the XMPP protocol

Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).

References

  1. "Where can I find my User/Server/Message ID?". discord.com.
  2. "Increase the Discord FRIENDS List Limits from 1000 to 2000 or more!".
  3. "chathistory Extension". ircv3.net. Retrieved 25 February 2023.
  4. Gioia, Antonio. "IRC with SSL and OTR encryption" . Retrieved 28 December 2023.
  5. "Secure encryption layer for the IRC protocol based on OpenPGP".
  6. "encrypted DCC - SDCC - SCHAT".
  7. RFC   1324, D. Reed, 1992. 2.5.1, Size
  8. Functionality provided by systems for synchronous conferencing, C.v. Loesch, 1992. 1.2.1 Growth
  9. "dcc.voice". kvirc.net. Retrieved 25 February 2023.
  10. "VoIRC". GitHub .
  11. Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (September 2016). "End-to-End Encrypted Messaging Protocols: An Overview". In Bagnoli, Franco; et al. (eds.). Internet Science. INSCI 2016. Florence, Italy: Springer. pp. 244–254. doi:10.1007/978-3-319-45982-0_22. ISBN   978-3-319-45982-0.
  12. "Cross-signing and End-to-end Encryption by Default is HERE!!!". Matrix.org. Retrieved 2020-05-08.
  13. "Introducing P2P Matrix". matrix.org. The Matrix.org Foundation. Retrieved 19 June 2021.
  14. "Voice Calls: Secure, Crystal-Clear, AI-Powered". 30 March 2017.
  15. "AOL INSTANT MESSENGER (AIM) — One Last Away Message".
  16. Marlinspike, Moxie (24 February 2014). "The New TextSecure: Privacy Beyond SMS". Open Whisper Systems. Retrieved 12 December 2015.
  17. 1 2 "SimpleX Chat v4.6 – with hidden profiles, community moderation, improved audio/video calls and reduced battery usage". simplex.chat. Mar 28, 2023. Retrieved 2023-05-09.
  18. "Groups : Chat, call, and share video and files with the whole gang in Tox's group chats". tox.chat. Retrieved 2021-06-18.
  19. Presence information is indicated to other users by a small coloured dot. "Tox clients". tox.chat. Retrieved 2021-06-18.
  20. "File sharing : Trade files, with no artificial limits or caps". tox.chat. Retrieved 2021-06-18.
  21. "XEP-0313: Message Archive Management".
  22. "XEP-0184: Message Delivery Receipts".
  23. "XEP-0368: SRV records for XMPP over TLS". 20 August 2019.
  24. "XEP-0420: Stanza Content Encryption".
  25. "XEP-0027: Current Jabber OpenPGP Usage". xmpp.org. 2014-03-14. Retrieved 2020-03-09.
  26. "XEP-0373: OpenPGP for XMPP". xmpp.org. 2018-07-30. Retrieved 2020-03-09.
  27. "XEP-0384: OMEMO Encryption". xmpp.org. 2018-07-31. Retrieved 2020-03-09.
  28. .eg route.all-resource in OpenFire
  29. 1 2 "XEP-0045: Multi-User Chat". xmpp.org. 2019-05-15. Retrieved 2020-03-09.
  30. "XEP-0060: Publish-Subscribe". xmpp.org. 2019-10-06. Retrieved 2020-03-09.
  31. "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence". xmpp.org. March 2011. Retrieved 2020-03-09.
  32. "XEP-0159: Spim-Blocking Control". xmpp.org. 2006-07-11. Retrieved 2020-03-09.
  33. "XEP-0161: Abuse Reporting". xmpp.org. 2007-05-06. Retrieved 2020-03-09.
  34. "XEP-0363: HTTP File Upload".
  35. "XEP-0280: Message Carbons". xmpp.org. 2017-02-16. Retrieved 13 December 2018.
  36. "XEP-0174: Serverless Messaging". xmpp.org. 26 November 2008. Retrieved 1 November 2017.
  37. "XEP-0231: Bits of Binary".