future-honey-73772
12/30/2025, 3:11 AMtall-airline-16756
12/30/2025, 3:11 AMtall-airline-16756
12/30/2025, 3:11 AMkrispEnabled (or krisp_enabled) on the trunk to true.
Enabling it at the trunk level applies Krisp to inbound phone caller audio before it reaches room participants, giving an extra, telephony-optimized layer of noise reduction that improves audio quality for agents and speech systems even when server-side NC is also active.
Sources: examples/bank-ivr | livekit/livekit_composite | DeepWiki | Using Noise Cancellation for SIP and WebRTC Participantsfuture-honey-73772
12/30/2025, 3:13 AMWhen using noise or background voice cancellation in the agent code, do not enable Krisp noise cancellation in the frontend. Noise cancellation models are trained on raw audio and might produce unexpected results if the input has already been processed by Krisp in the frontend.
Standard noise cancellation and the separate echo cancellation feature can be left enabled.tall-airline-16756
12/30/2025, 3:13 AMkrisp_enabled is applied to inbound PSTN/SIP caller audio before it enters the LiveKit room. Server-side noise cancellation (NC, BVC, BVCTelephony) that you run in the agent/telephony pipeline is a separate processing stage. Enabling krisp_enabled on the trunk is recommended for SIP use cases because it gives telephony-optimized noise reduction for caller audio and does not conflict with applying server-side NC to different streams or later in the pipeline.
So: do not enable Krisp twice on the same capture stream (e.g., frontend mic + agent code). But enabling krisp_enabled on the trunk for inbound phone callers while also using server-side NC for agent-side processing is appropriate and recommended.future-honey-73772
12/30/2025, 3:15 AMtall-airline-16756
12/30/2025, 3:16 AMkrisp_enabled on the SIP trunk applies Krisp noise suppression at the SIP media bridge (server-side) to the RTP audio from PSTN/SIP callers before it’s transcoded into WebRTC.
• How does that differ from NC / BVC / BVCTelephony?
◦ krisp_enabled — Krisp AI models run in the SIP bridge, optimized for narrowband telephony (8 kHz), and preprocess all inbound trunk audio.
◦ BVC / BVCTelephony / NC — these are agent-side noise filters applied in the Agent SDK/processing pipeline after audio is in the LiveKit room; BVCTelephony is the agent-optimized telephony variant.
• What method is used via the SIP trunk?
Krisp-powered, real-time noise suppression applied at the SIP bridge to incoming PSTN RTP streams (telephony-optimized models for narrowband audio).
• Practical guidance:
Use krisp_enabled=true for SIP trunks to ensure telephony-optimized preprocessing for all callers. Avoid running Krisp twice on the same capture stream (e.g., browser mic + agent code). You can skip agent-side BVCTelephony for calls already processed by trunk Krisp to save CPU, or apply agent-side filters only for non-SIP participants.
Sources: examples/bank-ivr | livekit/livekit_composite | DeepWiki | sip | livekit/livekit_composite | DeepWiki | examples/voice_agents | livekit/livekit_composite | DeepWiki | Turns overview | LiveKit docs | Using Noise Cancellation for SIP and WebRTC Participantsfuture-honey-73772
12/30/2025, 3:18 AMkrisp_enabled=true for SIP trunks to ensure telephony-optimized preprocessing for all callers. Avoid running Krisp twice on the same capture stream (e.g., browser mic + agent code). You can skip agent-side BVCTelephony for calls already processed by trunk Krisp to save CPU, or apply agent-side filters only for non-SIP participants.tall-airline-16756
12/30/2025, 3:18 AMkrisp_enabled on the trunk and disable server-side noise cancellation for SIP callers:
Short answer:
• Yes — enable krisp_enabled=true on the SIP trunk and disable agent-side BVCTelephony (or other Krisp-style NC) for SIP participants. This avoids running the same Krisp-style model twice on the same call and saves CPU.
• Keep agent-side noise cancellation (e.g., BVC) or other filters for non-SIP participants as needed.
Why:
• Trunk krisp_enabled runs Krisp at the SIP bridge on narrowband telephony audio and cleans inbound caller audio before it enters the room. Running BVCTelephony again on that same audio is redundant and may reduce quality or waste resources.
• Agent-side NC remains useful for streams that did not receive trunk preprocessing (browser mic, non-SIP callers) or for post-room processing that differs from trunk preprocessing.
If you want, tell me:
• How you currently detect SIP participants in your agent pipeline (participant metadata or kind), and I’ll suggest the exact conditional placement to skip BVCTelephony only for SIP callers.