# Mediasoup stuck on "connecting" in \`transport.on("connectionstatechange", cb())\` on heroku

**URL:** <https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652>\
**Category:** Deployment & Scalability\
**Created:** [August 26, 2020, 9:33am UTC](https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652 "2020-08-26T09:33:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rotciv](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/rotciv/32/559_2.png) [@Rotciv](https://mediasoup.discourse.group/u/Rotciv)\
**Post date:** [August 26, 2020, 9:33am UTC](https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652/1 "2020-08-26T09:33:38Z")

</div>

Good day all, am relatively new to WebRTC and mediasoup, but ive read the documentation and everything tends to work fine on localhost but when i deploy my app on heroku the `transport.on("connectionstatechange", cb())` is always stuck on case “connecting”, i could guess the bug is from the `announcedIp`on `webRtcTransport.listenIps[]` but somehow i couldn’t get it working on Heroku, my second guess is that heroku is blocking the IP address somehow on how mediasoup works, nevertheless this works well on localhost but on production in heroku its stuck on connecting, please help me out, below it a copy of my config.ts file

```auto
export default {
  listenIp: '127.0.1.1',
  // listenPort: 3000,
  sslCrt: './keys/server.crt',
  sslKey: './keys/server.key',
  mediasoup: {
    // Worker settings
    worker: {
      rtcMinPort: 40000, //10000,
      rtcMaxPort: 49999, //10100,
      logLevel: 'warn',
      logTags: [
        'info',
        'ice',
        'dtls',
        'rtp',
        'srtp',
        'rtcp',
        'rtx',
        'bwe',
        'score',
        'simulcast',
        'svc',
      ],
    },
    // Router settings
    router: {
      mediaCodecs: [
        {
          kind: 'audio',
          mimeType: 'audio/opus',
          clockRate: 48000,
          channels: 2,
        },
        {
          kind: 'video',
          mimeType: 'video/VP8',
          clockRate: 90000,
          parameters: {
            'x-google-start-bitrate': 1000,
          },
        },
        {
          kind: 'video',
          mimeType: 'video/VP9',
          clockRate: 90000,
          parameters: {
            'profile-id': 2,
            'x-google-start-bitrate': 1000,
          },
        },
        {
          kind: 'video',
          mimeType: 'video/h264',
          clockRate: 90000,
          parameters: {
            'packetization-mode': 1,
            'profile-level-id': '4d0032',
            'level-asymmetry-allowed': 1,
            'x-google-start-bitrate': 1000,
          },
        },
        {
          kind: 'video',
          mimeType: 'video/h264',
          clockRate: 90000,
          parameters: {
            'packetization-mode': 1,
            'profile-level-id': '42e01f',
            'level-asymmetry-allowed': 1,
            'x-google-start-bitrate': 1000,
          },
        },
      ],
    },
    // WebRtcTransport settings
    webRtcTransport: {
      listenIps: [
        {
          ip: '127.0.0.1',
          announcedIp: null,
        },
      ],
      minimumAvailableOutgoingBitrate: 600000,
      maxSctpMessageSize: 262144,
      // Additional options that are not part of WebRtcTransportOptions.
      maxIncomingBitrate: 1500000,
      initialAvailableOutgoingBitrate: 1000000,
    },
  },
}

```

---

<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:** [August 26, 2020, 9:58am UTC](https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652/2 "2020-08-26T09:58:17Z")

</div>

> [@Rotciv](#):
>
> ```auto
> webRtcTransport: {
> listenIps: [
> {
> ip: '127.0.0.1',
> announcedIp: null,
> },
> ],
> 
> ```

> **[mediasoup :: F.A.Q.](https://mediasoup.org/faq/#running-mediasoup-in-hosts-with-private-ip)**
>
> Cutting Edge WebRTC Video Conferencing

---

<div class="post-metadata">

**Author:** ![Rotciv](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/rotciv/32/559_2.png) [@Rotciv](https://mediasoup.discourse.group/u/Rotciv)\
**Post date:** [August 26, 2020, 10:00am UTC](https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652/3 "2020-08-26T10:00:53Z")

</div>

Thanks for your quick reply, i immediately followed this link `https://mediasoup.discourse.group/t/difficulty-with-listen-ips-web-connection/1549/1` and am pretty sure the error is from Heroku ephemeral distribution of IP addresses, thanks for your reply, am currently reading the docs now

---

<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:** [August 26, 2020, 11:48am UTC](https://mediasoup.discourse.group/t/mediasoup-stuck-on-connecting-in-transport-on-connectionstatechange-cb-on-heroku/1652/4 "2020-08-26T11:48:59Z")

</div>

You need to know the public IP of your server or the public IP that your cloud provider redirects to your server.
