Bird SIP trunk → LiveKit integration for inbound PSTN calls (room routing + call control questions)

Rahul
Fri, 01 May 2026 10:34:18 +0000
Telephony

I’m building a POS-based calling system and evaluating a setup with:

Bird for PSTN (inbound calls, numbers, call control)

LiveKit for SIP trunk + WebRTC (agent-side audio in a web app)

Planned flow

1. Bird receives an inbound call

2. Backend resolves store/tenant and creates a LiveKit room

3. Agent joins the room via web app (WebRTC)

4. Bird bridges the call to LiveKit via SIP trunk

5. SIP participant joins the same room → audio flows

Questions / potential blockers

1. SIP → room routing

What’s the recommended way to map an incoming SIP call to a specific LiveKit room?

Can this be done reliably using:

Request-URI

Custom SIP headers

Any known limitations here?

2. SIP trunk setup

Any known issues using non-documented providers (like Bird) with LiveKit SIP?

Anything specific to watch for in terms of IP allowlisting or RTP/audio flow?

3. Call control timing

Is it reasonable to delay SIP bridging until the agent joins?

Or is it better to accept SIP immediately and handle waiting inside the room?

4. Concurrency

Any constraints or best practices for handling multiple simultaneous SIP calls (one room per call)?

5. Real-world gotchas

Any issues you’ve seen in production with:

One-way audio

SIP negotiation edge cases

Room dispatch behavior

Would really appreciate any guidance or real-world experience before I proceed further with this approach.

2 posts - 2 participants