Commit Graph
48 Commits
Author SHA1 Message Date
Dave HortonandClaude Opus 5.5 c58a1fc925 fix: set alert_type on OPTIONS-ping and registration alerts (#154)
* fix: set alert_type on OPTIONS-ping and registration alerts

The three writeAlerts() calls in sip-trunk-options-ping.js and the two in
regbot.js omitted alert_type, so the alerts were stored as 'undefined'.
Use AlertType.SIP_GATEWAY_OPTIONS_FAILURE / SIP_GATEWAY_REGISTRATION_FAILURE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: bump @jambonz/time-series to ^0.5.4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 09:50:21 -04:00
Dave HortonandClaude Fable 5.1 b51362ac04 fix: shared-roster expiry and sbc_addresses keepalive (two-SBC cutover bugs) (#153)
* fix: expire FS/RTP roster members on shared last-seen, not one SBC's local view

The active-fs, fs-service-url and active-rtp redis sets are shared by every
SBC in the cluster, but the expiry sweep in lib/options.js removed members
based solely on when THIS sidecar last received an OPTIONS ping from them.
An SBC that was taken out of active-sip (so FS/RTP servers stopped pinging
it) therefore deleted every feature server and rtpengine from the shared
rosters 60s later, rejecting all inbound calls until the other SBC re-added
them on its next ping cycle.

Each SBC now records the last ping it received per member in a shared redis
hash (<setName>:lastseen, member -> epoch ms) and the sweep removes a member
only when that shared timestamp is older than EXPIRES_INTERVAL. Members with
no shared timestamp are never expired by the sweep, so a parked or
mixed-version SBC cannot remove members the others are still hearing from.

Adds a unit test that reproduces the failure against the old code.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix: make sbc_addresses keepalive recurring instead of a single setTimeout

addSbcAddress() refreshes the row's last_updated and cleanSbcAddresses()
deletes rows older than DEAD_SBC_IN_SECOND (default 3600s), but app.js only
re-called addSbcAddress once, 15 minutes after connecting. The row then
went stale, and the next sidecar to start anywhere in the cluster deleted
the healthy SBC's row, so new sip realms were provisioned with one SBC IP
instead of two.

Run one recurring timer (SBC_PUBLIC_ADDRESS_KEEP_ALIVE_IN_MILISECOND, default
15 min) that refreshes this SBC's rows and only then reaps stale ones, so the
cleaner never runs ahead of this process's own keepalive. The timer is
unref'd and replaced (not stacked) on drachtio reconnect.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 10:58:05 -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
Dave HortonandClaude Fable 5 3cee75163d chore: bump db-helpers to ^0.9.25 and resolve npm audit findings (#150)
* chore: bump @jambonz/db-helpers to ^0.9.25

0.9.24 moved to uuid ^11.1.1 (GHSA-w5hq-g745-h8pq) and 0.9.25 dropped
the uuid dependency entirely in favor of crypto.randomUUID.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore: resolve npm audit findings

- npm audit fix: ajv, brace-expansion, flatted, js-yaml, minimatch, qs
- short-uuid ^4.2.2 -> ^6.0.3 (drops vulnerable uuid <11.1.1,
  GHSA-w5hq-g745-h8pq; generate() API unchanged)
- nyc (dev-only) -> ^18.0.0 (clears istanbul-lib-processinfo uuid
  advisory)

npm audit now reports 0 vulnerabilities.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 09:56:00 -04:00
Dave HortonandClaude Opus 4.8 13c82830d3 ci(docker): build multi-arch (amd64+arm64) image via Build Cloud (#144)
Add a cloud-driver buildx step and platforms: linux/amd64,linux/arm64 so the
published image supports arm64 (jambonz v11 arm64 support). Mirrors the house
pattern (upload-recordings / drachtio-server).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 10:19:22 -04:00
Dave HortonandClaude Opus 4.8 14beeedf71 chore: bump drachtio-srf to ^5.0.25 (#138)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 12:28:05 -04:00
Dave Horton 6f9c629379 add configurable backup for outbound reg failure (#128) 2026-02-09 10:32:57 -05:00
Dave Horton 9cacbdb994 update db-helpers (#127) 2026-01-19 08:23:13 -05:00
Dave Horton e6a691d366 fix support for using writer/reader nodes properly (#126) 2026-01-15 08:48:06 -05:00
Dave Horton e94ae431d8 add support for registration trunks which result in a set of ephemera… (#112)
* add support for registration trunks which result in a set of ephemeral sip gateways to be stored in redis

* wip

* refactor createEphemeralGateways into realtime dbhelpers

* minor

* update eslint
2025-10-21 07:32:06 -04:00
Dave Horton e87aebf88c fix bug calling getUniqueGateways (#96)
* fix bug calling getUniqueGateways

* fix bug filtering gateways for regbot

* minor logging
2025-04-12 09:57:50 -04:00
Dave Horton 050bcdc9f7 update dractio-srf and mrf to main branch releases (#77) 2025-01-14 10:09:15 -05:00
Dave Horton 496d6c7a71 per RFC 3261 the request-uri of REGISTER must not have userinfo (#72) 2024-08-21 09:32:24 -04:00
Dave Horton 3c498b2624 use system_information.sip_domain_name in the Contact header, if available (#71) 2024-06-26 13:15:23 -04:00
Dave Horton a6d15bc7aa after challenge register with creds should stay tls if it started that way (#70) 2024-06-24 15:09:10 -04:00
Dave Horton 8f59ecbe4a fix #61, contact header should have port 5061 when registering over tls (#69) 2024-06-24 09:36:50 -04:00
Dave Horton 0ff39724e4 when registering over tls contact header should have appropriate sip … (#62)
* rebase

* update gh workflow
2024-06-19 12:24:08 +01:00
Dave Horton 5750b9bd2b update deps (#58) 2024-04-07 18:33:49 -04:00
Dave Horton cac5c422ce fix for #54 (#55) 2024-01-17 13:05:57 -05:00
Dave Horton 612226cea1 Merge pull request #51 from jambonz/feat/digest-utils
update digest utils version
2024-01-10 19:53:44 -05:00
Dave Horton bcfae40ad3 Merge pull request #49 from paulotelles/feature/centralize-envs
Centralize environment variables
2023-12-26 08:18:28 -05:00
Dave Horton 6263f81273 Merge pull request #47 from jambonz/feat/client_direct_call_01
update digest-util version
2023-12-11 07:53:21 -05:00
Dave Horton 2d47c35b4a Merge pull request #46 from jambonz/feat/client_direct_call
allow registration hook return client direct calling settings
2023-12-10 19:27:43 -05:00
Dave Horton f38dce8cde Merge pull request #42 from jambonz/fix/dns_srv_register
Fix/dns srv register
2023-11-24 09:16:24 -05:00
Dave Horton a45db6104e Merge pull request #41 from jambonz/feat/realtimedb
let realtimedb-help build configuraiton from env vars
2023-11-14 08:55:31 -05:00
Dave Horton 8e2b4f06e3 Merge pull request #38 from jambonz/feat/sentielPassword
add sentinelPassword option
2023-10-04 19:42:10 -04:00
Dave Horton 5fb02a740b Merge pull request #37 from jambonz/fix/reconnect_telegraf
update stats collector version
2023-08-07 21:27:12 -04:00
Dave Horton f759fae56e Merge pull request #36 from jambonz/fix/register_auth
fix regbot to send REGISTER headers with from user value
2023-07-03 15:26:28 +01:00
Dave Horton bbd01a18b5 Merge pull request #34 from jambonz/feat/multi-fs
feat: add fs service url to redis
2023-06-23 11:58:35 +01:00
Dave Horton 0ea09769b7 Merge pull request #33 from jambonz/fix/clients
fix client encrypted password
2023-06-15 20:47:55 -04:00
Dave Horton 54804e1eee Merge pull request #32 from jambonz/feat/clients
feat: register client
2023-06-15 07:26:05 -04:00
Dave Horton 26a5ded625 Merge pull request #31 from jambonz/fix/regbot-leak
fix #29
2023-06-12 13:26:48 -04:00
Dave Horton f6274b868b Merge pull request #28 from jambonz/feat/sentinel
Feat/sentinel
2023-06-07 13:07:42 -04:00
Dave Horton 8fda186983 Merge pull request #27 from jambonz/fix/db-helper
update dbhelper and cache
2023-05-29 18:43:15 -04:00
Dave Horton 7b546446c4 Merge pull request #26 from jambonz/fix/db-helper
fix: update db helper version
2023-05-05 20:35:34 -04:00
Dave Horton cae47fbb19 Merge pull request #25 from jambonz/#24
feat: update tls and wss port for sbc-addresses
2023-05-05 20:10:07 -04:00
Dave Horton d69c1bfb67 Merge pull request #23 from avoylenko/main
README update
2023-04-07 15:06:15 -04:00
Dave Horton 4b232d38b2 Merge pull request #22 from jambonz/feat/update_db_helper
feat: update db helper version
2023-04-06 08:33:01 -04:00
Dave Horton 5f683863a8 Merge pull request #21 from jambonz/feat/update_sbc
feat: keep alive and clean up dead sbc
2023-04-06 07:29:11 -04:00
Dave Horton 76296d813b Merge pull request #20 from jambonz/feat/stat_collector
feat: update stat collector version
2023-04-05 12:04:57 -04:00
Dave Horton 65c355c2a7 Merge pull request #19 from jambonz/feat/carrier_register_status
feat: update voip carriers register status
2023-04-03 18:53:00 -04:00
Dave Horton 50d3f1e77d Merge pull request #14 from jambonz/feature/upgrade-node
Upgrade node to node:18.14.0-alpine3.16
2023-02-21 07:56:44 -05:00
Dave Horton a32d725e66 Merge pull request #10 from jambonz/bugfix/short-expires
Bugfix/short expires
2023-01-07 12:19:45 -05:00
Dave Horton 94a6e675d8 Merge pull request #8 from guilherme-rauen/main
Update Node Image
2022-11-11 11:27:17 -05:00
Dave Horton c0a01e52fd Merge pull request #6 from Catharsis68/main
[snyk] fix vulnerability
2022-10-20 21:36:38 -04:00
Dave Horton 374afd3ebd Merge pull request #4 from jambonz/#1
feat: Outbound register use sbc public IP address
2022-09-15 08:01:36 +02:00
Dave Horton b6af3f12b1 Merge pull request #2 from jambonz/bugfix/image-name
fix image name
2022-09-13 10:55:36 +02:00
Dave Horton 8db0084d7f Merge pull request #1 from jambonz/gh-actions
Gh actions
2022-09-13 10:47:11 +02:00