Agora RTC Objective-C API Reference  Refactor
Enumerations
AgoraRtmEnumerates.h File Reference

Go to the source code of this file.

Enumerations

enum  AgoraRtmAreaCode {
  AgoraRtmAreaCodeCN = 0x00000001, AgoraRtmAreaCodeNA = 0x00000002, AgoraRtmAreaCodeEU = 0x00000004, AgoraRtmAreaCodeAS = 0x00000008,
  AgoraRtmAreaCodeJP = 0x00000010, AgoraRtmAreaCodeIN = 0x00000020, AgoraRtmAreaCodeGLOB = (0xFFFFFFFF)
}
 
enum  AgoraRtmEncryptionMode
 
enum  AgoraRtmErrorCode {
  AgoraRtmErrorOk = 0, AgoraRtmErrorNotInitialized = -10001, AgoraRtmErrorNotLogin = -10002, AgoraRtmErrorInvalidAppId = -10003,
  AgoraRtmErrorInvalidEventHandler = -10004, AgoraRtmErrorInvalidToken = -10005, AgoraRtmErrorInvalidUserId = -10006, AgoraRtmErrorInitServiceFailed = -10007,
  AgoraRtmErrorInvalidChannelName = -10008, AgoraRtmErrorTokenExpired = -10009, AgoraRtmErrorLoginNoServerResources = -10010, AgoraRtmErrorLoginTimeout = -10011,
  AgoraRtmErrorLoginRejected = -10012, AgoraRtmErrorLoginAborted = -10013, AgoraRtmErrorInvalidParameter = -10014, AgoraRtmErrorLoginNotAuthorized = -10015,
  AgoraRtmErrorLoginInconsistentAppId = -10016, AgoraRtmErrorDuplicateOperation = -10017, AgoraRtmErrorInstanceAlreadyReleased = -10018, AgoraRtmErrorInvalidChannelType = -10019,
  AgoraRtmErrorInvalidEncryptionParameter = -10020, AgoraRtmErrorOperationRateExceedLimitation = -10021, AgoraRtmErrorServiceNotSupport = -10022, AgoraRtmErrorLoginCanceled = -10023,
  AgoraRtmErrorInvalidPrivateConfig = -10024, AgoraRtmErrorNotConnected = -10025, AgoraRtmErrorChannelNotJoined = -11001, AgoraRtmErrorChannelNotSubscribed = -11002,
  AgoraRtmErrorChannelExceedTopicUserLimitation = -11003, AgoraRtmErrorChannelReused = -11004, AgoraRtmErrorChannelInstanceExceedLimitation = -11005, AgoraRtmErrorChannelInErrorState = -11006,
  AgoraRtmErrorChannelJoinFailed = -11007, AgoraRtmErrorChannelInvalidTopicName = -11008, AgoraRtmErrorChannelInvalidMessage = -11009, AgoraRtmErrorChannelMessageLengthExceedLimitation = -11010,
  AgoraRtmErrorChannelInvalidUserList = -11011, AgoraRtmErrorChannelNotAvailable = -11012, AgoraRtmErrorChannelTopicNotSubscribed = -11013, AgoraRtmErrorChannelExceedTopicLimitation = -11014,
  AgoraRtmErrorChannelJoinTopicFailed = -11015, AgoraRtmErrorChannelTopicNotJoined = -11016, AgoraRtmErrorChannelTopicNotExist = -11017, AgoraRtmErrorChannelInvalidTopicMeta = -11018,
  AgoraRtmErrorChannelSubscribeTimeout = -11019, AgoraRtmErrorChannelSubscribeTooFrequent = -11020, AgoraRtmErrorChannelSubscribeFailed = -11021, AgoraRtmErrorChannelUnsubscribeFailed = -11022,
  AgoraRtmErrorChannelEncryptMessageFailed = -11023, AgoraRtmErrorChannelPublishMessageFailed = -11024, AgoraRtmErrorChannelPublishMessageTooFrequent = -11025, AgoraRtmErrorChannelPublishMessageTimeout = -11026,
  AgoraRtmErrorChannelNotConnected = -11027, AgoraRtmErrorChannelLeaveFailed = -11028, AgoraRtmErrorChannelCustomTypeLengthOverflow = -11029, AgoraRtmErrorChannelInvalidCustomType = -11030,
  AgoraRtmErrorChannelUnsupportedMessageType = -11031, AgoraRtmErrorChannelPresenceNotReady = -11032, AgoraRtmErrorChannelReceiverOffline = -11033, AgoraRtmErrorChannelJoinCanceled = -11034,
  AgoraRtmErrorChannelReceiverOfflineButMessageStoreSucceeded = -11035, AgoraRtmErrorChannelReceiverOfflineAndMessageStoreFailed = -11036, AgoraRtmErrorChannelMessageDeliveredButStoreFailed = -11037, AgoraRtmErrorStorageOperationFailed = -12001,
  AgoraRtmErrorStorageMetadataItemExceedLimitation = -12002, AgoraRtmErrorStorageInvalidMetadataItem = -12003, AgoraRtmErrorStorageInvalidArgument = -12004, AgoraRtmErrorStorageInvalidRevision = -12005,
  AgoraRtmErrorStorageMetadataLengthOverflow = -12006, AgoraRtmErrorStorageInvalidLockName = -12007, AgoraRtmErrorStorageLockNotAcquired = -12008, AgoraRtmErrorStorageInvalidKey = -12009,
  AgoraRtmErrorStorageInvalidValue = -12010, AgoraRtmErrorStorageKeyLengthOverflow = -12011, AgoraRtmErrorStorageValueLengthOverflow = -12012, AgoraRtmErrorStorageDuplicateKey = -12013,
  AgoraRtmErrorStorageOutdatedRevision = -12014, AgoraRtmErrorStorageNotSubscribe = -12015, AgoraRtmErrorStorageInvalidMetadataInstance = -12016, AgoraRtmErrorStorageSubscribeUserExceedLimitation = -12017,
  AgoraRtmErrorStorageOperationTimeout = -12018, AgoraRtmErrorStorageNotAvailable = -12019, AgoraRtmErrorPresenceNotConnected = -13001, AgoraRtmErrorPresenceNotWritable = -13002,
  AgoraRtmErrorPresenceInvalidArgument = -13003, AgoraRtmErrorPresenceCacheTooManyStates = -13004, AgoraRtmErrorPresenceStateCountOverflow = -13005, AgoraRtmErrorPresenceInvalidStateKey = -13006,
  AgoraRtmErrorPresenceInvalidStateValue = -13007, AgoraRtmErrorPresenceStateKeySizeOverflow = -13008, AgoraRtmErrorPresenceStateValueSizeOverflow = -13009, AgoraRtmErrorPresenceStateDuplicateKey = -13010,
  AgoraRtmErrorPresenceUserNotExist = -13011, AgoraRtmErrorPresenceOperationTimeout = -13012, AgoraRtmErrorPresenceOperationFailed = -13013, AgoraRtmErrorLockOperationFailed = -14001,
  AgoraRtmErrorLockOperationTimeout = -14002, AgoraRtmErrorLockOperationPerforming = -14003, AgoraRtmErrorLockAlreadyExist = -14004, AgoraRtmErrorLockInvalidName = -14005,
  AgoraRtmErrorLockNotAcquired = -14006, AgoraRtmErrorLockAcquireFailed = -14007, AgoraRtmErrorLockNotExist = -14008, AgoraRtmErrorLockNotAvailable = -14009,
  AgoraRtmErrorHistoryOperationFailed = -15001, AgoraRtmErrorHistoryInvalidTimestamp = -15002, AgoraRtmErrorHistoryOperationTimeout = -15003, AgoraRtmErrorHistoryOperationNotPermitted = -15004,
  AgoraRtmErrorHistoryNotAvailable = -15005
}
 
enum  AgoraRtmLockEventType {
  AgoraRtmLockEventTypeNone = 0, AgoraRtmLockEventTypeSnapshot = 1, AgoraRtmLockEventTypeLockSet = 2, AgoraRtmLockEventTypeLockRemoved = 3,
  AgoraRtmLockEventTypeLockAcquired = 4, AgoraRtmLockEventTypeLockReleased = 5, AgoraRtmLockEventTypeLockExpired = 6
}
 
enum  AgoraRtmProxyType { AgoraRtmProxyTypeNone = 0, AgoraRtmProxyTypeHttp = 1, AgoraRtmProxyTypeCloudTcp = 2 }
 
enum  AgoraRtmProtocolType { AgoraRtmProtocolTypeTcpUdp = 0, AgoraRtmProtocolTypeTcpOnly = 1 }
 
enum  AgoraRtmLinkState {
  AgoraRtmLinkStateIdle = 0, AgoraRtmLinkStateConnecting = 1, AgoraRtmLinkStateConnected = 2, AgoraRtmLinkStateDisconnected = 3,
  AgoraRtmLinkStateSuspended = 4, AgoraRtmLinkStateFailed = 5
}
 
enum  AgoraRtmLinkStateChangeReason {
  AgoraRtmLinkStateChangeReasonUnknown = 0, AgoraRtmLinkStateChangeReasonLogin = 1, AgoraRtmLinkStateChangeReasonLoginSuccess = 2, AgoraRtmLinkStateChangeReasonLoginTimeout = 3,
  AgoraRtmLinkStateChangeReasonLoginNotAuthorized = 4, AgoraRtmLinkStateChangeReasonLoginRejected = 5, AgoraRtmLinkStateChangeReasonRelogin = 6, AgoraRtmLinkStateChangeReasonLogout = 7,
  AgoraRtmLinkStateChangeReasonAutoReconnect = 8, AgoraRtmLinkStateChangeReasonReconnectTimeout = 9, AgoraRtmLinkStateChangeReasonReconnectSuccess = 10, AgoraRtmLinkStateChangeReasonJoin = 11,
  AgoraRtmLinkStateChangeReasonJoinSuccess = 12, AgoraRtmLinkStateChangeReasonJoinFailed = 13, AgoraRtmLinkStateChangeReasonRejoin = 14, AgoraRtmLinkStateChangeReasonLeave = 15,
  AgoraRtmLinkStateChangeReasonInvalidToken = 16, AgoraRtmLinkStateChangeReasonTokenExpired = 17, AgoraRtmLinkStateChangeReasonInconsistentAppId = 18, AgoraRtmLinkStateChangeReasonInvalidChannelName = 19,
  AgoraRtmLinkStateChangeReasonInvalidUserId = 20, AgoraRtmLinkStateChangeReasonNotInitialized = 21, AgoraRtmLinkStateChangeReasonRtmServiceNotConnected = 22, AgoraRtmLinkStateChangeReasonChannelInstanceExceedLimitation = 23,
  AgoraRtmLinkStateChangeReasonOperationRateExceedLimitation = 24, AgoraRtmLinkStateChangeReasonChannelInErrorState = 25, AgoraRtmLinkStateChangeReasonPresenceNotConnected = 26, AgoraRtmLinkStateChangeReasonSameUidLogin = 27,
  AgoraRtmLinkStateChangeReasonKickedOutByServer = 28, AgoraRtmLinkStateChangeReasonKeepAliveTimeout = 29, AgoraRtmLinkStateChangeReasonConnectionError = 30, AgoraRtmLinkStateChangeReasonPresenceNotReady = 31,
  AgoraRtmLinkStateChangeReasonNetworkChange = 32, AgoraRtmLinkStateChangeReasonServiceNotSupported = 33, AgoraRtmLinkStateChangeReasonStreamChannelNotAvailable = 34, AgoraRtmLinkStateChangeReasonStorageNotAvailable = 35,
  AgoraRtmLinkStateChangeReasonLockNotAvailable = 36
}
 
enum  AgoraRtmLinkOperation {
  AgoraRtmLinkOperationLogin = 0, AgoraRtmLinkOperationLogout = 1, AgoraRtmLinkOperationJoin = 2, AgoraRtmLinkOperationLeave = 3,
  AgoraRtmLinkOperationServerReject = 4, AgoraRtmLinkOperationAutoReconnect = 5, AgoraRtmLinkOperationReconnected = 6, AgoraRtmLinkOperationHeartbeatTimeout = 7,
  AgoraRtmLinkOperationServerTimeout = 8, AgoraRtmLinkOperationNetworkChange = 9
}
 
enum  AgoraRtmJoinChannelFeature {
  AgoraRtmJoinChannelFeatureNone = 0, AgoraRtmJoinChannelFeaturePresence = 1, AgoraRtmJoinChannelFeatureMetadata = 1 << 1, AgoraRtmJoinChannelFeatureLock = 1 << 2,
  AgoraRtmJoinChannelFeatureBeQuiet = 1 << 3
}
 
enum  AgoraRtmSubscribeChannelFeature {
  AgoraRtmSubscribeChannelFeatureNone = 0, AgoraRtmSubscribeChannelFeaturePresence = 1, AgoraRtmSubscribeChannelFeatureMetadata = 1 << 1, AgoraRtmSubscribeChannelFeatureMessage = 1 << 2,
  AgoraRtmSubscribeChannelFeatureLock = 1 << 3, AgoraRtmSubscribeChannelFeatureBeQuiet = 1 << 4
}
 
enum  AgoraRtmClientConnectionState {
  AgoraRtmClientConnectionStateDisconnected = 1, AgoraRtmClientConnectionStateConnecting = 2, AgoraRtmClientConnectionStateConnected = 3, AgoraRtmClientConnectionStateReconnecting = 4,
  AgoraRtmClientConnectionStateFailed = 5
}
 
enum  AgoraRtmClientConnectionChangeReason {
  AgoraRtmClientConnectionChangedConnecting = 0, AgoraRtmClientConnectionChangedJoinSuccess = 1, AgoraRtmClientConnectionChangedInterrupted = 2, AgoraRtmClientConnectionChangedBannedByServer = 3,
  AgoraRtmClientConnectionChangedJoinFailed = 4, AgoraRtmClientConnectionChangedLeaveChannel = 5, AgoraRtmClientConnectionChangedInvalidAppId = 6, AgoraRtmClientConnectionChangedInvalidChannelName = 7,
  AgoraRtmClientConnectionChangedInvalidToken = 8, AgoraRtmClientConnectionChangedTokenExpired = 9, AgoraRtmClientConnectionChangedRejectedByServer = 10, AgoraRtmClientConnectionChangedSettingProxyServer = 11,
  AgoraRtmClientConnectionChangedRenewToken = 12, AgoraRtmClientConnectionChangedClientIpAddressChanged = 13, AgoraRtmClientConnectionChangedKeepAliveTimeout = 14, AgoraRtmClientConnectionChangedRejoinSuccess = 15,
  AgoraRtmClientConnectionChangedChangedLost = 16, AgoraRtmClientConnectionChangedEchoTest = 17, AgoraRtmClientConnectionChangedClientIpAddressChangedByUser = 18, AgoraRtmClientConnectionChangedSameUidLogin = 19,
  AgoraRtmClientConnectionChangedTooManyBroadcasters = 20, AgoraRtmClientConnectionChangedLicenseValidationFailure = 21, AgoraRtmClientConnectionChangedCertificationVerifyFailure = 22, AgoraRtmClientConnectionChangedStreamChannelNotAvailable = 23,
  AgoraRtmClientConnectionChangedInconsistentAppId = 24, AgoraRtmClientConnectionChangedLoginSuccess = 10001, AgoraRtmClientConnectionChangedLogout = 10002, AgoraRtmClientConnectionChangedPresenceNotReady = 10003
}
 
enum  AgoraRtmChannelType { AgoraRtmChannelTypeNone = 0, AgoraRtmChannelTypeMessage = 1, AgoraRtmChannelTypeStream = 2, AgoraRtmChannelTypeUser = 3 }
 
enum  AgoraRtmStorageEventType {
  AgoraRtmStorageEventTypeNone = 0, AgoraRtmStorageEventTypeSnapshot = 1, AgoraRtmStorageEventTypeSet = 2, AgoraRtmStorageEventTypeUpdate = 3,
  AgoraRtmStorageEventTypeRemove = 4
}
 
enum  AgoraRtmPresenceType {
  AgoraRtmPresenceTypeRemoteJoinChannel = 0, AgoraRtmPresenceTypeRemoteLeaveChannel = 1, AgoraRtmPresenceTypeRemoteConnectionTimeout = 2, AgoraRtmPresenceTypeRemoteJoinTopic = 3,
  AgoraRtmPresenceTypeRemoteLeaveTopic = 4, AgoraRtmPresenceTypeSelfJoinChannel = 5
}
 
enum  AgoraRtmMessageQos { AgoraRtmMessageQosUnordered = 0, AgoraRtmMessageQosOrdered = 1 }
 

Enumeration Type Documentation

◆ AgoraRtmAreaCode

IP areas.

Enumerator
AgoraRtmAreaCodeCN 

Mainland China.

AgoraRtmAreaCodeNA 

North America.

AgoraRtmAreaCodeEU 

Europe.

AgoraRtmAreaCodeAS 

Asia, excluding Mainland China.

AgoraRtmAreaCodeJP 

Japan.

AgoraRtmAreaCodeIN 

India.

AgoraRtmAreaCodeGLOB 

(Default) Global.

◆ AgoraRtmEncryptionMode

The encryption mode.

Enumerator
AgoraRtmEncryptionNone 
AgoraRtmEncryptionAES128GCM 
AgoraRtmEncryptionAES256GCM 

◆ AgoraRtmMessagePriority

Enumerator
AgoraRtmMessagePriorityHighest 

The highest priority

AgoraRtmMessagePriorityHigh 

The high priority

AgoraRtmMessagePriorityNormal 

The normal priority (Default)

AgoraRtmMessagePriorityLow 

The low priority

◆ AgoraRtmErrorCode

The error codes of rtm client.

Enumerator
AgoraRtmErrorOk 

0: No error occurs.

AgoraRtmErrorNotInitialized 

-10001 ~ -11000 : reserved for generic error. -10001: The SDK is not initialized.

AgoraRtmErrorNotLogin 

-10002: The user didn't login the RTM system.

AgoraRtmErrorInvalidAppId 

-10003: The app ID is invalid.

AgoraRtmErrorInvalidEventHandler 

-10004: The event handler is invalid.

AgoraRtmErrorInvalidToken 

-10005: The token is invalid.

AgoraRtmErrorInvalidUserId 

-10006: The user ID is invalid.

AgoraRtmErrorInitServiceFailed 

-10007: The service is not initialized.

AgoraRtmErrorInvalidChannelName 

-10008: The channel name is invalid.

AgoraRtmErrorTokenExpired 

-10009: The token has expired.

AgoraRtmErrorLoginNoServerResources 

-10010: There is no server resources now.

AgoraRtmErrorLoginTimeout 

-10011: The login timeout.

AgoraRtmErrorLoginRejected 

-10012: The login is rejected by server.

AgoraRtmErrorLoginAborted 

-10013: The login is aborted due to unrecoverable error.

AgoraRtmErrorInvalidParameter 

-10014: The parameter is invalid.

AgoraRtmErrorLoginNotAuthorized 

-10015: The login is not authorized. Happens user login the RTM system without granted from console.

AgoraRtmErrorLoginInconsistentAppId 

-10016: Try to login or join with inconsistent app ID.

AgoraRtmErrorDuplicateOperation 

-10017: Already call same request.

AgoraRtmErrorInstanceAlreadyReleased 

-10018: Already call destroy or release, this instance is forbidden to call any api, please create new instance.

AgoraRtmErrorInvalidChannelType 

-10019: Invalid channel type

AgoraRtmErrorInvalidEncryptionParameter 

-10020: The encryption parameter is invalid.

AgoraRtmErrorOperationRateExceedLimitation 

-10021: The operation is too frequent.

AgoraRtmErrorServiceNotSupport 

-10022: The service is not configured in private config mode.

AgoraRtmErrorLoginCanceled 

-10023: This login operation stopped by a new login operation or logout operation.

AgoraRtmErrorInvalidPrivateConfig 

-10024: The private config is invalid, set private config should both set serviceType and accessPointHosts.

AgoraRtmErrorNotConnected 

-10025: Perform operation failed due to RTM service is not connected.

AgoraRtmErrorChannelNotJoined 

-11001 ~ -12000 : reserved for channel error. -11001: The user has not joined the channel.

AgoraRtmErrorChannelNotSubscribed 

-11002: The user has not subscribed the channel.

AgoraRtmErrorChannelExceedTopicUserLimitation 

-11003: The topic member count exceeds the limit.

AgoraRtmErrorChannelReused 

-11004: The channel is reused in RTC.

AgoraRtmErrorChannelInstanceExceedLimitation 

-11005: The channel instance count exceeds the limit.

AgoraRtmErrorChannelInErrorState 

-11006: The channel is in error state.

AgoraRtmErrorChannelJoinFailed 

-11007: The channel join failed.

AgoraRtmErrorChannelInvalidTopicName 

-11008: The topic name is invalid.

AgoraRtmErrorChannelInvalidMessage 

-11009: The message is invalid.

AgoraRtmErrorChannelMessageLengthExceedLimitation 

-11010: The message length exceeds the limit.

AgoraRtmErrorChannelInvalidUserList 

-11011: The user list is invalid.

AgoraRtmErrorChannelNotAvailable 

-11012: The stream channel is not available.

AgoraRtmErrorChannelTopicNotSubscribed 

-11013: The topic is not subscribed.

AgoraRtmErrorChannelExceedTopicLimitation 

-11014: The topic count exceeds the limit.

AgoraRtmErrorChannelJoinTopicFailed 

-11015: Join topic failed.

AgoraRtmErrorChannelTopicNotJoined 

-11016: The topic is not joined.

AgoraRtmErrorChannelTopicNotExist 

-11017: The topic does not exist.

AgoraRtmErrorChannelInvalidTopicMeta 

-11018: The topic meta is invalid.

AgoraRtmErrorChannelSubscribeTimeout 

-11019: Subscribe channel timeout.

AgoraRtmErrorChannelSubscribeTooFrequent 

-11020: Subscribe channel too frequent.

AgoraRtmErrorChannelSubscribeFailed 

-11021: Subscribe channel failed.

AgoraRtmErrorChannelUnsubscribeFailed 

-11022: Unsubscribe channel failed.

AgoraRtmErrorChannelEncryptMessageFailed 

-11023: Encrypt message failed.

AgoraRtmErrorChannelPublishMessageFailed 

-11024: Publish message failed.

AgoraRtmErrorChannelPublishMessageTooFrequent 

-11025: Publish message too frequent.

AgoraRtmErrorChannelPublishMessageTimeout 

-11026: Publish message timeout.

AgoraRtmErrorChannelNotConnected 

-10027: The connection state is invalid.

AgoraRtmErrorChannelLeaveFailed 

-11028: Leave channel failed.

AgoraRtmErrorChannelCustomTypeLengthOverflow 

-11029: The custom type length exceeds the limit.

AgoraRtmErrorChannelInvalidCustomType 

-11030: The custom type is invalid.

AgoraRtmErrorChannelUnsupportedMessageType 

-11031: unsupported message type (in MacOS/iOS platform,message only support NSString and NSData)

AgoraRtmErrorChannelPresenceNotReady 

-11032: The channel presence is not ready.

AgoraRtmErrorChannelReceiverOffline 

-11033: The destination user of publish message is offline.

AgoraRtmErrorChannelJoinCanceled 

-11034: The channel join operation is canceled.

AgoraRtmErrorChannelReceiverOfflineButMessageStoreSucceeded 

-11035: The message receiver is offline but the message store in history succeeded.

AgoraRtmErrorChannelReceiverOfflineAndMessageStoreFailed 

-11036: The message receiver is offline and the message store in history failed.

AgoraRtmErrorChannelMessageDeliveredButStoreFailed 

-11037: The message delivered successfully but store in history failed.

AgoraRtmErrorStorageOperationFailed 

-12001 ~ -13000 : reserved for storage error. -12001: The storage operation failed.

AgoraRtmErrorStorageMetadataItemExceedLimitation 

-12002: The metadata item count exceeds the limit.

AgoraRtmErrorStorageInvalidMetadataItem 

-12003: The metadata item is invalid.

AgoraRtmErrorStorageInvalidArgument 

-12004: The argument in storage operation is invalid.

AgoraRtmErrorStorageInvalidRevision 

-12005: The revision in storage operation is invalid.

AgoraRtmErrorStorageMetadataLengthOverflow 

-12006: The metadata length exceeds the limit.

AgoraRtmErrorStorageInvalidLockName 

-12007: The lock name in storage operation is invalid.

AgoraRtmErrorStorageLockNotAcquired 

-12008: The lock in storage operation is not acquired.

AgoraRtmErrorStorageInvalidKey 

-12009: The metadata key is invalid.

AgoraRtmErrorStorageInvalidValue 

-12010: The metadata value is invalid.

AgoraRtmErrorStorageKeyLengthOverflow 

-12011: The metadata key length exceeds the limit.

AgoraRtmErrorStorageValueLengthOverflow 

-12012: The metadata value length exceeds the limit.

AgoraRtmErrorStorageDuplicateKey 

-12013: The metadata key already exists.

AgoraRtmErrorStorageOutdatedRevision 

-12014: The revision in storage operation is outdated or the key does not exist.

AgoraRtmErrorStorageNotSubscribe 

-12015: The storage operation performed without subscribing.

AgoraRtmErrorStorageInvalidMetadataInstance 

-12016: The metadata item is invalid.

AgoraRtmErrorStorageSubscribeUserExceedLimitation 

-12017: The user count exceeds the limit when try to subscribe.

AgoraRtmErrorStorageOperationTimeout 

-12018: The storage operation timeout.

AgoraRtmErrorStorageNotAvailable 

-12019: The storage service not available.

AgoraRtmErrorPresenceNotConnected 

-13001 ~ -14000 : reserved for presence error. -13001: The user is not connected.

AgoraRtmErrorPresenceNotWritable 

-13002: The presence is not writable.

AgoraRtmErrorPresenceInvalidArgument 

-13003: The argument in presence operation is invalid.

AgoraRtmErrorPresenceCacheTooManyStates 

-13004: The cached presence state count exceeds the limit.

AgoraRtmErrorPresenceStateCountOverflow 

-13005: The state count exceeds the limit.

AgoraRtmErrorPresenceInvalidStateKey 

-13006: The state key is invalid.

AgoraRtmErrorPresenceInvalidStateValue 

-13007: The state value is invalid.

AgoraRtmErrorPresenceStateKeySizeOverflow 

-13008: The state key length exceeds the limit.

AgoraRtmErrorPresenceStateValueSizeOverflow 

-13009: The state value length exceeds the limit.

AgoraRtmErrorPresenceStateDuplicateKey 

-13010: The state key already exists.

AgoraRtmErrorPresenceUserNotExist 

-13011: The user is not exist.

AgoraRtmErrorPresenceOperationTimeout 

-13012: The presence operation timeout.

AgoraRtmErrorPresenceOperationFailed 

-13013: The presence operation failed.

AgoraRtmErrorLockOperationFailed 

-14001 ~ -15000 : reserved for lock error. -14001: The lock operation failed.

AgoraRtmErrorLockOperationTimeout 

-14002: The lock operation timeout.

AgoraRtmErrorLockOperationPerforming 

-14003: The lock operation is performing.

AgoraRtmErrorLockAlreadyExist 

-14004: The lock already exists.

AgoraRtmErrorLockInvalidName 

-14005: The lock name is invalid.

AgoraRtmErrorLockNotAcquired 

-14006: The lock is not acquired.

AgoraRtmErrorLockAcquireFailed 

-14007: Acquire lock failed.

AgoraRtmErrorLockNotExist 

-14008: The lock is not exist.

AgoraRtmErrorLockNotAvailable 

-14009: The lock service is not available.

AgoraRtmErrorHistoryOperationFailed 

-15001 ~ -16000 : reserved for history error. -15001: The history operation failed.

AgoraRtmErrorHistoryInvalidTimestamp 

-15002: The timestamp is invalid.

AgoraRtmErrorHistoryOperationTimeout 

-15003: The history operation timeout.

AgoraRtmErrorHistoryOperationNotPermitted 

-15004: The history operation is not permitted.

AgoraRtmErrorHistoryNotAvailable 

-15005: The history service is not available.

◆ AgoraRtmStorageType

Storage type indicate the storage event was triggered by user or channel.

Enumerator
AgoraRtmStorageTypeNone 

0: The user storage event.

AgoraRtmStorageTypeUser 

1: The user storage event.

AgoraRtmStorageTypeChannel 

2: The channel storage event.

◆ AgoraRtmLockEventType

The lock event type, indicate lock operation

Enumerator
AgoraRtmLockEventTypeNone 

0: Unknown event type

AgoraRtmLockEventTypeSnapshot 

1: Triggered when user subscribe lock state

AgoraRtmLockEventTypeLockSet 

2: Triggered when a remote user set lock

AgoraRtmLockEventTypeLockRemoved 

3: Triggered when a remote user remove lock

AgoraRtmLockEventTypeLockAcquired 

4: Triggered when a remote user acquired lock

AgoraRtmLockEventTypeLockReleased 

5: Triggered when a remote user released lock

AgoraRtmLockEventTypeLockExpired 

6: Triggered when user reconnect to rtm service, detect the lock has been acquired and released by others.

◆ AgoraRtmProxyType

The proxy type

Enumerator
AgoraRtmProxyTypeNone 

0: Link without proxy

AgoraRtmProxyTypeHttp 

1: Link with http proxy

AgoraRtmProxyTypeCloudTcp 

2: Link with tcp cloud proxy

◆ AgoraRtmServiceType

Enumerator
AgoraRtmServiceTypeNone 

None rtm service.

AgoraRtmServiceTypeMessage 

The basic functionality of rtm service.

AgoraRtmServiceTypeStream 

The advanced functionality of rtm service.

◆ AgoraRtmProtocolType

Rtm protocol type for underlying connection.

Enumerator
AgoraRtmProtocolTypeTcpUdp 

TCP and UDP (default).

AgoraRtmProtocolTypeTcpOnly 

Use TCP only.

◆ AgoraRtmLinkState

Rtm link state.

Enumerator
AgoraRtmLinkStateIdle 

The initial state.

AgoraRtmLinkStateConnecting 

The SDK is connecting to the server.

AgoraRtmLinkStateConnected 

The SDK has connected to the server.

AgoraRtmLinkStateDisconnected 

The SDK is disconnected from the server.

AgoraRtmLinkStateSuspended 

The SDK link is suspended.

AgoraRtmLinkStateFailed 

The SDK is failed to connect to the server.

◆ AgoraRtmLinkStateChangeReason

Rtm link state change reason.

Enumerator
AgoraRtmLinkStateChangeReasonUnknown 

Unknown reason.

AgoraRtmLinkStateChangeReasonLogin 

Login.

AgoraRtmLinkStateChangeReasonLoginSuccess 

Login success.

AgoraRtmLinkStateChangeReasonLoginTimeout 

Login timeout.

AgoraRtmLinkStateChangeReasonLoginNotAuthorized 

Login not authorized.

AgoraRtmLinkStateChangeReasonLoginRejected 

Login rejected.

AgoraRtmLinkStateChangeReasonRelogin 

Re-login.

AgoraRtmLinkStateChangeReasonLogout 

Logout.

AgoraRtmLinkStateChangeReasonAutoReconnect 

Auto reconnect.

AgoraRtmLinkStateChangeReasonReconnectTimeout 

Reconnect timeout.

AgoraRtmLinkStateChangeReasonReconnectSuccess 

Reconnect success.

AgoraRtmLinkStateChangeReasonJoin 

Join.

AgoraRtmLinkStateChangeReasonJoinSuccess 

Join success.

AgoraRtmLinkStateChangeReasonJoinFailed 

Join failed.

AgoraRtmLinkStateChangeReasonRejoin 

Rejoin.

AgoraRtmLinkStateChangeReasonLeave 

Leave.

AgoraRtmLinkStateChangeReasonInvalidToken 

Invalid token.

AgoraRtmLinkStateChangeReasonTokenExpired 

Token expired.

AgoraRtmLinkStateChangeReasonInconsistentAppId 

Inconsistent app ID.

AgoraRtmLinkStateChangeReasonInvalidChannelName 

Invalid channel name.

AgoraRtmLinkStateChangeReasonInvalidUserId 

Invalid user ID.

AgoraRtmLinkStateChangeReasonNotInitialized 

Not initialized.

AgoraRtmLinkStateChangeReasonRtmServiceNotConnected 

Rtm service not connected.

AgoraRtmLinkStateChangeReasonChannelInstanceExceedLimitation 

Channel instance exceed limitation.

AgoraRtmLinkStateChangeReasonOperationRateExceedLimitation 

Operation rate exceed limitation.

AgoraRtmLinkStateChangeReasonChannelInErrorState 

Channel in error state.

AgoraRtmLinkStateChangeReasonPresenceNotConnected 

Presence not connected.

AgoraRtmLinkStateChangeReasonSameUidLogin 

Same UID login.

AgoraRtmLinkStateChangeReasonKickedOutByServer 

Kicked out by server.

AgoraRtmLinkStateChangeReasonKeepAliveTimeout 

Keep alive timeout.

AgoraRtmLinkStateChangeReasonConnectionError 

Connection error.

AgoraRtmLinkStateChangeReasonPresenceNotReady 

Presence not ready.

AgoraRtmLinkStateChangeReasonNetworkChange 

Network change.

AgoraRtmLinkStateChangeReasonServiceNotSupported 

Service not supported.

AgoraRtmLinkStateChangeReasonStreamChannelNotAvailable 

Stream channel not available.

AgoraRtmLinkStateChangeReasonStorageNotAvailable 

Storage not available.

AgoraRtmLinkStateChangeReasonLockNotAvailable 

Lock not available.

◆ AgoraRtmLinkOperation

Rtm link operation.

Enumerator
AgoraRtmLinkOperationLogin 

Login.

AgoraRtmLinkOperationLogout 

Logout.

AgoraRtmLinkOperationJoin 

Join

AgoraRtmLinkOperationLeave 

Leave.

AgoraRtmLinkOperationServerReject 

Server reject

AgoraRtmLinkOperationAutoReconnect 

Auto reconnect

AgoraRtmLinkOperationReconnected 

Reconnected

AgoraRtmLinkOperationHeartbeatTimeout 

Heartbeat timeout

AgoraRtmLinkOperationServerTimeout 

Server timeout

AgoraRtmLinkOperationNetworkChange 

Network change

◆ AgoraRtmTopicEventType

Topic event type.

Enumerator
AgoraRtmTopicEventTypeNone 

0: Unknown event type

AgoraRtmTopicEventTypeSnapshot 

1: The topic snapshot of this channel

AgoraRtmTopicEventTypeRemoteJoinTopic 

2: Triggered when remote user join a topic

AgoraRtmTopicEventTypeRemoteLeaveTopic 

3: Triggered when remote user leave a topic

◆ AgoraRtmPresenceEventType

Presence event type.

Enumerator
AgoraRtmPresenceEventTypeNone 

0: Unknown event type

AgoraRtmPresenceEventTypeSnapshot 

1: The presence snapshot of this channel

AgoraRtmPresenceEventTypeInterval 

2: The presence event triggered in interval mode

AgoraRtmPresenceEventTypeRemoteJoinChannel 

3: Triggered when remote user join channel

AgoraRtmPresenceEventTypeRemoteLeaveChannel 

4: Triggered when remote user leave channel

AgoraRtmPresenceEventTypeRemoteConnectionTimeout 

5: Triggered when remote user's connection timeout

AgoraRtmPresenceEventTypeRemoteStateChanged 

6: Triggered when user changed state

AgoraRtmPresenceEventTypeErrorOutOfService 

7: Triggered when user joined channel without presence service

◆ AgoraRtmJoinChannelFeature

join stream channel features

Enumerator
AgoraRtmJoinChannelFeatureNone 

0: join stream channel with no other features.

AgoraRtmJoinChannelFeaturePresence 

1: join stream channel with presence event notification.

AgoraRtmJoinChannelFeatureMetadata 

1 << 1: join stream channel with metadata event notification.

AgoraRtmJoinChannelFeatureLock 

1 << 2: join stream channel with lock event notification.

AgoraRtmJoinChannelFeatureBeQuiet 

Whether to subscribe channel in quiet mode Quiet mode means remote user will not receive any notification when we subscribe or unsubscribe or change our presence state

◆ AgoraRtmSubscribeChannelFeature

subscribe message channel features

Enumerator
AgoraRtmSubscribeChannelFeatureNone 

0: subscribe message channel with no other features.

AgoraRtmSubscribeChannelFeaturePresence 

1: subscribe message channel with presence event notification.

AgoraRtmSubscribeChannelFeatureMetadata 

1 << 1: subscribe message channel with metadata event notification.

AgoraRtmSubscribeChannelFeatureMessage 

1 << 2: subscribe message channel with message event notification.

AgoraRtmSubscribeChannelFeatureLock 

1 << 3: subscribe message channel with lock event notification.

AgoraRtmSubscribeChannelFeatureBeQuiet 

Whether to join channel in quiet mode Quiet mode means remote user will not receive any notification when we join or leave or change our presence state

◆ AgoraRtmClientConnectionState

Connection states between rtm sdk and agora server.

Enumerator
AgoraRtmClientConnectionStateDisconnected 

1: The SDK is disconnected with server.

AgoraRtmClientConnectionStateConnecting 

2: The SDK is connecting to the server.

AgoraRtmClientConnectionStateConnected 

3: The SDK is connected to the server and has joined a channel. You can now publish or subscribe to a track in the channel.

AgoraRtmClientConnectionStateReconnecting 

4: The SDK keeps rejoining the channel after being disconnected from the channel, probably because of network issues.

AgoraRtmClientConnectionStateFailed 

5: The SDK fails to connect to the server or join the channel.

◆ AgoraRtmClientConnectionChangeReason

Reasons for connection state change.

Enumerator
AgoraRtmClientConnectionChangedConnecting 

0: The SDK is connecting to the server.

AgoraRtmClientConnectionChangedJoinSuccess 

1: The SDK has joined the channel successfully.

AgoraRtmClientConnectionChangedInterrupted 

2: The connection between the SDK and the server is interrupted.

AgoraRtmClientConnectionChangedBannedByServer 

3: The connection between the SDK and the server is banned by the server.

AgoraRtmClientConnectionChangedJoinFailed 

4: The SDK fails to join the channel for more than 20 minutes and stops reconnecting to the channel.

AgoraRtmClientConnectionChangedLeaveChannel 

5: The SDK has left the channel.

AgoraRtmClientConnectionChangedInvalidAppId 

6: The connection fails because the App ID is not valid.

AgoraRtmClientConnectionChangedInvalidChannelName 

7: The connection fails because the channel name is not valid.

AgoraRtmClientConnectionChangedInvalidToken 

8: The connection fails because the token is not valid.

AgoraRtmClientConnectionChangedTokenExpired 

9: The connection fails because the token has expired.

AgoraRtmClientConnectionChangedRejectedByServer 

10: The connection is rejected by the server.

AgoraRtmClientConnectionChangedSettingProxyServer 

11: The connection changes to reconnecting because the SDK has set a proxy server.

AgoraRtmClientConnectionChangedRenewToken 

12: When the connection state changes because the app has renewed the token.

AgoraRtmClientConnectionChangedClientIpAddressChanged 

13: The IP Address of the app has changed. A change in the network type or IP/Port changes the IP address of the app.

AgoraRtmClientConnectionChangedKeepAliveTimeout 

14: A timeout occurs for the keep-alive of the connection between the SDK and the server.

AgoraRtmClientConnectionChangedRejoinSuccess 

15: The SDK has rejoined the channel successfully.

AgoraRtmClientConnectionChangedChangedLost 

16: The connection between the SDK and the server is lost.

AgoraRtmClientConnectionChangedEchoTest 

17: The change of connection state is caused by echo test.

AgoraRtmClientConnectionChangedClientIpAddressChangedByUser 

18: The local IP Address is changed by user.

AgoraRtmClientConnectionChangedSameUidLogin 

19: The connection is failed due to join the same channel on another device with the same uid.

AgoraRtmClientConnectionChangedTooManyBroadcasters 

20: The connection is failed due to too many broadcasters in the channel.

AgoraRtmClientConnectionChangedLicenseValidationFailure 

21: The connection is failed due to license validation failure.

AgoraRtmClientConnectionChangedCertificationVerifyFailure 

22: The connection is failed due to certification verify failure.

AgoraRtmClientConnectionChangedStreamChannelNotAvailable 

23: The connection is failed due to user vid not support stream channel.

AgoraRtmClientConnectionChangedInconsistentAppId 

24: The connection is failed due to token and appid inconsistent.

AgoraRtmClientConnectionChangedLoginSuccess 

10001: The connection of rtm edge service has been successfully established.

AgoraRtmClientConnectionChangedLogout 

10002: User logout Agora RTM system.

AgoraRtmClientConnectionChangedPresenceNotReady 

10003: User log out Agora RTM system.

◆ AgoraRtmChannelType

rtm channel type.

Enumerator
AgoraRtmChannelTypeNone 

0: Unknown channel type.

AgoraRtmChannelTypeMessage 

1: message channel.

AgoraRtmChannelTypeStream 

2: stream channel.

AgoraRtmChannelTypeUser 

3: User.

◆ AgoraRtmStorageEventType

The storage event type, indicate storage operation

Enumerator
AgoraRtmStorageEventTypeNone 

0: Unknown event type.

AgoraRtmStorageEventTypeSnapshot 

1: Triggered when user subscribe user metadata state or join channel with options.withMetadata = true

AgoraRtmStorageEventTypeSet 

2: Triggered when a remote user set metadata

AgoraRtmStorageEventTypeUpdate 

3: Triggered when a remote user update metadata

AgoraRtmStorageEventTypeRemove 

4: Triggered when a remote user remove metadata

◆ AgoraRtmPresenceType

RTM presence type.

Enumerator
AgoraRtmPresenceTypeRemoteJoinChannel 

0: Triggered when remote user join channel

AgoraRtmPresenceTypeRemoteLeaveChannel 

1: Triggered when remote leave join channel

AgoraRtmPresenceTypeRemoteConnectionTimeout 

2: Triggered when remote user's connection timeout

AgoraRtmPresenceTypeRemoteJoinTopic 

3: Triggered when remote user join a topic

AgoraRtmPresenceTypeRemoteLeaveTopic 

4: Triggered when remote user leave a topic

AgoraRtmPresenceTypeSelfJoinChannel 

5: Triggered when local user join channel

◆ AgoraRtmMessageQos

The qos of rtm message.

Enumerator
AgoraRtmMessageQosUnordered 

not ensure messages arrive in order.

AgoraRtmMessageQosOrdered 

ensure messages arrive in order.

◆ AgoraRtmLogLevel

Enumerator
AgoraRtmLogLevelNone 

Do not output any log file.

AgoraRtmLogLevelInfo 

(Recommended) Output log files of the Info level.

AgoraRtmLogLevelWarn 

Output log files of the Warning level.

AgoraRtmLogLevelError 

Output log files of the Error level.

AgoraRtmLogLevelFatal 

Output log files of the Critical level.