# Cannot destructure property 'id' of '(intermediate value)' as it is undefined.

**URL:** <https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819>\
**Category:** mediasoup libraries\
**Created:** [September 30, 2020, 7:58pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819 "2020-09-30T19:58:51Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sonny93](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/sonny93/32/1620_2.png) [@Sonny93](https://mediasoup.discourse.group/u/Sonny93)\
**Post date:** [September 30, 2020, 7:58pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/1 "2020-09-30T19:58:51Z")

</div>

Hello I’m trying to create a video conferencing application based on Mediasoup but I get this error when I do a “transport.produce()” client-side.

```auto
Cannot destructure property 'id' of '(intermediate value)' as it is undefined.

```

I have no idea what it is due to, even after doing a lot of research, so I would like to know if you have a solution.

client-side

```auto
socket.once('transport.config', (data) => {
    if (!device) return;

    device.load({
        routerRtpCapabilities: { codecs: rtp.mediaCodecs, headerExtensions: rtp.headerExtensions }
    }).then(async () => {
        if (device.canProduce('video')) {
            const videoStream = await navigator.mediaDevices.getUserMedia({ video: true }).catch(console.error),
                videoTrack = videoStream.getVideoTracks()[0];

            const { sendTransport, rcvTransport } = data;
            console.log(rcvTransport);
            const transportSend = device.createSendTransport({ ...rcvTransport });
            transportSend.on('connect', async ({ dtlsParameters }, callback, errback) => {
                socket.emit('transport-connect', { dtlsParameters, transportId: rcvTransport.id });
                socket.once('transport-connect-response', callback);
            });
            transportSend.on('produce', async ({ kind, rtpParameters, appData }, callback, errback) => {
                socket.emit('transport-produce', {
                    transportId: rcvTransport.id,
                    kind,
                    rtpParameters,
                    appData
                });
                socket.once('transport-produce-response', callback);
            });
            transportSend.on('connectionstatechange', (connectionState) => console.log('TransportSend ConnectionState:', connectionState));
            transportSend.produce({ track: videoTrack }).then((producer) => {
                console.log('produced', producer);
            }).catch(console.error);
        } else {
            console.log('cant do video');
        }
    }).catch(console.error);
});

```

server-side

```auto
const sendTransport = await router.createWebRtcTransport({
    listenIps: [
        { ip: '127.0.0.1', announcedIp: null },
        { ip: '172.17.0.1', announcedIp: null },
    ],
    enableUdp: true,
    enableTcp: true,
    preferUdp: true
});
sendTransport.on('icestatechange', (icestate) => console.log('IceState =>', icestate));
socket.once('transport-connect', ({ transportId, dtlsParameters }) => {
    sendTransport.connect({ dtlsParameters });
    console.log('connecting');
    socket.emit('transport-connect-response');
});
socket.once('transport-produce', ({ transportId, kind, rtpParameters, appData }) => {
    console.log('producing', kind, rtpParameters);
    const produced = sendTransport.produce({ kind, rtpParameters, appData });
    socket.emit('transport-produce-response');
});
socket.emit('transport.config', {
    rcvTransport: {
        id: sendTransport.id,
        iceParameters: sendTransport.iceParameters,
        iceCandidates: sendTransport.iceCandidates,
        dtlsParameters: sendTransport.dtlsParameters,
        sctpParameters: sendTransport.sctpParameters
    }
});

```

Thank you in advance for your help.

---

<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:** [October 1, 2020, 7:37am UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/2 "2020-10-01T07:37:05Z")

</div>

First you cannot use [socket.io](http://socket.io) for request/response by using just [socket.io](http://socket.io) events. Learn about using request/response in [socket.io](http://socket.io) first (topic not covered by this forum).

Second, check again the transport “produce” event documentation. You must invoke the given “callback” with an Object with the “id” of the server-side created Producer as argument.

---

<div class="post-metadata">

**Author:** ![Sonny93](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/sonny93/32/1620_2.png) [@Sonny93](https://mediasoup.discourse.group/u/Sonny93)\
**Post date:** [October 1, 2020, 12:56pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/3 "2020-10-01T12:56:56Z")

</div>

Hello, thanks you for helping me.

I have no problem with [socket.io](http://socket.io), but i solved my problem by passing to the producer client-side callback, the producer id created server-side.

Thanks again 😉

---

<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:** [October 1, 2020, 1:37pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/4 "2020-10-01T13:37:31Z")

</div>

> [@Sonny93](#):
>
> I have no problem with [socket.io](http://socket.io)

No, but you will have as far as you try to create two producers at the same time.

---

<div class="post-metadata">

**Author:** ![nadirabbas](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/nadirabbas/32/918_2.png) [@nadirabbas](https://mediasoup.discourse.group/u/nadirabbas)\
**Post date:** [April 6, 2021, 11:01am UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/5 "2021-04-06T11:01:19Z")

</div>

your work is as good as you are a toxic person.

---

<div class="post-metadata">

**Author:** ![Sonny93](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/sonny93/32/1620_2.png) [@Sonny93](https://mediasoup.discourse.group/u/Sonny93)\
**Post date:** [April 6, 2021, 11:16am UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/6 "2021-04-06T11:16:26Z")

</div>

Euh wtf ?

---

<div class="post-metadata">

**Author:** ![nadirabbas](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/nadirabbas/32/918_2.png) [@nadirabbas](https://mediasoup.discourse.group/u/nadirabbas)\
**Post date:** [April 6, 2021, 11:55am UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/7 "2021-04-06T11:55:36Z")

</div>

his tone is very condescending in most of the posts.

---

<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:** [April 6, 2021, 11:58am UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/8 "2021-04-06T11:58:50Z")

</div>

Hi, @nadirabbas. You are banned from this forum and our GitHub repositories. Fuck you.

---

<div class="post-metadata">

**Author:** ![nadirabbas1](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/nadirabbas1/32/919_2.png) [@nadirabbas1](https://mediasoup.discourse.group/u/nadirabbas1)\
**Post date:** [April 6, 2021, 12:09pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/9 "2021-04-06T12:09:37Z")

</div>

yes, ban the person who tells you your reality, you moron.

---

<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:** [April 6, 2021, 12:40pm UTC](https://mediasoup.discourse.group/t/cannot-destructure-property-id-of-intermediate-value-as-it-is-undefined/1819/10 "2021-04-06T12:40:34Z")

</div>

Don’t worry, bunch of crap. Banned again.
