Support #2683
closedOutbound call from LiveKit trunk immediately rejected with 403 Forbidden — possibly related to pending KYC status?
0%
Description
We're trying to set up a call flow where our LiveKit Cloud voice agent places outbound calls through Cloudonix out to the PSTN. Every attempt is rejected immediately with a SIP 403 Forbidden, and we've ruled out everything we can configure ourselves. Details below, plus a specific question about our account's KYC status at the end.
Setup
- Inbound Trunk david-livekit: transport UDP, host 0.0.0.0/0 (LiveKit Cloud has no static outbound IP, so we can't allowlist by CIDR), port 5060, Prefix 0674219 (a fixed non-phone-number-like string we prepend to every dialed number ourselves, specifically to satisfy the platform's "Prefix must be distinct across all customers sharing 0.0.0.0/0" requirement — we hit that validation error with a blank Prefix and adjusted accordingly).
- Inbound Full INVITE Inspection: header X-Cloudonix-Auth, Exact match, against a shared-secret value we control.
- Application default-outbound-routing (Container Application): DNID Numbers table has an Active entry with matcher .* (Regular Expression) bound to this app, so any destination number should resolve to it per Cloudonix's own DNID documentation text. The app itself strips our 0674219 prefix back off and does with the real destination number.
- Domain Settings → Default Voice Application is also set to default-outbound-routing as a fallback.
- Outbound Trunk testing (the one we're trying to dial out through) is Active, UDP, pointed at our Bandwidth-facing SIP trunk — this is the same trunk verified working for other purposes.
What happens
Every attempt gets an instant (~150ms) 403 Forbidden, directly from your edge (172.24.51.85:5060), before anything reaches our Application/DNID logic — confirmed via Cloudonix's own Session Log, which shows only "Pre-created session from SIP INVITE" and nothing after it.
Raw SIP trace from our most recent attempt:
2026-07-20T21:10:16.229Z 161.115.178.214:9000 -> 172.24.51.85:5060 UDP
INVITE sip:067421916154487445@parkmyphone.cloudonix.net:5060;transport=udp SIP/2.0
...
X-Cloudonix-Auth: 66dac6a4f5a90b0f899707d6769642e07e411f3f
...
2026-07-20T21:10:16.386Z 172.24.51.85:5060 -> 161.115.178.214:9000 UDP
SIP/2.0 403 Forbidden
We've reproduced this identically across three different Inbound Trunk configurations (varying Prefix from blank, to "1", to our current distinct value), so we don't believe this is a Prefix, DNID, or Application configuration issue on our end. Our separate real inbound flow (Bandwidth → Cloudonix → LiveKit) works correctly end-to-end.
Question
We noticed our account's System settings show kyc: {"status":"pending"} (last updated 2025-10-14). Is this account not yet cleared for outbound PSTN call origination pending KYC review, and if so, what do we need to do to complete that review? If KYC isn't the cause, could you help us understand what else at the platform level could produce an immediate 403 like this?
Thanks,
David Perdue
Park My Phone
Updated by Nir Simionovich 4 days ago
Try sending your calls from LiveKit to 114e6ab5-2d45-345d-a527-27c138721d2f.sip.cloudonix.net - which is your Inbound Calls SIP Hostname.
The domain parkmyphone.cloudonix.net is reserved for your subscribers (IP Phones).