How do I test the BVC telephony locally ?
# ask-ai
b
How do I test the BVC telephony locally ?
t
Thanks for reaching out, Boris. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I’ll help you test BVC telephony locally. You want to verify the telephony-optimized noise cancellation (BVCTelephony) and how it’s applied. Below are the recommended local steps and what each verifies. 1) Quick overview (what you can test locally) • Console mode: verifies your agent logic, participant-type detection, and that you select
BVCTelephony
for SIP vs
BVC
for WebRTC. Audio plugins aren’t applied to live audio in console mode, so this validates configuration and flow, not real audio filtering. • Dev mode (connects to a LiveKit server): lets you test with real SIP calls and hear the actual BVCTelephony processing. 2) Steps to test in console mode (logic/config verification) 1. In your agent code, detect participant kind and choose the filter: ◦ Use
BVCTelephony()
for SIP participants ◦ Use
BVC()
for WebRTC participants 1. Run the agent locally in console/mock mode:
Copy code
python agent.py console
1. Use the console run to confirm: ◦ Your AgentSession starts with the chosen noise filter in
RoomOptions
◦ The code path that sets
BVCTelephony
is executed when a SIP participant is detected 3) Steps to test with real telephony audio (dev mode) 1. Run the agent in dev mode:
Copy code
python agent.py dev
1. Make a real phone call via your SIP trunk or LiveKit phone number into the room so the participant is
PARTICIPANT_KIND_SIP
. 2. Confirm in logs and behavior that
BVCTelephony
is applied and evaluate audio quality (this validates actual noise cancellation). 4) Things to verify in both modes • Participant kind detection (
participant.kind
equals SIP when using SIP/phone). •
RoomOptions
or
AudioInputOptions
show the selected noise cancellation filter. • Logs show the chosen filter and session startup without errors. If you’d like, tell me: • Are you trying to validate only the configuration/logic (console) or the real audio behavior (dev with SIP)? • If dev, do you already have a SIP trunk/phone number connected so I can give the exact steps to place a test call? Sources: Using Noise Cancellation for SIP and WebRTC Participants | Voice AI quickstart | LiveKit docs | Simple Call Answering Agent | LiveKit docs | Simple Content Filter | LiveKit docs
b
Doesn't make sense how do I test BVC in dev mode? Also is it free to test? Given Krisp BVC is paid and I am in the free plan
t
Thanks — I’ll clarify how to test BVC (BVCTelephony) in dev mode and the cost implications. Short answers • How to test in dev mode: run your agent in dev mode so it connects to a real LiveKit room, then have a SIP caller join the room (participant.kind == SIP) so your agent picks
BVCTelephony
. • Is it free? Yes — using BVCTelephony in dev mode is covered by your agent session minutes. The free plan includes 1,000 free agent session minutes/month. Real phone/SIP trunk usage (call minutes) may incur telephony charges separate from agent minutes. What to do (step-by-step) 1. Ensure your agent chooses the telephony filter when it detects a SIP participant:
Copy code
if participant.kind == rtc.ParticipantKind.PARTICIPANT_KIND_SIP:
       filter = noise_cancellation.BVCTelephony()
   else:
       filter = noise_cancellation.BVC()
1. Run your agent in dev mode:
Copy code
python agent.py dev
This connects the agent to a live LiveKit room so real participants trigger the same code paths as production. 1. Place a real SIP call into the room (via your SIP trunk or LiveKit phone number). Confirm logs show the participant as SIP and that
BVCTelephony
is selected. 2. Evaluate audio quality — this validates actual BVCTelephony processing (console mode cannot validate real audio processing). Costs and limits • Agent session minutes: your free plan includes 1,000 free agent session minutes/month — running dev mode consumes these minutes. • Telephony call minutes: placing real SIP/phone calls may incur separate telephony charges from your SIP provider or LiveKit Phone Numbers. • There is no extra charge specifically for using BVCTelephony beyond the above usage; it does not require an additional paid add-on. If you want, tell me: • Do you already have a SIP trunk or LiveKit phone number connected? If not, I can walk you through options to place a test call or simulate SIP audio for dev testing. Sources: Using Noise Cancellation for SIP and WebRTC Participants | Simple Call Answering Agent | LiveKit docs | LiveKit Pricing | examples/other | livekit/livekit_composite | DeepWiki
b
For now I just want to test BVC. I will bring in a SIP number later
t
Got it — you want to test BVC now without SIP. Here’s a concise plan to validate BVC locally/dev-mode and cost notes. What you can test now • Console mode: verifies logic and that your code selects
BVC
for WebRTC participants. It does not validate real audio filtering. • Dev mode with a WebRTC participant: lets you test actual BVC audio processing by joining the LiveKit room from a browser or WebRTC client. Steps to test BVC with WebRTC (real audio) 1. Ensure your agent applies
BVC
for non-SIP participants:
Copy code
if participant.kind == rtc.ParticipantKind.PARTICIPANT_KIND_SIP:
       filter = noise_cancellation.BVCTelephony()
   else:
       filter = noise_cancellation.BVC()
1. Run the agent in dev mode:
Copy code
python agent.py dev
1. Join the same LiveKit room from a browser or WebRTC client (microphone enabled). That participant will be WebRTC, so
BVC
will be used. 2. Observe logs to confirm
BVC
is selected and listen to audio to evaluate noise cancellation. Cost notes • Testing BVC with WebRTC in dev mode consumes agent session minutes. The free plan includes 1,000 free agent session minutes/month, so testing now should be free as long as you stay within that limit. • No separate charge for using
BVC
. Telephony/SIP call minutes would be charged separately when you add a SIP number later. If you want, I can: • Provide a short browser client example to join the room, or • Show how to log/verify the selected noise filter in your agent logs. Which would be most helpful?