Skip to content

Commit c37b72e

Browse files
authored
855 signaling v2.2.6 native + web 2.2.3 (#1524)
* 2.2.6 rtm release-notes+api-ref * review-update
1 parent 3d34fac commit c37b72e

File tree

8 files changed

+167
-1
lines changed

8 files changed

+167
-1
lines changed

shared/signaling/reference/api-ref/android/_configuration-en.android.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ RtmConfig rtmConfig = new RtmConfig.Builder("appid", "userId")
2727
.protocolType(protocolType)
2828
.presenceTimeout(300)
2929
.heartbeatInterval(5)
30+
.reconnectTimeout(60)
3031
.useStringUserId(true)
32+
.ispPolicyEnabled(false)
3133
.proxyConfig(proxyConfig)
3234
.logConfig(logConfig)
3335
.encryptionConfig(encryptionConfig)
@@ -44,7 +46,9 @@ RtmConfig rtmConfig = new RtmConfig.Builder("appid", "userId")
4446
| `protocolType` | <code>{enumv.protocoltype[props.ag_platform]}</code> | Optional | <code>{enumv.protocoltypeall[props.ag_platform]}</code> | Protocol types for message transmission. By default, Signaling utilizes one-way TCP and one-way UDP protocols for transmission. You have the flexibility to modify the protocol types based on your requirements. See <a href="#enumvprotocoltypepropsag_platform"><code>{enumv.protocoltype[props.ag_platform]}</code></a>. |
4547
| `presenceTimeout` | int | Optional | `300` | Presence timeout in seconds, and the value range is [5,300]. This parameter refers the delay imposed by the Signaling server before sending a <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other users once it determines that a client has timed out. If the client reconnects and returns to the channel within the specified time, the Signaling server does not send the <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other participants or delete the temporary user data associated with the user. |
4648
| `heartbeatInterval` | int | Optional | `5` | Heartbeat interval in seconds, and the value range is [5,1800]. This parameter refers to the time interval at which the client sends heartbeat packets to the Signaling server. If the client fails to send heartbeat packets to the Signaling server within the specified time, the Signaling server determines that the client has timed out. Please note that this parameter affects the PCU count, which in turn affects billing.|
49+
| `reconnectTimeout` | int | Optional | `0` | SDK connection timeout in seconds. The value range is [15,3600]. The default value is `0` which means no timeout; the SDK keeps retrying until successful. This parameter applies to both the initial login to thee Signaling service and reconnection after disconnection: <ul><li>If the initial login times out, the SDK triggers the `onFailure` callback with `errorInfo` as `LOGIN_TIMEOUT`, and also triggers the `onLinkStateChanged` callback with `currentState` as `FAILED` and `reason` as `LOGIN_TIMEOUT`.</li><li>If reconnection times out, the SDK triggers the `onLinkStateChanged` callback with `currentState` as `FAILED` and `reason` as `RECONNECT_TIMEOUT`.</li></ul> |
4750
| `useStringUserId` | Bool | Optional | `true` | Whether to use string-type user IDs:<ul><li>`true`: Use string-type user IDs.</li><li>`false`: Use number-type user IDs. The SDK automatically converts string-type user IDs to number-type ones. In this case, the `userId` parameter must be a numeric string (for example, `"123456"`), otherwise initialization fails.</li> </ul>When using Agora RTC and Signaling products at the same time, it is necessary to ensure that the `userId` parameter is consistent. |
51+
| `ispPolicyEnabled` | Bool | Optional | `false` | Whether to enable the ISP domain policy restriction. In IoT scenarios, devices may be restricted by Internet Service Providers (ISPs). Use this field to set the SDK's connection mode to connect to servers with domains registered with the operator or those in the IP whitelist: <ul><li>`true`: Enable the ISP domain policy restriction. This setting applies to scenarios where IoT devices use IoT SIM cards for network access. The SDK will only connect to servers with domains registered with the operator or those in the IP whitelist.</li><li>`false`: (Default) Disable the ISP domain policy restriction. This setting applies to most common scenarios.</li></ul> |
4852
| `logConfig` | <code>{config.log[props.ag_platform]}</code> | Optional | - | Log configuration properties such as the log storage size, storage path, and level. |
4953
| `proxyConfig` | <code>{config.proxy[props.ag_platform]}</code> | Optional | - | When using the Proxy feature of Signaling, you need to configure this parameter. |
5054
| `encryptionConfig` | <code>{config.encryption[props.ag_platform]}</code> | Optional | - | When using the client-side encryption feature of Signaling, you need to configure this parameter. |

shared/signaling/reference/api-ref/linux-cpp/_configuration-en.cpp.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ config.areaCode = RTM_AREA_CODE_CN | RTM_AREA_CODE_AS;
3030
config.protocolType = RTM_PROTOCOL_TYPE_TCP_UDP;
3131
config.presenceTimeout = 300;
3232
config.heartbeatInterval = 5;
33+
config.reconnectTimeout = 60;
3334
config.useStringUserId = true;
35+
config.ispPolicyEnabled = false;
3436
config.proxyConfig = proxyConfig;
3537
config.logConfig = logConfig;
3638
config.encryptionConfig = encryptionConfig;
@@ -45,8 +47,10 @@ config.privateConfig = privateConfig;
4547
| `protocolType` | <code>{enumv.protocoltype[props.ag_platform]}</code> | Optional | <code>{enumv.protocoltypeall[props.ag_platform]}</code> | Protocol types for message transmission. Signaling by default utilizes one-way TCP and one-way UDP protocols for transmission, but you have the flexibility to modify the protocol types based on your requirements. See <a href="#enumvprotocoltypepropsag_platform"><code>{enumv.protocoltype[props.ag_platform]}</code></a>. |
4648
| `presenceTimeout` | uint32_t | Optional | `300` | Presence timeout in seconds, and the value range is [5,300]. This parameter refers the delay imposed by the Signaling server before sending a <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other users once it determines that a client has timed out. If the client reconnects and returns to the channel within the specified time, the Signaling server does not send the <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other participants or delete the temporary user data associated with the user. |
4749
| `heartbeatInterval` | int | Optional | `5` | Heartbeat interval in seconds, and the value range is [5,1800]. This parameter refers to the time interval at which the client sends heartbeat packets to the Signaling server. If the client fails to send heartbeat packets to the Signaling server within the specified time, the Signaling server determines that the client has timed out. Please note that this parameter affects the PCU count, which in turn affects billing.|
50+
| `reconnectTimeout` | uint32_t | Optional | `0` | SDK connection timeout in seconds. The value range is [15,3600]. The default value is `0` which means no timeout; the SDK keeps retrying until successful. This parameter applies to both the initial login to the Signaling service and reconnection after disconnection: <ul><li>If the initial login times out, the SDK triggers the `onLoginResult` callback with `errorCode` as `RTM_ERROR_LOGIN_TIMEOUT`, and also triggers the `onLinkStateChanged` callback with `currentState` as `RTM_LINK_STATE_FAILED` and `reason` as `RTM_LINK_CHANGE_REASON_LOGIN_TIMEOUT`.</li><li>If reconnection times out, the SDK triggers the `onLinkStateChanged` callback with `currentState` as `RTM_LINK_STATE_FAILED` and `reason` as `RTM_LINK_CHANGE_REASON_RECONNECT_TIMEOUT`.</li></ul> |
4851
| `context` | void* | Optional | `NULL` | <ul><li>For Android, it is the context of Android Activity.</li><li>For Windows, it is the window handle of the app. Once set, this parameter enables you to connect or disconnect the video devices while they are powered.</li></ul> |
4952
| `useStringUserId` | bool | Optional | `true` | Whether to use string-type user IDs:<ul><li>`true`: Use string-type user IDs.</li><li>`false`: Use number-type user IDs. The SDK automatically converts string-type user IDs to number-type ones. In this case, the `userId` parameter must be a numeric string (for example, `"123457"`), otherwise initialization fails.</li> </ul>When using Agora RTC and Signaling products at the same time, it is necessary to ensure that the `userId` parameter is consistent. |
53+
| `ispPolicyEnabled` | Bool | Optional | `false` | Whether to enable the ISP domain policy restriction. In IoT scenarios, devices may be restricted by Internet Service Providers (ISPs). Use this field to set the SDK's connection mode to connect to servers with domains registered with the operator or those in the IP whitelist: <ul><li>`true`: Enable the ISP domain policy restriction. This setting applies to scenarios where IoT devices use IoT SIM cards for network access. The SDK will only connect to servers with domains registered with the operator or those in the IP whitelist.</li><li>`false`: (Default) Disable the ISP domain policy restriction. This setting applies to most common scenarios.</li></ul> |
5054
| `eventHandler` | `IRtmEventHandler` | Required | - | Signaling event notification listener settings. See [Event listeners](#event-listeners). |
5155
| `logConfig` | <code>{config.log[props.ag_platform]}</code> | Optional | - | Log configuration properties such as the log storage size, storage path, and level. |
5256
| `proxyConfig` | <code>{config.proxy[props.ag_platform]}</code> | Optional | - | When using the Proxy feature of Signaling, you need to configure this parameter. |

shared/signaling/reference/api-ref/obj-c/_configuration-en.ios.mdx

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,28 @@ The API reference for the Signaling SDK documents interface descriptions, method
2121
You can create <code>{config.rtm[props.ag_platform]}</code> instances as follows:
2222

2323
```objc
24-
AgoraRtmClientConfig* rtm_cfg = [[AgoraRtmClientConfig alloc] initWithAppId:@"your_appid" userId:@"your_userid"];
24+
__attribute__((visibility("default"))) @interface AgoraRtmClientConfig: NSObject
25+
26+
- (instancetype _Nullable)init NS_UNAVAILABLE;
27+
28+
- (instancetype _Nonnull) initWithAppId:(NSString * _Nonnull)appId
29+
userId:(NSString * _Nonnull)userId;
30+
31+
@property (nonatomic, assign) AgoraRtmAreaCode areaCode;
32+
@property (nonatomic, assign) AgoraRtmProtocolType protocolType;
33+
@property (nonatomic, assign) unsigned int presenceTimeout;
34+
@property (nonatomic, assign) unsigned int heartbeatInterval;
35+
@property (nonatomic, assign) unsigned int reconnectTimeout;
36+
@property (nonatomic, copy, nonnull) NSString *appId;
37+
@property (nonatomic, copy, nonnull) NSString *userId;
38+
@property (nonatomic, assign) BOOL useStringUserId;
39+
@property (nonatomic, assign) BOOL multipath;
40+
@property (nonatomic, assign) BOOL ispPolicyEnabled;
41+
@property (nonatomic, copy, nullable) AgoraRtmLogConfig * logConfig;
42+
@property (nonatomic, copy, nullable) AgoraRtmProxyConfig * proxyConfig;
43+
@property (nonatomic, copy, nullable) AgoraRtmEncryptionConfig * encryptionConfig;
44+
@property (nonatomic, copy, nullable) AgoraRtmPrivateConfig * privateConfig;
45+
@end
2546
```
2647
2748
| Methods | Description |
@@ -37,7 +58,9 @@ AgoraRtmClientConfig* rtm_cfg = [[AgoraRtmClientConfig alloc] initWithAppId:@"yo
3758
| `protocolType` | <code>{enumv.protocoltype[props.ag_platform]}</code> | Optional | <code>{enumv.protocoltypeall[props.ag_platform]}</code> | Protocol types for message transmission. Signaling by default utilizes one-way TCP and one-way UDP protocols for transmission, but you have the flexibility to modify the protocol types based on your requirements. See <a href="#enumvprotocoltypepropsag_platform"><code>{enumv.protocoltype[props.ag_platform]}</code></a>. |
3859
| `presenceTimeout` | unsigned int | Optional | `300` | Presence timeout in seconds, and the value range is [5,300]. This parameter refers the delay imposed by the Signaling server before sending a <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other users once it determines that a client has timed out. If the client reconnects and returns to the channel within the specified time, the Signaling server does not send the <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other participants or delete the temporary user data associated with the user. |
3960
| `heartbeatInterval` | unsigned int | Optional | `5` | Heartbeat interval in seconds, and the value range is [5,1800]. This parameter refers to the time interval at which the client sends heartbeat packets to the Signaling server. If the client fails to send heartbeat packets to the Signaling server within the specified time, the Signaling server determines that the client has timed out. Please note that this parameter affects the PCU count, which in turn affects billing.|
61+
| `reconnectTimeout` | uint32_t | Optional | `0` | SDK connection timeout in seconds. The value range is [15,3600]. The default value is `0` which means no timeout; the SDK keeps retrying until successful. This parameter applies to both the initial login to the Signaling service and reconnection after disconnection: <ul><li>If the initial login times out, the SDK triggers the `completion` callback with `errorInfo` as `AgoraRtmErrorLoginTimeout`, and also triggers the `didReceiveLinkStateEvent` callback with `currentState` as `AgoraRtmLinkStateFailed` and `reasonCode` as `AgoraRtmLinkStateChangeReasonLoginTimeout`.</li><li>If reconnection times out, the SDK triggers the `didReceiveLinkStateEvent` callback with `currentState` as `AgoraRtmLinkStateFailed` and `reasonCode` as `AgoraRtmLinkStateChangeReasonReconnectTimeout`.</li></ul> |
4062
| `useStringUserId` | BOOL | Optional | `true` | Whether to use string-type user IDs:<ul><li>`true`: Use string-type user IDs.</li><li>`false`: Use number-type user IDs. The SDK automatically converts string-type user IDs to number-type ones. ones. In this case, the `userId` parameter must be a numeric string (for example, `"123456"`), otherwise initialization fails.</li> </ul>When using Agora RTC and Signaling products at the same time, it is necessary to ensure that the userId parameter is consistent. |
63+
| `ispPolicyEnabled` | Bool | Optional | `false` | Whether to enable the ISP domain policy restriction. In IoT scenarios, devices may be restricted by Internet Service Providers (ISPs). Use this field to set the SDK's connection mode to connect to servers with domains registered with the operator or those in the IP whitelist: <ul><li>`true`: Enable the ISP domain policy restriction. This setting applies to scenarios where IoT devices use IoT SIM cards for network access. The SDK will only connect to servers with domains registered with the operator or those in the IP whitelist.</li><li>`false`: (Default) Disable the ISP domain policy restriction. This setting applies to most common scenarios.</li></ul> |
4164
| `logConfig` | <code>{config.log[props.ag_platform]}</code> | Optional | - | Log configuration properties such as the log storage size, storage path, and level. |
4265
| `proxyConfig` | <code>{config.proxy[props.ag_platform]}</code> | Optional | - | When using the Proxy feature of Signaling, you need to configure this parameter. |
4366
| `encryptionConfig` | <code>{config.encryption[props.ag_platform]}</code> | Optional | - | When using the client-side encryption feature of Signaling, you need to configure this parameter. |

shared/signaling/reference/api-ref/swift/_configuration-en.swift.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ AgoraRtmClientConfig(
2222
appId: String,
2323
userId: String,
2424
useStringUserId: Bool,
25+
ispPolicyEnabled: Bool,
2526
multipath: Bool,
2627
presenceTimeout: UInt32,
2728
heartbeatInterval: UInt32,
29+
reconnectTimeout: UInt32,
2830
areaCode: AgoraRtmAreaCode,
2931
proxyConfig: AgoraRtmProxyConfig?,
3032
protocolType: AgoraRtmProtocolType,
@@ -44,7 +46,9 @@ AgoraRtmClientConfig(
4446
| `protocolType` | <code>{enumv.protocoltype[props.ag_platform]}</code> | Optional | <code>{enumv.protocoltypeall[props.ag_platform]}</code> | Protocol types for message transmission. Signaling by default utilizes one-way TCP and one-way UDP protocols for transmission, but you have the flexibility to modify the protocol types based on your requirements. See <a href="#enumvprotocoltypepropsag_platform"><code>{enumv.protocoltype[props.ag_platform]}</code></a>. |
4547
| `presenceTimeout` | unsigned int | Optional | `300` | Presence timeout in seconds, and the value range is [5,300]. This parameter refers the delay imposed by the Signaling server before sending a <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other users once it determines that a client has timed out. If the client reconnects and returns to the channel within the specified time, the Signaling server does not send the <code>{enumv.presencetypetimeout[props.ag_platform]}</code> event notification to other participants or delete the temporary user data associated with the user. |
4648
| `heartbeatInterval` | unsigned int | Optional | `5` | Heartbeat interval in seconds, and the value range is [5,1800]. This parameter refers to the time interval at which the client sends heartbeat packets to the Signaling server. If the client fails to send heartbeat packets to the Signaling server within the specified time, the Signaling server determines that the client has timed out. Please note that this parameter affects the PCU count, which in turn affects billing.|
49+
| `reconnectTimeout` | uint32_t | Optional | `0` | SDK connection timeout in seconds. The value range is [15,3600]. The default value is `0` which means no timeout; the SDK keeps retrying until successful. This parameter applies to both the initial login to the Signaling service and reconnection after disconnection: <ul><li>If the initial login times out, the SDK triggers the `completion` callback with `errorInfo` as `AgoraRtmErrorLoginTimeout`, and also triggers the `didReceiveLinkStateEvent` callback with `currentState` as `AgoraRtmLinkStateFailed` and `reasonCode` as `AgoraRtmLinkStateChangeReasonLoginTimeout`.</li><li>If reconnection times out, the SDK triggers the `didReceiveLinkStateEvent` callback with `currentState` as `AgoraRtmLinkStateFailed` and `reasonCode` as `AgoraRtmLinkStateChangeReasonReconnectTimeout`.</li></ul> |
4750
| `useStringUserId` | BOOL | Optional | `true` | Whether to use string-type user IDs:<ul><li>`true`: Use string-type user IDs.</li><li>`false`: Use number-type user IDs. The SDK automatically converts string-type user IDs to number-type ones. ones. In this case, the `userId` parameter must be a numeric string (for example, `"123456"`), otherwise initialization fails.</li> </ul>When using Agora RTC and Signaling products at the same time, it is necessary to ensure that the userId parameter is consistent. |
51+
| `ispPolicyEnabled` | Bool | Optional | `false` | Whether to enable the ISP domain policy restriction. In IoT scenarios, devices may be restricted by Internet Service Providers (ISPs). Use this field to set the SDK's connection mode to connect to servers with domains registered with the operator or those in the IP whitelist: <ul><li>`true`: Enable the ISP domain policy restriction. This setting applies to scenarios where IoT devices use IoT SIM cards for network access. The SDK will only connect to servers with domains registered with the operator or those in the IP whitelist.</li><li>`false`: (Default) Disable the ISP domain policy restriction. This setting applies to most common scenarios.</li></ul> |
4852
| `logConfig` | <code>{config.log[props.ag_platform]}</code> | Optional | - | Log configuration properties such as the log storage size, storage path, and level. |
4953
| `proxyConfig` | <code>{config.proxy[props.ag_platform]}</code> | Optional | - | When using the Proxy feature of Signaling, you need to configure this parameter. |
5054
| `encryptionConfig` | <code>{config.encryption[props.ag_platform]}</code> | Optional | - | When using the client-side encryption feature of Signaling, you need to configure this parameter. |

0 commit comments

Comments
 (0)