361 Commits
Author SHA1 Message Date
Dave Horton d0d8ba93b2 0.9.11 v0.9.11 2026-09-15 12:38:35 -04:00
Dave Horton 3f729e232e 0.9.10 v0.9.10 2026-09-15 12:38:16 -04:00
Hoan Luu HuuandClaude Opus 5 509fdf6c37 Fix/siprec survives fs transfer (#249)
* fix: keep siprec recording alive across a feature server transfer

A cross-feature-server move (enqueue/dequeue or conference) re-negotiates the
feature-server leg in _onFeatureServerTransfer, but nothing rebuilt the rtpengine
subscription the SIPREC recording forks from, so the recorder went silent from the
moment the call moved. The fresh destroy handler installed on the new leg also
dropped the _stopRecording() call the original handlers have, so the SIPREC dialog
was never BYEd and the recorder had to wait out its media timeout.

Rebuild the subscription after the transfer re-negotiates media, and stop the
recording when the transferred leg ends. The resubscribe call is guarded so this
is safe to deploy before @jambonz/siprec-client-utils is bumped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix: drop the siprec re-subscribe, keep the missing teardown

Running the cross-feature-server move against a real two-feature-server cluster
showed the rtpengine subscription survives the REFER on its own: with
resubscribe() removed, the fork still carried the post-transfer conversation
(50 packets/s on both streams, and the words spoken after the move transcribed
straight out of the recording). rtpengine keeps non-offer-answer subscriptions
across an answer, so there was never anything to rebuild - the earlier commit
was fixing a fault that does not exist.

What does fail, and what this branch still fixes, is the teardown: the destroy
handler installed on the transferred leg never stopped the recording, so the
recorder was left without a BYE.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 18:42:20 +01:00
Dave HortonandClaude Fable 5 b7b707cc2e fix: complete autoscale scale-in reliably and reject new INVITEs while draining (#248)
Scale-in completion never happened: app.js holds the placeholder
Emitter that autoscale-manager returns synchronously (the real
SnsNotifier replaces it later inside an async IIFE), so the completion
poller never saw operationalState change; it also called the
nonexistent scaleIn() rather than completeScaleIn().  Instances in
Terminating:Wait therefore always burned the full lifecycle hook
heartbeat timeout.

In addition, nothing consumed dryUpCalls: a draining SBC kept accepting
new INVITEs sent directly to its public address right up until
termination.

Changes:
- complete the scale-in from within the ScaleIn handler in
  autoscale-manager, where the real notifier is in scope
- while draining, reject new INVITEs with 503 so senders fail over to
  another SBC (INVITE with Replaces is allowed through since it targets
  a call already in progress here)
- a server may run several sbc-inbound and sbc-outbound processes, and
  completing the hook when only this process is idle would terminate
  the instance while sibling processes still have calls; each process
  now reports its call count to redis (lib/call-count-reporter.js, with
  a companion change in sbc-outbound) and the draining process
  completes only when the server-wide count is zero on two consecutive
  checks, falling back to its own count if no reports are present

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 08:54:19 -04:00
Dave Horton ccbebc015f 0.9.9 v0.9.9 2026-08-20 09:16:38 -04:00
Dave Horton 320a30e328 0.9.8 v0.9.8 2026-07-20 08:42:25 -04:00
Dave Horton cd2fde360d 0.9.7 v0.9.7 2026-07-20 08:39:53 -04:00
Hoan Luu Huu e353b751c0 fixed wrongly identify 3pcc call (#245)
* fixed wrongly identify 3pcc call

* update drachtio 5.0.27
2026-07-11 08:31:59 -04:00
Hoan Luu Huu 53b46f7e51 update rtcp-mux to default for srtp (#246) 2026-07-09 07:09:53 -04:00
Hoan Luu Huu 6608286e8c fixed: don't log carrier register_credential to log (#244)
* fixed: don't log carrier register_credential to log

* upgrade realtimedb helper 0.8.21
2026-06-19 07:08:52 -04:00
Dave HortonandClaude Opus 4.5 6ddfbc9373 fix error handler middleware parameter order (#243)
The error handler was using (req, res, next, err) but drachtio-srf
error middleware expects (err, req, res, next). This caused
"res.send is not a function" errors when the handler was invoked.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-21 15:20:17 -04:00
Dave Horton cd48675499 curtail massive log msg (#242) 0.9.7-rc1 v0.9.7-rc1 2026-04-23 07:35:27 -04:00
Hoan Luu Huu cecdbdccef update drachtio srf 5.0.21 (#241) 2026-04-13 21:24:28 -04:00
Dave Horton 6586919c86 update deps 0.9.6 v0.9.6 2026-03-30 21:07:53 -04:00
Dave Horton c919438af5 update to drachtio-srf latest (#239) v0.9.6-rc4 v0.9.6-rc5 v0.9.6-rc6 2026-03-05 09:24:49 -05:00
Dave Horton ab39525467 update drachtio-srf (#236) v0.9.6-rc2 v0.9.6-rc3 2026-02-09 10:28:42 -05:00
Hoan Luu Huu 61a66ab181 update drachtio srf version (#231) v0.9.5-11 v0.9.6-rc1 2026-01-22 08:13:11 -05:00
Dave Horton 48dd7ebfcd Parallelize independent exact IP and CIDR gateway database queries to reduce latency in inbound call routing (#234) v0.9.5-10 2026-01-18 09:34:48 -05:00
Dave Horton 678fe9d9a8 Fix/sql query optimize (#233)
* Add STRAIGHT_JOIN to CIDR gateway query to prevent MySQL optimizer from choosing inefficient full table scan on voip_carriers table.

* update tests with latest schema

* fix test data

* security issues

* update workflow actions
2026-01-16 08:53:22 -05:00
Dave Horton 39bd65fb97 improve slow sql query and fix support for readonly endpoints (#232) 2026-01-15 08:47:04 -05:00
Sam Machin 3f0fd794ce Recording update (#229)
* new hasRecording flag on call info for setting recording URL in cdr

* lint

* use nullish coalescing for null response
v0.9.5-9
2026-01-02 10:29:00 -05:00
Dave Horton 876cb393f9 fix vulnerability v0.9.5-7 v0.9.5-8 2025-12-09 09:58:46 -05:00
Sam Machin fa2259d6e5 fix build (#228)
* update dependenices

* Update package-lock.json

* fix buold
2025-12-08 10:43:47 -05:00
Sam Machin 2405190dcc update dependenices (#227) 2025-12-08 09:22:27 -05:00
Hoan Luu Huu e9a5921b19 allow uas leg can send re-invite with outbound gatway credential (#221)
* allow uas leg can send re-invite with outbound gatway credential

* fix cannot get register username/password

* fix cannot get register username/password

* fix cannot get register username/password

* fixed failing test cases
v0.9.5-4 v0.9.5-5 v0.9.5-6
2025-11-24 20:16:28 -06:00
Dave Horton 6efe714d49 fix package lock v0.9.5-2 v0.9.5-3 2025-11-14 07:36:42 -05:00
Sam Machin 4150454736 remove no SP gateways if Account Gateways (#219) 2025-11-11 08:30:30 -05:00
Anton Voylenko 73eb8e8d17 chore: bump node version (#220) 2025-11-04 18:07:01 -05:00
Hoan Luu Huu 9beba4330a support auth trunk for incoming call (#213)
* support auth trunk for incoming call

* wip

* wip

* wip

* update digest-utils version

* update sql file from api-server

* update sql file from api-server

* wip
v0.9.5 v0.9.5-1
2025-10-23 17:00:34 -04:00
Dave Horton b2868842ad support incoming calls from registration trunks with ephemeral gateways (#216)
* support incoming calls from registration trunks with ephemeral gateways

* fix bug with multiple ephemeral gateways

* update to pino 10.1.0

* update eslint
v0.9.5-rc19
2025-10-21 07:33:21 -04:00
Hoan Luu Huu 4f1b4815c4 update digest utils 0.0.8 (#215) v0.9.5-rc18 2025-10-19 10:39:40 -04:00
Sam Machin 025853934e bump dbhelpers for cache change (#214) 2025-10-15 11:39:42 -04:00
Dave Horton 8ce531ec81 revert change (for now) that caused audio issues when reinviting to partial media (#212) v0.9.5-rc9 v0.9.5-rc10 v0.9.5-rc11 v0.9.5-rc12 v0.9.5-rc14 v0.9.5-rc15 v0.9.5-rc16 v0.9.5-rc17 2025-08-18 12:46:13 -04:00
Sam Machin 7bc2a1a6f4 Check for loops (#211)
* check for matching x-application-sid header

and tests

* lint

* update test scenario

* rename file

* now with valid test data!
2025-08-18 07:24:45 -04:00
Sam Machin 83461f99e8 Set strict source on rtpengine (#210)
* Set strict source on rtpengine

RTPBleed

* use env var for strict source

* lint

* Update utils.js

* arghhhh

* clarification

* change
v0.9.5-rc5 v0.9.5-rc6 v0.9.5-rc7 v0.9.5-rc8
2025-08-03 19:44:47 -04:00
Dave Horton 45684aa337 bump version v0.9.5-rc3 v0.9.5-rc4 2025-07-15 11:46:09 -04:00
Vinod Dharashive 9d0c829ae8 increase dtmf volume (#208)
https://github.com/jambonz/jambonz-feature-server/issues/1272
v0.9.5-rc2
2025-07-09 08:23:17 -04:00
sathish kumar pasham 7a6551c141 Fix security vulnerabilities by upgrading to @babel/helpers version 7.26.10. (#207) v0.9.4-5 v0.9.5-rc1 2025-06-27 08:14:26 -04:00
rammohan-y 5f267906b1 Fixed issue when wild cards or regex is used in phone number for multiple carriers (#202)
* Fixed issue when wild cards or regex is used in phone number for multiple carriers
https://github.com/jambonz/sbc-inbound/issues/201

* Implemanted the regex/pattern based logic when url is a sip_realm

* Refactored getApplicationForDidAndCarrier as it is failing to parse other regex if first regex is invalid
In gateway is defined at "all accounts" using the phone number's account_sid

* Performance improvements

* Exported getApplicationForDidAndCarriers method

* Added additional unit test cases
v0.9.4-3 v0.9.4-4
2025-06-18 21:11:05 +02:00
Dave Horton 680d32e9a2 update version v0.9.4-rc1 v0.9.4-rc2 v0.9.4-rc3 v0.9.4-rc4 v0.9.4-rc5 v0.9.4 v0.9.4-1 v0.9.4-2 2025-05-14 15:42:00 -04:00
Dave Horton 71c437ee07 update db-helpers 2025-05-13 10:35:46 -04:00
rammohan-y 35c38685a9 Updated drachtio-srf version (#199)
https://github.com/drachtio/drachtio-server/issues/424
v0.9.3-15 v0.9.3-16
2025-04-22 11:05:30 -04:00
Hoan Luu Huu 8d15098b77 update drachtio srf 5.0.4 (#198) v0.9.3-14 2025-04-18 07:45:18 -04:00
Hoan Luu Huu 656ad3b6cb update digest-utils version (#197) 2025-04-17 19:45:39 -04:00
rammohan-y 7eccb6816d Updated db-helper to 0.9.11 (#196)
https://github.com/jambonz/jambonz-feature-server/issues/1151
2025-04-14 08:22:17 -04:00
rammohan-y f58cf8eecf updated realtimedb-helper to 0.8.13 (#195) v0.9.3-9 v0.9.3-10 v0.9.3-11 v0.9.3-12 2025-03-10 09:54:03 -04:00
Dave Horton 638c003dfc fix aws sns topic subscribe (#193) v0.9.3-7 v0.9.3-8 2025-02-24 12:57:23 -05:00
Dave Horton 23c748046d REFER should have sips contact if far end is using sips (#192) 2025-02-24 09:37:18 -05:00
Dave Horton 086adfbeef update drachtio-srf v0.9.3-6 2025-02-20 10:15:25 -05:00
Dave Horton d9b375738b reject calls on hosted jambonz with no active subscriptions (#191) v0.9.3-5 2025-02-19 13:05:56 -05:00