microscopic-jackal-49366
07/25/2025, 9:09 AMmicroscopic-jackal-49366
07/25/2025, 9:19 AM<https://github.com/livekit/livekit/tree/master|master>
by boks1971
<https://github.com/livekit/livekit/commit/e3155b146be9db6da09a2171b3b77597b2d0d719|e3155b14>
- Get to the point of establishing subscriber peer connection. (#3821)
livekit/livekitmicroscopic-jackal-49366
07/25/2025, 10:53 PMmicroscopic-jackal-49366
07/27/2025, 4:13 AMmicroscopic-jackal-49366
07/27/2025, 10:57 AM<https://github.com/livekit/client-sdk-swift/tree/main|main>
by hiroshihorie
<https://github.com/livekit/client-sdk-swift/commit/f37bbd260d61e165084962db822c79f995f1a113|f37bbd26>
- Update code formatting (#741)
livekit/client-sdk-swiftmicroscopic-jackal-49366
07/28/2025, 12:20 AMCode=101 "Timed out"
error on a real iOS device during the WebRTC media connection phase. This occurs even when connecting to a fully verified server infrastructure that is proven to be working correctly with command-line diagnostic tools.
The initial signaling handshake (WebSocket upgrade) succeeds, but the connection never reaches the .connected
state. The issue is also reproducible using the official agent-starter-swift
example project, which I think points to a potential issue within the SDK itself rather than application-specific code.
SDK Version
2.6.1
iOS/macOS Version
iOS 18.5
Xcode Version
16.4
Steps to Reproduce
1. Set up a self-hosted LiveKit server (1.9.0
) on AWS EKS, fronted by an Nginx Ingress Controller and an AWS Network Load Balancer configured for TCP/TLS passthrough.
2. Set up and configure a Stunner TURN server, also on EKS.
3. Verify the entire server stack is working using wscat
(which connects successfully) and the WebRTC Trickle ICE tester (which successfully gathers srflx
and relay
candidates).
4. Generate a valid room token using the official livekit-server-sdk
for Node.js.
5. Attempt to connect from a real iOS device using the official agent-starter-swift
example project with a hardcoded server URL and token.
6. Observe that the connection times out after approximately 10 seconds.
Expected behavior
The room.connect(...)
call should successfully complete, and the `RoomDelegate`'s connection state should transition to .connected
without timing out.
Screenshots
Not applicable.
Logs
1. Nginx Ingress Log (Server-Side Success)
This log from the Nginx Ingress controller shows a successful 101 Switching Protocols
response, proving the WebSocket handshake is working.
[CLIENT_IP] - - [27/Jul/2025:23:32:32 +0000] "GET /rtc?access_token=[VALID_TOKEN]... HTTP/1.1" 101 4368 "-" "[APP_NAME]/1 CFNetwork/..." 797 10.304 [UPSTREAM_SERVICE] [] [UPSTREAM_IP]:7880 0 10.305 101 [REQUEST_ID]
2. Xcode Log (Client-Side Handshake Success)
This log from Xcode shows the SDK successfully receiving the server's connection response right before the timeout occurs.
swift
Room.signalClient(_:didReceiveConnectResponse:) ServerInfo(edition: standard, version: 1.9.0, protocol: 16, region: , nodeID: ND_NUwx7js9mrHm, debugInfo: )
3. Xcode Log (Client-Side Timeout Error)
This is the final error reported by the SDK after the media connection fails to establish.
swift
Live Session: Optional(Error Domain=io.livekit.swift-sdk Code=101 "Timed out" UserInfo={NSLocalizedDescription=Timed out})
Xcode Logs:
`Room.connect(urltokenconnectOptionsroomOptions) Connecting to room...
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.cleanUp(withErrorisFullReconnect) withError: nil, isFullReconnect: false
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.cleanUp(withError:) withError: nil
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.cleanUpParticipants(isFullReconnectnotify) notify: true
Room Connection State: .disconnected
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Broadcast stopped
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.init(delegateconnectOptionsroomOptions:) connectionState: .disconnected -> .connecting, reconnectMode: nil
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.connect(urltokenconnectOptionsroomOptions) Concurrent enable microphone mode: true
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.cleanUp(withError:) withError: nil
Connection state changed: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] ConnectivityListener.init() initial path: none, has: false
Room Connection State: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.connect(_ connectOptionsreconnectModeparticipantSidadaptiveStream) Connecting with url: wss://[YOUR_LIVEKIT_DOMAIN]/rtc?access_token=[YOUR_ACCESS_TOKEN]&protocol=12&sdk=swift&version=2.6.1&os=iOS&os_version=18.5&device_model=[DEVICE_MODEL]&auto_subscribe=1&adaptive_stream=0
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.init() .disconnected -> .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] ConnectivityListener.set(pathnotify) status: satisfied, interfaces: ["wifi-27", "cellular-2"], gateways: [[GATEWAY_IP]:0, fe80:da07b6fffe718904%en0%en0.0], activeIp: Optional("[LOCAL_IP]")
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.connect(_ connectOptionsreconnectModeparticipantSidadaptiveStream) Did enter WebSocket message loop...
2025-07-28T093538-0700 info LiveKitSDK: [LiveKit] Room.signalClient(_didReceiveConnectResponse) ServerInfo(edition: standard, version: 1.9.0, protocol: 16, region: , nodeID: [NODE_ID], debugInfo: )
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] AsyncCompleter.wait(timeout:) Join response id: [COMPLETER_ID] waiting for milliseconds(7000)
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient._restartPingTimer() ping/pong starting with interval: 5, timeout: 15
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] SignalClient.init() .connecting -> .connected
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] LocalParticipant.set(enabledPublishCodecs:) enabledPublishCodecs: video/VP8, video/H264, video/VP9, video/AV1, audio/opus, audio/red
Room Connection State: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.configureTransports(connectResponse:) Configuring transports with JOIN response...
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.configureTransports(connectResponse:) subscriberPrimary: true
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Transport.init(configtargetprimarydelegate)
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Transport.peerConnectionShouldNegotiate(_:) ShouldNegotiate for publisher
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.signalClient(_didReceiveOffer) Received offer, creating & sending answer...
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] AsyncCompleter<()>.wait(timeout:) Primary transport connect id: [COMPLETER_ID] waiting for milliseconds(10000)
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.transport(_didGenerateIceCandidate) sending iceCandidate
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Transport.peerConnection(_didChange) [Connect] Transport(subscriber) did update state: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.transport(_didUpdateState) target: subscriber, connectionState: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Transport.peerConnection(_didChange) [Connect] Transport(publisher) did update state: .connecting
2025-07-28T093538-0700 debug LiveKitSDK: [LiveKit] Room.transport(_didUpdateState) target: publisher, connectionState: .connecting
2025-07-28T093541-0700 debug LiveKitSDK: [LiveKit] Room.signalClient(_didUpdateParticipants) participants: [LiveKit.Livekit_ParticipantInfo: sid: "[PARTICIPANT_SID]" identity: "[PARTICIPANT_IDENTITY]" state: JOINED]
Room Connection State: .connecting
2025-07-28T093548-0700 debug LiveKitSDK: [LiveKit] AsyncCompleter<()>.wait(timeout:) Primary transport connect id: [COMPLETER_ID] timed out
2025-07-28T093548-0700 warning LiveKitSDK: [LiveKit] LocalAudioTrack.stop() Already stopped
2025-07-28T093548-0700 debug LiveKitSDK: [LiveKit] Room.cleanUp(withErrorisFullReconnect) withError: Optional(Error Domain=io.livekit.swift-sdk Code=101 "Timed out" UserInfo={NSLocalizedDescription=Timed out}), isFullReconnect: false
2025-07-28T093548-0700 debug LiveKitSDK: [LiveKit] SignalClient.cleanUp(withError:) withError: Optional(Error Domain=io.livekit.swift-sdk Code=101 "Timed out" U…
livekit/client-sdk-swiftmicroscopic-jackal-49366
07/28/2025, 2:05 AMmicroscopic-jackal-49366
07/29/2025, 12:11 AMInitial connection failed with ConnectionError: could not establish pc connection. Retrying with another region: https://[...].production.livekit.cloud {
room: "VuPeerServer-5fe3",
roomID: "RM_9JutvJx8QVYW",
participant: "VuOS-5fe3",
pID: "PA_Jf4ioNmHpFrD",
}
Server
• Version: Cloud
• Environment: Cloud
Client
• SDK: js (using WebRTC polyfills)
• Version: 2.8.1
To Reproduce
Steps to reproduce the behavior:
1. Create access token
2. Use access token to connect to room
3. See error
Expected behavior
LiveKit connects without issue on first try.
Additional context
This is running in the bun runtime which doesn't natively support WebRTC. I added a WebRTC polyfill that I've used successfully with other WebRTC libraries.
livekit/livekitmicroscopic-jackal-49366
07/29/2025, 12:50 AMmicroscopic-jackal-49366
07/29/2025, 7:51 AMmicroscopic-jackal-49366
07/29/2025, 8:45 AM<https://github.com/livekit/livekit/tree/master|master>
by anunaym14
<https://github.com/livekit/livekit/commit/5e483e7554e5afbf254acf84e3ec0aa6e108e758|5e483e75>
- update readme (#3809)
livekit/livekitmicroscopic-jackal-49366
07/29/2025, 9:15 AMmicroscopic-jackal-49366
07/29/2025, 10:36 AMmicroscopic-jackal-49366
07/30/2025, 9:54 AMmicroscopic-jackal-49366
07/30/2025, 1:38 PMmicroscopic-jackal-49366
07/30/2025, 6:27 PMTraceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 853, in _init_live_session
res.raise_for_status()
~~~~~~~~~~~~~~~~~~~~^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status
raise ClientResponseError(
...<5 lines>...
)
aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/stt/stt.py", line 251, in _main_task
return await self._run()
^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 795, in _run
session_info = await self._init_live_session()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 857, in _init_live_session
raise APIConnectionError(f"Failed to initialize Gladia session: {str(e)}") from e
livekit.agents._exceptions.APIConnectionError: Failed to initialize Gladia session: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>' (body=None, retryable=True) {"tts": "livekit.plugins.gladia.stt.STT", "attempt": 2, "streamed": true, "pid": 43736, "job_id": "AJ_e6sWbLrcgVwQ"}
[DEBUG] Participant disconnected: sip_+18148852422, kind: 3
[DEBUG] SIP participant disconnected, setting disconnect event
2025-07-30 22:23:18,887 - DEBUG livekit.agents - stream closed {"participant": "sip_+18148852422", "source": "SOURCE_MICROPHONE", "pid": 43736, "job_id": "AJ_e6sWbLrcgVwQ"}
2025-07-30 22:23:20,503 - ERROR livekit.agents - AgentSession is closing due to unrecoverable error
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 853, in _init_live_session
res.raise_for_status()
~~~~~~~~~~~~~~~~~~~~^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status
raise ClientResponseError(
...<5 lines>...
)
aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/stt/stt.py", line 251, in _main_task
return await self._run()
^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 795, in _run
session_info = await self._init_live_session()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 857, in _init_live_session
raise APIConnectionError(f"Failed to initialize Gladia session: {str(e)}") from e
livekit.agents._exceptions.APIConnectionError: Failed to initialize Gladia session: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>' (body=None, retryable=True) {"pid": 43736, "job_id": "AJ_e6sWbLrcgVwQ"}
2025-07-30 22:23:20,505 - ERROR livekit.agents - Error in _stt_task
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 853, in _init_live_session
res.raise_for_status()
~~~~~~~~~~~~~~~~~~~~^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/aiohttp/client_reqrep.py", line 629, in raise_for_status
raise ClientResponseError(
...<5 lines>...
)
aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/stt/stt.py", line 251, in _main_task
return await self._run()
^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 795, in _run
session_info = await self._init_live_session()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/plugins/gladia/stt.py", line 857, in _init_live_session
raise APIConnectionError(f"Failed to initialize Gladia session: {str(e)}") from e
livekit.agents._exceptions.APIConnectionError: Failed to initialize Gladia session: 400, message='Bad Request', url='<https://api.gladia.io/v2/live>' (body=None, retryable=True)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/utils/log.py", line 16, in async_fn_logs
return await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/voice/audio_recognition.py", line 452, in _stt_task
async for ev in node:
...<3 lines>...
await self._on_stt_event(ev)
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/voice/agent.py", line 352, in stt_node
async for event in stream:
yield event
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/stt/stt.py", line 370, in __anext__
raise exc # noqa: B904
^^^^^^^^^
File "/Users/ibrahimebdulezizli/Documents/Development/livekittests/venv/lib/python3.13/site-packages/livekit/agents/stt/stt.py", line 258, in _main_task
raise APIConnectionError(
f"failed to recognize speech after {self._num_retries} attempts",
) from e
livekit/livekitmicroscopic-jackal-49366
07/31/2025, 12:29 AMmicroscopic-jackal-49366
07/31/2025, 6:04 AMmicroscopic-jackal-49366
07/31/2025, 10:41 AMmicroscopic-jackal-49366
08/01/2025, 12:34 AMmicroscopic-jackal-49366
08/01/2025, 1:11 AMmicroscopic-jackal-49366
08/01/2025, 9:35 AMmicroscopic-jackal-49366
08/01/2025, 1:20 PM<https://github.com/livekit/livekit/tree/master|master>
by boks1971
<https://github.com/livekit/livekit/commit/db4bc127e87b772c066d3325a1a6d3310eaeb0ec|db4bc127>
- Get to the point of connecting publisher PC and using it for async signalling (#3822)
livekit/livekitmicroscopic-jackal-49366
08/02/2025, 9:35 AMmicroscopic-jackal-49366
08/02/2025, 11:09 AMapi_key: key1
api_secret: secret1
ws_url: <ws://livekit-server:7880>
redis:
address: redis:6379
username: admin
password: admin
db: 0
use_tls: false
max_redirects: null
rtmp_port: 1935
whip_port: 8080
http_relay_port: 9090
logging:
json: false
level: debug
development: true
rtc_config:
udp_port: 7885
use_external_ip: true
enable_loopback_candidate: false
# cpu_cost:
# rtmp_cpu_cost: 2.0
# whip_cpu_cost: 2.0
And configured livekit-server in this way
port: 7880
redis:
address: redis:6379
username: admin
password: admin
db: 0
rtc:
port_range_start: 5000
port_range_end: 5010
tcp_port: 7881
use_external_ip: false
enable_loopback_candidate: false
keys:
key1: secret1
logging:
level: info
room:
max_participants: 10
enabled_codecs:
- mime: audio/opus
- mime: video/vp8
enable_remote_unmute: true
turn:
enabled: false
ingress:
rtmp_base_url: rtmp:///localhost:1935/live
whip_base_url: <http://livekit-ingress:8080/w>
And I am trying to connect OBS studio to livekit. When i'm connecting to livekit-server obs automatically close session, but when i'm trying to connect to livekit-ingress i had error in logs
time="2025-08-02T11:04:53Z" level=info msg="Change state: From = <Unknown>, To = NotConnected(Server)" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Handle SetChunkSize: Msg = &message.SetChunkSize{ChunkSize:0x1000}" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg=Connect logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Set win ack size: Size = 2147483647" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Set peer bandwidth: Size = 786432, Limit = 0" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Stream Begin: ID = 0" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Connect: ResponseBody = &message.NetConnectionConnectResult{Properties:message.NetConnectionConnectResultProperties{FMSVer:\"GO-RTMP/0,0,0,0\", Capabilities:31, Mode:1}, Information:message.NetConnectionConnectResultInformation{Level:\"status\", Code:\"NetConnection.Connect.Success\", Description:\"Connection succeeded.\", Data:amf0.ECMAArray{\"type\":\"go-rtmp\", \"version\":\"master\"}}}" logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg=Connected logger=ingress nodeID=NE_tghzbUVxffT3 state="NotConnected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Change state: From = NotConnected(Server), To = Connected(Server)" logger=ingress nodeID=NE_tghzbUVxffT3 state="Connected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Release stream...: StreamName = TfEcHgFGtzSi" logger=ingress nodeID=NE_tghzbUVxffT3 state="Connected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="FCPublish stream...: StreamName = TfEcHgFGtzSi" logger=ingress nodeID=NE_tghzbUVxffT3 state="Connected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Stream creating...: &message.NetConnectionCreateStream{}" logger=ingress nodeID=NE_tghzbUVxffT3 state="Connected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Change state: From = <Unknown>, To = Inactive(Server)" logger=ingress nodeID=NE_tghzbUVxffT3 state="Inactive(Server)" stream_id=1
time="2025-08-02T11:04:54Z" level=info msg="Stream created...: NewStreamID = 1" logger=ingress nodeID=NE_tghzbUVxffT3 state="Connected(Server)" stream_id=0
time="2025-08-02T11:04:54Z" level=info msg="Publisher is comming: &message.NetStreamPublish{CommandObject:interface {}(nil), PublishingName:\"TfEcHgFGtzSi\", PublishingType:\"live\"}" logger=ingress nodeID=NE_tghzbUVxffT3 state="Inactive(Server)" stream_id=1
2025-08-02T11:04:55.093Z INFO ingress service/service.go:283 failed retrieving ingress info {"nodeID": "NE_tghzbUVxffT3", "streamKey": "TfEcHgFGtzSi", "error": "no response from servers"}
time="2025-08-02T11:04:55Z" level=info msg="Reject a Publish request: Response = &message.NetStreamOnStatus{InfoObject:message.NetStreamOnStatusInfoObject{Level:\"error\", Code:\"NetStream.Publish.Failed\", Description:\"Publish failed.\"}}, Err = no response from servers" logger=ingress nodeID=NE_tghzbUVxffT3 state="Inactive(Server)" stream_id=1
time="2025-08-02T11:04:55Z" level=info msg="Server closed by error: Err = no response from servers" logger=ingress nodeID=NE_tghzbUVxffT3
2025-08-02T11:04:55.093Z INFO ingress rtmp/server.go:355 closing ingress RTMP session {"nodeID": "NE_tghzbUVxffT3", "streamKey": "TfEcHgFGtzSi", "resourceID": "RT_rgJ5tBsawFHZ"}
I run livekit-server and livekit-ingress in docker container, when i am connecting livekit-server to redis i had this error by the way
```
2025-08-02T110503.548Z ERROR livekit routing/redisrouter.go:216 status update delayed, possible deadlock {"delay": 30.548190705, "goroutines": "goroutine 210 [running]:\nruntime/pprof.writeGoroutineStacks({0x1d96600, 0xc001b08690})\n\t/usr/local/go/src/runtime/pprof/pprof.go:764 +0x6a\nruntime/pprof.writeGoroutine({0x1d96600?, 0xc001b08690?}, 0x20acb9f1?)\n\t/usr/local/go/src/runtime/pprof/pprof.go:753 +0x25\nruntime/pprof.(*Profile).WriteTo(0x1b0a841?, {0x1d96600?, 0xc001b08690?}, 0xc000011780?)\n\t/usr/local/go/src/runtime/pprof/pprof.go:377 +0x14b\ngithub.com/livekit/livekit-server/pkg/routing.(*RedisRouter).statsWorker(0xc0000ea410)\n\t/workspace/pkg/routing/redisrouter.go:215 +0x257\ncreated by github.com/livekit/livekit-server/pkg/routing.(*RedisRouter).Start in goroutine 1\n\t/workspace/pkg/routing/redisrouter.go:178 +0x7f\n\ngoroutine 1 [chan receive]:\ngithub.com/livekit/livekit-server/pkg/service.(*LivekitServer).Start(0xc0005293b0)\n\t/workspace/pkg/service/server.go:299 +0x10b6\nmain.startServer(0xc0004586c0)\n\t/workspace/cmd/server/main.go:296 +0x29d\ngithub.com/urfave/cli/v2.(*Command).Run(0xc0001bd4a0, 0xc0004586c0, {0xc000152120, 0x6, 0x6})\n\t/go/pkg/mod/github.com/urfave/cli/v2@v2.27.5/command.go:276 +0x7be\ngithub.com/urfave/cli/v2.(*App).RunContext(0xc000254e00, {0x1dacf68, 0x2c4c0e0}, {0xc000152120, 0x6, 0x6})\n\t/go/pkg/mod/github.com/urfave/cli/v2@v2.27.5/app.go:333 +0x5a5\ngithub.com/urfave/cli/v2.(*App).Run(...)\n\t/go/pkg/mod/github.com/urfave/cli/v2@v2.27.5/app.go:307\nmain.main()\n\t/workspace/cmd/server/main.go:185 +0x5c8\n\ngoroutine 79 [select]:\ngithub.com/livekit/protocol/utils/hwstats.(*CPUStats).monitorCPULoad(0xc000051980)\n\t/go/pkg/mod/github.com/livekit/protocol@v1.39.1-0.20250604205715-2227c44329ee/utils/hwstats/cpu.go:115 +0xb6\ncreated by github.com/livekit/protocol/utils/hwstats.NewCPUStats in goroutine 1\n\t/go/pkg/mod/github.com/livekit/protocol@v1.39.1-0.20250604205715-2227c44329ee/utils/hwstats/cpu.go:65 +0x159\n\ngoroutine 98 [IO wait]:\ninternal/poll.runtime_pollWait(0x7f389fd81f38, 0x72)\n\t/usr/local/go/src/runtime/netpoll.go:351 +0x85\ninternal/poll.(*pollDesc).wa…
livekit/livekitmicroscopic-jackal-49366
08/02/2025, 10:30 PM<https://github.com/livekit/livekit/tree/master|master>
by boks1971
<https://github.com/livekit/livekit/commit/5751692a2f1472a8768cd227571f161b4c86a2a0|5751692a>
- deps (#3829)
livekit/livekitmicroscopic-jackal-49366
08/04/2025, 8:08 AMmicroscopic-jackal-49366
08/04/2025, 8:32 AMmicroscopic-jackal-49366
08/04/2025, 9:40 AM<https://github.com/livekit/livekit/tree/master|master>
by nishadmusthafa
<https://github.com/livekit/livekit/commit/1fe337160a84df4094429881b33e9e7ccc14bf42|1fe33716>
- Fix: RingingTimeout was being skipped for transferParticipant (#3831)
livekit/livekitmicroscopic-jackal-49366
08/04/2025, 9:45 AM