Commit Graph
12 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
Sam Machin ce05d91e6d restart regbots on drachtio reconnect (#151)
* restart regbots on drachtio reconnect

* PR feedback

* add check for multiple regbot instances
2026-09-09 15:02:23 +01:00
Sam Machin 1841110ef7 add server discovery to options (#142) 2026-07-09 10:30:50 -04:00
Sam Machin 03dc4964b6 Fix/111 - require multiple reg failures (#131)
* only disable registraion after X consecutive failures

* move counter outside of regbot object

prevents it being constantly re-created
2026-03-19 15:15:38 -04:00
Dave Horton 6f9c629379 add configurable backup for outbound reg failure (#128) 2026-02-09 10:32:57 -05:00
Dave Horton e6a691d366 fix support for using writer/reader nodes properly (#126) 2026-01-15 08:48:06 -05:00
Sam Machin 1ef25e2c7f add user-agent to regbot (#106)
* add user-agent to regbot

* lint

* remove regbot from string
2025-06-11 17:08:58 +02:00
Hoan Luu HuuandDave Horton fa6b300205 create regbog in batch with delay, filter inique gateway before creating regbot (#95)
* create regbog in batch with delay, filter inique gateway before creating regbot

* update review comment

* do not register outbound if no sip password was provided

---------

Co-authored-by: Dave Horton <daveh@beachdognet.com>
2025-04-11 13:21:57 -04:00
Sam Machin a22ab38aab Disable Options and Registration on certain failures (#90)
* disable options ping on defined errors

* correct sid

* disable reg on error

* fix path

* fixes from testing

* fixes from testing

* lint

* update dbhelpers dep

* remove whitespace in CONFIG strings

* lint

* this seems like a better way of convering and matching status codes
2025-04-02 08:22:52 -04:00
Hoan Luu Huu e865286a2b initial delay regbot (#80)
* initial delay regbot

* fix review comment

* fix review comment
2025-03-10 08:26:43 -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
p.souza dcebadd63a centralize envs 2023-12-26 11:12:15 +01:00