Skip to content
Joshua Haas edited this page Aug 23, 2017 · 5 revisions

This is probably the most common messaging standard of the modern day. Google and Facebook actually used this protocol before moving to their own proprietary protocols.

Requirements

This protocol requires the xmpppy package. You can get it in a number of ways.

WARNING: Do not use 'pip' to install the version from PyPi; it is currently broken.

Config

Required

  • protocols - include xmpp
  • xmpp.username - the JID for Sibyl to use (without resource)
  • xmpp.password - the account's password

Optional

  • xmpp.resource - Sibyl's resource (default 'sibyl')
  • xmpp.server - the server to connect to (default is inferred from username)
  • xmpp.port - the port to connect to (default 5222)
  • xmpp.priv_domain - if True, only accept subscriptions from the domain in username (default False)
  • xmpp.ping_freq - how often to ping the server in seconds (default 60, disabled 0)
  • xmpp.ping_timeout - how long to wait for a ping response (default 3)
  • xmpp.debug - if True print xmpppy debug info to the terminal (default False)

Notes

"Real" JIDs

When you join an XMPP MUC, you get to choose a nick name. If you are logged in as user@domain.com/phone when you join a MUC you then appear as room@domain.com/nick. Since nick names generally aren't managed in XMPP, Sibyl uses your "real" or login name when checking the black/white list. For this to work properly, one of the following must be true (more details in XEP-0045):

  • The room is Non-Anonymous
  • The room is Semi-Anonymous and Sibyl is affiliated as an admin (granting the moderator role)

Servers

  • Prosody
  • OpenFire
  • ejabberd

Clients

  • Pidgin (Linux/Windows/Mac)
  • Conversations (Android)
  • Monal (iOS)

Credits

Clone this wiki locally