Na verdade, você estava certíssimo. A API oficial faz exatamente uma chamada para isso e faz o parsing da seguinte forma:
curl https://meta.discourse.org/voice/rooms.json -s | jq '.rooms[] | {name: .name, transport: .expected_transport}'
Isso retornará o transporte da sala de voz.
voice_public_access não é uma configuração existente. Sobre o que você está falando?
Claro, você vai querer usar autenticação na chamada de API para rooms.json para poder buscar apenas as salas às quais o usuário atual tem acesso.