/** * The sender has sent XML that is malformed or that cannot be processed * (e.g., an IQ stanza that includes an unrecognized value of the 'type' * attribute); the associated error type SHOULD be "modify". */ bad_request("bad-request", Type.modify, 400), /** * Access cannot be granted because an existing resource or session * exists with the same name or address; the associated error type * SHOULD be "cancel". */ conflict("conflict", Type.cancel, 409), /** * The feature requested is not implemented by the recipient or * server and therefore cannot be processed; the associated error * type SHOULD be "cancel". */ feature_not_implemented("feature-not-implemented", Type.cancel, 501), /** * The requesting entity does not possess the required permissions to * perform the action; the associated error type SHOULD be "auth". */ forbidden("forbidden", Type.auth, 403), /** * The recipient or server can no longer be contacted at this address * (the error stanza MAY contain a new address in the XML character * data of the element); the associated error type SHOULD be * "modify". */ gone("gone", Type.modify, 302), /** * The server could not process the stanza because of a misconfiguration * or an otherwise-undefined internal server error; the associated error * type SHOULD be "wait". */ internal_server_error("internal-server-error", Type.wait, 500), /** * The addressed JID or item requested cannot be found; the associated * error type SHOULD be "cancel". */ item_not_found("item-not-found", Type.cancel, 404), /** * The sending entity has provided or communicated an XMPP address * (e.g., a value of the 'to' attribute) or aspect thereof (e.g., * a resource identifier) that does not adhere to the syntax defined * in Addressing Scheme (Section 3); the associated error type SHOULD * be "modify". */ jid_malformed("jid-malformed", Type.modify, 400), /** * The recipient or server understands the request but is refusing * to process it because it does not meet criteria defined by the * recipient or server (e.g., a local policy regarding acceptable * words in messages); the associated error type SHOULD be "modify". */ not_acceptable("not-acceptable", Type.modify, 406), /** * The recipient or server does not allow any entity to perform * the action; the associated error type SHOULD be "cancel". */ not_allowed("not-allowed", Type.cancel, 405), /** * The sender must provide proper credentials before being allowed * to perform the action, or has provided improper credentials; * the associated error type SHOULD be "auth". */ not_authorized("not-authorized", Type.auth, 401), /** * The requesting entity is not authorized to access the requested * service because payment is required; the associated error type * SHOULD be "auth". */ payment_required("payment-required", Type.auth, 402), /** * The intended recipient is temporarily unavailable; the associated * error type SHOULD be "wait" (note: an application MUST NOT return * this error if doing so would provide information about the intended * recipient's network availability to an entity that is not authorized * to know such information). */ recipient_unavailable("recipient-unavailable", Type.wait, 404), /** * The recipient or server is redirecting requests for this * information to another entity, usually temporarily (the error * stanza SHOULD contain the alternate address, which MUST be a * valid JID, in the XML character data of the <redirect/> element); * the associated error type SHOULD be "modify". */ redirect("redirect", Type.modify, 302), /** * The requesting entity is not authorized to access the requested * service because registration is required; the associated error * type SHOULD be "auth". */ registration_required("registration-required", Type.auth, 407), /** * A remote server or service specified as part or all of the JID * of the intended recipient does not exist; the associated error * type SHOULD be "cancel". */ remote_server_not_found("remote-server-not-found", Type.cancel, 404), /** * A remote server or service specified as part or all of the JID of * the intended recipient (or required to fulfill a request) could not * be contacted within a reasonable amount of time; the associated * error type SHOULD be "wait". */ remote_server_timeout("remote-server-timeout", Type.wait, 504), /** * The server or recipient lacks the system resources necessary to * service the request; the associated error type SHOULD be "wait". */ resource_constraint("resource-constraint", Type.wait, 500), /** * The server or recipient does not currently provide the requested * service; the associated error type SHOULD be "cancel". */ service_unavailable("service-unavailable", Type.cancel, 503), /** * The requesting entity is not authorized to access the requested * service because a subscription is required; the associated error * type SHOULD be "auth". */ subscription_required("subscription-required", Type.auth, 407), /** * The error condition is not one of those defined by the other * conditions in this list; any error type may be associated with * this condition, and it SHOULD be used only in conjunction with * an application-specific condition.

* * Implementation note: the default type for this condition is * {@link Type#wait}, which is not specified in the XMPP protocol. */ undefined_condition("undefined-condition", Type.wait, 500), /** * The recipient or server understood the request but was not * expecting it at this time (e.g., the request was out of order); * the associated error type SHOULD be "wait". */ unexpected_condition("unexpected-condition", Type.wait, 400);