Channel management

Channel management primarily focuses on selecting appropriate channel IDs and identifying code paths for joining and leaving channels, in addition to authorizing those operations.

By default, channels are named and created on an ad-hoc basis. The process for joining channels is regulated by a game server authorization code prior to joining. The selection of appropriate unique channel IDs is important, as is associating the IDs with relevant in-game data, such as parties, teams, lobbies, and guilds. You can use this identifier in an authenticated channel join request to allow a user to perform an authorized join.

By default, channels have the following properties:

  • Channels are created at the moment the first join request is sent, not before.
  • They persist only as long as there is at least one occupant. A channel will be removed when the last occupant leaves.
  • They have no persistent state, and are not managed by any form of access control from within the Vivox network.
  • Access to the channel and secured third-party actions (for example, kick and mute) must be authorized by the game server with an access token before a user can perform the action.

Special channel types also exist that you can use in certain specific or unusual circumstances. For example: the echo channel, static channels, and the 3D positional channel. These special channel types require additional setup and configuration, demand additional resources to provision, and are recommended only for use in cases where standard ephemeral channels are inadequate.

The following list details special channels and their properties:

  • Persistent/semi-persistent channels

    • Persist beyond the lifetime of the last remaining occupant and require dedicated resources to maintain.
    • You can configure them to spin down after a specified period of inactivity.
  • 3D positional audio channels

    • A persistent channel that enables a user's transmitted audio to originate from a discrete positional 3D space.
    • Requires additional dedicated resources to maintain.
  • Echo channel

    • Transmit and receive the user's own voice communication for testing purposes.
    • Do not allow for communication between users.

Note: Default channels are generally suitable for most use cases. Echo channels are useful for both internal development and testing, and for providing an audio test environment for the user.