Server-Side Room Audio Denoising
Server-side room audio denoising is a room creation policy, not a participant join option. Your authenticated backend can request the ARNNDN profile when it creates a room. The account must have an eligible paid subscription, and the MediaSFU backend serving the room must have the capability enabled. If either condition is missing, an enabled request fails; do not quietly treat it as successful denoising.
Choose the room policy
Add one of these values to the server-side create-room request. The same field
can be supplied inside meetingRoomParams when that is how your create request
sets room options.
{"backendAudioDenoise":{"enabled":true,"profile":"arnndn"}}
{"backendAudioDenoise":{"enabled":false}}
If your create endpoint accepts room settings inside meetingRoomParams, the
equivalent enabled field is:
{"meetingRoomParams":{"backendAudioDenoise":{"enabled":true,"profile":"arnndn"}}}
Omit backendAudioDenoise entirely to inherit the account's saved room
default. Omission is not a request to enable the feature: if the account has
no enabled default, the room does not use server-side denoising. An explicit
enabled: false opts this room out even when the account default is on.
For example, an application backend can add the choice to the room request after authorizing its own host:
type RoomDenoise = { enabled: false } | { enabled: true; profile: 'arnndn' };
function withRoomDenoising<T extends Record<string, unknown>>(
createRequest: T,
choice: RoomDenoise | undefined,
): T & { backendAudioDenoise?: RoomDenoise } {
return choice === undefined
? createRequest
: { ...createRequest, backendAudioDenoise: choice };
}
// The authenticated backend forwards this request with its own MediaSFU
// credentials through the secure room-creation route.
const createRequest = withRoomDenoising(
{ action: 'create', duration: 60, capacity: 2, userName: 'host' },
{ enabled: true, profile: 'arnndn' },
);
Use the secure backend room proxy for the actual authorized request. Do not put reusable Cloud credentials in a browser or mobile build. This policy does not belong in the join request, and the SDK does not perform this processing on the participant device.
Browser echoCancellation and noiseSuppression are separate microphone
capture constraints. Keep the capture settings appropriate for each device;
server-side room denoising does not replace them. Test the room with the
devices and people you intend to support, and show the server's authorization
or availability error if the enabled policy is declined.