Package xmpp :: Module protocol
[hide private]
[frames] | no frames]

Module protocol

source code

Protocol module contains tools that is needed for processing of xmpp-related data structures.

Classes [hide private]
  NodeProcessed
Exception that should be raised by handler when the handling should be stopped.
  StreamError
Base exception class for stream errors.
  BadFormat
  BadNamespacePrefix
  Conflict
  ConnectionTimeout
  HostGone
  HostUnknown
  ImproperAddressing
  InternalServerError
  InvalidFrom
  InvalidID
  InvalidNamespace
  InvalidXML
  NotAuthorized
  PolicyViolation
  RemoteConnectionFailed
  ResourceConstraint
  RestrictedXML
  SeeOtherHost
  SystemShutdown
  UndefinedCondition
  UnsupportedEncoding
  UnsupportedStanzaType
  UnsupportedVersion
  XMLNotWellFormed
  JID
JID object.
  Protocol
A "stanza" object class.
  Message
XMPP Message stanza - "push" mechanism.
  Presence
XMPP Presence object.
  Iq
XMPP Iq object - get/set dialog mechanism.
  ErrorNode
XMPP-style error element.
  Error
Used to quickly transform received stanza into error reply.
  DataField
This class is used in the DataForm class to describe the single data item.
  DataForm
DataForm class.
Functions [hide private]
 
isResultNode(node)
Returns true if the node is a positive reply.
source code
 
isErrorNode(node)
Returns true if the node is a negative reply.
source code
Variables [hide private]
  NS_ACTIVITY = 'http://jabber.org/protocol/activity'
  NS_ADDRESS = 'http://jabber.org/protocol/address'
  NS_ADMIN = 'http://jabber.org/protocol/admin'
  NS_ADMIN_ADD_USER = 'http://jabber.org/protocol/admin#add-user'
  NS_ADMIN_DELETE_USER = 'http://jabber.org/protocol/admin#delet...
  NS_ADMIN_DISABLE_USER = 'http://jabber.org/protocol/admin#disa...
  NS_ADMIN_REENABLE_USER = 'http://jabber.org/protocol/admin#ree...
  NS_ADMIN_END_USER_SESSION = 'http://jabber.org/protocol/admin#...
  NS_ADMIN_GET_USER_PASSWORD = 'http://jabber.org/protocol/admin...
  NS_ADMIN_CHANGE_USER_PASSWORD = 'http://jabber.org/protocol/ad...
  NS_ADMIN_GET_USER_ROSTER = 'http://jabber.org/protocol/admin#g...
  NS_ADMIN_GET_USER_LASTLOGIN = 'http://jabber.org/protocol/admi...
  NS_ADMIN_USER_STATS = 'http://jabber.org/protocol/admin#user-s...
  NS_ADMIN_EDIT_BLACKLIST = 'http://jabber.org/protocol/admin#ed...
  NS_ADMIN_EDIT_WHITELIST = 'http://jabber.org/protocol/admin#ed...
  NS_ADMIN_REGISTERED_USERS_NUM = 'http://jabber.org/protocol/ad...
  NS_ADMIN_DISABLED_USERS_NUM = 'http://jabber.org/protocol/admi...
  NS_ADMIN_ONLINE_USERS_NUM = 'http://jabber.org/protocol/admin#...
  NS_ADMIN_ACTIVE_USERS_NUM = 'http://jabber.org/protocol/admin#...
  NS_ADMIN_IDLE_USERS_NUM = 'http://jabber.org/protocol/admin#ge...
  NS_ADMIN_REGISTERED_USERS_LIST = 'http://jabber.org/protocol/a...
  NS_ADMIN_DISABLED_USERS_LIST = 'http://jabber.org/protocol/adm...
  NS_ADMIN_ONLINE_USERS_LIST = 'http://jabber.org/protocol/admin...
  NS_ADMIN_ACTIVE_USERS_LIST = 'http://jabber.org/protocol/admin...
  NS_ADMIN_IDLE_USERS_LIST = 'http://jabber.org/protocol/admin#g...
  NS_ADMIN_ANNOUNCE = 'http://jabber.org/protocol/admin#announce'
  NS_ADMIN_SET_MOTD = 'http://jabber.org/protocol/admin#set-motd'
  NS_ADMIN_EDIT_MOTD = 'http://jabber.org/protocol/admin#edit-motd'
  NS_ADMIN_DELETE_MOTD = 'http://jabber.org/protocol/admin#delet...
  NS_ADMIN_SET_WELCOME = 'http://jabber.org/protocol/admin#set-w...
  NS_ADMIN_DELETE_WELCOME = 'http://jabber.org/protocol/admin#de...
  NS_ADMIN_EDIT_ADMIN = 'http://jabber.org/protocol/admin#edit-a...
  NS_ADMIN_RESTART = 'http://jabber.org/protocol/admin#restart'
  NS_ADMIN_SHUTDOWN = 'http://jabber.org/protocol/admin#shutdown'
  NS_AGENTS = 'jabber:iq:agents'
  NS_AMP = 'http://jabber.org/protocol/amp'
  NS_AMP_ERRORS = 'http://jabber.org/protocol/amp#errors'
  NS_AUTH = 'jabber:iq:auth'
  NS_AVATAR = 'jabber:iq:avatar'
  NS_BIND = 'urn:ietf:params:xml:ns:xmpp-bind'
  NS_BROWSE = 'jabber:iq:browse'
  NS_BYTESTREAM = 'http://jabber.org/protocol/bytestreams'
  NS_CAPS = 'http://jabber.org/protocol/caps'
  NS_CHATSTATES = 'http://jabber.org/protocol/chatstates'
  NS_CLIENT = 'jabber:client'
  NS_COMMANDS = 'http://jabber.org/protocol/commands'
  NS_COMPONENT_ACCEPT = 'jabber:component:accept'
  NS_COMPONENT_1 = 'http://jabberd.jabberstudio.org/ns/component...
  NS_COMPRESS = 'http://jabber.org/protocol/compress'
  NS_DATA = 'jabber:x:data'
  NS_DELAY = 'jabber:x:delay'
  NS_DIALBACK = 'jabber:server:dialback'
  NS_DISCO = 'http://jabber.org/protocol/disco'
  NS_DISCO_INFO = 'http://jabber.org/protocol/disco#info'
  NS_DISCO_ITEMS = 'http://jabber.org/protocol/disco#items'
  NS_ENCRYPTED = 'jabber:x:encrypted'
  NS_EVENT = 'jabber:x:event'
  NS_FEATURE = 'http://jabber.org/protocol/feature-neg'
  NS_FILE = 'http://jabber.org/protocol/si/profile/file-transfer'
  NS_GATEWAY = 'jabber:iq:gateway'
  NS_GEOLOC = 'http://jabber.org/protocol/geoloc'
  NS_GROUPCHAT = 'gc-1.0'
  NS_HTTP_BIND = 'http://jabber.org/protocol/httpbind'
  NS_IBB = 'http://jabber.org/protocol/ibb'
  NS_INVISIBLE = 'presence-invisible'
  NS_IQ = 'iq'
  NS_LAST = 'jabber:iq:last'
  NS_MESSAGE = 'message'
  NS_MOOD = 'http://jabber.org/protocol/mood'
  NS_MUC = 'http://jabber.org/protocol/muc'
  NS_MUC_ADMIN = 'http://jabber.org/protocol/muc#admin'
  NS_MUC_OWNER = 'http://jabber.org/protocol/muc#owner'
  NS_MUC_UNIQUE = 'http://jabber.org/protocol/muc#unique'
  NS_MUC_USER = 'http://jabber.org/protocol/muc#user'
  NS_MUC_REGISTER = 'http://jabber.org/protocol/muc#register'
  NS_MUC_REQUEST = 'http://jabber.org/protocol/muc#request'
  NS_MUC_ROOMCONFIG = 'http://jabber.org/protocol/muc#roomconfig'
  NS_MUC_ROOMINFO = 'http://jabber.org/protocol/muc#roominfo'
  NS_MUC_ROOMS = 'http://jabber.org/protocol/muc#rooms'
  NS_MUC_TRAFIC = 'http://jabber.org/protocol/muc#traffic'
  NS_OFFLINE = 'http://jabber.org/protocol/offline'
  NS_PHYSLOC = 'http://jabber.org/protocol/physloc'
  NS_PRESENCE = 'presence'
  NS_PRIVACY = 'jabber:iq:privacy'
  NS_PRIVATE = 'jabber:iq:private'
  NS_PUBSUB = 'http://jabber.org/protocol/pubsub'
  NS_REGISTER = 'jabber:iq:register'
  NS_ROSTER = 'jabber:iq:roster'
  NS_ROSTERX = 'http://jabber.org/protocol/rosterx'
  NS_RPC = 'jabber:iq:rpc'
  NS_SASL = 'urn:ietf:params:xml:ns:xmpp-sasl'
  NS_SEARCH = 'jabber:iq:search'
  NS_SERVER = 'jabber:server'
  NS_SESSION = 'urn:ietf:params:xml:ns:xmpp-session'
  NS_SI = 'http://jabber.org/protocol/si'
  NS_SI_PUB = 'http://jabber.org/protocol/sipub'
  NS_SIGNED = 'jabber:x:signed'
  NS_STANZAS = 'urn:ietf:params:xml:ns:xmpp-stanzas'
  NS_STREAMS = 'http://etherx.jabber.org/streams'
  NS_TIME = 'jabber:iq:time'
  NS_TLS = 'urn:ietf:params:xml:ns:xmpp-tls'
  NS_VACATION = 'http://jabber.org/protocol/vacation'
  NS_VCARD = 'vcard-temp'
  NS_VERSION = 'jabber:iq:version'
  NS_WAITINGLIST = 'http://jabber.org/protocol/waitinglist'
  NS_XHTML_IM = 'http://jabber.org/protocol/xhtml-im'
  NS_DATA_LAYOUT = 'http://jabber.org/protocol/xdata-layout'
  NS_DATA_VALIDATE = 'http://jabber.org/protocol/xdata-validate'
  NS_XMPP_STREAMS = 'urn:ietf:params:xml:ns:xmpp-streams'
  xmpp_stream_error_conditions = '\nbad-format -- -- -- The en...
  xmpp_stanza_error_conditions = '\nbad-request -- 400 -- modify...
  sasl_error_conditions = '\naborted -- -- -- The receiving en...
  stream_exceptions = {'bad-format': <class xmpp.protocol.BadFor...
  ERRORS = {'urn:ietf:params:xml:ns:xmpp-sasl aborted': ['', '',...
  ERR_BAD_REQUEST = 'urn:ietf:params:xml:ns:xmpp-stanzas bad-req...
  ERR_CONFLICT = 'urn:ietf:params:xml:ns:xmpp-stanzas conflict'
  ERR_FEATURE_NOT_IMPLEMENTED = 'urn:ietf:params:xml:ns:xmpp-sta...
  ERR_FORBIDDEN = 'urn:ietf:params:xml:ns:xmpp-stanzas forbidden'
  ERR_GONE = 'urn:ietf:params:xml:ns:xmpp-stanzas gone'
  ERR_INTERNAL_SERVER_ERROR = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_ITEM_NOT_FOUND = 'urn:ietf:params:xml:ns:xmpp-stanzas item...
  ERR_JID_MALFORMED = 'urn:ietf:params:xml:ns:xmpp-stanzas jid-m...
  ERR_NOT_ACCEPTABLE = 'urn:ietf:params:xml:ns:xmpp-stanzas not-...
  ERR_NOT_ALLOWED = 'urn:ietf:params:xml:ns:xmpp-stanzas not-all...
  ERR_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-stanzas not-...
  ERR_PAYMENT_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanzas pa...
  ERR_RECIPIENT_UNAVAILABLE = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_REDIRECT = 'urn:ietf:params:xml:ns:xmpp-stanzas redirect'
  ERR_REGISTRATION_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_REMOTE_SERVER_NOT_FOUND = 'urn:ietf:params:xml:ns:xmpp-sta...
  ERR_REMOTE_SERVER_TIMEOUT = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_RESOURCE_CONSTRAINT = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_SERVICE_UNAVAILABLE = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_SUBSCRIPTION_REQUIRED = 'urn:ietf:params:xml:ns:xmpp-stanz...
  ERR_UNDEFINED_CONDITION = 'urn:ietf:params:xml:ns:xmpp-stanzas...
  ERR_UNEXPECTED_REQUEST = 'urn:ietf:params:xml:ns:xmpp-stanzas ...
  SASL_ABORTED = 'urn:ietf:params:xml:ns:xmpp-sasl aborted'
  SASL_INCORRECT_ENCODING = 'urn:ietf:params:xml:ns:xmpp-sasl in...
  SASL_INVALID_AUTHZID = 'urn:ietf:params:xml:ns:xmpp-sasl inval...
  SASL_INVALID_MECHANISM = 'urn:ietf:params:xml:ns:xmpp-sasl inv...
  SASL_MECHANISM_TOO_WEAK = 'urn:ietf:params:xml:ns:xmpp-sasl me...
  SASL_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-sasl not-au...
  SASL_TEMPORARY_AUTH_FAILURE = 'urn:ietf:params:xml:ns:xmpp-sas...
  STREAM_BAD_FORMAT = 'urn:ietf:params:xml:ns:xmpp-streams bad-f...
  STREAM_BAD_NAMESPACE_PREFIX = 'urn:ietf:params:xml:ns:xmpp-str...
  STREAM_CONFLICT = 'urn:ietf:params:xml:ns:xmpp-streams conflict'
  STREAM_CONNECTION_TIMEOUT = 'urn:ietf:params:xml:ns:xmpp-strea...
  STREAM_HOST_GONE = 'urn:ietf:params:xml:ns:xmpp-streams host-g...
  STREAM_HOST_UNKNOWN = 'urn:ietf:params:xml:ns:xmpp-streams hos...
  STREAM_IMPROPER_ADDRESSING = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_INTERNAL_SERVER_ERROR = 'urn:ietf:params:xml:ns:xmpp-st...
  STREAM_INVALID_FROM = 'urn:ietf:params:xml:ns:xmpp-streams inv...
  STREAM_INVALID_ID = 'urn:ietf:params:xml:ns:xmpp-streams inval...
  STREAM_INVALID_NAMESPACE = 'urn:ietf:params:xml:ns:xmpp-stream...
  STREAM_INVALID_XML = 'urn:ietf:params:xml:ns:xmpp-streams inva...
  STREAM_NOT_AUTHORIZED = 'urn:ietf:params:xml:ns:xmpp-streams n...
  STREAM_POLICY_VIOLATION = 'urn:ietf:params:xml:ns:xmpp-streams...
  STREAM_REMOTE_CONNECTION_FAILED = 'urn:ietf:params:xml:ns:xmpp...
  STREAM_RESOURCE_CONSTRAINT = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_RESTRICTED_XML = 'urn:ietf:params:xml:ns:xmpp-streams r...
  STREAM_SEE_OTHER_HOST = 'urn:ietf:params:xml:ns:xmpp-streams s...
  STREAM_SYSTEM_SHUTDOWN = 'urn:ietf:params:xml:ns:xmpp-streams ...
  STREAM_UNDEFINED_CONDITION = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_UNSUPPORTED_ENCODING = 'urn:ietf:params:xml:ns:xmpp-str...
  STREAM_UNSUPPORTED_STANZA_TYPE = 'urn:ietf:params:xml:ns:xmpp-...
  STREAM_UNSUPPORTED_VERSION = 'urn:ietf:params:xml:ns:xmpp-stre...
  STREAM_XML_NOT_WELL_FORMED = 'urn:ietf:params:xml:ns:xmpp-stre...
  _errorcodes = {'302': 'redirect', '400': 'unexpected-request',...
  name = 'SASL_TEMPORARY_AUTH_FAILURE'
Variables Details [hide private]

NS_ADMIN_DELETE_USER

Value:
'http://jabber.org/protocol/admin#delete-user'

NS_ADMIN_DISABLE_USER

Value:
'http://jabber.org/protocol/admin#disable-user'

NS_ADMIN_REENABLE_USER

Value:
'http://jabber.org/protocol/admin#reenable-user'

NS_ADMIN_END_USER_SESSION

Value:
'http://jabber.org/protocol/admin#end-user-session'

NS_ADMIN_GET_USER_PASSWORD

Value:
'http://jabber.org/protocol/admin#get-user-password'

NS_ADMIN_CHANGE_USER_PASSWORD

Value:
'http://jabber.org/protocol/admin#change-user-password'

NS_ADMIN_GET_USER_ROSTER

Value:
'http://jabber.org/protocol/admin#get-user-roster'

NS_ADMIN_GET_USER_LASTLOGIN

Value:
'http://jabber.org/protocol/admin#get-user-lastlogin'

NS_ADMIN_USER_STATS

Value:
'http://jabber.org/protocol/admin#user-stats'

NS_ADMIN_EDIT_BLACKLIST

Value:
'http://jabber.org/protocol/admin#edit-blacklist'

NS_ADMIN_EDIT_WHITELIST

Value:
'http://jabber.org/protocol/admin#edit-whitelist'

NS_ADMIN_REGISTERED_USERS_NUM

Value:
'http://jabber.org/protocol/admin#get-registered-users-num'

NS_ADMIN_DISABLED_USERS_NUM

Value:
'http://jabber.org/protocol/admin#get-disabled-users-num'

NS_ADMIN_ONLINE_USERS_NUM

Value:
'http://jabber.org/protocol/admin#get-online-users-num'

NS_ADMIN_ACTIVE_USERS_NUM

Value:
'http://jabber.org/protocol/admin#get-active-users-num'

NS_ADMIN_IDLE_USERS_NUM

Value:
'http://jabber.org/protocol/admin#get-idle-users-num'

NS_ADMIN_REGISTERED_USERS_LIST

Value:
'http://jabber.org/protocol/admin#get-registered-users-list'

NS_ADMIN_DISABLED_USERS_LIST

Value:
'http://jabber.org/protocol/admin#get-disabled-users-list'

NS_ADMIN_ONLINE_USERS_LIST

Value:
'http://jabber.org/protocol/admin#get-online-users-list'

NS_ADMIN_ACTIVE_USERS_LIST

Value:
'http://jabber.org/protocol/admin#get-active-users-list'

NS_ADMIN_IDLE_USERS_LIST

Value:
'http://jabber.org/protocol/admin#get-idle-users-list'

NS_ADMIN_DELETE_MOTD

Value:
'http://jabber.org/protocol/admin#delete-motd'

NS_ADMIN_SET_WELCOME

Value:
'http://jabber.org/protocol/admin#set-welcome'

NS_ADMIN_DELETE_WELCOME

Value:
'http://jabber.org/protocol/admin#delete-welcome'

NS_ADMIN_EDIT_ADMIN

Value:
'http://jabber.org/protocol/admin#edit-admin'

NS_COMPONENT_1

Value:
'http://jabberd.jabberstudio.org/ns/component/1.0'

xmpp_stream_error_conditions

Value:
'''
bad-format --  --  -- The entity has sent XML that cannot be processed\
.
bad-namespace-prefix --  --  -- The entity has sent a namespace prefix\
 that is unsupported, or has sent no namespace prefix on an element th\
at requires such a prefix.
conflict --  --  -- The server is closing the active stream for this e\
ntity because a new stream has been initiated that conflicts with the \
...

xmpp_stanza_error_conditions

Value:
'''
bad-request -- 400 -- modify -- The sender has sent XML that is malfor\
med or that cannot be processed.
conflict -- 409 -- cancel -- Access cannot be granted because an exist\
ing resource or session exists with the same name or address.
feature-not-implemented -- 501 -- cancel -- The feature requested is n\
ot implemented by the recipient or server and therefore cannot be proc\
essed.
...

sasl_error_conditions

Value:
'''
aborted --  --  -- The receiving entity acknowledges an <abort/> eleme\
nt sent by the initiating entity; sent in reply to the <abort/> elemen\
t.
incorrect-encoding --  --  -- The data provided by the initiating enti\
ty could not be processed because the [BASE64]Josefsson, S., The Base1\
6, Base32, and Base64 Data Encodings, July 2003. encoding is incorrect\
 (e.g., because the encoding does not adhere to the definition in Sect\
...

stream_exceptions

Value:
{'bad-format': BadFormat, 'bad-namespace-prefix': BadNamespacePrefix, \
'conflict': Conflict, 'connection-timeout': ConnectionTimeout, 'host-g\
one': HostGone, 'host-unknown': HostUnknown, 'improper-addressing': Im\
properAddressing, 'internal-server-error': InternalServerError, 'inval\
id-from': InvalidFrom, 'invalid-id': InvalidID, 'invalid-namespace': I\
nvalidNamespace, 'invalid-xml': InvalidXML, 'not-authorized': NotAutho\
rized, 'policy-violation': PolicyViolation, 'remote-connection-failed'\
: RemoteConnectionFailed, 'resource-constraint': ResourceConstraint, '\
...

ERRORS

Value:
{'urn:ietf:params:xml:ns:xmpp-sasl aborted': ['',
                                              '',
                                              'The receiving entity ac\
knowledges an <abort/> element sent by the initiating entity; sent in \
reply to the <abort/> element.'],
 'urn:ietf:params:xml:ns:xmpp-sasl incorrect-encoding': ['',
                                                         '',
                                                         'The data pro\
...

ERR_BAD_REQUEST

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas bad-request'

ERR_FEATURE_NOT_IMPLEMENTED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas feature-not-implemented'

ERR_INTERNAL_SERVER_ERROR

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas internal-server-error'

ERR_ITEM_NOT_FOUND

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas item-not-found'

ERR_JID_MALFORMED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas jid-malformed'

ERR_NOT_ACCEPTABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-acceptable'

ERR_NOT_ALLOWED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-allowed'

ERR_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas not-authorized'

ERR_PAYMENT_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas payment-required'

ERR_RECIPIENT_UNAVAILABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas recipient-unavailable'

ERR_REGISTRATION_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas registration-required'

ERR_REMOTE_SERVER_NOT_FOUND

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas remote-server-not-found'

ERR_REMOTE_SERVER_TIMEOUT

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas remote-server-timeout'

ERR_RESOURCE_CONSTRAINT

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas resource-constraint'

ERR_SERVICE_UNAVAILABLE

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas service-unavailable'

ERR_SUBSCRIPTION_REQUIRED

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas subscription-required'

ERR_UNDEFINED_CONDITION

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas undefined-condition'

ERR_UNEXPECTED_REQUEST

Value:
'urn:ietf:params:xml:ns:xmpp-stanzas unexpected-request'

SASL_INCORRECT_ENCODING

Value:
'urn:ietf:params:xml:ns:xmpp-sasl incorrect-encoding'

SASL_INVALID_AUTHZID

Value:
'urn:ietf:params:xml:ns:xmpp-sasl invalid-authzid'

SASL_INVALID_MECHANISM

Value:
'urn:ietf:params:xml:ns:xmpp-sasl invalid-mechanism'

SASL_MECHANISM_TOO_WEAK

Value:
'urn:ietf:params:xml:ns:xmpp-sasl mechanism-too-weak'

SASL_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-sasl not-authorized'

SASL_TEMPORARY_AUTH_FAILURE

Value:
'urn:ietf:params:xml:ns:xmpp-sasl temporary-auth-failure'

STREAM_BAD_FORMAT

Value:
'urn:ietf:params:xml:ns:xmpp-streams bad-format'

STREAM_BAD_NAMESPACE_PREFIX

Value:
'urn:ietf:params:xml:ns:xmpp-streams bad-namespace-prefix'

STREAM_CONNECTION_TIMEOUT

Value:
'urn:ietf:params:xml:ns:xmpp-streams connection-timeout'

STREAM_HOST_GONE

Value:
'urn:ietf:params:xml:ns:xmpp-streams host-gone'

STREAM_HOST_UNKNOWN

Value:
'urn:ietf:params:xml:ns:xmpp-streams host-unknown'

STREAM_IMPROPER_ADDRESSING

Value:
'urn:ietf:params:xml:ns:xmpp-streams improper-addressing'

STREAM_INTERNAL_SERVER_ERROR

Value:
'urn:ietf:params:xml:ns:xmpp-streams internal-server-error'

STREAM_INVALID_FROM

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-from'

STREAM_INVALID_ID

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-id'

STREAM_INVALID_NAMESPACE

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-namespace'

STREAM_INVALID_XML

Value:
'urn:ietf:params:xml:ns:xmpp-streams invalid-xml'

STREAM_NOT_AUTHORIZED

Value:
'urn:ietf:params:xml:ns:xmpp-streams not-authorized'

STREAM_POLICY_VIOLATION

Value:
'urn:ietf:params:xml:ns:xmpp-streams policy-violation'

STREAM_REMOTE_CONNECTION_FAILED

Value:
'urn:ietf:params:xml:ns:xmpp-streams remote-connection-failed'

STREAM_RESOURCE_CONSTRAINT

Value:
'urn:ietf:params:xml:ns:xmpp-streams resource-constraint'

STREAM_RESTRICTED_XML

Value:
'urn:ietf:params:xml:ns:xmpp-streams restricted-xml'

STREAM_SEE_OTHER_HOST

Value:
'urn:ietf:params:xml:ns:xmpp-streams see-other-host'

STREAM_SYSTEM_SHUTDOWN

Value:
'urn:ietf:params:xml:ns:xmpp-streams system-shutdown'

STREAM_UNDEFINED_CONDITION

Value:
'urn:ietf:params:xml:ns:xmpp-streams undefined-condition'

STREAM_UNSUPPORTED_ENCODING

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-encoding'

STREAM_UNSUPPORTED_STANZA_TYPE

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-stanza-type'

STREAM_UNSUPPORTED_VERSION

Value:
'urn:ietf:params:xml:ns:xmpp-streams unsupported-version'

STREAM_XML_NOT_WELL_FORMED

Value:
'urn:ietf:params:xml:ns:xmpp-streams xml-not-well-formed'

_errorcodes

Value:
{'302': 'redirect',
 '400': 'unexpected-request',
 '401': 'not-authorized',
 '402': 'payment-required',
 '403': 'forbidden',
 '404': 'remote-server-not-found',
 '405': 'not-allowed',
 '406': 'not-acceptable',
...