WebRTC handshake dropping on WebSocket Notification API subscription update

How does the WebSocket Notification API handle STUN negotiation when the Express middleware drops the JWT validation mid-stream? GC version sits at 2024-4.512.0. The Architect flow pushes a webrtc.session.started event, but the Node handler is seeing the connection reset before ICE candidates arrive.

The softphone client hangs on ringing, doing jack all. Latency checks out fine from the Chicago office, so this isn’t a network timeout. The middleware catches the subscription update, but the response payload looks garbage.

{
 "event": "webrtc.session.update",
 "data": {
 "status": "failed",
 "error": "jwt_token_expired_during_handshake",
 "ice_candidates": []
 }
}

The JWT refreshes every 55 seconds via cron, yet the handshake fails at the 40-second mark. Architect flow retries once, which just doubles the error logs.