Inbound SIP BYO trunk: Vapi answers 200 OK then se...
# support
s
Hi Vapi team, I’m integrating inbound SIP into Vapi using a BYO SIP trunk credential, and inbound calls are not being recorded in the dashboard. Account / trunk details OrgId: c72786ec-d64f-4f80-a79a-c47f504a73c2 Credential (BYO SIP trunk): 8516b872-087a-48ee-a1b0-c75c91413fe0 (name: Inbtel inbound (IP-auth)) Source gateway IP: 207.182.145.2 (UDP 5060) PBX/softswitch destination (Request-URI): sip:526627760699@8516b872-087a-48ee-a1b0-c75c91413fe0.sip.vapi.ai:5060 DID: 526627760699 Issue / behavior From the PCAP: Vapi replies 100 Trying and then 200 OK to the INVITE. We send ACK. After that, Vapi sends BYE and ends the call (various attempts: ~1.6s / ~30s / ~70s / ~89s). The call never appears in Dashboard → Calls, and GET /call returns nothing when searching the corresponding time window. Evidence (latest tests) CALL 1 — 2026-05-18 18:54:41 UTC Request-Line: INVITE sip:526627760699@8516b872-087a-48ee-a1b0-c75c91413fe0.sip.vapi.ai:5060 SIP/2.0 X-Trace-ID: 23287f3cce8689ea4d963540e95718d4 X-Call-Sid: 0898d81d-697e-4798-b48f-bc56a174c65b Vapi sends BYE at ~1.65s CALL 2 — 2026-05-18 18:55:10 UTC X-Trace-ID: 71cc51d53770a6583468b6e56a61d8d2 X-Call-Sid: b94fd2db-ab25-43be-bec4-b89086e6537e Vapi sends BYE at ~30.84s (I can attach the full PCAP if needed.) Request Could you please investigate (using the X-Trace-IDs above) why the inbound call is not being created/persisted under my org and why Vapi is sending BYE? Thanks. Saul Mariscal Z https://cdn.discordapp.com/attachments/1506015949793525920/1506015949936136393/dump_1_175.pcap?ex=6a0cba26&is=6a0b68a6&hm=f3159af541160bb8fb152a9667adc0bffba37e77997914b935baeff907ef7727&
a
Hi Saul, I can help troubleshoot this. From the behavior, it looks like Vapi is accepting the INVITE but failing to properly associate or persist the call session under your org before terminating with BYE. This could be related to SIP auth/IP trust, SDP/media negotiation, or trunk mapping on Vapi’s side. I’ve worked with Vapi BYO SIP trunks, SIP signaling, and PBX integrations, and I can help analyze the PCAP + SIP flow to pinpoint the issue quickly. Feel free to share the full PCAP and I’ll take a look. @Saul
s
Hi @Adam , thanks! Here's the masked PCAP (credential ID and caller numbers anonymized). Summary of what's happening: Carrier sends INVITE to sip:526627760699@XXXXXXXX.sip.vapi.ai:5060 (BYO SIP trunk credential domain) Vapi responds 100 Trying → 200 OK We send ACK Vapi sends BYE at ~1.6s / ~30s / ~70s / ~89s No Call record is created in Vapi dashboard or API (GET /call returns empty for that time window) Key trace IDs from the PCAP: X-Trace-ID: 23287f3cce8689ea4d963540e95718d4 — BYE at ~1.65s X-Trace-ID: 71cc51d53770a6583468b6e56a61d8d2 — BYE at ~30.84s The SIP signaling looks correct on our end. Do you have any idea why Vapi would accept the call but terminate with BYE without creating a Call record? https://cdn.discordapp.com/attachments/1506015949793525920/1506511718166040717/dump_masked.pcap?ex=6a151f5f&is=6a13cddf&hm=d89b29c16f4036604fd6bde56dabb53931334884d9bbcec84e9f3e83cf5c9bc7&
@User Bumping this — still blocked in production. X-Trace-IDs available for backend investigation. Please escalate to telephony/SIP team.
@User Team Bumping this — still blocked in production. X-Trace-IDs available for backend investigation. Please escalate to telephony/SIP team.
c
Hey Saul, Thanks for the detailed write-up and the PCAPs, really helped us dig into this quickly. We traced both calls using the X-Trace-IDs you shared. Your SIP signaling is correct, the INVITE reaches our edge, gets a 200 OK, and your ACK comes through fine. The issue is happening right after that. Once our system accepts the call, it looks up which assistant should handle the number 526627760699 under your org. That lookup is returning nothing, because 526627760699 hasn't been imported as a phone number in Vapi. The BYO SIP trunk credential handles authentication and routing to our edge, but the DID also needs to exist as a phone number object in your org and be linked to an assistant. Without that, our system has nowhere to route the call and sends BYE. To fix this, import the DID via the API: POST https://api.vapi.ai/phone-number Authorization: Bearer { "provider": "byo-phone-number", "number": "+526627760699", "credentialId": "8516b872-087a-48ee-a1b0-c75c91413fe0", "assistantId": "" } Once that's done, give it a test call and the BYE should stop. Let me know how it goes! Regards, Chiranjeet Vapi Support
s
Hi Chiranjeet! It worked! 🎉 Creating the DID as a byo-phone-number object with the credentialId and assistantId was the missing piece. Calls are now reaching the assistant correctly. Thank you for digging into the X-Trace-IDs and providing a clear solution. Really appreciated after several days of debugging!