Realtime voice behaviour not working properly on Mozilla firefox

I’m using gpt-realtime-mini-2025-12-15 for a voice to voice chatbot, In this im creating ephemeral token from OpenAI Realtime API and frontend is connecting with realtime session using this token only.
The complete functionality is working fine on chrome browser, but when the same thing is done on firefox browser, session is initializing correctly but after first voice response from AI, the session stop hearing and generating response. And after few minutes im getting this line on inspect tab:
WebRTC: ICE failed, add a STUN server and see about:webrtc for more details

see “https://community.openai.com/t/firefox-realtime-api-webrtc-voice-sessions-drop-deterministically-on-the-users-second-speech-turn/1380257/12

I’d first add explicit ICE servers when creating the RTCPeerConnection:

const pc = new RTCPeerConnection({
iceServers: [
{ urls: “stun:stun.l.google.com:19302” }
]
});

For production: I’d also use a proper TURN server, not only STUN, because some networks/browsers need relay support.

Thanks for posting this @ingsplazas, and appreciate the reference thread too. A few people seem to be hitting the same Firefox-specific behavior after the first voice turn.

Also good catch from @Vultieris. Firefox tends to be stricter around ICE/WebRTC handling than Chrome, so adding explicit ICE servers is worth trying:

const pc = new RTCPeerConnection({
  iceServers: [
    { urls: "stun:stun.l.google.com:19302" }
  ]
});

For production, a TURN server is probably the safer move since some Firefox/network combinations won’t maintain the media path reliably with STUN alone.

The fact that:

  • session initializes correctly
  • first response works
  • then audio dies
  • followed by ICE failed

…really points to the WebRTC connection collapsing rather than an issue with ephemeral tokens or the Realtime session itself.

Also curious which Firefox version you’re on, because this seems to be fixed in Firefox 151.0 from what a few folks are reporting.

Checking about:webrtc in Firefox can also help confirm whether candidates are failing or relay fallback never happens.

-Mark G.

This is still an issue for me on 151.0.2 (64-bit). The original reporter in the reference thread provided a great deal of detail, what may also help is the corresponding thread on the Firefox side where they discuss the ongoing issue:

Thanks for jumping in @victor9000.

For anyone seeing odd Realtime Voice behavior specifically in Firefox, the most useful next step is exactly what was suggested: open a ticket with support@openai.com and include:

  • Approximate timestamp(s) of the issue
  • Request ID(s), if available
  • Firefox version and OS
  • A brief description of what went wrong

That gives the team something concrete to trace on the backend. Once you have a case ID, sharing it in the thread can also help with tracking and follow-up.

If others are seeing the same Firefox-specific behavior, it would be helpful to mention whether it happens consistently or only intermittently.

-Mark G.