Skip to content

Commit 71574dc

Browse files
Merge pull request #272656 from chengyuanlai-msft/patch-2
Update ACS Native Calling SDK proxy document
2 parents 678b896 + 366cfed commit 71574dc

File tree

4 files changed

+23
-14
lines changed

4 files changed

+23
-14
lines changed

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ CallNetworkOptions callNetworkOptions = new CallNetworkOptions();
3636
IceServer iceServer = new IceServer();
3737
iceServer.setUrls(Arrays.asList("turn:20.202.255.255"));
3838
iceServer.setUdpPort(3478);
39-
iceServer.setRealm("turn.azure.com");
39+
iceServer.setRealm("turn.azure.com"); // Realm information is required.
4040
iceServer.setUsername("turnserver1username");
4141
iceServer.setPassword("turnserver1password");
4242

@@ -45,16 +45,19 @@ callNetworkOptions.setIceServers(Arrays.asList(iceServer));
4545
// Supply the network options when creating an instance of the CallClient
4646
callClientOptions.setNetwork(callNetworkOptions);
4747
CallClient callClient = new CallClient(callClientOptions);
48-
49-
// ...continue normally with your SDK setup and usage.
5048
```
5149

5250
> [!IMPORTANT]
5351
> If you provided your TURN server details while you initialized `CallClient`, all the media traffic <i>exclusively</i> flows through these TURN servers. Any other ICE candidates that are normally generated when you create a call won't be considered while trying to establish connectivity between peers. That means only `relay` candidates are considered. To learn more about different types of Ice candidates, see [RTCIceCandidate: type property](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/type).
5452
55-
Currently, the Android SDK supports only <b>one IPv4 address</b> and <b>UDP</b> protocol for media proxy. Any URLs in non-ipv4 format are ignored. When multiple URLs are provided, only the last one is used by the SDK. If a UDP port isn't provided, a default UDP port 3478 is used.
53+
Currently, the Android SDK supports only <b>one single IPv4 address</b> and <b>UDP</b> protocol for media proxy. If a UDP port isn't provided, a default UDP port 3478 is used. The SDK will throw an `Failed to set media proxy` error when calling `setIceServer` with unsupported input as follows:
54+
* More than one ICE server is provided in the IceServers list.
55+
* More than one url is provided in the IceServer's url list.
56+
* IPv6 url is provided in the url list.
57+
* Only TCP port is provided.
58+
* Realm information is not provided.
5659

57-
If any of the URLs provided are invalid, the `CallClient` initialization fails and throws errors accordingly.
60+
If the ICE server information provided is invalid, the `CallClient` initialization fails and throws errors accordingly.
5861

5962
### Set up a TURN server in Azure
6063
You can create a Linux virtual machine in the Azure portal. For more information, see [Quickstart: Create a Linux virtual machine in the Azure portal](/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu). To deploy a TURN server, use [coturn](https://github.com/coturn/coturn). Coturn is a free and open-source implementation of a TURN and STUN server for VoIP and WebRTC.

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,19 @@ callNetworkOptions.iceServers = [iceServer]
4545
// Supply the network options when creating an instance of the CallClient
4646
callClientOptions.network = callNetworkOptions
4747
self.callClient = CallClient(options: callClientOptions);
48-
49-
// ...continue normally with your SDK setup and usage.
5048
```
5149

5250
> [!IMPORTANT]
5351
> If you provided your TURN server details while you initialized `CallClient`, all the media traffic <i>exclusively</i> flows through these TURN servers. Any other ICE candidates that are normally generated when you create a call won't be considered while trying to establish connectivity between peers. That means only `relay` candidates are considered. To learn more about different types of Ice candidates, see [RTCIceCandidate: type property](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/type).
5452
55-
Currently, the iOS SDK supports only <b>one IPv4 address</b> and <b>UDP</b> protocol for media proxy. Any URLs in non-ipv4 format are ignored. When multiple URLs are provided, only the last one is used by the SDK. If a UDP port isn't provided, a default UDP port 3478 is used.
53+
Currently, the Android SDK supports only <b>one single IPv4 address</b> and <b>UDP</b> protocol for media proxy. If a UDP port isn't provided, a default UDP port 3478 is used. The SDK will throw an `Failed to set media proxy` error when calling `setIceServer` with unsupported input as follows:
54+
* More than one ICE server is provided in the IceServers list.
55+
* More than one url is provided in the IceServer's url list.
56+
* IPv6 url is provided in the url list.
57+
* Only TCP port is provided.
58+
* Realm information is not provided.
5659

57-
If any of the URLs provided are invalid, the `CallClient` initialization fails and throws errors accordingly.
60+
If the ICE server information provided is invalid, the `CallClient` initialization fails and throws errors accordingly.
5861

5962
### Set up a TURN server in Azure
6063
You can create a Linux virtual machine in the Azure portal. For more information, see [Quickstart: Create a Linux virtual machine in the Azure portal](/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu). To deploy a TURN server, use [coturn](https://github.com/coturn/coturn). Coturn is a free and open-source implementation of a TURN and STUN server for VoIP and WebRTC.

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,19 @@ callNetworkOptions.IceServers = new List<IceServer>() { iceServer }.AsReadOnly()
4545
// Supply the network options when creating an instance of the CallClient
4646
callClientOptions.Network = callNetworkOptions;
4747
CallClient callClient = new CallClient(callClientOptions);
48-
49-
// ...continue normally with your SDK setup and usage.
5048
```
5149

5250
> [!IMPORTANT]
5351
> If you provided your TURN server details while you initialized `CallClient`, all the media traffic <i>exclusively</i> flows through these TURN servers. Any other ICE candidates that are normally generated when you create a call won't be considered while trying to establish connectivity between peers. That means only `relay` candidates are considered. To learn more about different types of Ice candidates, see [RTCIceCandidate: type property](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/type).
5452
55-
Currently, Windows SDK supports only <b>one IPv4 address</b> and <b>UDP</b> protocol for media proxy. Any URLs in non-ipv4 format are ignored. When multiple URLs are provided, only the last one is used by the SDK. If a UDP port isn't provided, a default UDP port 3478 is used.
53+
Currently, the Android SDK supports only <b>one single IPv4 address</b> and <b>UDP</b> protocol for media proxy. If a UDP port isn't provided, a default UDP port 3478 is used. The SDK will throw an `Failed to set media proxy` error when calling `setIceServer` with unsupported input as follows:
54+
* More than one ICE server is provided in the IceServers list.
55+
* More than one url is provided in the IceServer's url list.
56+
* IPv6 url is provided in the url list.
57+
* Only TCP port is provided.
58+
* Realm information is not provided.
5659

57-
If any of the URLs provided are invalid, the `CallClient` initialization fails and throws errors accordingly.
60+
If the ICE server information provided is invalid, the `CallClient` initialization fails and throws errors accordingly.
5861

5962
### Set up a TURN server in Azure
6063
You can create a Linux virtual machine in the Azure portal. For more information, see [Quickstart: Create a Linux virtual machine in the Azure portal](/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu). To deploy a TURN server, use [coturn](https://github.com/coturn/coturn). Coturn is a free and open-source implementation of a TURN and STUN server for VoIP and WebRTC.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Tutorial: Proxy your Azure Communication Services calling traffic across your own servers'
2+
title: Tutorial - Proxy your Azure Communication Services calling traffic across your own servers
33
titleSuffix: An Azure Communication Services tutorial
44
description: Learn how to have your media and signaling traffic proxied to servers that you can control.
55
author: sloanster

0 commit comments

Comments
 (0)