License overage alert (e.g. 131% extensions)

Why an instance reports more extensions than licensed, and what to do.

Sikurd is showing UserExtensions > MaxUserExtensions — for example 42 / 32 = 131%. The numbers come straight from the 3CX SystemStatus API; Sikurd just reports.

Common causes, roughly in order:

1. License downgraded but extensions weren't pruned

Most common case. The instance had a larger tier at some point (e.g. 48 users), 42 got created, then the license was replaced with a smaller SKU (32). 3CX doesn't auto-disable extensions when the license shrinks.

Fix: Decide which extensions to keep. Disable / delete the extras in 3CX admin → Users.

2. Extensions in the Recycle Bin still count

Known V20 behaviour — extensions soft-deleted into the Bin still count toward UserExtensions until permanently purged.

Fix: 3CX admin console → Users → Recycle Bin (or System → Bin on some builds) → empty it.

3. License expired or fell back to free tier

If the active license expired, MaxUserExtensions reverts to the perpetual / free tier (often a much lower number). Check the dashboard footer in 3CX admin for the active license + expiry.

Fix: Renew in the 3CX Customer Portal. After renewal, Sikurd picks up the new limit on next poll.

4. License upgraded upstream but not refreshed on the PBX

You've already upgraded the SKU in the 3CX Customer Portal but the on-box license hasn't been refreshed.

Fix: 3CX admin → License → Re-activate (or "Refresh license"). Pulls the current entitlement from 3CX's servers.

5. Hot-desk / virtual extensions inflating the count

Less common. Hot-desk shared profiles and some system extensions can inflate UserExtensions.

Fix: 3CX admin → Users → filter by "Show disabled" / "Hot desk". Audit anything unexpected.

Quick triage

  1. Open the 3CX admin for that PBX.
  2. Dashboard → License Status — confirm tier + expiry.
  3. Users → Recycle Bin — empty.
  4. License → Re-activate.
  5. Wait for the next poll (or trigger a manual sync from the instance detail page). The alert should resolve.

If after all that the numbers still don't line up, the customer is legitimately over license. The alert is doing its job — escalate to sales / renewals.