- XMPP Protocol
- XMPP clients
- XMPP (or SIP) replaces legacy-sms for texting
- server flavors
- system notifications via XMPP
XMPP is an open protocol for reliably- and instantly conveying text messages (one to one, or multi user akin to IRC), or initiating audio calls or video calls, or providing presence. XMPP was formerly named Jabber and continues to be reffered to as Jabber; XMPP accounts are Jabber IDs. Additionally XMPP can be secured painlessly with OTR, an open source encryption scheme requiring zero technical saavy. XMPP is capable of file transfer but one is better off using https or sFTP. XMPP has widespread industry adoption. While many individuals wield XMPP clients far more sheeple use XMPP without realizing it: F*book, TWITter, cisco, apple, microsoft, sony, google (google's xmpp is as almost as their imap), android, iphone. For more information see official xmpp wiki or official jabber FAQ.
Base: [user]@[host]/ Full: [user]@[host]/[resouce]
Identifying from which device or location the ONE account is being used. Subject to server delivery ideology.
To which resource a message attempt should be delivered. Subject to server delivery ideology.
XMPP vs SIP
A compelling alternative open standard is SIP: texting, audio calls, video calls, media delivery, file transfer, presence, privacy management, mobile use cases. Both SIP and XMPP have much feature overlap but divergent implementation. XMPP has a well developed extension for managing privacy: XEP-0016. SIP relies upon a seperate XCAP server. SIP call filtering relies upon the features of one's PBX.
Ask your VoIP provider or SIP provider to implement SIMPLE (for IM and Presence)
There have been many innovative- and recycled approaches to converation encryption. Of much excitement for commoner usability is OTR, Off The Record. One need not be a cryptography enthusiast to enjoy OTR security.
OTR touts forward security: interception of past messages cipher does not endager security of subsequent messages.
Encryption is available for one to one texting, multiuser texting, audio calls. XMPP and SIP share OTR for one to one texting. Multiuser texting is only available in XMPP as is secured with mpOTR. Audio calls can be encrypted with zRTP with optional sRTP overlay, but is the province of SIP.
In XMPP the payloads are encypted not the stanzas. In SIP the signaling (SDP) can be encrypted using the SIPS protocol instead. The media (RTP) can be encrypted with sRTP; zRTP for secure key exchange.
XMPP(XML). SIP(SDP & RTP).
Jingle: SIP & extras.
One need not combine XMPP and SIP. With SIP one may communicate in text via SIP SIMPLE during either a SIP phone call or a SIP video call. One may further interact with voip legacy-sms via SIP SIMPLE. XMPP contact management is built-in; For SIP contact management is provided additionally by XCAP.
While technically possible it is still advisable to rely upon more mature protocols like https or sFTP (FTP riding SSH).
protocol extensions & mobility
For mobile XMPP some XEP have come to be expected most importantly confirmations. Because of the delightfully numerous points of failure many XEP must be employed.
XEP-0199 Ping: compensation for TCP teardown
XEP-0198 Stream Management: receipt confirmation, stanza ACK, resume, notify clean stream close
XEP-0163 PEP: Personal Eventing Protocol for: mood, activity, social GPS -- fine grained control via XEP-0016
XEP-0124 BOSH: conveying over http to overcome poor NAT or restrictive firewalls
XEP-0267 Server Buddies: roster- and presence subscriptions mirrored on server
XEP-0203 Delayed Delivery: can be used as pounce
XEP-0280 Message Carbons: Send to ALL online resources
Additional XEP for non mobile use cases
xep-0045 MUC: Multi User Chat
xep-0077 In-Band registration: Create Jabber ID within client.
xep-0158 CAPTCHA forms: enhancing challenge response for subscription requests for users and occassionally for in-band account registration from server.
xep-0030 Server Discovery: Which spiffy features are offered by server
xep-0276 Presence Decloaking: presence hairpinning communicate without allowing presence subscription
xep-0174 Serverless Messaging: useful for non-internets LAN
xep-0317 HATS: MUC extended roles
XMPP clients are available on almost every internet capable platform. To find a mobile client search for "XMPP client" or "Jabber client"; most such apps are actually-free (if the app renders third party internet ads it is NOT-free but the adware flavor of malware).
appropriately popular linux xmpp clients
All clients SHOULD be bundled with OTR or provide a plug-in infrastructure to accept an OTR plug-in. As of 2012 Sep 4 the current is OTR Version 4 with protocol version 3. Of many improvements this allows simultaneous chats with the same contact, but does not yet gracefully handle a contact's multiple resources.
+ Pidgin + Pidgin OTR plug-in
multiprotocol (XMPP, SIP, others) + Jitsi + XChat + XChat OTR plug-in + Psi+ dev + [[|Psi+ dev OTR plug-in]]
clients NOT supporting OTR
XMPP (or SIP) replaces legacy-sms for texting
XMPP entirely replaces legacy-sms for texting; legacy-sms can be conveyed via XMPP or SIP SIMPLE and is currently available from several top tier VoIP service providers (like anveo.com, vitelity.com, and voip.ms). acrobits groundwire is a cross platform mobile SIP client capable of $0 texting (including legacy-sms), presence, audio calls; it is also SIP TCP capable meaning a lower battery impact than typical SIP UDP. Any webhost worth considering allows one to use the same address for all three: email, SIP, and XMPP.
sms for texting is not secure
By mandate of the US federal government EVERY sms text message sent to- or from anyone within its borders is stored for all eternity. This violate's one's Fourth Amendment rights which are to safeguard the security of one's person and effectively one's privacy. Privacy is a right to all men; Privacy is protected by law in many countries, too. No such unconstitutional provision is made for XMPP -- and would be rendered impossible for XMPP when using OTR.
server to server communication allowing any Jabber ID to communicate with any other without requiring two accounts in same domain
free open source
f/OSS as Amazon EC2 AMI
system notifications via XMPP