Answer the softphone spec's biggest open question

Docskamo-internal
Shipped
August 26, 2026 at 3:04 AM UTC
Author
kamo
Commit
41f1c39

Verified live on the cluster: every FreePBX AOR is max_contacts=1 with remove_existing=yes. That value was set nowhere in any Kamo repo, which is why it had gone unchecked — and the whole Phase 2 dual-registration risk turned on it. A second REGISTER therefore does not fork, it EVICTS: the newest contact silently replaces the previous one and the evicted document keeps showing a green "Registered" indicator, recovering only when the credential-expiry loop fires up to an hour later. So the two-tab collision is a live production bug today on FreePBX exactly as on RingCentral, and the Web Locks election in §5 is mandatory rather than defensive. Also corrects the deployment name in every documented kubectl command — deploy/kamo-internal does not exist; it is **************** so the command as written returned NotFound. And marks Phase 1 shipped.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing