The EnxRoom.pinUsers() method allows the Moderator to pin a user(s) to the Active Talker List irrespective of the user’s activity level. A pinned user’s Stream is always published in the Room even if they are not talking. The inactive pinned users are placed in the Active Talker List after the actively talking users in a descending order based on the activity level with the most active talker on top. The total number of pinned users in a Room is restricted to (max_active_talkers – 1) based on the Room configuration.

On joining a Room, the user is notified via -room:didConnect: event with Room Meta Information, which contains the list of pinned users as "pinnedUsers": [ /*client-ids*/ ].

The EnxRoom.unpinUsers() method is used to unpin the user(s).


  • -(void)pinUsers:(NSArray *_Nonnull)clientIds
  • -(void)unpinUsers:(NSArray *_Nonnull)clientIds 


  • clientIds– Array of Client IDs of users whose streams need to be pinned or unpinned.

Delegate Methods:

  • - room:didAckPinUsers – Acknowledgment to the Moderator when the users are pinned.
  • - room:didAckUnpinUsers – Acknowledgment to the Moderator when the users are unpinned.
  • - room:didPinnedUsers: Notification to everyone in the Room with an updated list of pinned users.
[enxRoom pinUsers:[clientID1, clientID2]];	// Pin Users
[enxRoom unpinUsers:[clientID1, clientID2]];// Unpin Users

-(void)room:(EnxRoom *_Nullable)channel didAckPinUsers:(NSArray *_Nullable)data{
	// Acknowledges that Users are pinned

-(void)room:(EnxRoom *_Nullable)channel didAckUnpinUsers:(NSArray *_Nullable)data{
	// Acknowledges that Users are unpinned

-(void)room:(EnxRoom *_Nullable)channel didPinnedUsers:(NSArray *_Nullable)data{
	// Notifies with updated pinned user list

Error Codes / Exceptions

5003Unauthorized Access. When a user with participant role invokes pinUser() or unpinUser().
5126Invalid client IDs passed.