Signaling API BetaAgora Signaling SDK Error Codes

Signaling API Beta

Methods

Note

Only the built-in attributes come after an underscore; the custom attributes do not.

Life Cycle

Get an AgoraAPIOnlySignal Instance (getInstance)

This method gets an AgoraAPIOnlySignal instance.

public static AgoraAPIOnlySignal getInstance(Context context, String appId);
Parameter Description
context Context of the Android activity.
appId The App ID provided by Agora. For more information, see Get an App ID .

Set Callback (callbackSet)

This method sets a callback.

public native void callbackSet(ICallBack handler);
Parameter Description
handler A handler of ICallBack.

Note

Please avoid using synchronization or block when it comes to callback operations. Otherwise, the signaling system may crash.

Get Callback (callbackGet)

This method gets an ICallBack object.

public ICallBack callbackGet();
Return Value Description
ICallBack An object of ICallBack.

Login

Login (login)

public void login(String appId,String account,String token,int uid,String deviceID);

Use this method to log onto Agora’s signaling system. Users must always login before performing any operations.

  • When Login is successful:triggers onLoginSuccess callback,
  • When login fails:triggers onLoginFailed callback,
  • When loses connection with server:triggers onLogout callback.
Parameter Description
appId The App ID provided by Agora. For more information, see Get an App ID .
account The user ID defined by the client. It can be up to 128 visible characters (space is not allowed). It can be uid, nickname, guid and other content, so long as it is unique. The account parameters in this document follow this rule.
token The signaling Key generated by App ID and App Certificate. See Get a Signaling Key for details.
uid Obsolete: set it to 0
deviceID Set it to NULL.

Note

By default, if you are already logged in, the call of login() will be ignored. To cancel the previous login, call logout() beforehand without having to wait until it is successfully executed.

Login (login2)

public void login2(String appId,String account,String token,int uid,String deviceID, int retry_time_in_s, int retry_count);

Use this method to log onto Agora’s signaling system. Users must always login before performing any operations.

  • When Login is successful:triggers onLoginSuccess callback,
  • When login fails:triggers onLoginFailed callback,
  • When loses connection with server:triggers onLogout callback.
Parameter Description
appId The App ID provided by Agora. For more information, see Get an App ID .
account The user ID defined by the client. It can be up to 128 visible characters (space is not allowed). It can be uid, nickname, guid and other content, so long as it is unique. The account parameters in this document follow this rule.
token The signaling Key generated by App ID and App Certificate. See Get a Signaling Key for details.
uid Obsolete: set it to 0
deviceID Set it to NULL.
retry_time_in_s The maximum time allowed to re-login, 30 seconds by default.
retry_count The maximum times allowed to re-login, 3 times by default.

Note

onLoginFailed will be triggered when either retry_time_in_s or retry_count is reached.

Log out (logout)

It triggers the onLogout callback upon a successful execution.

public void logout();

Remote Process Calling (invoke)

public void invoke(String name, String req, String callID);

This methid is used for remote process calling. When successfully called, it will trigger the onInvokeRet callback.

Function Parameter Settings and Returns
Query the status of a user
  • name: io.agora.signal.user_query_user_status
  • req: {“account”:account of the user}
  • Returns: status(1:online; 0:offline)
Set an attribute of a user
  • name: io.agora.signal.user_set_attr
  • req: {“name”:attribute name,”value”:attribute value}
Get an attribute of a user
  • name: io.agora.signal.user_get_attr
  • req: {“account”:account of the user,”name”:attribute name}
  • Returns: {“value”:attribute value}
Get all the attributes of a user
  • name: io.agora.signal.user_get_attr_all
  • req: {“account”:account of the user}
  • Returns: The JSON value of all attributes
Retrieve the number of the users in a channel
  • name: io.agora.signal.channel_query_num
  • req: {“name”:channel name}
  • Returns: All users in the channel
Check if a user is in a specific channel
  • name: io.agora.signal.channel_query_user_isin
  • req: {“name”:channel name,”account”:account of the user}
  • Returns: isin(1: in the channel; 0:not in the channel)
Get a list of the users in a channel
  • name: io.agora.signal.channel_query_userlist
  • req: {“name”:channel name}
  • Returns: {“num”:number of the users in the channel,”list”:the latest user}
Get a list of the latest users in a channel
  • name: io.agora.signal.channel_query_userlist_all
  • req: {“name”:channel name,”num”:number (by default 1000*1000)}
  • Returns: {“num”:number of the users in the channel,”list”:the latest users}
  • Agora recommends using it at the server. If using it on the client, pay attention to the limit on the usage frequency.
Clear all attributes of a specific channel
  • name: io.agora.signal.channel_clear_attr
  • req: {“channel”,channel name}
Delete an attribute of a specific channel
  • name: io.agora.signal.channel_del_attr
  • req: {“channel”:channel name,”name”:attribute name}
Set an attribute of a specific channel
  • name: io.agora.signal.channel_set_attr
  • req: {“channel”:channel name,”name”:attribute name,”value”:value name}

Query User Status (queryUserStatus)

This method checks whether the user is online or not. Calling this method triggers the onQueryUserStatusResult callback.

public void queryUserStatus(String account);
Parameter Description
account Account of the user.

Set User Attributes (setAttr)

public void setAttr(String name,String value);

This method sets the user attributes.

Parameter Description
name The attribute name, can be up to 128 visible characters. For example, _conn_timeout is the built-in attribute and refers to the offline timeout in seconds. It is set to 120s by default value and ranges between 20s and 120s.
value The attribute value, can be up to 8096 visible characters.

Get Your Own User Attributes (getAttr)

This method gets your own user attributes. It triggers the onUserAttrResult callback when called successfully.

public void getAttr(String name);
Parameter Description
name

Attribute name.

It can be up to 128 visible characters

Get All of Your Own Attributes (getAttrAll)

This method gets all of your attributes. You will receive the onUserAttrAllResult upon a successful execution.

public void getAttrAll();

Get Attributes of Specific User (getUserAttr)

This method allows the user to get the attributes of a specific user. The user will receive the onUserAttrResult callback.

public void getUserAttr(String account,String name);
Parameter Description
account User ID defined by the client.
name

Attribute name.

It can be up to 128 visible characters

Get All attributes of Specific User (getUserAttrAll)

This method allows the user to get all the attributes of a specific user. The user will receive the onUserAttrAllResult callback upon a successful execution.

public void getUserAttrAll(String account);
Parameter Description
account User ID defined by the client.

Send Point-to-Point Message (messageInstantSend)

This method sends a point-to-point message to a specific account.

Upon a successful execution, the user receives the onMessageSendSuccess callback, and the other user receives onMessageInstantReceive.

If the execution fails, the user receives the onMessageSendError callback.

public void messageInstantSend(String account,int uid,String msg,String msgID);
Parameter Description
account User ID defined by the client.
uid Obsolete: set it to 0.
msg The message body. Each message must not exceed 8196 visible characters.
msgID The message ID.

Channel

Join Channel (channelJoin)

This method allows the users to join a specified channel.

Once the user joins a channel, he/she receives the onChannelJoined callback, and other users in the same channel receive the onChannelUserJoined callback. If the user fails to join a specific channel, he/she receives an onChannelJoinFailed callback.

public void channelJoin(String channelID);
Parameter Description
channelID

The channel name. It can be up to 128 visible characters. It has the following two built-in attributes:

  • _agora_user_online All the user-online or user-offline events within the current appId will be sent to this channel.
  • _agora_channel_event All the events about a user joining or leaving a channel within the current appId will be sent to this channel.

Note

The above 2 channel names are to be used by servers only. Joining these channels to receive login events and channel events, etc.

Leave Channel (channelleave)

This method allows the users to leave the current channel. Once the user left the channel, all rest users in the channel receive the onChannelUserLeaved callback.

public void channelLeave(String channelID);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters.

Query Channel User Number (channelQueryUserNum)

This method allows the users to query the number of users in a specified channel. Upon a successful execution, the users will receive the onChannelQueryUserNumResult callback.

public void channelQueryUserNum(String channelID);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters.

Query in Channel Status (channelQueryUserIsIn)

public void channelQueryUserIsIn(String channelID, String account)

Use this method to query if the user is in the channel or not. It triggers the onChannelQueryUserIsIn callback upon successful execution.

Parameter Description
channelID The channel name. Maximum length is 128 visible characters.
account The user ID defined by the client.

Set Channel Attributes (channelSetAttr)

This method sets the channel attributes. Whenever a change is made to the attributes, all the users in the channel will receive the onChannelAttrUpdated callback.

public void channelSetAttr(String channelID,String name,String value);
Parameter Description
channelID Channel name, can be up to 128 visible charaters.
name The attribute name, can be up to 128 visible charaters.
value The attribute value, can be up to 8096 visible charaters.

Following are the in-built attributes of the parameter name:

Attributes Description
_userNotification
  • 1: Default value. The channel sends callbacks that a user has joined or left the channel.
  • 0: The channel does not send callbacks that a user has joined or left the channel.
_channel_ttl The time (in seconds) between the last user leaves a channel and the system destroys it. The default value is 7200. A special channel will never be destroyed.
_member_num The number of the users current in the channel. Is updated automatically by the system.
_auto_update_num

Indicates whether to automatically refresh the number of the users current in the channel.

  • 0: Disabled (default)
  • 1~n: The refreshing frequency in seconds.

Delete Channel Attributes (channelDelAttr)

This method deletes the channel attribute. All the users in the channel will receive the onChannelAttrUpdated callback, when the method is called successfully.

public void channelDelAttr(String channelID,String name);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters.

name

Attribute name.

It can be up to 128 visible characters.

Delete All Channel Attributes (channelClearAttr)

This method deletes all the attributes of a specified channel. When it is called successfully, all the users in the channel will receive the onChannelAttrUpdated callback.

public void channelClearAttr(String channelID);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters.

Send Channel Message (messageChannelSend)

This method sends channel message, and all users in the same channel receive the onMessageChannelReceive callback.

The user who sent the message receives onMessageSendSuccess callback upon a successful execution, otherwise, receives onMessageSendError.

public void messageChannelSend(String channelID,String msg,String msgID);
Parameter Description
channelID The channel name. It can be up to 128 visible characters .
msg The message body. In a large group call, each message must not exceed 8196 visible characters. Each user cannot send more than 60 messages per second, the entire channel can not send more than 1,000 messages per second.
msgID Visible characters, can be set to NULL. It marks the callback message.

Calling

Initiate a Call (channelInviteUser)

This method initiates a call, that is, invites a user to join a specific channel.

Note

Calling and joining a channel are two separate processes. The user has to call channelJoin() to join the channel. The user can either join the channel before sending a call invitation or send a call invitation before joining the channel (when the counterpart accepts the invitation).

If the call fails, the user will receive the onInviteFailed callback. Possible reasons include:

  • The other user is offline;
  • Network issue in the local;
  • Server error;

If the caller gets confirmation from the one being called, the user will receive the onInviteReceivedByPeer callback, and the other will receive the onInviteReceived callback.

public void channelInviteUser(String channelID,String account,int uid);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters .

account User ID of the other user defined by the client.
uid Obsolete. Set it to 0.

Initiate a Call (channelInviteUser2)

Same as above except for the parameters.

public void channelInviteUser2(String channelID,String account,String extra);
Parameter Description
channelID Channel name: It can be up to 128 visible characters.
account User ID of the other user defined by the client.
extra

Extra Information to send to the user being called. It can be up to 8196 visible characters and must be in the JSON format. For example:

  • {“_require_peer_online”:1} If the user is not online, the onInviteFailed callback will be triggered.
  • {“_require_peer_online”:0} It does not matter whether the user is online or not (default).

Send DTMF Message to Other User (channelInviteDTMF)

This method sends DTMF message to the other user for calling via SIP gateway. The receiver will receive the onInviteMsg callback.

public void channelInviteDTMF(String channelID,String phoneNum,String dtmf);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters .

phoneNum The phone number of the other user.
dtmf The subsequent analog phone number(DTMF) to be entered after the call gets through.

Accept a Call (channelInviteAccept)

This method accepts the received call request/invitation. Once this API is called, the other user will receive the onInviteAcceptedByPeer callback.

public void channelInviteAccept(String channelID,String account,int uid);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters .

account The caller’s user ID.
uid

Obsolete.

Set it to 0.

Reject a Call (channelInviteRefuse)

This method rejects a call invitation/request. Once this API is called, the other user will receive the onInviteRefusedByPeer callback.

public void channelInviteRefuse(String channelID,String account,int uid, String extra);
Parameter Description
channelID The channel name. It can be up to 128 visible characters.
account User ID of the other user defined by the client.
uid Obsolete: set it to 0.
extra Extra Information. It can be up to 8196 visible characters and must be in the JSON format.

End a Call (channelInviteEnd)

This method ends a call after the call has been connected. The user receives the onInviteEndByMyself callback, and the other the onInviteEndByPeer callback.

public void channelInviteEnd(String channelID,String account,int uid);
Parameter Description
channelID

Channel name.

It can be up to 128 visible characters.

account User ID of the other user defined by the client.
uid

Obsolete.

Set it to 0.

Miscellaneous

Get the User Status (getStatus)

This method gets the user status.

public int getStatus();
Return Value Description
LOGIN_STATE_NOT_LOGIN 0: The user has not logged in.
LOGIN_STATE_LOGINING 1: The user is logging in.
LOGIN_STATE_LOGINED 2: The user has logged in.
LOGIN_STATE_RECONNECTING 3: The user is reconnecting.

Get the SDK Version (getSdkVersion)

This method gets the version of the SDK.

public int getSdkVersion();
Return Value Description
The SDK version. For example, 1010104019 means version 1.1.4.19.

Send Channel Message (messageChannelSendForce)

This method sends a channel message without joining the channel. Agora does not recommend using it at the application level.

public native void messageChannelSendForce(String channelID,String msg,String msgID);
Parameter Description
channelID The channel ID.
msg The message to send.
msgID The ID of the message.

Obsolete Interfaces

Interfaces Prototype
messageDTMFSend public void messageDTMFSend(int uid,String msg,String msgID);
channelInvitePhone public void channelInvitePhone(String channelID,String phoneNum,int uid);
channelInvitePhone2 public void channelInvitePhone2(String channelID,String phoneNum,String sourcesNum);
channelInvitePhone3 public void channelInvitePhone3(String channelID,String phoneNum,String sourcesNum,String extra);
isOnline public int isOnline();

Callbacks

Following are callbacks related to Agora’s signaling system.

Connection Lost Callback (onReconnecting)

This callback is triggered when the connection to Agora’s signaling system is lost after login.

public void onReconnecting(int nretry);
Parameter Description
nretry The current reconnection number.

Error Callback (onError)

This callback returns detailed description of the error.

public void onError(String name,int ecode,String desc)
Parameter Description
name The error type
ecode

The error code. For more information, see Error Code - Agora Signaling SDK .

  • GENERAL_E = 1000 : general error.
  • GENERAL_E_FAILED = 1001: Operation failed.
  • GENERAL_E_UNKNOWN = 1002: general error - unknown.
  • GENERAL_E_NOT_LOGIN = 1003: not logged in.
  • GENERAL_E_WRONG_PARAM = 1004: wrong parameter.
  • GENERAL_E_LARGE_PARAM = 1005: large parameter.
desc Description of the error.

User Status Query Callback (onQueryUserStatusResult)

This callback returns the query result of the user status. It is triggered when queryUserStatus() is called.

public void onQueryUserStatusResult(String name,String status)
Parameter Description
name Account of the user.
status

Status of the user: whether the user is online or not.

  • 1: the user is online.
  • 0: the user is offline.

Connection Recovered Callback (onReconnected)

public void onReconnected(int fd);

This callback is triggered when the application is reconnected to Agora’s signaling system. When the reconnection fails, the onLogout callback will be triggered instead.

Parameter Description
fd For Agora internal use.

User Online Callback (onLoginSuccess)

public void onLoginSuccess(int uid,int fd);

This callback is triggered when the user is logged into Agora’s signaling system.

Parameter Description
uid Obsolete. Set it to 0.
fd For internal use by Agora only.

User Offline Callback (onLogout)

public void onLogout(int ecode);

This callback is triggered when the user logged out Agora’s signaling system.

Parameter Description
ecode error code

User Login Failed Callback (onLoginFailed)

public void onLoginFailed(int ecode);

This callback is triggered when the user fails to log into Agora’s signaling system.

Parameter Description
ecode error code

Remote Process Calling Succeeded Callback (onInvokeRet)

void onInvokeRet(String callID, String err, String resp);
Parameter Description
callID The callID introduced by invoke()
err The error code
resp The returned JSON value

This callback is triggered when the RPC remote process calling succeeds.

User Joined Channel Callback (onChannelJoined)

public void onChannelJoined(String channelID);

This callback is triggered when the user has joined a channel.

Parameter Description
channelID Channel name

User Failed to Join Channel Callback (onChannelJoinFailed)

public void onChannelJoinFailed(String channelID,int ecode);

This callback is triggered when the user fails to join a channel.

Parameter Description
channelID Channel name
ecode error code

User Left Channel Callback (onChannelLeaved)

public void onChannelLeaved(String channelID,int ecode);

This callback is triggered when the user left a channel.

Parameter Description
channelID Channel name
ecode error code

Other User Joined Channel Callback (onChannelUserJoined)

public void onChannelUserJoined(String account,int uid);

This callback is triggered when other user joined the channel.

Parameter Description
account The user ID defined by the client.
uid Obsolete: set it to 0.

Other User Left Channel Callback (onChannelUserLeaved)

public void onChannelUserLeaved(String account,int uid);

This callback is triggered when other user left the channel.

Parameter Description
account The user ID defined by the client.
uid Obsolete: set it to 0.

User List Received Callback (onChannelUserList)

public void onChannelUserList(String[] accounts, int[] uids);

This callback is triggered when the user has joined a non-large channel(less than 200 people).

Parameter Description
account The user ID defined by the client.
uid Obsolete: set it to 0.

User Number Received Callback (onChannelQueryUserNumResult)

public void onChannelQueryUserNumResult(String channelID,int ecode,int num);

This callback is triggered when the user queries the user number of the channel.

Parameter Description
channelID Channel name
ecode Error code
num The query result

Query in Channel Status Callback (onChannelQueryUserIsIn)

public virtual void onChannelQueryUserIsIn(std::string channelID, std::string account, int isIn){}

This callback is triggered when the user queries if he/she is in the channel or not.

Parameter Description
channelID The channel name.
account The user ID defined by the client.
isIn

Specifies whether the user is in the channel or not

  • 1: In the channel
  • 0: Not in the channel

Channel Attribute Changed Callback (onChannelAttrUpdated)

public void onChannelAttrUpdated(String channelID,String name,String value,String type);

This callback is triggered when the channel attribute is changed.

Parameter Description
channelID The channel name.
name The attribute name.
value The attribute value.
type

The change types:

  • “update”: Update
  • “del”: Delete
  • “clear”: Delete all
  • “set”: obsolete

Call Invitation Received Callback (onInviteReceived)

public void onInviteReceived(String channelID,String account,int uid,String extra);

This callback is triggered when the user received a call invitation/request.

Parameter Description
channelID The channel name.
account User ID of the other user defined by the client.
uid Obsolete: set it to 0.
extra Extra Information to send to the user being called. It can be up to 8196 visible characters and must be in the JSON format.

Other User Received Call Callback (onInviteReceivedByPeer)

public void onInviteReceivedByPeer(String channelID,String account,int uid);

This callback is received the caller when the other user has received the call invitation/request.

Parameter Description
channelID Channel name
account User ID of the other user defined by the client.
uid obsolete

Other User Accepted Call Callback (onInviteAcceptedByPeer)

public void onInviteAcceptedByPeer(String channelID,String account,int uid, String extra);

This callback is received by the caller when the other user has accepted the call invitation/request.

Parameter Description
channelID Channel name
account User ID of the other user defined by the client.
uid obsolete
extra

Additional Information the caller wants to send to the callee.

For example, this is a video call or audio call.

It must be in the JSON format.

Other User Rejected Call Callback (onInviteRefusedByPeer)

public void onInviteRefusedByPeer(String channelID,String account,int uid, String extra);

This callback is received by the caller when the other user rejected the call invitation/request.

Parameter Description
channelID The channel name.
account User ID of the other user defined by the client.
uid Obsolete: set it to 0.
extra Extra information: NULL or in the JSON format.

Call Failed Callback (onInviteFailed)

public void onInviteFailed(String channelID,String account,int uid,int ecode, String extra);

This callback is triggered when a call fails.

Parameter Description
channelID Channel name
account User ID of the other user defined by the client.
uid obsolete
extra Extra information: NULL or in the JSON format.

Other User Ended Call Callback (onInviteEndByPeer)

public void onInviteEndByPeer(String channelID,String account,int uid, String extra);

This callback is triggered when the other user ended the call.

Parameter Description
channelID Channel name
account User ID of the other user defined by the client.
msg Message body
extra

Additional Information the caller wants to deliver to the callee.

For example, this is a video call or audio call.

It must be in the JSON format.

Call Ended Callback (onInviteEndByMyself)

public void onInviteEndByMyself(String channelID,String account,int uid);

This callback is received by the user when the user ended the call.

Parameter Description
channelID Channel name
account User ID of the other user defined by the client
uid obsolete

Message Received Callback (onInviteMsg)

public void onInviteMsg(String channelID, String account, int uid, String msgType, String msgData, String extra)

This callback is triggered when you have received a DTMF message from the other user.

Parameter Description
channelID Channel name. It can be up to 128 visible characters
account User ID of the other user defined by the client
uid Obsolete.
msgType The message Type. Currently it means DTMF
msgData The detailed DTMF message. Supported strings include: 0-9, * and #
extra The extra information of the call, which can be a string, a JSON string, or NULL.

Message Failed Callback (onMessageSendError)

public void onMessageSendError(String messageID,int ecode);

This callback is triggered when the user fails to send a message.

Parameter Description
messageID Message ID
ecode Error code

Message Sent Callback (onMessageSendSuccess)

public void onMessageSendSuccess(String messageID);

This callback is triggered when the user sent a message successfully.

Parameter Description
messageID Message ID

Other User Received Message Callback (onMessageInstantReceive)

public void onMessageInstantReceive(String account,int uid,String msg);

This callback is triggered when the other user has received the message.

Parameter Description
account User ID defined by the client
uid Obsolete
msg Message body

Channel Message Received Callback (onMessageChannelReceive)

public void onMessageChannelReceive(String channelID,String account,int uid,String msg);

This callback is trigged when a channel message is received.

Parameter Description
channelID Channel name
account User ID defined by the client
uid obsolete
msg Message body

Log Printed Callback (onLog)

public void onLog(String txt);

This callback is trigged upon a line of log is printed out.

Parameter Description
txt Content of a log line

Attribute Received Callback (onUserAttrResult)

public void onUserAttrResult(String account,String name,String value);

This callback is triggered when the user queries the attribute of a specific user.

Parameter Description
account The user ID defined by the client.
name The attribute name.
value The value of the attribute.

All Attribute Received Callback (onUserAttrAllResult)

public void onUserAttrAllResult(String account,String value);

This callback is triggered when the user queries all the attributes of a specific user.

Parameter Description
account The user ID defined by the client.
value The JSON values of all the attribute of the user.

Agora Signaling SDK Error Codes

Introduction

The Agora Signaling SDK will return error or warning codes when calling APIs or during runtime:

  • Error Codes occur when the SDK encountered an error that can be not recovered automatically without any application intervention.
  • Warning Codes occur when the SDK encountered an error that might be recovered automatically. A Warning Code is just for notification, which can usually be ignored.
Error Code Value Description
SUCCESS 0 No error.
LOGOUT_E_OTHER 100 Logout due to reasons such as network issues.
LOGOUT_E_USER 101 A user logged out.
LOGOUT_E_NET 102 A network issue.
LOGOUT_E_KICKED 103 The account is logged in another place.
LOGOUT_E_PACKET 104 This error code is obsolete.
LOGOUT_E_TOKENEXPIRED 105 The Signaling Key expired.
LOGOUT_E_OLDVERSION 106 This error code is obsolete.
LOGOUT_E_TOKENWRONG 107 This error code is obsolete.
LOGIN_E_OTHER 200 An unknown reason.
LOGIN_E_NET 201 A network issue.
LOGIN_E_FAILED 202 The login was rejected by the server.
LOGIN_E_CANCEL 203 The user cancelled the login.
LOGIN_E_TOKENEXPIRED 204 The Signaling Key expired, and the login was rejected.
LOGIN_E_OLDVERSION 205 This error code is obsolete.
LOGIN_E_TOKENWRONG 206 The Signaling Key is invalid, see error_206 for details.
LOGIN_E_TOKEN_KICKED 207 The user used a renewed Signaling Key to login another place.
LOGIN_E_ALREADY_LOGIN 208 The user has already logged in. You can ignore this error.
JOINCHANNEL_E_OTHER 300 Failed to join a channel.
SENDMESSAGE_E_OTHER 400 Failed to send message.
SENDMESSAGE_E_TIMEOUT 401 A timeout in sending a message.
QUERYUSERNUM_E_OTHER 500 Failed to query the channel user number.
QUERYUSERNUM_E_TIMEOUT 501 A timeout in querying the channel user number.
QUERYUSERNUM_E_BYUSER 501 This error code is obsolete.
LEAVECHANNEL_E_OTHER 600 The user left the channel due to an unknown reason.
LEAVECHANNEL_E_KICKED 601 The user was kicked out by the administrator.
LEAVECHANNEL_E_BYUSER 602 The user has left the channel.
LEAVECHANNEL_E_LOGOUT 603 The user was kicked out of the channel upon logout.
LEAVECHANNEL_E_DISCONN 604 The user left the channel due to a network outage.
INVITE_E_OTHER 700 The call failed.
INVITE_E_REINVITE 701 Repeated calls.
INVITE_E_NET 702 A network issue.
INVITE_E_PEEROFFLINE 703 The other user is offline
INVITE_E_TIMEOUT 704 A call timeout.
INVITE_E_CANTRECV 705 This error code is obsolete.
GENERAL_E 1000 A general error.
GENERAL_E_FAILED 1001 A general error: Failure.
GENERAL_E_UNKNOWN 1002 A general error: Unknown.
GENERAL_E_NOT_LOGIN 1003 A general error: An action before login.
GENERAL_E_WRONG_PARAM 1004 A general error: A parameter call error.