● BYO SIP Trunk: 403 "bad user format" — SBC drops...
# support
p
Call ID:
019e2604-017f-7000-a9aa-a7d265b6fcbe
sbcCallId:
e7622567-ca21-123f-c9b8-02e06ebd0cef
Timestamp: 2026-05-14T10:24:17Z Expected: SBC builds INVITE → sends to gateway → 401 challenge → digest auth → 200 OK Actual:
endedReason: call.in-progress.error-sip-outbound-call-failed-to-connect
,
Copy code
sipStatus:
  403
,
sipReason: "bad user format"
. Zero packets leave Vapi — confirmed by socat+tcpdump relay on gateway IP. SBC drops call before sending INVITE. Setup: - Org
34ba4bf7-b1ac-4d26-beac-4681966cee10
- PhoneNumber
21159428-b4ee-4fb1-abd1-bcaaea31d658
(byo-phone-number) - Credential
08deac52-89cd-40a4-b069-bdda50bdca25
(byo-sip-trunk → MMDsmart 144.24.181.117:5090 TCP) Test matrix (5 configs, ALL identical 403): | # | number | authUser | leadingPlus | E164check | sbcCallId | |---|---|---|---|---|---| | 1 | +12020000001 | ph2850x1 | true | false | b83fde1a-... | | 2 | +12020000001 | 12020000001 | true | false | db604891-... | | 3 | +12020000001 | 12020000001 | true | false (relay) | 3ec59cbf-... | | 4 | +12025550100 (NANP-valid) | 12020000001 | true | true (relay) | 85dfdea8-... | | 5 | 12020000001 (digits-only) | 12020000001 | false (relay) | false | e7622567-... | Already ruled out: - libphonenumber strict — test #4 used
+12025550100
(NPA 202, NXX 555, subscriber 0100 — all NANP-valid), still 403 - Leading
+
— test #5 digits-only, still 403 (was Composer AI's hypothesis) - authUsername format — both
ph2850x1
and
12020000001
fail same - Gateway misroute — relay capture confirms SBC never sends packet Need: 1. Exact From/To/R-URI/PAI constructed by SBC for sbcCallId
e7622567-ca21-123f-c9b8-02e06ebd0cef
2. Which validator rejects (regex/registry/other) 3. Does SBC enforce DID allocation check on byo-phone-number? Composer AI already opened internal escalation but did not provide a ticket ID. Posting here for redundancy + visibility
a
Hi, I’d be happy to help investigate this SIP trunk issue. Since the SBC is rejecting the call with 403 bad user format before any INVITE leaves Vapi, it sounds like an internal validation or formatting problem on the outbound routing side. I can help review your SIP setup, headers, and trunk configuration to pinpoint what’s causing the rejection and suggest a fix. Feel free to message me if you’d like me to take a closer look. @pbmaza
p
help?
c
Hi, We checked the issue and Vapi is successfully sending the SIP INVITEs to your provider. However, your provider is responding with a
403
rejection (
bad user format
) as shown in the attached PCAP file. This appears to be an issue on the provider side rather than Vapi. Please share the PCAP with your SIP provider and ask them why the INVITE is being rejected. Also, please note that the local/private IPs shown in the PCAP are not the actual public source IPs used when traffic leaves our infrastructure. https://cdn.discordapp.com/attachments/1504439332050698350/1505949854969495673/export_e7622567-ca21-123f-c9b8-02e06ebd0cef.pcap?ex=6a0c7c98&is=6a0b2b18&hm=7d1cc68f6ec08590d64a9982ee5ec2f4cfd553baece5c0047f90b2e438a378fe&