実際には、あなたがまさにその通りだったのです。公式 API はまさにこのように呼び出しを行い、パースしています。
curl https://meta.discourse.org/voice/rooms.json -s | jq '.rooms[] | {name: .name, transport: .expected_transport}'
これにより、ピアルームのトランスポートが取得できます。
voice_public_access という設定は存在しません。何を言っているのですか?
もちろん、rooms.json への API 呼び出しには認証を使用し、現在のユーザーがアクセスできるルームのみを取得できるようにする必要があります。