Skip to main content

Core concepts

Agora’s Signaling SDK enables real-time metadata synchronization and low-latency event notifications between edge devices, servers and channel attributes in your apps.

This article introduces the key processes and concepts you need to know to use the Signaling SDK.

General concepts

Agora relies on the following fundamental concepts to enable seamless real-time communication:

Agora SD-RTN™

Agora's core engagement services are powered by its Software-Defined Real-time Network (SD-RTN™), a global infrastructure accessible anytime, anywhere. Unlike traditional networks, Agora SD-RTN™ is not restricted by devices, phone numbers, or telecom coverage areas. With data centers in over 200 countries and regions, it ensures sub-second latency and high availability for real-time media.

Agora SD-RTN™ enables live user engagement through real-time communication (RTC), offering:

  • Unmatched quality of service
  • High availability and accessibility
  • True scalability
  • Low cost

App ID

The App ID is a unique key generated by Agora to identify each project and provide billing and other statistical data services. The App ID is critical for connecting users within your app. It is used to initialize the Agora Engine in your app, and as one of the required keys to create authentication tokens for secure communication. Retrieve the App ID for your project using the Agora Console.

App IDs are stored on the front-end client and do not provide access control. Projects using only an App ID allow any user with the App ID to join. For access control, especially in production environments, choose the App ID + Token mechanism for user authentication when creating a new project. Without authentication tokens, your environment is open to anyone with access to your App ID.

App Certificate

An App Certificate is a unique key generated by the Agora Console to secure projects through token authentication. It is required, along with the App ID, to generate a token that proves authorization between your systems and Agora's network. App Certificates are used to generate Signaling authentication tokens.

Store the App Certificate securely in your backend systems. If your App Certificate is compromised or to meet security compliance requirements, you can invalidate certificates and create new ones through the Agora Console.

Tokens

A token is a dynamic key generated using the App ID, App Certificate, user ID, and expiration timestamp. Tokens authenticate and secure access to Agora's services, ensuring only authorized users can join a channel and participate in real-time communication.

Tokens are generated on your server and passed to the client for use in Signaling. The token generation process involves digitally signing the App ID, App Certificate, user ID, and expiration timestamp using a specific algorithm, preventing tampering or forgery.

During development and testing, use the Agora Console to generate temporary tokens. For production environments, implement a token server as part of your security infrastructure to control access to your channels.

For information on setting up a token server for generating and managing tokens, refer to the guide on Secure authentication with tokens.

Channel

In Agora's platform, a channel is a way of grouping users together and is identified by a unique channel name. Users who connect to the same channel can communicate with each other. A channel is created when the first user joins and ceases to exist when the last user leaves.

In Signaling, channels serve as a data transfer management mechanism for passing data between devices. Clients can subscribe to or join multiple channels simultaneously.

Signaling supports the following channel types:

Channel TypeMain FeaturesApplicable use-cases
MessageFollows the industry-standard pub/sub model. Channels do not need to be created in advance, and there is no upper limit on the number of publishers and subscribers in a channel.Multi-device management and command exchange in the IoT industry, location tracking in smart devices, etc.
UserOne-to-one message sending and receiving, this channel type supports the delivery receipt function.Useful in one-on-one communication use-cases such as private chats and customer support interactions.
StreamFollows the chat room model. Users need to join the channel to send and receive event notifications. Messages are managed and delivered through topics, and a single channel allows up to 1,000 users to join simultaneously. Supports channel sharing and synchronous transmission of audio and video data.High-frequency and large concurrent data transmission or co-channel and synchronous transmission with audio and video data, such as in metaverse and cloud gaming applications.

User ID

In Signaling, UID is a unique string identifier required along with an App ID to initialize the SDK. It is used to identify the user when logging in to Signaling and throughout their session for billing and online status notifications. Users can join channels by providing just the channel name, as the UID is already associated with the user during initialization.

Users cannot simultaneously log in to Signaling using the same UID from multiple devices. If a client attempts to log in to Agora SD-RTN™ with a UID already present in the channel, the previously logged in client is disconnected and sent an event notification.

Agora Console

Agora Console is the main dashboard where you manage your Agora projects and services. Before you can use Agora's SDKs, you must first create a project in the Agora Console. See Agora account management for details.

Create project in Agora Console

Agora Console provides an intuitive interface for developers to query and manage their Agora account. After registering an Agora account, you use the Agora Console to perform the following tasks:

  • Manage your account
  • Create and configure Agora projects and services
  • Get an App ID and the App certificate
  • Generate temporary tokens for development and testing
  • Manage members and roles
  • Check call quality and usage
  • Check bills and make payments
  • Access product resources

See Agora account management for details on how to manage all aspects of your Agora account.

Agora also provides RESTful APIs that you use to implement features such as creating a project and fetching usage numbers programmatically.

Signaling