Comparison of instant messaging protocols
The following is a comparison of instant messaging protocols . It contains basic general information about the protocols.
Table of instant messaging protocols
Protocol
Creator
First public release date
License
Identity (not inc. alias)
Asynchronous message relaying
Transport Layer Security
End-to-end encryption
Unlimited number of contacts
Bulletins to all contacts
One-to-many routing[ a]
Spam protection
Group, channel or conference support
Audio/VoIP support
Webcam/Video
Batch file sharing
Media synchronization
Serverless[ b]
Binary format
Protocol
3GPP standards
Friedhelm Hillebrand
1985
Proprietary
Phone number (e.g. +15550123)
Yes
No
No
About 250 contacts in SIM, unlimited from phone.
No
serial messages
Medium
No
Yes
3G-324M /ViLTE
RCS
No
?
?
3GPP standards
Bitmessage
Jonathan Warren
2012 Nov
Open standard
Alphanumeric address
Yes
Yes
Yes
Yes
No
Yes
Yes (through proof-of-work )
Yes
No
No
Yes
No
Yes
?
Bitmessage
Bonjour
Apple Inc.
2002 August
Proprietary Freeware; portions under the Apache license
Username
No
No
No
Yes
No
multicast
Medium
No
No
No
Yes
No
Yes
?
Bonjour
Briar
Briarproject.org
2018 May 9
Open standard
Public & Private key (via QR Codes)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
No
Yes
?
Briar
Discord
Discord Inc.
2015 May 13
Proprietary
Discord ID[ 1]
Yes
No
No
No[ 2]
No
?
Medium
?
Yes
Yes
Yes
?
No
?
Discord
dm3
corpus.io / dm3.network
2022
Open Source (BSD)
ENS (Ethereum Name Service)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
No
Yes
Yes
?
dm3
Echo
spot-on.sf.net / goldbug.sf.net
2013
Open standard
Key
Yes
Optional
Yes
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes
?
Echo
Gadu-Gadu
GG Network
2000 Jul 17
Proprietary
UIN e.g. 12345678
Yes
Yes
No
Yes
No
Centralistic
Yes[ c] (simple)
Yes
Yes
Yes
Yes
No
No
?
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 system
Optional
Many implementations which are mostly non-interoperable with other IRC clients[ 4] [ 5] [ 6]
No[ e]
No
Simplistic multicast
Medium
Yes (everyone, multiple simultaneous, any size)
many implementations which are incompatible with other IRC clients[ 9] [ 10]
No
Yes
via BNC
yes, via DCC CHAT
?
IRC
Jami (based on DHT and SIP )
Savoir-faire Linux Inc.
2002 August
Open Standard
40-digit address
Yes
Yes
Yes
Yes
No
Yes
Medium
Yes
Yes
Yes
Yes
No
Yes
?
Jami (based on DHT and SIP )
Matrix
Matrix.org
2014 Sep[ 11] [failed verification ]
Open standard
@Username :Hostname (MXID )
Yes
Yes, mandatory
Yes, default for private conversations[ 12]
Yes
Yes
Yes
Yes (using pluggable server-side filtering modules and contact ignoring)
Yes
Yes
Yes
Yes
Yes
Under development[ 13]
?
Matrix
Mattermost
Mattermost Inc
2015 October 2
Open standard
?
MSNP (Windows Live Messenger , etc.)
Microsoft
1999 Jul
Proprietary
Email address (Microsoft account )
Yes
No
No
Only for certified robots
No
Centralistic
Yes
Yes
Yes
Yes
Yes
Yes
No
?
MSNP (Windows Live Messenger , etc.)
MTProto (Telegram )
Telegram Messenger LLP
2013 Aug
Open standard
Phone number (e.g. +15550123), nickname (e.g. @example)
Yes
Yes
No end-to-end encryption for group chats
Yes
No
Yes
Yes, contact blocking
Yes
Yes[ 14]
Yes
Yes
Yes
No
?
MTProto (Telegram )
Mumble
Thorvald Natvig
1999 Jul
Open standard
Username
Yes
Yes
No
Only for certified robots
No
Centralistic
Yes
Yes
Yes
No
Yes
No
No
?
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
Yes
Yes (Aim Pro, Aim Lite)
No
No
No
Centralistic
client-based
Yes (Multiple, simultaneous)
Yes
Yes
Yes
No
No
?
OSCAR (AIM , ICQ )
RVP (Windows Messenger , etc.)
Microsoft
1997 Mar
Proprietary (Discontinued)
Windows Active Directory Login
No
No
?
No
Centralistic
None
No
?
?
No
No
No
?
RVP (Windows Messenger , etc.)
Ricochet
Invisible.im
2014 Mar
Open standard
Tor onion address
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
No
No
Yes
No
Yes
?
Ricochet
Serval Project
Serval Project
2016
Open Standard
Digit address
Yes
No
Yes
Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Yes
?
Serval Project
Signal Protocol
Signal Foundation
2014 Feb[ 16]
Open standard
Phone number (e.g. +15550123)
Yes
Yes
Yes
Yes
?
Yes
Yes, contact blocking
Yes
Yes
Yes
Yes
Yes
No
?
Signal Protocol
SimpleX Messaging Protocol
Evgeny Poberezkin
2020
AGPLv3
No user identifiers
Yes
Yes
Yes
Yes
Yes
Yes, through WebRTC[ 17]
Yes, through WebRTC[ 17]
Yes
No
?
SimpleX Messaging Protocol
SIP /SIMPLE
IETF
1996
Open standard
user@hostname
Yes
Yes
Optional
Yes
Yes
No
Medium
?
Yes
Yes
Yes
No
Depends on implementation
?
SIP /SIMPLE
Skype
Skype
2003 Aug
Proprietary
Username
Yes
Proprietary
No
No
No
Centralistic
client-based
Yes
Yes
Yes
Yes
No
No
?
Skype
Steam Friends
Valve
2003 Sep 12
Proprietary
SteamID/Username or Unique Number
Yes
Proprietary
?
No, although rising
Yes
?
No
Yes
Yes
No
No
No
No
?
Steam Friends
TeamSpeak
TeamSpeak Systems GmbH
2001 Aug
Proprietary
Unique ID in base64
No
No
No
?
?
?
?
Yes
Yes
No
?
TOC2
AOL
2005 Sep
Proprietary (Discontinued)
Username or UIN e.g. 12345678
Yes
No
No
No
No
Centralistic
No
paying members only
?
?
Partial
?
No
?
TOC2
Threema
Threema GmbH
2012 December
Open standard
?
TOX (based on DHT )
irungentoo (GitHub user)
2013 June
GNU General Public License (GPL) version 3 or later
Public & Private key
Yes
Yes
Yes
Yes
Yes
Yes[ 18] [ 19]
Yes
Yes
Yes
Yes
Yes
Yes[ 20]
Yes
?
TOX (based on DHT )
Tuenti
Tuenti
2006
Proprietary
Username
Yes
Yes
No
Yes
?
Yes
Yes
Yes
Yes
Yes
Yes
?
No
?
Tuenti
WeChat
Tencent
2011
Proprietary
Username
Yes
Yes
No
Yes
Yes
Yes
No
Yes
Yes
Yes
No
No
No
?
WeChat
Windows Messenger service
Microsoft
1990
Proprietary (Discontinued)
NetBIOS
Yes
No
No
Yes
Yes
Yes
No
No
No
No
No
No
No
?
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]
Yes
Yes[ 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
Yes
No[needs update? ]
No
No
Yes
Centralistic
Yes
Yes
Yes
Yes
Yes
No
No
?
YMSG (Yahoo! Messenger )
Zephyr Notification Service
MIT
1987
Open standard
Kerberos principal e.g. user@ATHENA.MIT.EDU
Yes
No
No
Yes
Yes
Yes
No
Yes
No
No
No
No
No
?
Zephyr Notification Service
Protocol
Creator
First public release date
License
Identity (not inc. alias)
Asynchronous message relaying
Transport Layer Security
End-to-end encryption
Unlimited number of contacts
Bulletins to all contacts
One-to-many routing[ a]
Spam protection
Group, channel or conference support
Audio/VoIP support
Webcam/Video
Batch file sharing
Media synchronization
Serverless[ b] (decentralized)
Binary format
Protocol
^ a b 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.
^ a b 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.
^ There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.
^ 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.
^ Scalability issue: The protocol gets increasingly inefficient with the number of contacts.[ 7] [ 8]
^ 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
References
^ "Where can I find my User/Server/Message ID?" . discord.com .
^ "Increase the Discord FRIENDS List Limits from 1000 to 2000 or more!" .
^ "chathistory Extension" . ircv3.net . Retrieved 25 February 2023 .
^ Gioia, Antonio. "IRC with SSL and OTR encryption" . Retrieved 28 December 2023 .
^ "Secure encryption layer for the IRC protocol based on OpenPGP" .
^ "encrypted DCC - SDCC - SCHAT" .
^ RFC 1324 , D. Reed, 1992. 2.5.1, Size
^ Functionality provided by systems for synchronous conferencing , C.v. Loesch, 1992. 1.2.1 Growth
^ "dcc.voice" . kvirc.net . Retrieved 25 February 2023 .
^ "VoIRC" . GitHub .
^ 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 .
^ "Cross-signing and End-to-end Encryption by Default is HERE!!!" . Matrix.org . Retrieved 2020-05-08 .
^ "Introducing P2P Matrix" . matrix.org . The Matrix.org Foundation. Retrieved 19 June 2021 .
^ "Voice Calls: Secure, Crystal-Clear, AI-Powered" . 30 March 2017.
^ "AOL INSTANT MESSENGER (AIM) — One Last Away Message" .
^ Marlinspike, Moxie (24 February 2014). "The New TextSecure: Privacy Beyond SMS" . Open Whisper Systems. Retrieved 12 December 2015 .
^ a b "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 .
^ "Groups : Chat, call, and share video and files with the whole gang in Tox's group chats" . tox.chat . Retrieved 2021-06-18 .
^ Presence information is indicated to other users by a small coloured dot."Tox clients" . tox.chat . Retrieved 2021-06-18 .
^ "File sharing : Trade files, with no artificial limits or caps" . tox.chat . Retrieved 2021-06-18 .
^ "XEP-0313: Message Archive Management" .
^ "XEP-0184: Message Delivery Receipts" .
^ "XEP-0368: SRV records for XMPP over TLS" . 20 August 2019.
^ "XEP-0420: Stanza Content Encryption" .
^ "XEP-0027: Current Jabber OpenPGP Usage" . xmpp.org . 2014-03-14. Retrieved 2020-03-09 .
^ "XEP-0373: OpenPGP for XMPP" . xmpp.org . 2018-07-30. Retrieved 2020-03-09 .
^ "XEP-0384: OMEMO Encryption" . xmpp.org . 2018-07-31. Retrieved 2020-03-09 .
^ .eg route.all-resource in OpenFire
^ a b "XEP-0045: Multi-User Chat" . xmpp.org . 2019-05-15. Retrieved 2020-03-09 .
^ "XEP-0060: Publish-Subscribe" . xmpp.org . 2019-10-06. Retrieved 2020-03-09 .
^ "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence" . xmpp.org . March 2011. Retrieved 2020-03-09 .
^ "XEP-0159: Spim-Blocking Control" . xmpp.org . 2006-07-11. Retrieved 2020-03-09 .
^ "XEP-0161: Abuse Reporting" . xmpp.org . 2007-05-06. Retrieved 2020-03-09 .
^ "XEP-0363: HTTP File Upload" .
^ "XEP-0280: Message Carbons" . xmpp.org . 2017-02-16. Retrieved 13 December 2018 .
^ "XEP-0174: Serverless Messaging" . xmpp.org . 26 November 2008. Retrieved 1 November 2017 .
^ "XEP-0231: Bits of Binary" .