Skip to content

Commit 6f1e8ff

Browse files
authored
Update proxy-calling-support-tutorial.md
1 parent 37891ea commit 6f1e8ff

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

articles/communication-services/tutorials/proxy-calling-support-tutorial.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@ ms.service: azure-communication-services
1212
ms.subservice: calling
1313
ms.custom: mode-other
1414
---
15-
# How to force calling traffic to be relayed and proxied across your own servers
15+
# How to force calling traffic to be proxied across your own servers
1616

17-
In certain situations, it might be useful to have all your client traffic be proxied to a TURN server that you can control. When the SDK is initializing, you can provide the details of your TURN servers that you would like the traffic to route to. Once enabled all the media traffic (audio/video/screen sharing) travels through the provided TURN servers instead of the Azure Communication Services defaults. When you define that a TURN server should be used wyen initializing the `CallClient`, all the calls to and from this `CallClient` will be using the provided TURN servers. This tutorial will guide on how to do provide your TURN configurations to the WebJS SDK.
17+
In certain situations, it might be useful to have all your client traffic proxied to a server that you can control. When the SDK is initializing, you can provide the details of your servers that you would like the traffic to route to. Once enabled all the media traffic (audio/video/screen sharing) travel through the provided TURN servers instead of the Azure Communication Services defaults. When you define that a TURN server should be used when initializing the `CallClient`, all the calls to and from this `CallClient` will be using the provided TURN servers. This tutorial will guide on how to have WebJS SDK calling traffic be proxied to servers that you control.
1818

1919
>[!IMPORTANT]
20-
> The custom proxy feature is available starting in the public preview version [1.13.0-beta.4](https://www.npmjs.com/package/@azure/communication-calling/v/1.13.0-beta.4) of the Calling SDK. Please ensure that you use this or a newer SDK when trying to use this feature. This quickstart uses the Azure Communication Services Calling SDK version greater than `1.13.0`.
20+
> The proxy feature is available starting in the public preview version [1.13.0-beta.4](https://www.npmjs.com/package/@azure/communication-calling/v/1.13.0-beta.4) of the Calling SDK. Please ensure that you use this or a newer SDK when trying to use this feature. This Quickstart uses the Azure Communication Services Calling SDK version greater than `1.13.0`.
2121
2222
[!INCLUDE [Public Preview](../includes/public-preview-include-document.md)]
2323

24-
## What is a STUN/TURN server?
25-
Many times establishing connection between two peers is not straightforward and a direct connection will not work because of many reasons - firewalls with strict rules, peers sitting behind a private network, etc. In many situations your device does not have a public IP address to establish a connection straightaway and so relaying data via a relay server, that is usually known to both peers, is a way to allow this connection to happen. STUN and TURN servers are the relay servers here. See [Network Traversal Concepts](../concepts/network-traversal.md) for more details on how ACS mitigates network challenges with STUN and TURN.
24+
## What is a TURN server?
25+
Many times, establishing a network connection between two peers is not straightforward. A direct connection will not work because of many reasons: firewalls with strict rules, peers sitting behind a private network, or computers are running in a NAT environment. To solve these network connection issues a common way to solve this is by using a TURN server. The term stands for Traversal Using Relays around NAT, and it is a protocol for relaying network traffic STUN and TURN servers are the relay servers here. See [Network Traversal Concepts](../concepts/network-traversal.md) for more details on how ACS mitigates network challenges with STUN and TURN.
2626

27-
## Providing your TURN servers to the SDK
28-
To provide the details of your TURN servers, you need to pass details of what TURN server to use as part of `CallClientOptions` while initializing the `CallClient`. See the quickstart on how to setup Voice and Video calling using the Web SDK at - [Azure Communication Services Web SDK](../quickstarts/voice-video-calling/get-started-with-video-calling.md?pivots=platform-web)).
27+
28+
## Providing your TURN servers details to the SDK
29+
To provide the details of your TURN servers, you need to pass details of what TURN server to use as part of `CallClientOptions` while initializing the `CallClient`. For more details on on to setup a call see [Azure Communication Services Web SDK](../quickstarts/voice-video-calling/get-started-with-video-calling.md?pivots=platform-web)) Quickstart on how to setup Voice and Video.
2930

3031
```js
3132
import { CallClient } from '@azure/communication-calling';
@@ -60,11 +61,14 @@ const callClient = new CallClient({
6061
}
6162
});
6263

64+
65+
66+
6367
// ...continue normally with your SDK setup and usage.
6468
```
6569

6670
> [!IMPORTANT]
67-
> Note that if you've provided your TURN server details while initializing the `CallClient`, all the media traffic will <i>exclusively</i> flow through these TURN servers. That means, other ice candidates will not be considered while trying to establish connectivity between peers i.e. only 'relay' candidates will be considered. More information on types of ice candidates can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/type). This behaviour might change in the future versions of the SDK.
71+
> Note that if you have provided your TURN server details while initializing the `CallClient`, all the media traffic will <i>exclusively</i> flow through these TURN servers. Any other ICE candidates that are normally generated when creating a call will not be considered while trying to establish connectivity between peers i.e. only 'relay' candidates will be considered. To learn more about different types of Ice candidates can be found [here](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/type).
6872
6973
> [!NOTE]
7074
> If the '?transport' query parameter is not present as part of the TURN url or is not one of these values - 'udp', 'tcp', 'tls', the default will behaviour will be UDP.
@@ -79,4 +83,3 @@ You can create a Linux virtual machine in the Azure portal using this guide - [Q
7983
Best spot to start from - [coturn turnserver README](https://github.com/coturn/coturn/blob/master/README.turnserver)
8084

8185
Once you've setup a TURN server, you can test it using the WebRTC Trickle ICE page - [Trickle ICE](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/).
82-
Add your server details here, select 'relay' in the ICE options section and click on 'Gather candidates':

0 commit comments

Comments
 (0)