pulseaudio server should be allowed to autospawn when the daemon attempts to use pulseaudio
The preferred mode of operation of pulseaudio (and the one configured by default) is to autospawn the pulseaudio server on demand [0].
For some reason, the daemon disables AUTOSPAWN when attempting to connect to the pulseaudio server:
if (pa_context_connect(context_, nullptr, PA_CONTEXT_NOAUTOSPAWN, nullptr) < 0)
throw std::runtime_error("Could not connect pulseaudio context to the server");
This causes Jami to fallback to ALSA even when the daemon was built with pulseaudio unless a pulseaudio server is already running, which degrades the audio experience (lacking echo cancellation, among other features provided by pulseaudio).
[0] https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Running/