From c63a759689138e07940f9ccb588260e559c5b084 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 10 Apr 2026 17:14:14 +0000 Subject: [PATCH] fix(proxy-engine): use negotiated SDP payload types when wiring SIP legs and enable default nnnoiseless features for telephony denoising --- changelog.md | 7 + nogit/voicemail/default/msg-1775840439400.wav | Bin 0 -> 46764 bytes nogit/voicemail/default/msg-1775840447441.wav | Bin 0 -> 19244 bytes nogit/voicemail/default/msg-1775840454835.wav | Bin 0 -> 13164 bytes rust/Cargo.lock | 226 +++++++++++++++++- rust/crates/codec-lib/Cargo.toml | 2 +- rust/crates/proxy-engine/Cargo.toml | 2 +- rust/crates/proxy-engine/src/call_manager.rs | 22 +- rust/crates/proxy-engine/src/mixer.rs | 4 +- ts/00_commitinfo_data.ts | 2 +- ts_web/00_commitinfo_data.ts | 2 +- 11 files changed, 254 insertions(+), 13 deletions(-) create mode 100644 nogit/voicemail/default/msg-1775840439400.wav create mode 100644 nogit/voicemail/default/msg-1775840447441.wav create mode 100644 nogit/voicemail/default/msg-1775840454835.wav diff --git a/changelog.md b/changelog.md index 9e30479..b74781d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2026-04-10 - 1.17.2 - fix(proxy-engine) +use negotiated SDP payload types when wiring SIP legs and enable default nnnoiseless features for telephony denoising + +- Select the negotiated codec payload type from SDP answers instead of always using the first offered codec +- Preserve the device leg's preferred payload type from its own INVITE SDP when attaching it to the mixer +- Enable default nnnoiseless features in codec-lib and proxy-engine dependencies + ## 2026-04-10 - 1.17.1 - fix(proxy-engine,codec-lib,sip-proto,ts) preserve negotiated media details and improve RTP audio handling across call legs diff --git a/nogit/voicemail/default/msg-1775840439400.wav b/nogit/voicemail/default/msg-1775840439400.wav new file mode 100644 index 0000000000000000000000000000000000000000..3a294b4efadadfde9131efc960c449900514cc25 GIT binary patch literal 46764 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

{Bo`_USoW{5H0 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 ZLy`uq#Sx|Hc=Y54G%zw0T>W(Z{{rx`^2z`J literal 0 HcmV?d00001 diff --git a/nogit/voicemail/default/msg-1775840447441.wav b/nogit/voicemail/default/msg-1775840447441.wav new file mode 100644 index 0000000000000000000000000000000000000000..425605fcf90d1f8831e85e0bea0689b3db759f6d GIT binary patch literal 19244 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 MtouD~tEOoG2J8qn-T(jq literal 0 HcmV?d00001 diff --git a/nogit/voicemail/default/msg-1775840454835.wav b/nogit/voicemail/default/msg-1775840454835.wav new file mode 100644 index 0000000000000000000000000000000000000000..f4abe9d098b5cce8656bb21cc6f7888dc6cc130a GIT binary patch literal 13164 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 {} @@ -301,12 +311,20 @@ impl CallManager { ); // Wire device leg to mixer. + // Use the device's preferred codec from its INVITE SDP, + // not the provider's negotiated codec. + let dev_pt = device_invite + .has_sdp_body() + .then(|| parse_sdp_endpoint(&device_invite.body)) + .flatten() + .and_then(|ep| ep.codec_pt) + .unwrap_or(sip_pt); if let Some(dev_remote_addr) = dev_remote { let dev_channels = create_leg_channels(); spawn_sip_inbound(dev_rtp_socket.clone(), dev_channels.inbound_tx); spawn_sip_outbound(dev_rtp_socket, dev_remote_addr, dev_channels.outbound_rx); if let Some(call) = self.calls.get(call_id) { - call.add_leg_to_mixer(&dev_leg_id, sip_pt, dev_channels.inbound_rx, dev_channels.outbound_tx) + call.add_leg_to_mixer(&dev_leg_id, dev_pt, dev_channels.inbound_rx, dev_channels.outbound_tx) .await; } } diff --git a/rust/crates/proxy-engine/src/mixer.rs b/rust/crates/proxy-engine/src/mixer.rs index ccbbc8c..4d57dbb 100644 --- a/rust/crates/proxy-engine/src/mixer.rs +++ b/rust/crates/proxy-engine/src/mixer.rs @@ -368,8 +368,8 @@ async fn mixer_loop( .unwrap_or_else(|_| vec![0.0f32; MIX_FRAME_SIZE]) }; // Per-leg inbound denoising at 48kHz. - // Skip for Opus/WebRTC legs — browsers already apply - // their own noise suppression via getUserMedia. + // Only for SIP telephony legs — WebRTC browsers + // already apply noise suppression via getUserMedia. let processed = if slot.codec_pt != codec_lib::PT_OPUS { TranscodeState::denoise_f32(&mut slot.denoiser, &pcm_48k) } else { diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 68e53fc..75ecc8b 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: 'siprouter', - version: '1.17.1', + version: '1.17.2', description: 'undefined' } diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 68e53fc..75ecc8b 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: 'siprouter', - version: '1.17.1', + version: '1.17.2', description: 'undefined' }