# Muting a specific producer server side

**URL:** <https://mediasoup.discourse.group/t/muting-a-specific-producer-server-side/6163>\
**Category:** mediasoup libraries\
**Created:** [July 25, 2024, 9:49pm UTC](https://mediasoup.discourse.group/t/muting-a-specific-producer-server-side/6163 "2024-07-25T21:49:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![danrossi](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/danrossi/32/2659_2.png) [@danrossi](https://mediasoup.discourse.group/u/danrossi)\
**Post date:** [July 25, 2024, 9:49pm UTC](https://mediasoup.discourse.group/t/muting-a-specific-producer-server-side/6163/1 "2024-07-25T21:49:46Z")

</div>

I was wondering if there is a method when obtaining a producer to mute their audio server side ? The feature is built in node. I’m investigating a solution to do that server side instead of disabling the audio track client side.

The transport for the producer is created like so. So can muting be done on the transport ?

```auto
 createWebRtcTransport(meetings[socket.meetingId].router).then(transport => {
                        callback({
                            params: {
                                id: transport.id,
                                iceParameters: transport.iceParameters,
                                iceCandidates: transport.iceCandidates,
                                dtlsParameters: transport.dtlsParameters,
                                producersExist: !!producers.length
                            }
                        });

                        addTransport(transport, socket.meetingId, options.consumer, socket.id);
                    });

```

```auto
    async function createWebRtcTransport(router) {
    return new Promise(async (resolve, reject) => {
        try {
            let transport = await router.createWebRtcTransport({
                listenIps: [
                    {
                        ip: process.env.IP,
                        announcedIp: process.env.ANNOUNCED_IP,
                    }
                ],
            });

            transport.on('dtlsstatechange', dtlsState => {
                if (dtlsState === 'closed') {
                    transport.close()
                }
            });

            transport.on('close', () => { });

            resolve(transport);
        } catch (e) {
            reject(e)
        }
    });
}

```

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [July 25, 2024, 10:29pm UTC](https://mediasoup.discourse.group/t/muting-a-specific-producer-server-side/6163/2 "2024-07-25T22:29:48Z")

</div>

What feature is “built on node”? I don’t understand what you mean but Producer class in mediasoup server has pause() and resume() methods.

---

<div class="post-metadata">

**Author:** ![danrossi](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/danrossi/32/2659_2.png) [@danrossi](https://mediasoup.discourse.group/u/danrossi)\
**Post date:** [July 26, 2024, 12:41am UTC](https://mediasoup.discourse.group/t/muting-a-specific-producer-server-side/6163/3 "2024-07-26T00:41:54Z")

</div>

the node mediasoup api. That is what I might need, so I get their audio producer and pause it. Im modifying a current script and not across this api.
