# \[Flutter\] No audio when connecting to the mediasoup demo server

**URL:** <https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571>\
**Category:** mediasoup libraries\
**Created:** [February 12, 2020, 12:16pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571 "2020-02-12T12:16:37Z")\
**Posts on this page:** 19\
**Page:** 2

<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 27, 2020, 8:14am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/21 "2020-08-27T08:14:37Z")

</div>

> [@Ibragim](#):
>
> Everything perfect, mediasoup NodeJS server also saying that

ok, what does mediasoup NodeJS server say?

---

<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 28, 2020, 11:33am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/23 "2020-08-28T11:33:42Z")

</div>

> [@ibc](#):
>
> what does mediasoup NodeJS server say?

Let me repeat my question. You said:

> Everything perfect, mediasoup NodeJS server also saying that

So I ask you: what does your mediasoup NodeJS server say? “I got answer same as offer” is not a valid response, in fact it means absolutely nothing since mediasoup does not produce/consume SDPs.

---

<div class="post-metadata">

**Author:** ![Ibragim](https://avatars.discourse-cdn.com/v4/letter/i/e36b37/32.png) [@Ibragim](https://mediasoup.discourse.group/u/Ibragim)\
**Post date:** [August 31, 2020, 11:14am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/24 "2020-08-31T11:14:55Z")

</div>

Looks like flutter can’t resolve offer and answer from server for video

---

<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 31, 2020, 11:39am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/25 "2020-08-31T11:39:33Z")

</div>

Ok, you don’t answer direct and specific questions. Don’t expect more answers from me.

---

<div class="post-metadata">

**Author:** ![Ibragim](https://avatars.discourse-cdn.com/v4/letter/i/e36b37/32.png) [@Ibragim](https://mediasoup.discourse.group/u/Ibragim)\
**Post date:** [August 31, 2020, 11:57am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/26 "2020-08-31T11:57:14Z")

</div>

Here is coming video offer from webrtc demos

```auto
v=0
o=- 5506019393115635759 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 5ecd04c7-17a4-4441-9255-5cf5eefaeb78
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:gWxl
a=ice-pwd:Mf7xxeZXwKI1VJKedLSmCfdg
a=ice-options:trickle renomination
a=fingerprint:sha-256 52:E2:F0:E3:63:FA:68:8B:78:8E:F1:E0:9F:13:70:37:F9:3C:41:6D:5A:68:8B:57:2E:A1:91:32:E2:22:13:43
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:2583589951 cname:ncGWwvbSa7zYrtJZ
a=ssrc:2583589951 msid:5ecd04c7-17a4-4441-9255-5cf5eefaeb78 975df2f5-341b-4802-9835-24ade367de46
a=ssrc:2583589951 mslabel:5ecd04c7-17a4-4441-9255-5cf5eefaeb78
a=ssrc:2583589951 label:975df2f5-341b-4802-9835-24ade367de46
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 124 125
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:gWxl
a=ice-pwd:Mf7xxeZXwKI1VJKedLSmCfdg
a=ice-options:trickle renomination
a=fingerprint:sha-256 52:E2:F0:E3:63:FA:68:8B:78:8E:F1:E0:9F:13:70:37:F9:3C:41:6D:5A:68:8B:57:2E:A1:91:32:E2:22:13:43
a=setup:actpass
a=mid:video
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 red/90000
a=rtpmap:124 rtx/90000
a=fmtp:124 apt=127
a=rtpmap:125 ulpfec/90000
a=ssrc-group:FID 1560641331 3490930342
a=ssrc:1560641331 cname:ncGWwvbSa7zYrtJZ
a=ssrc:1560641331 msid:5ecd04c7-17a4-4441-9255-5cf5eefaeb78 6ee272f4-8882-409d-b758-450b3d041056
a=ssrc:1560641331 mslabel:5ecd04c7-17a4-4441-9255-5cf5eefaeb78
a=ssrc:1560641331 label:6ee272f4-8882-409d-b758-450b3d041056
a=ssrc:3490930342 cname:ncGWwvbSa7zYrtJZ
a=ssrc:3490930342 msid:5ecd04c7-17a4-4441-9255-5cf5eefaeb78 6ee272f4-8882-409d-b758-450b3d041056
a=ssrc:3490930342 mslabel:5ecd04c7-17a4-4441-9255-5cf5eefaeb78
a=ssrc:3490930342 label:6ee272f4-8882-409d-b758-450b3d041056

```

here is answer

```auto
v=0
o=- 3904721005637389161 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS 54752986-b410-472f-999e-5da5f287d621
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 105 13 110 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:s3Bu
a=ice-pwd:j81V9taPlwf5wNJQ7xAWeOvE
a=ice-options:trickle renomination
a=fingerprint:sha-256 BB:7C:E2:B4:6B:E4:03:7C:66:5C:A8:8A:1F:97:7F:DA:C2:42:78:4E:EB:89:DF:06:3F:F6:CC:43:2E:32:8F:5C
a=setup:active
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:2417119888 cname:3VtSTGpu9smHV320
a=ssrc:2417119888 msid:54752986-b410-472f-999e-5da5f287d621 4faa3928-09ee-480b-bbc9-b2769e355093
a=ssrc:2417119888 mslabel:54752986-b410-472f-999e-5da5f287d621
a=ssrc:2417119888 label:4faa3928-09ee-480b-bbc9-b2769e355093
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 127 124 125
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:s3Bu
a=ice-pwd:j81V9taPlwf5wNJQ7xAWeOvE
a=ice-options:trickle renomination
a=fingerprint:sha-256 BB:7C:E2:B4:6B:E4:03:7C:66:5C:A8:8A:1F:97:7F:DA:C2:42:78:4E:EB:89:DF:06:3F:F6:CC:43:2E:32:8F:5C
a=setup:active
a=mid:video
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:127 red/90000
a=rtpmap:124 rtx/90000
a=fmtp:124 apt=127
a=rtpmap:125 ulpfec/90000
a=ssrc-group:FID 3498875224 2800042824
a=ssrc:3498875224 cname:3VtSTGpu9smHV320
a=ssrc:3498875224 msid:54752986-b410-472f-999e-5da5f287d621 cb7aff57-7ed7-47e9-8a8e-2079f6f10fce
a=ssrc:3498875224 mslabel:54752986-b410-472f-999e-5da5f287d621
a=ssrc:3498875224 label:cb7aff57-7ed7-47e9-8a8e-2079f6f10fce
a=ssrc:2800042824 cname:3VtSTGpu9smHV320
a=ssrc:2800042824 msid:54752986-b410-472f-999e-5da5f287d621 cb7aff57-7ed7-47e9-8a8e-2079f6f10fce
a=ssrc:2800042824 mslabel:54752986-b410-472f-999e-5da5f287d621
a=ssrc:2800042824 label:cb7aff57-7ed7-47e9-8a8e-2079f6f10fce

```

---

<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 31, 2020, 1:18pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/27 "2020-08-31T13:18:49Z")

</div>

> [@Ibragim](#):
>
> Here is coming video offer from webrtc demos

Lovely

---

<div class="post-metadata">

**Author:** ![iluha](https://avatars.discourse-cdn.com/v4/letter/i/cab0a1/32.png) [@iluha](https://mediasoup.discourse.group/u/iluha)\
**Post date:** [September 4, 2020, 12:32pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/28 "2020-09-04T12:32:18Z")

</div>

Hi! Can you contact me via skype iluha90? I’ve got a commercial task related to current subject for you.

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 21, 2020, 5:52am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/29 "2020-09-21T05:52:50Z")

</div>

Hi, first of all, thank you so much for this project! You rock!  
Second, is there any advantage in using the flutter-webrtc package that you specify in the pubspec.yaml?

The latest version of [flutter\_webrtc 3.X](https://github.com/flutter-webrtc/flutter-webrtc/releases/tag/0.3.0) has added a host of improvements it seems.

---

<div class="post-metadata">

**Author:** ![yonatann](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/yonatann/32/227_2.png) [@yonatann](https://mediasoup.discourse.group/u/yonatann)\
**Post date:** [September 21, 2020, 6:10am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/30 "2020-09-21T06:10:08Z")

</div>

Hi,  
The reason I made this fork is that I had to quickly fix some bugs and add some additional functionality.  
I did post pull requests on all the changes that I made.

You are welcome to check if the latest version works as expected, if it does let me know and I’ll update the codebase to point to the latest flutter\_webrtc.

Cheers

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 21, 2020, 7:52am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/31 "2020-09-21T07:52:45Z")

</div>

Hi,  
So I used the latest flutter-webrtc code, and it seems they do not have rtc\_rtp\_sender.dart and receiver files.

Also I get this error from RTCPeerConnection:

> Error: The setter ‘onAddTrack2’ isn’t defined for the class ‘RTCPeerConnection’.

Rest everything seems fine after 2 changes:

```auto
webrtc.dart is now flutter_webrtc.dart
&
navigator.getUserMedia is now MediaDevices.getUserMedia

```

Do you have any thoughts as to what I can do here? I’m new to dart and am afraid to tamper with the flutter installation directory…

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 22, 2020, 9:17am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/32 "2020-09-22T09:17:03Z")

</div>

Hi Yonatan,  
If it’s not too much to ask, can you please send your socket connection backend? I’m trying to use NodeJS with [socket.io](http://socket.io) and for a web app, I used mediasoup in a certain way. However, your request response structure is a little confusing primarily because I’m new to dart. Can you please atleast show me how your server side socket requests are handled so that the link becomes clear to me?

---

<div class="post-metadata">

**Author:** ![yonatann](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/yonatann/32/227_2.png) [@yonatann](https://mediasoup.discourse.group/u/yonatann)\
**Post date:** [September 22, 2020, 1:35pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/33 "2020-09-22T13:35:08Z")

</div>

Hi Servo97,

I am using the Protoo package ([https://www.npmjs.com/package/protoo](https://www.npmjs.com/package/protoo)) it was written by Iñaki Baz Castillo who authored mediasoup.

I find it very well written and very convenient to use I’ve used it in several projects.

You can checkout the mediasoup demo server implementation - I’ve based a lot of my backend on these concepts:

> **[versatica/mediasoup-demo](https://github.com/versatica/mediasoup-demo)**
>
> mediasoup official demo application. Contribute to versatica/mediasoup-demo development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 24, 2020, 3:55am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/35 "2020-09-24T03:55:23Z")

</div>

Hi Yonatan, I have almost solved the entire communication puzzle. 1 last thing I can’t figure out is how are you setting the mediastream which you receive from other producers on the current consumer?

```auto
  connectToSocket() {
    if(null==_socket){
      print("Socket is null");
      return;
    }

    _socket.on("newProducers", (data){
      print("NEW PRODUCERS!");
      print(data);
      for(var producerId in data){
        print(producerId['producer_id']);
        getConsumeStream(producerId).then((data){
        });
      }
    });

    _socket.connect();
  }

  getConsumeStream(producerId) async{
    var rtpCapabilities = this.device.rtpCapabilities;
    var data = await _sendMessageWithACK('consume', {
      "rtpCapabilities":rtpCapabilities,
      "consumerTransportId": _recvTransport.id, // might be
      "producerId":producerId['producer_id']
    });
    var id, kind, rtpParameters = data;
    _recvTransport.consume(id:id, kind: kind, rtpParameters: rtpParameters);
    // var stream = new MediaStream();
    // stream.addTrack(consumer.track);
    // return {"consumer":consumer,"stream":stream,"kind":kind,};
  }

```

In the javascript implementation, the last 3 lines give me the stream from the consumer object. However, I can’t understand in where in your code do you get the remote stream from? This is the last thing that I need to figure out.

I can see that when you add a stream to your peer connection, you call onAddRemoteStream. But when I call \_recvTransport.consume(), it is not getting called. FYI, I’m not implementing your \_answer method (is that causing some issue?).

---

<div class="post-metadata">

**Author:** ![yonatann](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/yonatann/32/227_2.png) [@yonatann](https://mediasoup.discourse.group/u/yonatann)\
**Post date:** [September 24, 2020, 6:33am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/36 "2020-09-24T06:33:13Z")

</div>

Have a look in the media soup demo project, the relevant code is in [Room.js line 615](https://github.com/versatica/mediasoup-demo/blob/487f9156719fd22e12f6a4c54b1d5dbc46781b8b/server/lib/Room.js#L615)

You have to pass in the produce ID that is generated by the server, I am not sure what you are doing in the client with ‘consume’ message.

I suggest that you start from the working demo code and make your modifications on top of that.

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 24, 2020, 7:14am UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/37 "2020-09-24T07:14:28Z")

</div>

Hi, I’m sorry I didn’t update. The problem is solved. The error was that the data object actually does not separate like this in dart:

> var id, kind, rtpParameters = data;

So I had to call data[‘id’], blah, blah to send it to the \_recvTransport.consume function. Sorry for my noobness!

Also, Now I’m dealing with some weird error regarding cameras:  
android.hardware.camera2.CameraAccessException: CAMERA\_ERROR (3): cancelRequest:456: Camera 0: Error clearing streaming request: Function not implemented (-38)

Many people faced similar issues in pure android development environments. I don’t know if this problem is carried over to flutter from somewhere.

Anyhoo, I’m really grateful to you for making this amazing port! You seriously rock!

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 24, 2020, 12:49pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/38 "2020-09-24T12:49:04Z")

</div>

Hi Inaki, can you help me decide the webrtc transport options?  
My mediasoup server is running on NodeJS with [Socket.io](http://Socket.io) on my localhost. I use Nginx to reverse proxy my domain name to this localhost. In the config.js file, my configuration is as follows:

```auto
// WebRtcTransport settings
      webRtcTransport: {
          listenIps: [
            {
              ip: '0.0.0.0',      
              announcedIp:'127.0.0.1' // replace by public IP address
            }
          ],
          maxIncomingBitrate: 1500000,
          initialAvailableOutgoingBitrate: 1000000
      },

```

I am a little confused here as to what do these fields need to be. Shall I put my public IP here or keep it localhost?

TLDR: My NodeJS server is running on Localhost. So the outside communication is coming through Nginx. What are the appropriate values that I should put in these fields.

---

<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:** [September 24, 2020, 12:57pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/39 "2020-09-24T12:57:42Z")

</div>

No direct mentions, please. I’m not the only one in this forum.

Regarding your questions check the mediasoup API documentation and FAQ. I cannot explain these things again and again, we wrote docs for a reason.

---

<div class="post-metadata">

**Author:** ![Servo97](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/servo97/32/578_2.png) [@Servo97](https://mediasoup.discourse.group/u/Servo97)\
**Post date:** [September 24, 2020, 1:09pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/40 "2020-09-24T13:09:05Z")

</div>

I have obviously read the documentation, and I did not find my answer there, hence asking here.

This is the part of the documentation:[https://mediasoup.org/documentation/v3/mediasoup/api/#Router-methods](https://mediasoup.org/documentation/v3/mediasoup/api/#Router-methods)

Nowhere does it mention how to setup config.js for reverse proxy kind of scenarios. I’m sorry for bothering you, but I wouldn’t have asked if I found my answer somewhere on the internet / in the documentations.

---

<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:** [September 24, 2020, 1:19pm UTC](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571/41 "2020-09-24T13:19:59Z")

</div>

There is no “config.js” in mediasoup and your question is not related to the Router class at all. Check the mediasoup FAQ in the website.

[Previous page](https://mediasoup.discourse.group/t/flutter-no-audio-when-connecting-to-the-mediasoup-demo-server/571.md?page=1)
