Enterprises with high-security requirements usually have firewalls that restrict employees from visiting unauthorized sites to protect internal information.
To ensure that enterprise users can connect to Agora's services through a firewall, Agora provides the cloud proxy service.
The following figure shows the working principles of the Agora cloud proxy service.
The Web SDK v3.4.0 optimizes the Agora cloud proxy architecture and enhances its connectivity in environments with restricted network access. The optimized Agora cloud proxy service also supports regional connection. If you use the Web SDK v3.4.0 or later (the 4.x not included), follow these steps to set up a cloud proxy service:
Contact support@agora.io and provide the following information:
Before joining a channel, call the startProxyServer
method to use the cloud proxy service and set type
as 3
, and then test if the audio call and video call or the live streaming works.
var client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'});
// Use the cloud proxy.
client.startProxyServer(3);
// Join a channel.
client.init(key, function() {
client.join(channelKey, channel, null, function(uid) {
/** ... **/
})
})
To stop using the cloud proxy, call the stopProxyServer
method after leaving the channel.
// After using the cloud proxy and joining the channel.
/** ... **/
// Leave the channel and disable the cloud proxy.
client.leave(()=>{
client.stopProxyServer()
})
// Join the channel.
client.join(channelKey, channel, null, function(uid) {
/** ... **/
}
If you use any version between the Web SDK v2.5.1 to v3.3.1, follow these steps to set up a cloud proxy service:
Contact support@agora.io and provide the following information:
Add the following test IP addresses and ports to your whitelist.
The sources are the clients that integrate the Agora Web SDK.
Protocol | Destination | Port | Purpose |
---|---|---|---|
TCP | 23.236.115.138 | 443, 4000 3433 - 3460 |
Message data transmission Media data exchange |
TCP | 69.28.51.149 | 443, 4000 3433 - 3460 |
Message data transmission Media data exchange |
TCP | 164.52.87.25 | 443, 4000 3433 - 3460 |
Message data transmission Media data exchange |
TCP | 47.74.211.17 | 443 | Edge node communication |
TCP | 52.80.192.229 | 443 | Edge node communication |
TCP | 52.52.84.170 | 443 | Edge node communication |
TCP | 47.96.234.219 | 443 | Edge node communication |
UDP | 23.236.115.138 | 3478 - 3500 | Media data exchange |
UDP | 164.52.87.25 | 3478 - 3500 | Media data exchange |
UDP | 148.153.66.218 | 3478 - 3500 | Media data exchange |
Before joining a channel, call the startProxyServer
method to use the cloud proxy service and set type
as 3
, and then test if the audio call and video call or the live streaming works.
var client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'});
// Start using the cloud proxy.
client.startProxyServer();
// Join a channel.
client.init(key, function() {
client.join(channelKey, channel, null, function(uid) {
.......
})
})
To stop using the cloud proxy, call the stopProxyServer
method after leaving the channel.
// After using the cloud proxy and joining the channel.
...
// Leave the channel and stop using the cloud proxy.
client.leave(()=>{
client.stopProxyServer()
})
// Join the channel.
client.join(channelKey, channel, null, function(uid) {
...
}
startProxyServer
and stopProxyServer
methods must be called before joining the channel or after leaving the channel.setProxyServer
and setTurnServer
methods for you to deploy the proxy. The setProxyServer
and setTurnServer
methods cannot be used with the startProxyServer
method at the same time, else an error occurs.stopProxyServer
method disables all proxy settings, including those set by the setProxyServer
and setTurnServer
methods.