# Produce event not fired

**URL:** <https://mediasoup.discourse.group/t/produce-event-not-fired/904>\
**Category:** mediasoup libraries\
**Created:** [April 28, 2020, 3:10pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904 "2020-04-28T15:10:32Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![PierrickB](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/pierrickb/32/355_2.png) [@PierrickB](https://mediasoup.discourse.group/u/PierrickB)\
**Post date:** [April 28, 2020, 3:10pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904/1 "2020-04-28T15:10:32Z")

</div>

Hello there !

I will be quick. I’m creating a sendTransport correctly, and I’m trying to produce something with it.

Here is the code from creating my transport :

```auto
    const sendTransport: Transport = this.mediasoupDevice!.createSendTransport(
      producersTransportParams
    )

    if (sendTransport == null) {
      throw 'Could not cread producers transport'
    }

    // When we want to connect we need to fire a socket event to ask for ti
    sendTransport.on('connect', async () => {
      log.debug('[Mediasoup] - 📹 "connect" event for sendTransport')
      await connectTransport(TransportTypes.producer)
    })

    // When we want to produce some media, we need to send some data to the sever
    sendTransport.on(
      'produce',
      async ({ kind, rtpParameters, appData }, callback, errCallback) => {
        try {
          log.debug('[Mediasoup] - 📹 "produce" event for sendTransport')
          const id = await produceMedia(kind, rtpParameters)

          callback({ id })
        } catch (error) {
          errCallback(error)
        }
      }
    )

    const producer = await sendTransport.produce({
      track: webcamTrack,
      encodings,
      codecOptions: {
        videoGoogleStartBitrate: 1000
      }
    })

```

The “connect” event is raised correctly, and I’m connecting on the server side. But the `produce` event is never fired, and thus the `produce()` method never ends.

`log.debug(sendTransport.listeners('produce'))` indicates that the event has a listener, and the correct one.

So, can the `produce()` method fail silently before calling the event ? How can I debug that ?

Thanks !

---

<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 28, 2020, 3:25pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904/2 "2020-04-28T15:25:14Z")

</div>

> [@PierrickB](#):
>
> ```auto
> // When we want to connect we need to fire a socket event to ask for ti
> sendTransport.on('connect', async () => { 
> log.debug('[Mediasoup] - 📹 "connect" event for sendTransport')
> await connectTransport(TransportTypes.producer) })
> 
> ```

I’m pretty sure the bug is here and such a `connectTransport()` method (whichever it does) never completes.

BTW you are wrongly using the transport `connect` event since, obviously, you are not reading the `{ dtlsParameters }` object given as first argument in the event, nor you are calling the `callback` or `errback` second and third arguments.

---

<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 28, 2020, 3:25pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904/3 "2020-04-28T15:25:32Z")

</div>

Please, re-read the API doc about the transport `connect` event.

---

<div class="post-metadata">

**Author:** ![PierrickB](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/pierrickb/32/355_2.png) [@PierrickB](https://mediasoup.discourse.group/u/PierrickB)\
**Post date:** [April 28, 2020, 3:44pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904/4 "2020-04-28T15:44:48Z")

</div>

> BTW you are wrongly using the transport `connect` event since, obviously, you are not reading the `{ dtlsParameters }` object given as first argument in the event, nor you are calling the `callback` or `errback` second and third arguments.

I was naively using the ones I had stored server-side after creating the transport, is that wrong ?  
Thanks, that was it =\> I needed to call the callbacks. Shame on me.

---

<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 28, 2020, 3:51pm UTC](https://mediasoup.discourse.group/t/produce-event-not-fired/904/5 "2020-04-28T15:51:42Z")

</div>

> [@PierrickB](#):
>
> I was naively using the ones I had stored server-side after creating the transport, is that wrong ?

Extremely wrong 🙂
