Same here. We started seeing what appears to be a related SIP / Realtime issue around March 24, 2026 at approximately 08:30 JST (March 23, 2026 23:30 UTC).
Our setup is Twilio SIP → OpenAI Realtime API → webhook to Google Cloud Run.
In our case, we are not seeing the normal OpenAI webhook traffic reach our Cloud Run service for failed calls, so the failure seems to happen before our usual handling flow even starts. Because the webhook never arrives, we also see no /accept flow and no sideband WebSocket connection attempt in our logs.
This had been working before, and we did not deploy any relevant code or configuration changes around the time the issue started. We are also already using the GA Realtime setup with gpt-realtime, so this does not appear to line up with a scheduled beta migration issue.
This makes us suspect there may be a broader regression affecting new inbound SIP calls / SIP call handling on the OpenAI side, not just a single malformed SDP case.
@Sean-Der Could you please take a look? This seems broader than a single SDP formatting issue and may be affecting new inbound SIP calls starting around 2026-03-24 08:30 JST.
We are also experiencing the same issue. There have been no changes to the IP-PBX configuration or the webhook endpoint, but calls are not being connected.
Adding to this thread — I did some independent testing and can confirm the same behavior with additional detail.
Test setup: Raw Python TLS socket sending SIP INVITE directly to sip.api.openai.com:5061, no SIP stack, so the SDP content is fully controlled.
Results across SDP variations
SDP type
Response sequence
No SDP body
100 Trying → 400 (no body)
RTP/SAVP with SRTP/crypto
100 Trying → 400 (no body)
RTP/AVP PCMU/PCMA
100 Trying → 180 Ringing → 400 invalid_offer
RTP/AVP Opus
100 Trying → 180 Ringing → 400 invalid_offer
DTLS-SRTP (UDP/TLS/RTP/SAVPF)
100 Trying → 180 Ringing → 400 invalid_offer
Key observations
RTP/AVP offers (PCMU, PCMA, Opus) all reach 180 Ringing before being rejected — indicating the SIP ingress accepts the offer structure and attempts to route it, but something fails before the webhook fires.
The "param": "" field in the error JSON is empty — if a specific SDP field were invalid, we’d expect a non-empty param. This points away from an SDP formatting problem.
The webhook is never triggered regardless of SDP content or project ID.
Multiple project IDs tested — all behave identically.
Conclusion
The rejection is happening at OpenAI’s SIP ingress layer, after initial routing but before webhook dispatch. This doesn’t appear to be a caller-side configuration issue. Looks like a regression on OpenAI’s end.
x ACK x x “error”: {
x qqqqqqqqqqqqqqqqqqqqqqqqqq> x x “message”: “Invalid SDP offer.”,
x x x “type”: “invalid_request_error”,
x x x “code”: “invalid_offer”,
x x x “param”: “”
x x x }
x x x}