All Products
Search
Document Center

ApsaraVideo Live:FAQ about ARTC

Last Updated:Apr 24, 2025

This topic provides answers to some commonly asked questions about ApsaraVideo Real-time Communication (ARTC).

What are the differences between single-parameter input and multi-parameter input? Why are they designed this way?

  • Single-parameter input is essentially the same as multi-parameter input. It combines multiple parameters into a JSON format and then encodes it with Base64.

  • Since authentication parameters are uniformly issued by the server at one time, using single-parameter input ensures consistency of parameters between the client side and server side. This facilitates integration.

  • We recommend that you use single-parameter input, especially in the latest versions.

What do I do if the OnJoinChannelResult callback is not invoked after I join a channel?

  • Check whether the joinchannel operation returns a non-zero value. If a non-zero value is returned, the operation fails due to invalid parameter values.

  • Check the network situation. If the joinchannel operation does not report an error, the SDK retries to connect to the server internally. You can check the current SDK status through the onConnectionStatusChange callback or directly stop the SDK.

  • Check the calculated business token. If the token is incorrect, an error will be reported through the OnJoinChannelResult callback.

Why can't I use DingRTC SDK to join a channel?

ARTC is a real-time communication system based on the GRTN Global Accelerator network, which is a different product from DingRTC. Therefore, they cannot interoperate. To use ARTC, make sure that you create an application in the ApsaraVideo Live console and download the SDK from the ApsaraVideo Live document link to properly use the ARTC service.

How do I select a channel profile when I use ARTC?

The interactive mode (InteractiveLive) has a viewer role, while the communication mode does not. If you are unsure whether your business involves viewers, we recommend that you use the interactive mode.

What are the differences between the co-streaming API and the ARTC API?

The co-streaming API is a layer of user-friendly API encapsulated based on the ARTC API for live streaming scenarios.

Is there an issue if I cannot ping the "live.aliyun.com" domain name in a URL that is used for co-streaming?

"live.aliyun.com" is not a real domain name, so it is normal that you cannot ping it. When using the URL, pay special attention to parameters other than the domain name.

What are the differences between the View provided by ARTC and the system View?

The AliRenderView provided by ARTC for iOS platform and the SurfaceView&TextureView for Android platform are secondary encapsulations based on the system View. In addition to having the basic features of the View, they also support ARTC's monitoring of the entire View lifecycle and customized functionality. Therefore, we recommend that you use the View provided by ARTC for management.

Why do I receive an error when I call APIs such as LeaveChannel?

If an error is reported when you call an API, it indicates that the input parameters are invalid or the timing is incorrect. For the LeaveChannel API specifically, because this API does not have any parameters, the error is due to incorrect timing (such as calling leavechannel before joining a channel or calling leavechannel multiple times). However, you do not need to worry about this error because ARTC uses state-based API design. You only need to set the API, and the callback informs you of the state. Taking the LeaveChannel API as an example, regardless of when you call it during the SDK lifecycle, the SDK will set itself to the left-channel state.

You need to handle errors that the SDK cannot recover from. For more information, see Initialization of ARTC engine and callback registration.

How do I detect the current network status?

The network status callback indicates the connection status between the SDK and the backend service. You can detect it through the onConnectionStatusChange callback. For more information, see Channel connection status management.

Does muting audio affect billing?

  1. You are billed as long as you are in a channel.

  2. When there are subscriptions, only the subscribed streams are billed. Therefore, whether you mute or unmute does not affect billing.

  3. For more information, see ARTC pricing.

Which ports and domain names should I whitelist if I have a firewall?

Port list

Protocol

Port

TCP

80 443

UDP

8443 1106

Domain name list

gw.rtn.aliyuncs.com

rsdk-rtcsub.data.alivecdn.com

r5-rtcpub.media-sh.alivecdn.com

r5-rtcsub.media-sh.alivecdn.com