Commit Graph
8 Commits
Author SHA1 Message Date
Dave HortonandClaude Opus 5.5 f5c675952a feat: per-SBC registration Call-ID, and hand off the regbot role on AWS scale-in (#156)
The Call-ID of outbound registrations was the sip_gateway_sid, the same on
every SBC. When the regbot role moved to the other SBC, the registrar saw a
refresh of an existing binding from a different source address and Contact.
Some registrars 200 such a refresh without updating their routing, so inbound
calls to the registered trunk fail with 404 until the binding is recreated.
The Call-ID is now sip_gateway_sid@<sending SBC public IP>: stable across
refreshes and restarts of one SBC, new when the role moves, so a move looks
like a new registration. register_status also records the sending SBC as
sbcAddress.

With AWS_LIFECYCLE_DRAIN enabled the sidecar polls IMDS
autoscaling/target-lifecycle-state (the signal inbound drains on; detection
only, inbound completes the lifecycle hook). When the instance is being scaled
in, the regbot holder releases the lease while still running instead of after
the instance is gone; until now the draining SBC kept the registrations, so
carriers kept sending registration-trunk calls to an SBC that answers new
INVITEs with 503. It never claims the role back. Once another SBC has claimed
it, the draining SBC un-REGISTERs (Expires: 0) the bindings whose Contact
carries its own IP. Bindings with an AoR or realm Contact are left alone: the
new SBC sends the same Contact, and its REGISTER has already replaced ours.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:33:36 -04:00
Dave HortonandClaude Fable 5.1 9f00a513f8 feat: include jambonz and drachtio versions in X-Jambonz-Discover response (#152)
- jambonzVersion is read from the schema_version table via the existing
  db-helpers pool (now exposed on srf.locals); a DB error yields null
  rather than failing discovery
- drachtioVersion is captured from the drachtio connect handshake and
  stored on srf.locals
- README example updated

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 12:23:59 -04:00
Sam Machin 1841110ef7 add server discovery to options (#142) 2026-07-09 10:30:50 -04:00
Hoan Luu Huu 55ace7820f Feat/cli remove fs (#116)
* support draining feature server manually

* support draining feature server manually

* support CLI to add or remove feature server

* wip

* wip

* wip

* add redis key for feature server and integration test

* wip
2025-10-28 19:26:24 -04:00
javibookline c1f2a5fa45 Feature/registration interval config (#50)
* Add envvar support for default expiration interval

* Move envvars to config file, finish work, and add description of envvars to Readme

* Set expires value to MIN_EXPIRES when the retrieved value is lower than it or not parseable
2024-01-15 13:15:14 -05:00
Quan HL ea6c63925f fix client encrypted password 2023-06-16 06:40:19 +07:00
Anton Voylenko d452fabff2 README update 2023-04-07 21:42:31 +03:00
Quan Luu da57ab4212 feat: merge sip-registra and sip-options-handler 2022-09-09 16:26:14 +07:00