Exposing LiveKit status in site settings serializer

Actually you were right on the spot there. The official API is exactly doing a call to and parsing it like this

curl https://meta.discourse.org/voice/rooms.json -s | jq '.rooms[] | {name: .name, transport: .expected_transport}'

Which will give you the peer room transport.

voice_public_access is not an existing setting. What are you talking about?

Of course, you want to use auth on the API call to rooms.json to be able to fetch rooms only the current user have access to.