112 Commits
Author SHA1 Message Date
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
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
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
2026-01-02 10:29:00 -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
2025-11-24 20:16:28 -06: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
2025-10-21 07:33:21 -04:00
Vinod Dharashive 9d0c829ae8 increase dtmf volume (#208)
https://github.com/jambonz/jambonz-feature-server/issues/1272
2025-07-09 08:23:17 -04:00
Dave Horton 23c748046d REFER should have sips contact if far end is using sips (#192) 2025-02-24 09:37:18 -05:00
Hoan Luu Huu ec3af43a41 support sip recording from a siprec call (#190)
* support sip recording from a siprec call

* update srsClient version
2025-02-12 09:24:12 -05:00
Dave Horton 0ba5cb53bb refined the method for syncing call count updates and added debugging (#189)
* refined the method for syncing call count updates and added debugging

* include callId in debug key

* fix debug key name
2025-02-05 13:00:13 -05:00
Dave Horton c807fdb93d Feat/3pcc invite (#187)
* wip

* wip

* wip

* add test for late media / 3pcc invite, which should now work
2024-12-12 18:39:01 -05:00
Hoan Luu Huu a7d6cf5a31 support referby with display name (#186)
* support referby with display name

* update siprec client utils
2024-12-11 10:34:54 -05:00
Dave Horton 1cd526c684 wip (#182) 2024-11-19 09:38:19 -05:00
Hoan Luu Huu bcfbe9a0fc fixed incase srtp, dont need to send reinvite when release media (#176)
* fixed, srtp dont need to send reinvite when release media

* fix review comment
2024-11-13 07:42:42 -05:00
Dave Horton bb9e5e98f5 minor logging 2024-11-12 09:27:12 -05:00
Dave Horton a714190aa4 fix race condition #177 (#178) 2024-11-12 09:15:19 -05:00
Markus FrindtandMarkus Frindt c270c0df43 Feat/improve parse host ports (#149)
* Move parseHostPorts to utils and cover with test suite

* fix tabs

* comment pre commit hook

* add test

* wip

* remove only

* fix 2 critical, 12 high vulnerabilities via npm audit fix

---------

Co-authored-by: Markus Frindt <m.frindt@cognigy.com>
2024-08-01 08:41:49 -04:00
Dave Horton 4153a141d7 sip scheme in contact header of re-invite 200 OK should be same as initial 200 OK (#150) 2024-07-10 15:56:08 -06:00
Dave Horton e999b4e5e8 Contact in 200 should set sip(s) appropriately and have port and prot… (#148)
* Contact in 200 should set sip(s) appropriately and have port and protocol

* fix for k8s

* lint

* wip
2024-07-03 10:56:23 -06:00
Vinod Dharashive 0e2285c4b8 Contact header to have private IP on Private cidr (#147)
* Contact header to have private IP on Private cidr

fix for #146

* Update call-session.js

* Update call-session.js

* Update call-session.js
2024-06-25 14:34:07 -04:00
Hoan Luu Huu a46ad934a8 support complex refer-to and refered-by uri (#140)
* support complex refer-to and refered-by uri

* wip
2024-05-07 08:27:32 -04:00
Hoan Luu Huu 5829ecdf4c fix cannot clear siprec sessions (#136) 2024-03-27 07:25:07 -04:00
Hoan Luu Huu 03d3a9695d forward reinvite error response to other destination (#133)
* forward reinvite error response to other destination

* update comment review
2024-03-07 07:48:33 -05:00
Hoan Luu Huu f5be95006c start/stop/pause/resume recording success when one of siprec server success. (#131)
* start/stop/pause/resume recording success when one of siprec server success.

* wip

* wip

* update customer header for pause and resume

* allow timeout for siprec action

* wip

* wip

* wip

* update siprec client utils
2024-03-05 13:05:42 -05:00
Dave Horton 2747bc15d6 update deps, comment out questionable code 2024-01-17 13:37:07 -05:00
Dave Horton cdfbf384fe update db-helpers 2024-01-17 13:26:37 -05:00
Hoan Luu Huu 96a83619c7 fix sbc to forward BYE header (#129)
* fix sbc to forward BYE header

* fix sbc to forward BYE header
2023-12-28 20:45:38 -05:00
Hoan Luu Huu b8a67019a1 support sending DTMF to caller (#125)
* support sending DTMF to caller

* wip
2023-12-13 09:14:27 -05:00
Hoan Luu Huu aea3033ae0 support PRIVATE_VOIP_NETWORK_CIDR for SDP negotiation (#124)
* support PRIVATE_VOIP_NETWORK_CIDR for SDP negotiation

* support multi PRIVATE_VOIP_NETWORK_CIDR
2023-11-13 15:24:41 -05:00
Hoan Luu Huu 6a6b4dd26f upgrade drachtio srf (#121)
* upgrade drachtio srf

* fix review comments
2023-10-24 08:42:53 -04:00
two56andMatt Preskett b6675de2bd Fix: Feature server REFER (#114)
* Update _onFeatureServerTransfer to fix REFER case

* Add INFO listener

---------

Co-authored-by: Matt Preskett <matt.preskett@netcall.com>
2023-08-20 08:47:01 -04:00
Hoan Luu Huu b1296c8e89 correct pare callRecording headers from sip info (#110) 2023-07-20 09:02:04 -04:00
Hoan Luu Huu 17df3a4ca8 Feat/siprec custom headers (#109)
* siprec custom headers

* siprec custom headers

* update siprec client util
2023-07-20 08:21:09 -04:00
Hoan Luu Huu f2e820915d Multi srs (#106)
* multi srs

* multi srs

* multi srs

* fix review comment
2023-07-04 16:41:46 +01:00
Hoan Luu Huu f7b3815ee3 feat: record all calls (#98)
* feat: record all calls

* wip: add cdr

* wip: add cdr

* fix

* fix jslint

* fix: record format ext
2023-06-09 14:57:45 -04:00
Hoan Luu Huu b311d4af48 fix: ice issue (#95)
* fix: ice issue

* fix: review comment
2023-04-13 08:43:56 -04:00
Antony Jukes 01cde07117 if else made authorization check unreachable (#90) 2023-04-06 09:34:37 -04:00
Hoan Luu HuuandQuan HL d2f32229a2 feat: add instance_id to gause calls metric (#87)
Co-authored-by: Quan HL <quanluuhoang8@gmail.com>
2023-03-21 07:54:52 -04:00
Dave Horton d94977169e pass on displayName of From header if we get it (#82)
* pass on displayName of From header if we get it

* bump version
2023-03-03 18:55:56 -05:00
Dave Horton 2ce24659ca initial attempt (#77)
* initial attempt

* fix: special handling on uas dialog
2023-02-21 14:00:36 -05:00
Dave Horton fb8baa34af always enable dtmf from rtpengine, since dtmfCapture on FS now uses this rather than freeswitch dtmf events (#70) 2023-01-12 08:45:39 -05:00
Dave Horton 6d2b1a94e9 bugfix: proper detection of reinvite from FS to release media 2022-12-27 13:40:56 -06:00
Dave Horton 3360ddb3e6 bugfix: proper removal of X-Refer-To-Leave-Untouched on outgoing REFER 2022-12-01 12:36:49 -05:00
Dave Horton b2d48c8954 Sdes testing (#67)
* sdes testing

* log rtpengine answer

* test with sdes off (again)
2022-12-01 11:41:30 -05:00
Dave Horton c34da3cfa8 support for gateways sending TLS with SRTP but not dtls (#66) 2022-12-01 09:49:25 -05:00
Dave Horton 5b88065925 bugfix: allow users to fully specify a Refer-To uri without us overiding it 2022-11-30 12:55:15 -05:00
Dave Horton c4d4d7bc0a if REFER from FS has a hostname in the Refer-To preserve it on the outbound REFER 2022-11-28 12:29:58 -05:00
Dave Horton b072524585 update deps, only subscribe for DTMF when client is possibly webrtc 2022-11-06 10:12:18 -05:00
Dave Horton 26169517dc fix for dtmf handler when running multiple instances on same EC2 2022-11-01 15:40:37 -04:00
Dave Horton 030059a596 bugfix: transferring conference legs to different FS 2022-10-27 10:27:09 -04:00
Dave Horton 7e83791ef0 update to latest rtpengine-utils 2022-10-22 22:17:02 -04:00