# No video output + Chat unavailable

**URL:** <https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614>\
**Category:** mediasoup-demo\
**Created:** [March 1, 2020, 5:10pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614 "2020-03-01T17:10:24Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sanix-Darker](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/sanix-darker/32/244_2.png) [@Sanix-Darker](https://mediasoup.discourse.group/u/Sanix-Darker)\
**Post date:** [March 1, 2020, 5:10pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/1 "2020-03-01T17:10:25Z")

</div>

After succeed to make mediasoup-demo works locally, i started a visio-conferency with other peers, but i can only see my video output and not others, how can i resolve this please ?

Am also having an issue with “Chat unavailable”, is there a configuration, i missed ? is there a way to make it work please ?  
This is my config.js :

```auto
/**
 * IMPORTANT (PLEASE READ THIS):
 *
 * This is not the "configuration file" of mediasoup. This is the configuration
 * file of the mediasoup-demo app. mediasoup itself is a server-side library, it
 * does not read any "configuration file". Instead it exposes an API. This demo
 * application just reads settings from this file (once copied to config.js) and
 * calls the mediasoup API with those settings when appropriate.
 */

const os = require('os');

module.exports =
{
	// Listening hostname (just for `gulp live` task).
	domain : process.env.DOMAIN || 'localhost',
	// Signaling settings (protoo WebSocket server and HTTP API server).
	https :
	{
		listenIp : '0.0.0.0',
		// NOTE: Don't change listenPort (client app assumes 4443).
		listenPort : process.env.PROTOO_LISTEN_PORT || 4443,
		// NOTE: Set your own valid certificate files.
		tls :
		{
			cert : process.env.HTTPS_CERT_FULLCHAIN || `${__dirname}/certs/RootCA.pem`,
			key : process.env.HTTPS_CERT_PRIVKEY || `${__dirname}/certs/RootCA.key`
		}
	},
	// mediasoup settings.
	mediasoup :
	{
		// Number of mediasoup workers to launch.
		numWorkers : Object.keys(os.cpus()).length,
		// mediasoup WorkerSettings.
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#WorkerSettings
		workerSettings :
		{
			logLevel : 'warn',
			logTags :
			[
				'info',
				'ice',
				'dtls',
				'rtp',
				'srtp',
				'rtcp',
				'rtx',
				'bwe',
				'score',
				'simulcast',
				'svc',
				'sctp'
			],
			rtcMinPort : process.env.MEDIASOUP_MIN_PORT || 40000,
			rtcMaxPort : process.env.MEDIASOUP_MAX_PORT || 49999
		},
		// mediasoup Router options.
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#RouterOptions
		routerOptions :
		{
			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
					}
				}
			]
		},
		// mediasoup WebRtcTransport options for WebRTC endpoints (mediasoup-client,
		// libmediasoupclient).
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#WebRtcTransportOptions
		webRtcTransportOptions :
		{
			listenIps :
			[
				{
					ip : process.env.MEDIASOUP_LISTEN_IP || '0.0.0.0',
					announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
				}
			],
			initialAvailableOutgoingBitrate : 1000000,
			minimumAvailableOutgoingBitrate : 600000,
			maxSctpMessageSize : 262144,
			// Additional options that are not part of WebRtcTransportOptions.
			maxIncomingBitrate : 1500000
		},
		// mediasoup PlainRtpTransport options for legacy RTP endpoints (FFmpeg,
		// GStreamer).
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#PlainRtpTransportOptions
		plainRtpTransportOptions :
		{
			listenIp :
			{
				ip : process.env.MEDIASOUP_LISTEN_IP || '0.0.0.0',
				announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
			},
			maxSctpMessageSize : 262144
		}
	}
};

```

 ![mediasoup](https://global.discourse-cdn.com/free1/uploads/mediasoup/original/1X/e89f334ce347b1baf76f1a87b525ac725f8a2624.jpeg)

---

<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:** [March 1, 2020, 9:59pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/2 "2020-03-01T21:59:59Z")

</div>

You can not use `listenIp.ip = "0.0.0.0"`. It must be a specific bindable IP in your host.

BTW are you reading the mediasoup documentation?

---

<div class="post-metadata">

**Author:** ![nj248591](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nj248591](https://mediasoup.discourse.group/u/nj248591)\
**Post date:** [April 19, 2020, 2:01pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/3 "2020-04-19T14:01:42Z")

</div>

I have the same problem. Iam using 127.0.0.1 as listenIp.ip.  
please guid

---

<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 19, 2020, 2:13pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/4 "2020-04-19T14:13:14Z")

</div>

Don’t use 127.0.0.1.

---

<div class="post-metadata">

**Author:** ![nj248591](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nj248591](https://mediasoup.discourse.group/u/nj248591)\
**Post date:** [April 19, 2020, 2:53pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/5 "2020-04-19T14:53:40Z")

</div>

now iam useing 192.168.0.111 but same issue.

This is how my code looks now. is there any thing else thay iam missing

````auto
/**
 * IMPORTANT (PLEASE READ THIS):
 *
 * This is not the "configuration file" of mediasoup. This is the configuration
 * file of the mediasoup-demo app. mediasoup itself is a server-side library, it
 * does not read any "configuration file". Instead it exposes an API. This demo
 * application just reads settings from this file (once copied to config.js) and
 * calls the mediasoup API with those settings when appropriate.
 */

const os = require('os');

module.exports =
{
	// Listening hostname (just for `gulp live` task).
	domain : process.env.DOMAIN || 'localhost',
	// Signaling settings (protoo WebSocket server and HTTP API server).
	https :
	{
		listenIp : '192.168.0.111',
		// NOTE: Don't change listenPort (client app assumes 4443).
		listenPort : process.env.PROTOO_LISTEN_PORT || 4442,
		// NOTE: Set your own valid certificate files.
		tls :
		{
			cert : process.env.HTTPS_CERT_FULLCHAIN || `/etc/ssl/certs/nginx-selfsigned.crt`,
			key : process.env.HTTPS_CERT_PRIVKEY || `/etc/ssl/private/nginx-selfsigned.key`
		}
	},
	// mediasoup settings.
	mediasoup :
	{
		// Number of mediasoup workers to launch.
		numWorkers : Object.keys(os.cpus()).length,
		// mediasoup WorkerSettings.
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#WorkerSettings
		workerSettings :
		{
			logLevel : 'warn',
			logTags :
			[
				'info',
				'ice',
				'dtls',
				'rtp',
				'srtp',
				'rtcp',
				'rtx',
				'bwe',
				'score',
				'simulcast',
				'svc',
				'sctp'
			],
			rtcMinPort : process.env.MEDIASOUP_MIN_PORT || 40000,
			rtcMaxPort : process.env.MEDIASOUP_MAX_PORT || 49999
		},
		// mediasoup Router options.
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#RouterOptions
		routerOptions :
		{
			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
					}
				}
			]
		},
		// mediasoup WebRtcTransport options for WebRTC endpoints (mediasoup-client,
		// libmediasoupclient).
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#WebRtcTransportOptions
		webRtcTransportOptions :
		{
			listenIps :
			[
				{
					ip : process.env.MEDIASOUP_LISTEN_IP || '192.168.0.111',
					announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
				}
			],
			initialAvailableOutgoingBitrate : 1000000,
			minimumAvailableOutgoingBitrate : 600000,
			maxSctpMessageSize : 262144,
			// Additional options that are not part of WebRtcTransportOptions.
			maxIncomingBitrate : 1500000
		},
		// mediasoup PlainTransport options for legacy RTP endpoints (FFmpeg,
		// GStreamer).
		// See https://mediasoup.org/documentation/v3/mediasoup/api/#PlainTransportOptions
		plainTransportOptions :
		{
			listenIp :
			{
				ip : process.env.MEDIASOUP_LISTEN_IP || '192.168.0.111',
				announcedIp : process.env.MEDIASOUP_ANNOUNCED_IP
			},
			maxSctpMessageSize : 262144
		}
	}
};```
````

---

<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 19, 2020, 3:03pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/6 "2020-04-19T15:03:05Z")

</div>

Do your homeworks and check your network, sorry.

---

<div class="post-metadata">

**Author:** ![nj248591](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nj248591](https://mediasoup.discourse.group/u/nj248591)\
**Post date:** [April 19, 2020, 7:35pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/7 "2020-04-19T19:35:21Z")

</div>

if it was so straight then i wont have asked in forum.  
if any one else can help. please guide.

---

<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 19, 2020, 7:43pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/8 "2020-04-19T19:43:11Z")

</div>

> [@nj248591](#):
>
> // NOTE: Don’t change listenPort (client app assumes 4443).  
> listenPort : process.env.PROTOO\_LISTEN\_PORT || 4442,

I don’t think you have even read the comment above the setting you have changed. And I don’t think you have any issue with the WebRTC layer but with the WebSocket layer of the mediasoup-demo (because you have set a different port in client and server).

---

<div class="post-metadata">

**Author:** ![nj248591](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nj248591](https://mediasoup.discourse.group/u/nj248591)\
**Post date:** [April 19, 2020, 7:46pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/9 "2020-04-19T19:46:28Z")

</div>

i ahve proxy passed 4443 to 4442 with nginx. its connecting.  
webscoket is workign fine.  
but there is log after sometime in console.

```auto
mediasoup-client:Transport connection state changed to disconnected 

```

---

<div class="post-metadata">

**Author:** ![nj248591](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nj248591](https://mediasoup.discourse.group/u/nj248591)\
**Post date:** [April 19, 2020, 7:47pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/10 "2020-04-19T19:47:28Z")

</div>

iam able to join room, change name, and changed name is reflecting on other device.

---

<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 19, 2020, 8:17pm UTC](https://mediasoup.discourse.group/t/no-video-output-chat-unavailable/614/11 "2020-04-19T20:17:00Z")

</div>

Yes, you have ICE connection problems. Check the forum, there are a recent topic about that.

TIP: you need to learn mediasoup and not just the demo project.
