{
  "id": "communication/xmpp-stream-error-conflict",
  "signature": "<stream:error><conflict xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>",
  "signature_zh": "<stream:error><conflict xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>",
  "regex": "<stream:error>.*<conflict.*</stream:error>",
  "domain": "communication",
  "category": "auth_error",
  "subcategory": null,
  "root_cause": "XMPP server terminates a stream with a conflict error when a second resource binds with the same priority and resource name, or when the user's account is disabled by an admin.",
  "root_cause_type": "generic",
  "root_cause_zh": "XMPP服务器在第二个资源以相同优先级和资源名称绑定时，或用户账户被管理员禁用时，以冲突错误终止流。",
  "versions": [
    {
      "version": "RFC 6120",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Ejabberd 23.10",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Prosody 0.12",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Openfire 4.8",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Disable all other XMPP clients for the same user",
      "why_fails": "The conflict is caused by resource binding, not the number of clients; even two clients with different resource names can coexist",
      "fail_rate": 0.6,
      "condition": "",
      "sources": []
    },
    {
      "action": "Restart the XMPP server to clear the conflict state",
      "why_fails": "The conflict is a per-session issue; restarting the server does not prevent the client from reconnecting with the same resource name",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    },
    {
      "action": "Change the server's port from 5222 to 5223 (legacy SSL)",
      "why_fails": "The port does not affect resource binding logic; the conflict error is stream-level, not transport-level",
      "fail_rate": 1.0,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Set a unique resource name for each client connection. In the XMPP client, generate a random resource string (e.g., 'home-12345', 'mobile-abcde') instead of using a fixed name like 'client' or leaving it blank.",
      "success_rate": 0.9,
      "how": "Set a unique resource name for each client connection. In the XMPP client, generate a random resource string (e.g., 'home-12345', 'mobile-abcde') instead of using a fixed name like 'client' or leaving it blank.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Check if the user account is disabled or banned on the server. On Ejabberd, run 'ejabberdctl check_account user@domain' and 'ejabberdctl ban_account user@domain' to verify status.",
      "success_rate": 0.8,
      "how": "Check if the user account is disabled or banned on the server. On Ejabberd, run 'ejabberdctl check_account user@domain' and 'ejabberdctl ban_account user@domain' to verify status.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Set a unique resource name for each client connection. In the XMPP client, generate a random resource string (e.g., 'home-12345', 'mobile-abcde') instead of using a fixed name like 'client' or leaving it blank.",
    "Check if the user account is disabled or banned on the server. On Ejabberd, run 'ejabberdctl check_account user@domain' and 'ejabberdctl ban_account user@domain' to verify status."
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://datatracker.ietf.org/doc/html/rfc6120#section-4.9.3",
  "official_doc_section": null,
  "error_code": "conflict",
  "verification_tier": "ai_generated",
  "confidence": 0.84,
  "fix_success_rate": 0.8,
  "resolvable": "partial",
  "first_seen": "2024-02-28",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}