# Turn and Stun server configuration

**URL:** <https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151>\
**Category:** Integration\
**Created:** [December 17, 2020, 1:10pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151 "2020-12-17T13:10:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![hdoru](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/hdoru/32/696_2.png) [@hdoru](https://mediasoup.discourse.group/u/hdoru)\
**Post date:** [December 17, 2020, 1:10pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/1 "2020-12-17T13:10:35Z")

</div>

Hello,  
How can I add mediasoup turn and stun server?  
What should I configure on server and client side?

---

<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:** [December 17, 2020, 1:17pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/2 "2020-12-17T13:17:39Z")

</div>

We write documentation for something. Please, don’t ask questions if you have not read the documentation of mediasoup and mediasoup-client.

---

<div class="post-metadata">

**Author:** ![hdoru](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/hdoru/32/696_2.png) [@hdoru](https://mediasoup.discourse.group/u/hdoru)\
**Post date:** [December 17, 2020, 1:30pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/3 "2020-12-17T13:30:24Z")

</div>

I have already researched their first documents before asking questions.  
but I could not find detailed information.

> **[mediasoup :: API](https://mediasoup.org/documentation/v3/mediasoup-client/api/)**
>
> Cutting Edge WebRTC Video Conferencing

This configuration is only valid for client side, server side?

---

<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:** [December 17, 2020, 1:37pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/4 "2020-12-17T13:37:47Z")

</div>

Ask yourself why you think that STUN and TURN settings are required in mediasoup server. Also take into account that this is not a generic WebRTC forum.

---

<div class="post-metadata">

**Author:** ![aetheon](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/aetheon/32/39_2.png) [@aetheon](https://mediasoup.discourse.group/u/aetheon)\
**Post date:** [December 17, 2020, 2:08pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/5 "2020-12-17T14:08:02Z")

</div>

you can start by checking [https://github.com/coturn/coturn](https://github.com/coturn/coturn) and how to use it in webrtc.  
to find more info you need to understand what that is for, is not really a mediasoup thing.

---

<div class="post-metadata">

**Author:** ![hdoru](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/hdoru/32/696_2.png) [@hdoru](https://mediasoup.discourse.group/u/hdoru)\
**Post date:** [December 17, 2020, 2:31pm UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/6 "2020-12-17T14:31:35Z")

</div>

Thank you, I found the answer to my question myself. It is enough to set the turn server on the client side.  
Add ice servers before creating createSend Transport

```auto
 transportOptions.iceServers =[
                        {
                            'urls': 'stun.l.google.com:19302'
                        }
                     ];
MediaSoupDevice.createSendTransport(transportOptions);

```

---

<div class="post-metadata">

**Author:** ![tallguy](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tallguy](https://mediasoup.discourse.group/u/tallguy)\
**Post date:** [December 18, 2020, 12:20am UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/7 "2020-12-18T00:20:54Z")

</div>

If your MediaSoup is on a public IP, you may not need STUN or TURN.

Per @ibc - “mediasoup server is Ice Lite, meaning that it does not require ICE candidates from clients but, instead, will wait for RTP in its open ports to know the client’s remote IP, port and transport protocol (UDP or TCP).”

Also See:

> **[ice-lite - WebRTC Glossary](https://webrtcglossary.com/ice-lite/)**
>
> ICE Lite is a common term used in the WebRTC environment. Learn more in the WebRTC Glossary where all relevant terms are explained! Learn more!

> **[MediaSoup and STUN/TURN Server](https://groups.google.com/g/mediasoup/c/CwsxtmCcrh4/m/puOJlEDLBwAJ)**

> **[RFC 5245 - Interactive Connectivity Establishment (ICE): A Protocol for...](https://tools.ietf.org/html/rfc5245#appendix-A)**

---

<div class="post-metadata">

**Author:** ![hdoru](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/hdoru/32/696_2.png) [@hdoru](https://mediasoup.discourse.group/u/hdoru)\
**Post date:** [December 18, 2020, 7:14am UTC](https://mediasoup.discourse.group/t/turn-and-stun-server-configuration/2151/8 "2020-12-18T07:14:47Z")

</div>

yes you are right, mediasoup does not need turn server when there is a public ip
