# stream over tcp and server over nat

**URL:** <https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547>\
**Category:** mediasoup-demo\
**Created:** [August 7, 2020, 2:49pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547 "2020-08-07T14:49:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![amiznikov](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@amiznikov](https://mediasoup.discourse.group/u/amiznikov)\
**Post date:** [August 7, 2020, 2:49pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/1 "2020-08-07T14:49:38Z")

</div>

Hello everyone, my mediasoup server over nat and use announceIp, that’s scheme is working great when I get traffic over udp, but If I change on tcp, it will not work, 'cause I can’t get right ice candidate.

---

<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 7, 2020, 2:56pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/2 "2020-08-07T14:56:13Z")

</div>

> [@amiznikov](#):
>
> 'cause I can’t get right ice candidate

Don’t expect much help with such a short problem description. If you cannot get the “right candidate” (whatever that means) do it right. No idea what you mean, sorry.

---

<div class="post-metadata">

**Author:** ![amiznikov](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@amiznikov](https://mediasoup.discourse.group/u/amiznikov)\
**Post date:** [August 7, 2020, 3:15pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/3 "2020-08-07T15:15:15Z")

</div>

I don’t know how to explain situation about candidate correctly, but for sure that If my mediasoup server over nat and I use flag forceTcp = true, It will not work. I mean I can’t get video or audio stream from server. Thanks for you response!

---

<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 7, 2020, 3:20pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/4 "2020-08-07T15:20:56Z")

</div>

Hard to help if you cannot explain the problem. You run the server behind NAT, you must prepare it to work with TCP as well by redirecting ports.

---

<div class="post-metadata">

**Author:** ![amiznikov](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@amiznikov](https://mediasoup.discourse.group/u/amiznikov)\
**Post date:** [August 7, 2020, 3:54pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/5 "2020-08-07T15:54:27Z")

</div>

Mediasoup is pairing ice candidate by iceLite. There are two ways mediasoup pairs candidate or not. That means I can get right candidate which may pair candidate(I think it’s obviously) or wrong candidate and I would get problem with connection server and client(video/audio).  
And I’m trying to explain. All about my server and protocol I described, I misunderstood which info you need more)  
Anyway, would you mean explain me that ‘redirecting port’? What is it? Maybe you know, what should I read about it? Thanks for advice!

---

<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 7, 2020, 4:23pm UTC](https://mediasoup.discourse.group/t/stream-over-tcp-and-server-over-nat/1547/6 "2020-08-07T16:23:48Z")

</div>

> [@amiznikov](#):
>
> There are two ways mediasoup pairs candidate or not

No idea what this means, sorry.

> [@amiznikov](#):
>
> would you mean explain me that ‘redirecting port’?

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