IOTC Platform Release Note (Legend: '+' means the newly added features, 'o' means the modified or improved features '*' means critical bugs fix '-' means the removed features )' [4.3.6.2] - Nebula o [GENSDK-1969] support LAN for Nebula_Client_Check_Device_Online + Add new API Nebula_Client_Reconnect() + Add retry mechanism of server shutdown - AV * [RDFAE-2009] Remove Deadlock in psk callback. * [GENSDK-1978] add accept_empty_password on avServStartEx for backward compatibilities * fix error of binary tree remove node. (affected version 4.3.4.4~4.3.4.6, 4.3.5.2~4.3.5.4, 4.3.6.0~4.3.6.1) * [RDFAE-2093] AV frame blocking - IOTC * [RDFAE-2020] modify system time might cause login -60 * [RDFAE-2017] 4.3.2.2 app cannot connect to 4.3.6.1 device * [RDFAE-2045] connect failed with static UDID in LAN * [HAUS-2409] APP cannot connect to the device under the same wifi * [RDFAE-2091] IOTC connect blocking after check device online - P2PTunnel * [RDFAE-1999]P2PTunnelAgent_PortMapping_internal return -30001 after P2PTunnelInitialize() + Add P2PTunnelAgent_Connect_By_Nebula_Ex() for v3_rental [4.3.6.1] - P2PTunnel * [RDFAE-1960] Refine error code in Tunnel connect. o [GENSDK-1939] improve tunnel performance - IOTC * [GENSDK-1963] connect result cannot upload sometimes + add IOTC_Client_Connect_By_Nebula_Ex() for v3_rental * [RDFAE-1949] IOTC_Check_Device_OnlineEx causes session leak - Global * [GENSDK-1931] assert(0) in connectionHandlerThread (affected version 3.0.0.0~4.3.5.3, 4.3.6.0) - AV + [RDFAE-1865] add disable_fec option to AVServStartInConfig - Nebula * [GENSDK-1951] Send Command got crashed when client site internet was in trafic [4.3.6.0] - Sample * [GENSDK-1944] Add error handling to Nebula_Device_New_Credential() - IOTC + Support rental v3 + Support rent UID in client side (add new API IOTC_Client_Preparation_For_Nebula) + Support change master RSA public key for iotc record * [GENSDK-1932] fix iotc connect with wrong region information * [RDFAE-1868] IOTC_Connect has a certain probability of connection timeout * [RDFAE-1896] 4.3.5.2-2 iOS connect return -6 * [GENSDK-1931] IOTC_Connect might crash upon successful connection (affected version 2.0.0.0~4.3.4.5, 4.3.5.0~4.3.5.2) * [RDFAE-1929] 4.3.5.2 SDK, IOTC_Check_Device_OnlineEx always timeout * [RDFAE-1932] daily update server list might cause IOTC_Connect -42 - P2PTunnel * [RDFAE-1863] Tunnel connect stop might affect multiple connections * [RDFAE-1879] TCP proxy (LAN direct) might not switch to RDT when TCP connection failed - AV * [RDFAE-1870] handdle ssl hanshake fail (avServStartEx return -22002) * [GENSDK-1942] avSendIOCtrl doesn't return -20021 when IOCTRL send at same time - Nebula o [RDFAE-1915] remove the upload file limit for avServPushThumbnail() & Nebula_Device_Push_Thumbnail() [4.3.5.2] - Sample * [GENSDK-1910] Sample Code AV_VSaaS_Server cannot work when using av token - IOTC * [RDFAE-1822] Device fail to send Register packet after receiving Notify_Register packet from server (affected version: 3.4.7.1~3.4.7.4, 4.3.2.0~ 4.3.3.4 general, 4.3.4.0~ 4.3.4.3 general, 4.3.5.0~4.3.5.1 general) * [GENSDK-1905] 4.3.4.2 IOTC client connect and close session back and forth crashed (affected version: 4.3.4.0~4.3.4.3 classic, 4.3.5.0~4.3.5.1 classic) * [RDFAE-1845][4.3.5.x][4.3.4.x] cache rental UID occur error after 10 mins * [RDFAE-1835]Fix IOTC_Check_Device_OnlineEx() incorrectly returns IOTC_ER_SERVER_NOT_SUPPORT. * [GENSDK-1913] AES decryption length check * [RDFAE-1849] Fix crash when the JNI of IOTC_Session_Check is called. (affected versions 4.3.5.1, 4.3.4.3) * [GENSDK-1912] skipping AES key and IV check of IOTC record msg - AV * [RDFAE-1832] stack overflow when traversing av resend queue - P2PTunnel * [RDFAE-1833] fix issue where port mapping returns -30001 [4.3.5.1] - All * [RDFAE-1766] fix performance problem when enable log in Android - IOTC Module * [RDFAE-1758] client connect error with IPv6 o [GENSDK-1878] init commit, add function to get random query time between 9 and 15 hrs * [GENSDK-1886] Fix IOTC_Device_Login return -1 issue. * [RDFAE-1753]remove invalid fdset_new & fdset_del with TUTK_UDP_WOULD_BLOCK * [RDFAE-1793] Dont do rental when connected via lan - P2PTunnel Module * [RDFAE-1736] Fix crash occurs in mix using with P2PTunnel. + [RDFAE-1783] Add API P2PTunnelServer_Listen_Abort to stop P2PTunnelServer_Liste - AV Module o [RDFAE-1747] improve the description of avClientCleanBuf * [RDFAE-1810] SDK crashed after calling avServResetBuffer [4.3.5.0] - Nebula Module + Support Iris binding (Device scan QR code binding) - IOTC Module + Add new API IOTC_Device_Setup_Network_Adaption for special network to switch UDP/TCP login + Extend API IOTC_Connect_ByUIDEx to support standalone master - P2PTunnel Module + Add new API P2PTunnelAgent_ServiceMapping, P2PTunnelAgent_StopServiceMapping, P2PTunnelServer_Register_Service_Verify to support service id mapping [4.3.4.4] - IOTC * [RDFAE-1822] Fix Device fail to send Register packet after receiving Notify_Register packet from server (affected version: 3.4.7.1~3.4.7.4, 4.3.2.0~ 4.3.3.4 general, 4.3.4.0~ 4.3.4.3 general, 4.3.5.0~4.3.5.1 general) * [GENSDK-1905] 4.3.4.2 IOTC client connect and close session back and forth crashed (affected version: 4.3.4.0~4.3.4.3 classic, 4.3.5.0~4.3.5.1 classic) [RDFAE-1845][4.3.5.x][4.3.4.x] cache rental UID occur error after 10 mins * [RDFAE-1835]Fix IOTC_Check_Device_OnlineEx() incorrectly returns IOTC_ER_SERVER_NOT_SUPPORT. * [GENSDK-1913] AES decryption length check * [RDFAE-1849] Fix crash when the JNI of IOTC_Session_Check is called. (affected versions 4.3.5.1, 4.3.4.3) * [GENSDK-1912] skipping AES key and IV check of IOTC record msg - AV * [RDFAE-1833] fix issue where port mapping returns -30001 [4.3.4.3] - All * [RDFAE-1766] fix performance problem when enable log in Android - IOTC Module * [RDFAE-1732] connect result report connection time might be incorrect * [RDFAE-1737] when device logins with tcp, it will take a long time to get sleep packet * [RDFAE-1758] client connect error with IPv6 * [GENSDK-1886] Fix IOTC_Device_Login return -1 issue. * [RDFAE-1793] Dont rent UID when connected via lan - AV Module * [RDFAE-1742] 4.3.4.1 SDK, avServStartEx return -20027 * [RDFAE-1810] SDK crashed after calling avServResetBuffer - P2PTunnel * [RDFAE-1736] Fix crash occurs in mix using with P2PTunnel. + [RDFAE-1783] Add API P2PTunnelServer_Listen_Abort to stop P2PTunnelServer_Liste [4.3.4.2] - Sample * [RDFAE-1650] fix issue where ios sample build failes due to missing lib - IOTC Module * fix big endian connec/login fail issues * [RDFAE-1709] LAN under AP mode cannot work * fix memory leak of IOTC_Device_Login * [GENSDK-1871] Device cannot login to the P2P server if its public key changed o Do not broadcast when net mask is wired, try to fix double SIM card connection performance is very bad issue * [RDFAE-1722] _IOTC_SendRLYRequest() constantly send RLYRequest after 60 sec timeout * fix vsaas connect via tcp relay issue * [GENSDK-1852] SDK crash on VSaas serve - P2PTunnel Module * [RDFAE-1696] tunnel transfer performance seems to be limited under 103KB/s - AV Module * avoid clean buffer when sending io control * [RDFAE-1641] av crashed when repeating doing connection test * [RDFAE-1664] optimize memory allocation code - RDT Module * [RDFAE-1719] RDT_Write blocking, not return directly [4.3.4.1] - P2PTunnel Module * [RDFAE-1686] tcp proxy does not work in LAN mode - Nebula Module * [HAUS-1789] cannot bind MQTT devices - AV Module * [RDFAE-1699] 4.3.3.2 av client vs 3.4.4.3 av server (big endian) with no resend will session timeout after av is connected * fix av with no resend performance issue - Global Module * [RDFAE-1702][TUTKGlobal] add missing error codes -1005 -1006 [4.3.4.0] - IOTC o Upgrade rental v3 API + Support special network adoption (add new API IOTC_Device_Setup_Network_Adaption) + [GENSDK-1843] Add login unlicense blocking mechanism. * avoid stack overfow when IOTC recv weird length msg - Nebula + Support Iris service (add new API Nebula_IRIS_Device_Parse_BindInfo, Nebula_IRIS_Device_Bind) o [RDFAE-1642] update openssl to 3.1.4 to fix connect device ret -43003 issue - P2PTunnel + Support Service ID (add new API P2PTunnelAgent_ServiceMapping, P2PTunnelAgent_StopServiceMapping, P2PTunnelServer_Register_Service_Verify) - Global + Support using standalone master server - AV * [RDFAE-1625] fix avClientStart return -20011 after call avClientExit [4.3.3.4] - Sample * [RDFAE-1650] fix issue where ios sample build failes due to missing lib - IOTC * [GENSDK-1852] SDK crash on VSaas server o Do not broadcast when net mask is wired, try to fix double SIM card connection performance is very bad issue * [RDFAE-1722] _IOTC_SendRLYRequest() constantly send RLYRequest after 60 sec timeout * fix vsaas connect via tcp relay issue - RDT Module * [RDFAE-1719] RDT_Write blocking, not return directly - P2PTunnel * [RDFAE-1696] tunnel transfer performance seems to be limited under 103KB/s - AV * avoid clean buffer when sending io control * [RDFAE-1641] av crashed when repeating doing connection test * [RDFAE-1664] optimize memory allocation code [4.3.3.3] - AV * [RDFAE-1598][AVAPIs] fix Bug which Produced multiple same log * avoid stack overflow * avSendIOCtrl does not return AV_ER_SENDIOCTRL_ALREADY_CALLED when sending io control parallely * [RDFAE-1699] 4.3.3.2 av client vs 3.4.4.3 av server (big endian) with no resend session will be timeout after av is connected * fix avapi get frame speed very low when resend is off issue - P2PTunnel * [GENSDK-1854] P2PTunnelAgentDeInitialize crash * [RDAP-408] add P2PTunnel_Set_Log_Attr() * [RDFAE-1686] tcp proxy does not work in LAN mode - IOTC * IOTC tcp avoid stack overflow * [XVR-211] fix IOTC_Session_Check_Ex randomly fail after calling IOTC_Connect_ByUIDEx * fix big endian issue for P2P_ALIVE_C2D/D2C - Nebula * [GENSDK-1846] 4.3.3.1 nebula send command timeout setting does not work * [HAUS-1789] cannot bind MQTT devices - Global * [RDFAE-1702][TUTKGlobal] add missing error codes -1005 -1006 [4.3.3.2] - Sample * [GENSDK-1848] build 3.4 AV sample failed - AV o improve av buffer usage o add statistics logs * fix av connect without password bug - IOTC * [RDFAE-1607] Generate a substantial volume of log entries quickly * [XVR-200] abnormal timeout of IOTC connect - P2PTunnel * fix tunnel LAN direct not working issue [4.3.3.1] - Nebula * [RDFAE-1597] Nebula login crash in rwlock - Global * [RDFAE-1596] fix set log level not work if log path is NULL & init gLogInfo as 0 [4.3.3.0] - All o only strip unneeded & debug symbols o support build nebula/trtc/iotc+av/iotc+av+nebula/iotc+av+nebula+trtc + support multiple platform for openssl 3.1.0 and curl 8.1.0 o default region for classic version SDK is "all" - Sample o [GENSDK-1801] av sample send first video frame too late o update windows sample * [GENSDK-1824] sample code build fail on MAC - AV * Enable addPushNotificationService without user defined json_request_callback. * [AMBP2-38] fix device crash when calling avServStop() * [RDFAE-1484] fix avServNotifyCloudRecordStream return wrong error, refactor code * [GENSDK-1811] fix avServPushNotification() can not push with string which has space * [RDFAE-1540] fix ssl random crash - Nebula + add API Nebula_Device_Push_Thumbnail to support image event upload + [Rental cache UID] implement Rental UID with cache in 10 mins + support big size command * [GENSDK-1802] refine comment for command_handler * adjust retry login interval from 30s to 5s * [RDFAE-1505] fix Nebula device push notification blocking + [GENSDK-1805] ble support new io control * [RDFAE-1529] Nebula LAN command always timeout * [CLAR-964] fix nebula lan search -40008 issue * [RDFAE-1528] fix IOTC_Client_Connect_By_Nebula ret -40004 in LAN w/o network issue * fix lan send command -40001 randomly issue * [RDFAE-1512] Fix httpclient blocking. * [RDFAE-1530] sdk crash after Nebula_Client_Delete * fix send getProfile return -40001 via WAN issue o disable TLS 1.0 1.1 * [CLAR-964] fix nebula lan search -40008 issue * [GENSDK-1837] send nebula command -40001 timeout - IOTC * [RDFAE-1471] Cannot connect to old device with authkey as P2P mode * [GENSDK-1796] P2P request did not send LAN address + upload realm to master server, connect result with client os type to p2p server * [GENSDK-1804] isUseAuthkey always 0 in st_SInfoEx * [RDFAE-1553] fix getaddrinfo not work when network state changed on some platforms issue * [AMBP2-46] Fix IOTC_Client_Connect_By_Nebula crash. * iOS NAT64 IOTC_Connect return -1 - RDT * [RDFAE-1523] fix RDT_Client_Create crash if rdt is not initialized * [RDFAE-1530] SDK crash in snprintf when using tunnel (DTLS enabled) * [RDFAE-1530] RDT divide zero cause crash - P2PTunnel + tcp proxy switch (default off) * [RDFAE-1529] P2PTunnelServer_Listen fail with manual P2PTunnel server * [RDFAE-1556] tunnel handshake -30027 on MAC * [RDFAE-1571] P2PTunnelAgentInitialize would crash if IOTC_Initialize2 already called * [GENSDK-1827] iOS Nebula Tunnel connect return-30027 * [GENSDK-1826] P2PTunnelAgent_ConnectByNebula deadlocked - Global + [RDFAE-1569] add TUTK_Set_Log_Callback() [4.3.2.5] - IOTC * iOS NAT64 IOTC_Connect return -1 [4.3.2.4] - IOTC * [RDFAE-1528] fix IOTC_Client_Connect_By_Nebula ret -40004 in LAN w/o network issue - Nebula * [GENSDK-1827] iOS Nebula Tunnel return -30027 * fix Nebula_Client_Wakeup_Device -40001 on mqtt device issue * [GENSDK-1832] Nebula_Client_Wakeup_Device return mqtt device online even if it is offline [4.3.2.3] - Nebula * [RDFAE-1529] Nebula LAN command always timeout * [CLAR-964] fix nebula lan search -40008 issue o [RDFAE-1506] fixed port of NebulaDevice LAN socket * [RDFAE-1512] Fix httpclient blocking. * [RDFAE-1530] sdk crash after Nebula_Client_Delete o disable TLS 1.0 1.1 - RDT * [RDFAE-1530] RDT divide zero cause crash - IOTC * [GENSDK-1804] isUseAuthkey always 0 in st_SInfoEx - P2PTunnel * [RDFAE-1556] tunnel handshake -30027 on MAC * [RDFAE-1530] SDK crash in snprintf when using tunnel (DTLS enabled) [4.3.2.2] - Nebula * [RDFAE-1502] Nebula crash after switching network * windows Nebula client send command timeout due to FD_SETSIZE check - IOTC * [RDFAE-1516] fix endianness error of IOTC login [4.3.2.1] - All o strip the linux libraries thoroughly - Sample * [GENSDK-1763] add license key and fix warning of VSaaS sample * [GENSDK-1764] add stoken buffer length * [GENSDK-1765] modify description + [GENSDK-1762] add android tunnel_sample readme * [RDFAE-1436] fix invalid memory access * [HAUS-1226] fix live view lag * [GENSDK-1780] upgrade Android sample - IOTC * [GENSDK-1767] ios broadcast ip incorrect error. * [RDFAE-1417] IOTC send knock to itself (cause av wrong password error) * [GENSDK-1774] fix IOTC_Client_Connect_By_Nebula crash if iotc is not init * [RDFAE-1438] crash when create new session fail * [GENSDK-1775] avClientStop deadlock * [RDFAE-1463]Solve long blocking in IOTC_Search_Device_Result() . - AV * [GENNSL-989] server return code 2xx should be accept as success (fix in Nebula/IOTC too) * [RDFAE-1431] Fix avClientStop crash when device SDK version is too old * [GENSDK-1773] add AvSecurityMode & AvAuthType definitions in java + [RDFAE-1340] support getCloudRecordingEndpoint - Nebula * [GENSDK-1776] fix device crash when connect to other bridge server * [CLAR-787]SDK crash when Nebula client send command with deleted ctx * [RDFAE-1436] fix invalid memory access + [RDFAE-1340] support getCloudRecordingEndpoint * [GENSDK-1784] Nebula_Client_Wakeup_Device() return 0 when device is online - P2PTunnel * [RDFAE-1436] stop local listen task then close local sockets * [RDFAE-1454] Long delay with user client transmission and P2PTunnel transmission + support build epoll version for fd bigger then 1024 application [4.3.2.0] - All + support both TRTC and AV in same build - Sample * [RDFAE-1392] fix avServStartEx random crash caused by avStartInConfig not init + add ios and android sample code for nebula + tunnel - IOTC Module * [RDFAE-1388] fix tcp socket leak * [RDFAE-1400] fix iOS random crash * [RDFAE-1404] fix wrong NAT type of MSG_DEVICE_REGISTER when device retry UDP login - Nebula Module * [RDFAE-1393] fix pushNotification cannot use blank * [HAUS-1359] hausetopia android app crash * [GENSDK-1761] Nebula_Client_Wakeup_Device return 1 - P2PTunnel Module + [GENSDK-1755] add port verify to P2PTunnelServer [4.3.1.3] - Sample + [GENSDK-1747] make linux sample code support MAC OS * [GENSDK-1742] fix error of Makefile o [RDFAE-1366] add a JSON response for an unknown nebula request - All o remove subfolders of header files (Developers might need to change the include path) - IOTC Module * fix the socket resource released by iOS when screen is locked issue - RDT Module * [RDFAE-1383] add RDT_Set_Log_Attr() for Android [4.3.1.2] - AV Module * [RDFAE-1365] av lost frame when using mbedtls * [RDFAE-1358] av crash in _doAVTransNew * [RDFAE-1370] iOS high CPU usage after AV client connected - RDT Module + [RDIN-50] add environment variables for RDT cwnd [4.3.1.1] - IOTC Module * [GENSDK-1713] IOTC crash when max session count is over 512 * [RDFAE-1341] IOTC_Connect and IOTC_Check_On_LineEx might interfere with each other - Nebula Module * [RDFAE-1338] windows link error of Nebula_WiFi_Setup_Start_On_LAN * [RDFAE-1347] fix wrong timeout of Nebula_Device_Get_Sleep_PacketEx() * [RDFAE-1339] fix timeout error of Nebula_Recv_IOCtrl_From_LAN() * [GENSDK-1718] Fix crash when keep sending command * [RDFAE-1357] Nebula_Client_Send_Command return 1 when Device offline * [GENSDK-1512] Fix NebulaClientConnectState inconsistent o [Sample] remove Sample_Nebula_Gateway - AV Module * [GENSDK-1719] AV_VSaaS_Server.c will crash with wrong license key * [GENSDK1668] Don't send statistics info when resend disabled * [RDFAE-1337] avSendFrameData and IOTC_Listen takes too long * [GENSDK-1729] disable ack packet compare for connection without resend - P2PTunnel Module * [GENSDK-1737] fix error of session info callback doesn't be invoke [4.3.1.0] - Global Module o change openssl to 1.1.1n json-c to 0.15 o [RDFAE-1313][Android] Remove workaournd for x86 * [RDFAE-1317] TUTK_SDK_Set_Region_Code should be called after TUTK_SDK_Set_License_Key - Nebula Module * [GENSDK-1677] parameter abort_flag is not added in the API description * [RDFAE-1268] Nebula_Device_Login return NEBULA_ER_LOGIN_ALREADY_CALLED * [RDFAE-1275] add description of sample option + [GENSDK-1658][Graceful Shutdown] add new error NEBULA_ER_SERVICE_UNAVAILABLE + support graceful shutdown mechanism o enhance bridge server retry period * [RDIN-47] Nebula_Client_Send_Command return -40036 - IOTC Module + cache ips for 60 seconds after master domain is resolved * [RDFAE-1304] avoid reconnect with same SID + [RDIN-45] Refine rental server and VSaaS server error code * [RDFAE-1320] 2vs3 try port fail - AV Module * [RDFAE-1290] av frame loss when recv buffer is not big enough * [RDFAE-1298] Redudant IOTC_Session_Get_Free_Channel in the sample code * Reduce the av packets when resend is disabled + avClientStartEx & avServStartEx support cipher suite setup * [GENSDK-1705] vsaas sample code crash [4.3.0.0] - Global Module + [GENSDK-1652] Add support mbedtls-3.1.0 - Nebula Module + Add support gateway UDID * [RDIN-33] Nebaul psk with length MAX_NEBULA_PSK_LENGTH does not work * [GENSDK-1636] Fix memory leak + [GENSDK-1656] Nebula_Device_Get_Sleep_PacketEx enable reconnect flag * [GENSDK-1665] Fix memory leak * [GENSDK-1667] Nebula_Client_New_From_String Memory Leak * fix api description for all apis with abort_flag * [RDIN-36] Sample Nebula_Client_Node.c memory leak * [GENSDK-1674] Sample needs export LD_LIBRARY_PATH * [GENSDK-1666] Fix Nebula_Node_Load_Settings memory leak * [GENSDK-1675] Memory leak after node receive addPushNotificationService - AV Module * [RDFAE-1238] Get stuck in avServStartEx() - IOTC Module * [RDFAE-1244][IOTCAPIs] Add API return error code description to IOTC_Connect_ByUIDEx() * [GENSDK-1669] IOTC_WakeUp_Get_SleepPacketEx return wrong p2p address - P2PTunnel Module * [RDFAE-1246][Windows][Samaple] P2PTunnelAgent_Connect_Ex crash [4.2.2.1] - AV Module * [RDFAE-1213] add error handle after IOTC_Connect_ByUID_Parallel in sample code * [RDFAE-1214] av client might encounter recv buffer full issue even the network condition is not bad * [GENSDK-1469] The avSendIOCtrl passed an exceptional argument as its data size. * [GENSDK-1470] an incorrect handle on a parameter * [RDFAE-1210][Sample] memory leak in AV_VSaas_Server.c * [RDFAE-1209] avServStartEx timeout(-20011) will produce memory leak * [GENSDK-1624] avServStartEx does not return -20017 after calling avServExit * [RDFAE-1185][AV] add iotc session lock to avoid DTLS write error with multi thread * [RDFAE-1163] avServExit cannot stop avServStartEx when DTLS is enabled * [SUV-556][AVAPIs] update for av client connect crash with DTLS by nebula * [GENSDK-1618] avServStartEx use iotc channel 32 does not return error - IOTC Module * [GENSDK-1637] The memory leak occurred in IOTC. * [RDIN-31] IOTC_Session_Check_Ex misses some data member on Android * [RDFAE-1218] cannot establish P2P connection when authkey is not used * [GENSDK-1623] IOTC_Session_Check_Ex VPG is wrong when using Rental UDID * [GENSDK 1584] Assign 0 to the VPG list inside the function IOTC_Session_Check_Ex after checking the server type. - P2PTunnel Module o remove tcp proxy mechanism * [GENSDK-1628] P2PTunnel_Server_Listen returns an abnormal error code * [RDFAE-1177][RDT][P2PTunnel]add RDT connect abort API and Agent attach stop API * [RDFAE-1172][RDT] modify RTO calculation & min cwnd limit * [RDFAE-1152] TunnelConnect crash after P2PTunnelDeInitialize * [RDFAE-1178][Sample] continue listen of manual P2PTunnelServer sample - Nebula Module * [SUV-583] Nebula_Client_Wakeup_Device blocks forever + [GENSDK-1607] Nebula API Call Flow - update the document * [SUV-546] Nebula_Client_Send_Command return NEBULA_ER_TIMEOUT - RDT Module * [GENSDK-1612] fix error of DTLS connect * [RDFAE-1179] RDT crash after avDeInitialize [4.2.2.0] - IOTC Module * IOTC_Client_Connect_By_Nebula abort crash in android * [GENSDK-1580] move client-use-only API to IOTCClient.h - Nebula Module o Revise device sleep behavior of Nebula_Device_Get_Sleep_PacketEx + support disable or adjust idle time for tcp keepalive when doing long sleep + add IOCTRL_NEBULA_SECRET_ID_REQ & IOCTRL_NEBULA_SECRET_ID_RESP for wifi config + Nebula add support MQTT device - RDT Module * [RDFAE-1115][JNI] fix release error of old RDT disconnect * fix crash when calling RDT_Destroy without create RDT (use libRDTAPIsT.so) - AV Module * fix two_way_stream result wrong error [4.2.1.2] - IOTC Module o [IOTC] deprecate API IOTC_Device_Login - AV Module + [Sample] add new sample Nebula_Client_AV for Android & iOS - P2PTunnel Module * [RDFAE-1089][Android][P2PTunnel] fix crash of free invalid value in JNI * [RDFAE-1089][JNI][P2PTunnel] fix crash of tunnel agent with android * [RDFAE-1095][JNI][P2PTunnel] fix crash in tunnel deinit with android [4.2.1.1] - RDT Module * fix DTLS write error - P2PTunnel Module o disable TCP connect at DTLS agent with LAN mod * [RDIN-19] fix timeout error of nebula agent API fix crash of agent dissconnect [4.2.1.0] - AV Module + [RDFAE-1074] return security mode in avClientStartEx - Global Module + [RDFAE-1025] Support tvOS o Modify error code for Android NULL in JNI - RDT Module + Add RDT and enable DTLD - P2PTunnel Module + Add P2PTunnel and enable DTLS [4.2.0.0] - Global Module o Force to use license key - IOTC Module o Optimize the flow of rental mechanism - Nebula Module + Support Nebula realm mechanism + Support last will + Support new format UDID [4.1.0.4] - AV Module + Add avEnableVSaaSByNebula JNI * fix avRecvJSONCtrlRequestFn always return 0 in android - Nebula Module o Add create credential in device sample code o Add VSaaS demo in device sample code o Add Push notification demo in device sample code - Remove duplicated sample codes [4.1.0.3] - Nebula Module * Sync CLI command.py to new nebula commands * fix Nebula_Device_New_Credential wrong parameters * Update merge sample code [4.1.0.2] - Nebula Module * [GENSDK-1512] NebulaDeviceLoginState and NebulaClientConnectState inconsistent * [SUV-64] SDK 4.1.0.1 The sharing functionality of the device + Add new API Nebula_Device_New_Credential - Deprecate API Nebula_Device_New_Local_Bind_Message * [GENSDK-1509] Nebula_Client_Send_Command return -42002 o [Nebula] Optimize the CredentialInfo function and change that name to LogCondenfitial [4.1.0.1] - Nebula Module * [GENSDK-1503] Nebula Device should login every 5 minutes * [RDFAE-973] Wrong master is resolved - IOTC Module * [GENSDK-1492][Sample] fix build error of IOTC sample * [RDFAE-964][MAC] Add support apple silicon * [GENSDK-1500] An abnormal parameter of IOTC_Set_Max_Session_Number [4.1.0.0] - Nebula Module + Add new API Nebula_Client_Check_Device_Online to check device online/offline status + Fallback to invalid static UID if fail to get rental UID * [RDFAE-925] fix CLI input space character error - IOTC Module * [RDFAE-909]fix deadlock when IOTC_Connect_UDP() resolve domain fail + integrate optimized iotc device login message from 3.4 [4.0.0.56] - AV Module * add enable/disable AV sync by settings [4.0.0.55] - AV Module * improve DASA stability * fix DTLS might connect fail issue in bad wifi environment [4.0.0.54] - Nebula Module * [BLE] fix Restore_IOCtrl_Message no response [4.0.0.52] - Nebula Module * BLE API crash in Android * Android JNI update [4.0.0.51] - Nebula Module * [HESTIA-513] APP crash after Nebula_Client_Delete * [HESTIA-528] APP crash after Nebula_Client_Delete [4.0.0.50] - Nebula Module * [HESTIA-597] ap mode cannot get WIFI list [4.0.0.49] - Nebula Module * [RDFAE-815] IOTC_Connect_by_Nebula return -40001 [4.0.0.48] - IOTC Module * [GENSDK-1381] Fix tutk_Net_GetInterfaceInfo socket leak [4.0.0.47] - Nebula Module o modify error code of client send fail at lan - IOTC Module o modify device login frequency before login successfully login period [500ms, 1sec, 2secs, 4secs, 8secs, 10secs] [4.0.0.46] - Nebula Module o add IOTC_RESOLVE_ONLY_IPV4 flag - IOTC Module * fix TCP connection double free issue [4.0.0.45] - Nebula Module + add error code NEBULA_ER_IOTC_LOGIN_ERROR - IOTC Module o add login fail error in nebula_ready_to_connect_handler * [HESTIA-320] IOTC_Initialize2 blocks [4.0.0.44] - Nebula Module * fix slave bridge pattern error issue * fix Nebula_Device_Get_Sleep_Packet crash if device not login to bridge server - AV Module * fix client crash issue when calculate checksum of decoded FEC packet - IOTC Module * Fix IOTC_Set_Log_Attr and AV_Set_Log_Attr crash [4.0.0.43] - Nebula Module o Nebula_Device_Get_Sleep_Packet only return NEBULA_ER_NoERROR if get sleep packet from master bridge and slave bridge server - AV Module * add timeout mechanism in _avNewServResetBuffer [4.0.0.39] - Nebula Module * [BLUES-218] fd leak + API Nebula_Client_Connect to allow client connect bridge server first [4.0.0.38] - Nebula Module o fix Nebula_device_login sometimes return -40007 o fix Nebula_Device_Get_Sleep_Packet sometimes return -42002 [4.0.0.37] - Nebula Module o Modify API Nebula_Device_Get_Sleep_Packet for extra bridge server o Modify behavior of Nebula_Client_Wakeup_Device (add extra server to do wakeup) [4.0.0.36] - Nebula Module * fix not new ssl in IOS while create tconnection * set Client Nebula LAN seach port to 0 * encrypt all message packet in Nebula LAN search * change Nebula LAN encrypt from ECB to CBC * The NebulaLAN is incompatible with older version [4.0.0.34] - IOTC Module o separate nebula to a new module in linux platform - Nebula Module o encrypt AP mode wifi configuration data with TLS [4.0.0.29] - IOTC Module * fix timediff might overflow issue * add IOTYPE_SETTIMEZONE_REQ, IOTYPE_SETTIMEZONE_RESP for timezone settings on WIFI configuration [4.0.0.29] - IOTC Module * [GENSDK-1349] device CLI avioctrl --audio --start,avioctrl --audio --stop cannot be executed repeatly * [GENSDK-1350] device CLI avioctrl --video --start,avioctrl --video --stop cannot be executed repeatly * [GENSDK-1351] device CLI avioctrl --playback --start,avioctrl --playback --stop cannot be executed repeatly * [GENSDK-1347] device CLI iotc connect, av disconnect cannot be executed repeatly * [GENSDK-1348] device CLI av connect, av disconnect cannot be executed repeatly * [GENSDK-1342] device CLI avioctrl --playback start & stop then crash * [GENSDK-1334] device CLI av_server connect twice then crash o Support header of push notification with dictionary + Add Plug-in mode in device CLI * fix ndebula device does not retry login when WAN is disconnected more than 5 minutes o nebula device will reconnect with bridge server every 5 minutes [3.3.0.10] - IOTC Module + Add Wakeup functions for nebula [3.3.0.0] - IOTC Module + Add new API IOTC_Device_Logout + Add new API HS_Gen_IOCtrl_For_BLE, HS_Restore_IOCtrl_From_BLE + Add new API HS_WiFi_Setup_Start_On_LAN, HS_Device_Listen_On_LAN, HS_App_Search_UDID_On_LAN + Add new API HS_App_Request_TCP_Connect_On_LAN, HS_WiFi_Setup_Stop_On_LAN, HS_Send_IOCtrl_On_LAN + Add new API HS_Recv_IOCtrl_From_LAN + Add new API HS_Rental_UID_Initialize, HS_Rental_UID_DeInitialize, HS_Get_RentalUID, HS_Sync_Device_Info - AV Module + Add new API avSendJSONCrtlRequest, avFreeJSONCrtlResponse [3.2.0.1] - IOTC Module * [RDFAE-659] IOTC_WakeUp_Get_SleepPacket will timeout if use IOTC_Device_LoginEx - AV Module * [RDFAE-662] Adnroid avDeinitialize crashed * fix avClientRequestChangeServerPassword always return -20000 on Android [3.2.0.0] - AV Module + Add new API avServNotifyVSaasPullStream, avServGetVSaasContractInfo, avEnableVSaaS for VSaaS 4.0 + Add new API avSendJSONCrtl for JSON IO control [3.1.10.6] - IOTC Module * [RDFAE-620] IOTC_Get_DebugTool_Info return -13 * [RDFAE-648] iOS Platorm iotc_conn_hdlr will consume 90-100% cpu on lock screen o Mark IOTC_Lan_Search2_Ex as deprecated o Mark IOTC_Connect_ByUID as deprecated o Mark IOTC_Session_Check, IOTC_Session_Check_ByCallBackFn as deprecated o Mark IOTC_Session_Read_Check_Lost as deprecated - RDT Module * RDT_Create unable get RDT_ER_CHANNEL_OCCUPIED(-10012) when duplicate channel values using - AV Module o Improve AV performance * [GENSDK-1252] it'll crash if using wrong pwd in DTLS * [GENSDK-1261] avServStartEx return wrong password immeditately o Mark avServStart2, avServStart3 as deprecated o Mark avClientStart, avClientStart2 as deprecated - P2PTunnel Module * [RDFAE-625] tunnel crash when doling connect disconnect repeatly [3.1.10.5] - IOTC Module * [GENSDK-1266] IOTC_Device_loginEx crash when the 2nd parameter is NULL * [GENSDK-1267] IOTC_Device_loginEx crash when the 1st & 2nd parameters are NULL * [GENSDK-1268] IOTC_Connect_ByUIDEx crash when the 3rd parameter is NULL * [GENSDK-1269] IOTC_Connect_ByUIDEx crash when the 2nd parameter is INT_MAX * [RDFAE-523] IOTC_Listen_Exit is not clear enough * [RDFAE-522] add description for blocking API o Mark IOTC_Initialize, IOTC_Device_LoginNB, IOTC_Get_Device_Status, IOTC_Accept as deprecated o Mark IOTC_Connect_ByUIDNB, IOTC_Connect_ByUID_ParallelNB, IOTC_Lan_Search as deprecated o Mark IOTC_Lan_Search2, IOTC_Setup_DetectNetwork_Timeout, IOTC_Session_Write_Reliable_NB as deprecated o Mark IOTC_Session_Write_Reliable_NB_Abort, IOTC_Reliable_All_MSG_Is_Sent as deprecated o Mark IOTC_Setup_ErrorUpload, IOTC_ConnModeChange_CallBack as deprecated - AV Module * [RDFAE-602] avClientStart2 return -20000 * [GENSDK-1265] avClientExit might cause Android ANR (no response) * [RDFAE-605] AV CPU usage is much higher than 3.1.5.43 * [GENSDK-1270] android sample crash * [RDFAE-419] AVAPI_Server.c description is wrong o Mark avServStart, avRecvFrameData as deprecated - RDT Module o Rollback RDT to 3.1.5.43 version - Tunnel Module o Rollback Tunnel to 3.1.5.43 version * [RDFAE-599] P2PTunnelAgentDeInitialize might be blocked in Android platform [3.1.10.4] - IOTC Module * fix Android java files lost issue [3.1.10.3] - AV Module * [GENSDK-1254] android client sample readme is not correct * [GENSDK-1255] android server sample readme is not correct * [GENSDK-1253] avClientStartEx with AV_SECURITY_AUTO return -21344 [3.1.10.2] - IOTC Module * Add IOTC_Set_Master_Region for Android [3.1.10.1] - IOTC Module * [GENSDK-1250] IOTC_Get_DebugTool_Info blocked when password is incorrect * [GENSDK-1249] IOTC_Get_DebugTool_Info blocked when UID is incorrect * [GENSDK-1252] 3.1.9.6 avClientStartEx with wrong password in DTLS mode, client get crashed * [GENSDK-1243] Android crashed or blocked after calling avClientStop [3.1.10.0] - IOTC Module + New API IOTC_Set_Master_Region to support P2P service with different region + New API IOTC_DebugTool_Initialize, IOTC_Get_DebugTool_Info to gather debug info of the device - Remove detect network, IOTC_Connect or IOTC_Device_login will not get return error -41 [3.1.9.6] - IOTC Module + Support non-DTLS version of AVAPI + Support openssl version of DTLS of AVAPI [3.1.9.5] - IOTC Module * [GENSDK-1229][GENSDK-1230] avClientStartEx hangs if account_or_identity or password_or_token exceeds 256 [3.1.8.0] - IOTC Module + Add new API IOTC_Connect_byUIDEx and IOTC_Device_loginEx to enable key authentication [3.1.7.0] - AV Module + Add new API avClientStartEx and avServStartEx, especially DTLS can be enabled in these APIs (support with Android/Linux/iOS/MAC) [3.1.6.2] - IOTC Module * [GENSDK-939][IOTC] P2PTunnel server crash when no WAN is available * [RDFAE-358][IOTC] 3.1.4.35 device login might cause CPU 100% if WAN is not available - P2PTunnel Module * [GENSDK-938][P2PTunnel] iOS CPU consumption is high (10%~20%) [3.1.6.1] - IOTC Module * [RDFAE-358][IOTC] 3.1.4.35 device login might cause CPU 100% if WAN is not available * [RDFAE-363] IOTC_Device_LoginNB will cause fd out of use when network is not available * [GENSDK-937][IOTC] high possibility to relay with slower server [3.1.6.0] - IOTC Module + Support listen / connect specific port. - RDT Module + Add new congestion control algorithm and named RDT2. If device & client RDT version >= 3.1.6.0, it will use new algorithm (RDT2). If devie or client RDT version < 3.1.6.0, it still use old algorithm (RDT1). [3.1.5.43] - IOTC Module * improve the connectivity with UDP mode [3.1.5.41] - AV Module * [RDFAE-559] av client crash if recv big I frame (1MB) for a period of time - RDT Module * [RDFAE-554] RDT crash if RDT_Abort then RDT_Deinitialize when transfering data * [RDFAE-552] RDT_Create return RDT_ER_TIMEOUT immediately if timeout set to 0 * [GENSDK-1235] RDT linux sample build failed [3.1.5.40] - IOTC Module * [RDFAE-504] device cannot login with p2p server when the network is ok (-90) * [RDFAE-524] IOTC_Listen return IOTC_ER_EXCEED_MAX_SESSION * [RDFAE-545] password is not correclty sent * [RDFAE-561] Log size cannot be modify o login every 40 seconds, never change the frequency - AV Module * avServGetResendSize get wrong unit of buffer size - RDT Module * [RDFAE-554] RDT_Deinitialize twice and crash * [RDFAE-552] RDT_Create is not blocked when timeout value is 0 * easily connect with tcp relay mode even if the udp is usable [3.1.5.38] - IOTC Module * side effect of RDFAE-480 on IPv4 platform, IOTC_Device_Login fail [3.1.5.37] - IOTC Module * [RDFAE-501] IOTC_Connect crash after master IP resolve 8 IPs [3.1.5.36] - IOTC Module * [RDFAE-480][IOTC] device might get -90 error after a long period of time * [GENNSL-447][IOTC] Fixed Build Big-Endian toolchain can't link IOTC_Data_hton function. - P2PTunnel Module * [RDFAE-484] tunnel crash when playing videos * [GENSDK-1091] once P2PTunnelAgentDeInitialize is failed there is no way to recover [3.1.5.35] - P2PTunnel Module * [RDFAE-472] tunnel agent crashed when doing P2PTunnelAgent_Connect [3.1.5.34] - IOTC Module * [GENKD-1170][IOTC] NAT2vs2 but relay mode * [RDFAE-459] windows library consume much CPU usage after IOTC_Initialize2 - P2PTunnel Module * [GENSDK-1050] windows cannot report port mapping bind failed when it is occupied * Improve performance [3.1.5.33] - IOTC Module * [GENSDK-1040] Device in RLY instead of LAN mode [3.1.5.32] - IOTC Module * [GENSDK-1040] Device in RLY instead of LAN mode * replace master domain name cm.iotcplatform.com with cm.kalay.net.cn [3.1.5.31] - IOTC Module * [RDFAE-429][IOTC] Device login frequency abnormal [3.1.5.30] - IOTC Module * [RDFAE-415][IOTC] IOTC_Connect crash after connecting repeatly on Windows [3.1.5.24] - IOTC Module * [MS-60][IOTC] iOS SIGPIP and than crash - AV Module * [AVAPI2] add status AVAPI2_SERVER_STATUS_CLEAN_BUFFER [3.1.5.23] - IOTC Module * [MS-62][IOTC] Device_Login crash [3.1.5.22] - IOTC Module * [IOTC] fix IOTCAPIT crash issue * [IOTC} sendto failed in windows platform [3.1.5.20] - IOTC Module * [RDFAE-358][IOTC] 3.1.4.35 device login CPU going up * [RDFAE-404][IOTC] IOTC_Connect_ByUID_Parallel return -42 in TCP mode or in windows platform [3.1.5.19] - IOTC Module * [IOTC] fix sendto & recvfrom use share address issue [3.1.5.17] - IOTC Module * [GENSDK-947][IOTC] receive packet size smaller than 16 bytes will cause IOTC crash * [GENSDK-948][IOTC] device session full if client repeatly do check online and IOTC_Connect under LAN * [GENSDK-934][IOTC] Send too many P2P request to P2P server under the NAT 2vs3 environment - AV Module * [AVAPI2] add AVAPI2_ClientCheckAndCleanBuf to check and clean recv buffer when recv blocking at resend * [AVAPI] check is client or not at avClientCleanVideoBuf [3.1.5.16] - IOTC Module * [GENSDK-945][IOTC] IOTC_Connect & IOTC_Check_Device_On_Line call at the same time the IOTC_Connect will be failed [3.1.5.15] - IOTC Module * [GENSDK-940][IOTC] round-robin send P2P request to servers [3.1.5.14] - AV Module * AVAPI Client can't receive audio data when call avCheckAudioBuf before avRecvAudioData [3.1.5.13] - IOTC Module * IOTC_Check_Device_On_Line cannot return -64 if IOTC_WakeUp_Setup_Auto_WakeUp is enabled [3.1.5.12] - RDT Module * Rollback RDT to 3.1.4.35 version [3.1.5.11] - AV Module * Audio might be miss order or loss with old version device (especially doorbell device, like Nova, OV) [3.1.5.10] - IOTC Module * IOTC_Deinitialize might be deadlock in Android platform [3.1.5.8] - IOTC Module * fix memory leak of IOTC_Deinitialize (session info is not released after it) [3.1.5.5] - IOTC Module * [GENSDK-917] Device is waken up unexpectly when a client tries to ask device status via IOTC_ConnectByUID() [3.1.5.2] - IOTC Module * Replace the localtime with thread safe funcction localtime_r [3.1.5.1] - IOTC Module * Modify the description of IOTC_WakeUp_Setup_Auto_WakeUp in IOTCWakeup.h [3.1.5.0] - IOTC Module + Add new API IOTC_WakeUp_Setup_Auto_WakeUp, IOTC_WakeUp_Get_SleepPacket for Wakeup feature, IOTC_WakeUp_SleepPacketCB is a function callback for IOTC_WakeUp_Get_SleepPacket [3.1.4.55] - IOTC Module * [RDFAE-409][IOTC] Login failed * [RDFAE-408][IOTC] Socket leak after try port [3.1.4.54] - IOTC Module * [RDFAE-403][IOTC] IOTC_Connect return -41 on Win10 with IOTCAPIsT.dll [3.1.4.53] - IOTC Module * [RDFAE-403][IOTC] IOTC_Connect return -41 on Win10 with IOTCAPIsT.dll [3.1.4.52] - IOTC Module * [IOTC] fix sendto & recvfrom use share address issue [3.1.4.51] - RDT Module * [GENSDK-848] New API - RDT_Set_MaxPacketDataSize() for Promise [3.1.4.50] - IOTC Module * minimize the IOTC & P2PTunnel log - AV Module * add avClientCleanVideoBuf_NB [3.1.4.48] - IOTC Module * [RDFAE-358][IOTC] 3.1.4.35 device login might cause CPU 100% if WAN is not available [3.1.4.47] - IOTC Module * [GENSDK-939][IOTC] P2PTunnel server crash when no WAN is available [3.1.4.46] - IOTC Module * [GENSDK-938][P2PTunnel] iOS CPU consumption is high (10%~20%) [3.1.4.45] - IOTC Module * [GENSDK-937][IOTC] high possibility to relay with slower server [3.1.4.44] - P2PTunnel Module * [P2PTunnel][RDFAE-340] LAN mode CPU usage is very high in windows platform [3.1.4.43] - IOTC Module * [RDFAE-363] device crash after 5 minutes with non-block login and no WAN [3.1.4.41] - IOTC Module * [RDFAE-363] IOTC_Device_LoginNB will cause fd out of use when network is not available [3.1.4.39] - IOTC Module * [RDFAE-358][IOTC] 3.1.4.35 device login might cause CPU 100% if WAN is not available [3.1.4.36] - IOTC Module * detect network (non-blocking) might cause busy loop if network is not avaliable [3.1.4.35] - RDT Module * [RDT] Fix side effect of 3.1.4.33 [3.1.4.34] - AVAPI Module * [AV][RDFAE-337] avRecvAudioData get wrong order of audio data with 14W08 device. [3.1.4.33] - RDT Module * [RDT] Fix performance issue. [3.1.4.32] - IOTC Module * [IOTC] fix high CPU usage in specific situation [3.1.4.24] * [IOTC] fix connect issue in ipv6 + iOS 10.3.1 + T-Mobile. [3.1.4.22] - IOTC Module * [IOTC] open 2vs3 try port * [IOTC] fix GENSDK-862 : Log doesn't generate in specify folder after IOTC_Set_Log_Path(). * [IOTC] fix connect success cannot be sent issue * [IOTC] fix random crash in TUTK_LOG_MSG_ToFile(). * [IOTC] fix GENSDK-913 : IOTC crash after call IOTC_Connect_Stop() and IOTC_Session_Close() during IOTC_Connect(). * [BUILD] add new platform : Arm_AST2500_2010ql. * [BUILD] add new platform : Mips_T20_r2.3.3_uclib_32bit and Mips_T20_r2.3.3_uclib_64bit. * [BUILD] add new platform : Mips_T20_r2.3.3_32bit and Mips_T20_r2.3.3_64bit. [3.1.4.21] - IOTC Module * [GENSDK-901][GENSDK-890] NAT 2vs3 crash issue * [RDFAE-282] iOS iotc connect at some 4G provider * [GENSDK-909] load inet_ntop failed in IOTCAPIs.dll on windows XP * [GENSDK-903] IOTC_Accept returns IOTC_ER_EXCEED_MAX_SESSION after IOTC_Set_Max_Session_Number(1). * [GENSDK-897] relay has been connected, but IOTC_Connect does not return * [GENSDK-869] IOTC_Listen() be called two times when client only connect one time * [RDFAE-278] some user fails to connect in LAN mode. * [RDFAE-279] Linux IOTC socket close problem * update document for IOTC_Session_Channel_Check_ON_OFF * fix : IOTC_Deinitialize of IOTCAPIsT.so might be deadlocked * fix : IOTC_Session_Channel_Check_ON_OFF return -26 if channel is not on * fix : record wrong server index of first response precheck1_r server * fix : assert(0) if connection reference count is 0 in LinuxConnMgr_destroyConnection - P2PTunnel Module * [GENSDK-899] Tunnel Server doesn't get notification by P2PTunnelServer_GetStatus when client call P2PTunnelAgent_Disconnect [3.1.4.20] - IOTC Module * [RDFAE-278] IOTC_Connect return -19 under 172.30.x.x private network * [GENSDK-902] [iOS] Crash when closing the connection : lose file descriptor * Still can be connected in LAN mode when session is full * IOTC_Connect might not return when TCP relay is connected - AV Module * Deadlock when doling avSendIOCtrlBlock - RDT Module * RDT_Deinitialize might cause RDT crash in RDTRecvCB [3.1.4.18] - AV Module * Do not return AV_ER_SOCKET_QUEUE_FULL(-20030) [3.1.4.17] - IOTC Module * [GENSDK-889] IOTC_Connect_ByUID return IOTC_ER_FAIL_SETUP_RELAY(-42) when test with AVAPI * [GENSDK-865] IOTC_Connect_ByUID return IOTC_ER_DEVICE_EXCEED_MAX_SESSION(-48) in P2P mode * [GENSDK-859] VPG list is wrong after merging the lists from all the master servers * [GENSDK-885] RDT_Destroy is blocked and no return * [GENSDK-876] double free or corruption * [GENSDK-881] Unexpected TCP connection is alive * [GENSDK-888] iOS Client generate abnormal message when using IOTC * [GENSDK-870] Outflow of debug message * [RDFAE-275] Cannot establish IOTC connection when Windows client w/ 3.1.4.1 and 3.1.4.4 [3.1.4.16] - IOTC Module * Fix sendto might be blocked is some platform [3.1.4.15] - RDT Module * Fix RDT_Create -10007 [3.1.4.14] - RDT Module * Fix RDT_Create -10007 [3.1.4.13] - IOTC Module * Fix LAN search broadcast with too many packets in iOS * Fix Taskmanager is created after create task issue [3.1.4.12] - IOTC Module * Fix IOTC_Connect fail issue [3.1.4.11] - IOTC Module * Add IOTC_ReInitSocket back o Disable NAT 2x3 try port mechanism [3.1.4.10] - IOTC Module * [GENSDK-881] unexpected TCP connection * [[RDFAE-275] iotc connect is broken in Windows version [3.1.4.9] - IOTC Module * fix iOS crash issue - RDT Module * fix RDT Connect timeout issue [3.1.4.8] - IOTC Module * fix can not connect 14W39 device with P2P mode sometimes - RDT Module * fix the issue of RDT timeout issue. [3.1.4.7] - IOTC Module * fix cannot establish P2P connection with version before 14W42 [3.1.4.5] - IOTC Module + Add API IOTC_Add_MasterServer. * [GENSDK-872] IOTC_DeInitialize segmentation fault after IOTC_Device_Login fault. * [GENSDK-875] Client create connection success but device doesn't know. * Fix IOTC connection deadlock issue. o Refine log mechanism and reduce log. * fix listen 2 sid may still happen when the connection comes from _IOTC_P2P_Connection_Check_Client(). * [GENSDK-873] IOTC_Connect_ByUID segmentation fault if connect times exceed max session number. - AV Module + support send audio by video function. * correct the caculation of m_IOCtrlSendingTime. - P2PTunnel Module * [RDFAE-268] Call P2PTunnelAgent_Connect_Parallel will be blocked. [3.1.4.4] - IOTC Module * [GENSDK-864] TCP RLY connection create failure [3.1.4.3] - IOTC Module * Fix IOTC_Deinitialize might crash [3.1.4.2] - RDT Module * Fix iOS might crash when APP stay in background [3.1.4.1] - IOTC Module * Fix IOTC_Listen get two session with only 1 connection [3.1.4.0] - IOTC Module * Fix IPv6 connection issue on iOS * New API for change Lan search port * Fix TCP RLY can't change to LAN in parallel connection mode. * IOTC_DeInitialize crash in background on iOS * fix CPU usage is too large in Client side if WAN is not available * fix the client has no action if device session is full * Fix printf log crash + Add IOTC_Detect_Connection_Mode - RDT Module * fix RDT_Read -10007 error - AV Module + Sample Code add stream emulator + add server/client packet response time statistical data + add API avDASAReset, AVAPI2_ServerSetDASAReset [3.1.3.0] - IOTC Module + Add new option "IsLowConnectionBandwidth" for IOTC_Set_Connection_Option to reduce the packet amount when connecting [3.1.2.0] - IOTC Module * [IOTC] tcp login will cause iotc connect failed or login fail - AV Module * [AVAPI] improve AV performance + [AVAPI] add new API avClientRecvBufUsageRate to get current client recv buffer size + [AVAPI] add new API avServGetResendSize to get current resend buffer [3.1.1.0] - IOTC Module * [IOTC][GENSDK-610] No validate value from IOTC_Set_Max_Session_Number() * [IOTC][Android] fix that connectStateHandlerCB crash in Android * [IOTC][GENSDK-671] Call back infinitely when call IOTC_Connect_ByUIDNB() twice o [IOTC][GENSDK-552] IOTC_Session_Channel_Check_ON_OFF return IOTC_ER_CH_NOT_ON at active port. o [IOTC][GENSDK-261] avClientStart_inner generates error code -61 * [IOTC][RDFAE-259] Crash in IOTC_Connect_Stop_BySID - RDT Module * [RDT] Improve CPU usage high even device is idle * [RDT][RDFAE-225] Blocking in RDT_Write() - AV Module * [AVAPI] Fine tune resend performance after clean buffer, and add force send in DASA + [AVAPI] add memory check feature in AVAPI for debug. use CHECK_AV_MEM_STATUS flag to enable this feature * [AVAPI][GENSDK-855] ios app crash in live view * [AVAPIs][RDFAE-258] avServResetBuffer() return 50 - P2PTunnel Module * [P2PTunnel][GENSDK-805] port mapping fault with TUNNEL_ER_BIND_LOCAL_SERVICE error code when call twice port_mapping() on client. o [P2PTunnel][Android][GENSDK-719] add P2PTunnelAgent_Set_Log_Path & P2PTunnelAgent_Connect_Stop_Parallel to Android * [P2PTunnel][RDFAE-227] P2PTunnelServer socket leak when repeating start and stop [3.1.0.0] - IOTC Module * [GENSDK-552] IOTC_Session_Channel_Check_ON_OFF return IOTC_ER_CH_NOT_ON at active port. * [GENSDK-755] no CB from IOTC_Device_LoginNB when detect network failed. * [GENSDK-757] loginStateHandler(CB for IOTC_Device_Login_NB) has no state updated. - RDT Module * [RDT][GENSDK-803] Tunnel performance low - AV Module * Improve video data transmission efficiency. [3.0.1.27] - RDT Module * Fix RDT_Read -10007 error even wait for a long time when network is not bad [3.0.1.26] - IOTC Module o Improve the error handling of TCP connection * Fix IOTC_Listen cannot get a new session when IOTC_Connect success in client side * Fix relay connection might not response the session full status in device side [3.0.1.24] - IOTC Module * Fix performance issue of connection manager. [3.0.1.23] - IOTC Module * Fix IOTC_Set_Log_Path crash on iOS. - AV Module + Add new API avServGetResendSize to get max resend buffer size of av server + Add new API avServGetResendFrmCount to get current the amount of frames in resend buffer + Add new API avClientRecvBufUsageRate to get current usage of client recieve buffer [3.0.1.22] - AV Module o Improve AV performance for DATA ACK and REQUEST frequency [3.0.1.21] - IOTC Module * Fix TCP device login might cause dead lock issue [3.0.1.20] - IOTC Module o Add thread name for all modules. [3.0.1.19] - IOTC Module * Fix IOTC performance issue which affects by [IOTC]RDFAE-250. [3.0.1.18] - RDT Module o [RDFAE-256] Improve CPU usage high even device is idle. [3.0.1.17] - IOTC Module * [IOTC]RDFAE-250 IOTC_Device_Login will cause CPU loading high when Lan mode is work but WAN is disconnect * [IOTC]RDFAE-257 IOTC_Device_Login return -2 even network is fine - RDT Module o [RDFAE-256] CPU usage is high even device is idle. [3.0.1.16] - IOTC Module * [GENSDK-804] 3.0.1.10 long time test crash. * [GENSDK-810] IOTC client return error IOTC_ER_TCP_CONNECT_TO_SERVER_FAILED. * wrong status check before starting AddUDPQueryDeviceInfoTask. - AV Module * remove large media file in AV Samples. [3.0.1.11] -IOTC Module * [GENSDK-789] Sometimes IOTC_Connect get -64 error when device has beeb waked up * [GENSDK-801] Cannot establish TCP relay connection. [3.0.1.10] -IOTC Module * [GENSDK-748] IOTC device cannot update server list every day * [GENSDK-754] LAN search results get duplicated UIDs * [GENSDK-756] IOTC_Session_Check get IPv6 address even if under IPv4 environment * [GENSDK-742] Resolve master address might take a long * [GENSDK-741] Sinfo are not matched between IOTC_Session_Check and pStSInfo from serverStatusCB * [GENSDK-788] IOTC_Device_Login hangs after 1024 times fail. * [GENSDK-798] IOTC connection mode is always relay mode between device NAT III and client NAT I * [GENSDK-770] Bad and unstable performance on IOTC/RDT/AV/Tunnel in LAN/P2P/UDP relay mode * [GENSDK-751] Device costs long time to log in to P2P server under NAT 3 router * [GENSDK-755] No response from IOTC_Device_Login over 5 minutes on specific GW that CAN NOT connect to internet * [GENSDK-769] IOTC_Device_LoginNB always return IOTC_DEVLOGIN_ST_LOGIN_FAILED after 6 seconds and will not log in to P2P server successfully. * [GENSDK-733] It takes long time(avg. 25 seconds) to connect to device in UDP relay mode * [GENSDK-730] Incorrect IPv6 address of st_SInfoEx.RemoteWANIP and st_SInfoEx.RemoteWANPort in P2P mode * [RDFAE-223] IOTC_Check_Device_On_Line crash in Android and Linux. -AV Module * [GENSDK-779] System sometimes crashed in P2P/Relay mode after avClientStop * [GENSDK-740] nStatus SHOULD be AVAPI2_SERVER_STATUS_CLEAN_VIDEOBUF_REQUEST ONLY in serverStatusCB when AVAPI2_ClientCleanVideoBuf(x,x,1) called by client * [GENSDK-784] Sometimes AVAPI2_ClientDisconnect hangs (Device is using AVAPI) in P2P mode * [GENSDK-793] Sometimes avServResetBuffer return AV_ER_CLIENT_NOT_SUPPORT after avServStart3 in av server side * [GENSDK-718] IOTC_Device_Login return IOTC_ER_FAIL_RESOLVE_HOSTNAME when compile with static library * [RDFAE-220] allow avClientStart2 using NULL for pnServType [3.0.1.8] -IOTC Module * [GENSDK-761] support parallel usage for device online on Android platform [3.0.1.7] -IOTC Module * [GENSDK-753][Dv3.0.1.5vsCv3.0.1.5] High packet lost rate( >50%) on IOTC data transmission in P2P mode -AV Module * [GENSDK-715]AV Client CAN NOT receive data from AV server [3.0.1.5] - IOTC Module * [GENSDK-729] multiple thread support of IOTC_Check_Device_On_Line - AV Module + add intput parameter serverStatusCB for AVAPI2_CreateChannelForSend * [GENSDK-720] System crash after calling AVAPI2_ClientCleanVideoBuf then AVAPI2_ClientCleanBuf in sequence * [GENSDK-725] Frames are dropped from client side while resend flag is enabled * [GENSDK-726] videoRecvCB SHOULD return AV_ER_LOSED_THIS_FRAME for each losted frame if frame number is not started from 0 * [GENSDK-723] AVAPI2_SetCanalLimit SHOULD return IOTC_ER_ALREADY_INITIALIZED without AVAPI2_ClientStop invoked before. * [GENSDK-739] nStatus SHOULD be AVAPI2_SERVER_STATUS_START in serverStatusCB after AVAPI2_ServerStart called when av server logged in to P2P server and then listening. [3.0.1.4] - IOTC Module * Add IOTC_Check_Device_On_Line [3.0.1.3] - IOTC Module * [RDFAE-205] Socket FD leak in windows platform - RDT Module * [RDFAE-216] fix that Tunnel and RDT CPU usage is too high in windows [3.0.1.2] - IOTC Module * [GENSDK-711] Client doesn't connect to device after network change from IPv6 to IPv4 [3.0.1.1] - IOTC Module * [RDFAE-213] iOS av client crashed in ipv6 [3.0.1.0] - IOTC Module + Support IPv6 under NAT64 for Linux/MAC/iOS [3.0.0.0] - IOTC Module + Add non-blocking APIs IOTC_Device_LoginNB, IOTC_Get_Device_Status, IOTC_Accept, IOTC_Connect_ByUIDNB, IOTC_Connect_ByUID_ParallelNB, IOTC_Session_Write_Reliable_NB, IOTC_Session_Write_Reliable_NB_Abort + Suport Client and Device can be in the same process - AV Module + AVAPI II : non-blocking API, drop frame policy [2.1.8.11] - IOTC Module * [GENNSL-256] function name search() of hisilicon toolhain same with iotc function name - AV Module * [RDFAE-230] call avServStart and avClientStart would segmentation fault on Android [2.1.8.9] - IOTC Module * [GENSDK-748] IOTC device cannot update server list every day - P2PTunnel Module * fix that Tunnel session is not freed when iotc remote timeout. [2.1.8.8] - P2PTunnel Module * fix that P2PTunnelServer_Disconnect may return error because IOTC already closed. [2.1.8.7] - IOTC Module * [RDFAE-214] Using sample code cause crash * [GENSDK-727] IOTC_Set_Max_Session_Number JNI doesn't implement [2.1.8.6] - IOTC Module + [GENSDK-732] Add new API "IOTC_Set_Device_Search_VirtualPort" to set LAN search channel [2.1.8.5] - P2PTunnel Module * Add interface of P2PTunnelAgent_Connect_Parallel on Android [2.1.8.4] - IOTC Module * [GENSDK-703] IOTC_Connect might choose slower p2p server to do relay [2.1.8.3] - IOTC Module * [RDFAE-216] fix that Tunnel and RDT CPU usage is too high in windows [2.1.8.2] - IOTC Module * [RDFAE-205] Socket FD leak in windows platform [2.1.6.3] - IOTC Module * [GENSDK-692] IOTC connect might get -42 issue when network is fine - RDT Module * [RDFAE-207] Tunnel trasfer command takes a long time [2.1.6.0] - IOTC Module * [GENSDK-571] Reconnect the P2P Server every 2 hours [2.1.4.50] - IOTC Module o Reduce the traffic of P2P connection [2.1.4.48] - IOTC Module * [GENSDK-692] IOTC connect might get -42 issue when network is fine * [GENSDK-702] IOTC client might get wrong NAT type * [GENSDK-703] IOTC_Connect might choose slower p2p server to do relay - AV Module o fine tune the frame request interval [2.1.4.40] - P2PTunnel Module * [GENSDK-673] P2PTunnelAgent_Connect_Stop_Parallel()= -30023, P2PTunnelAgent_Connect_Parallel() is blocking. [2.1.4.39] - IOTC Module * [XTREMEIII-177] IOTC_Deinitialize crashed in android platform * [GENSDK-666] check state UDP_P2P_CONN_SUCCES for 14W08 - AV Module * [GENSDK-619] avServStart3 blocked in Android platform with null account & password - RDT Module * [GENSDK-625] Big Endian support on RDT - P2PTunnel Module * [GENSDK-617] P2PTunnelAgent_Connect_Parallel might crash if the length of input UID is more than 22 charactors [2.1.4.33] - IOTC Module * [GENSDK-606] 2.1.4 client vs. 14W42P2 device cannot transfer data in LAN mode - RDT Module * [GENSDK-530] Bad RDT performance on TCP relay - P2PTunnel Module * [GENSDK-605] Android P2PTunnel log cannot be reproduced [2.1.4.29] - IOTC Module * [GENSDK-546] IOTC_Connect_ByUID_Parallel() got error -42 when connect twice in one process with RLY mode o [GENSDK-590] Add disable Lan function * [GENNSL-220 & RDFAE-189] IOTC_Device_Login always get -33 - AV Module * [GENQIWO-38] avRecvFrameData2 recieve bigger frame size than actual frame size - RDT Module * [GENSDK-561] Segmentation Fault in RDT_Destroy() [2.1.4.26] - IOTC Module * [GENSDK-590] Connection still can be connected as LAN mode when IOTC_Setup_LANConnection_Timeout is set as 0 [2.1.4.22] - IOTC Module * [GENSDK374] One connection might fail if two client connect to one device parallely * [GENSDK-350] P2P connection CAN NOT be established between device(2.1.4.15) and client(14W08) * [GENSDK-497] IOTC_Listen pending when session is exceeded max number - AV Module * [GENSDK-491] AV client cannot recieve frames after calling avClientCleanVideoBuf [2.1.4.20] - AV Module o Improve AV resend performance - P2PTunnel Module * [GENSDK-390] P2PTunnelAgent_Disconnect block after swtich agent network from A router to B. * [RDFAE-185] P2PTunnelAgent_Disconnect hang when APP turn off or switch the network environment [2.1.4.19] - IOTC Module o Update gcd function name to tutk_gcd to avoid function name conflict with customers [2.1.4.18] - IOTC Module * [GENSDK-327] 2.1.4.14 client side disconnect API will trigger TUNNEL_ER_DISCONNECTED randomly. + Add New API IOTC_Session_Channel_Check_ON_OFF to check whether the channel is ON or OFF - P2PTUNNEL Module * [GENSDK-347] P2PTunnelAgent_Disconnect might crash when connect & disconnect repeatly [2.1.4.16] - RDT Module * [FOS-18] Android Client RDT_Abort hangs 30 sec. [2.1.4.15] - IOTC Module * Modify callback function ConnectModeChangeCB to send back session ID [2.1.4.14] - RDT Module + Add RDT_Flush mechanism. - IOTC Module * [GENSDK-310] username or password error when using RDT * [Sample] modity the error handle for IOTC_Listen in IOTC Sample - P2PTUNNEL Module * [GENSDK-314] P2PTunnelAgent_StopPortMapping might be blocked under two tunnel connection * [GENSDK-316] Stop P2PTunnelAgent_GetStatus callback when P2PTunnelAgent_Disconnect is called [2.1.4.13] - RDT Module * [GENSDK-310] username or password error when using RDT [2.1.4.12] - P2PTUNNEL Module * [GENSDK-308] Tunnel might hang when doing P2PTunnelAgent_Disconnect [2.1.4.11] - P2PTUNNEL Module * [GENSDK-301] P2PTunnelAgent_Connect_Parallel will return same Tunnel Session ID if connect with 2 Server * [GENSDK-288] P2PTunnelAgent_PortMapping might get duplicated index in one session * [GENSDK-300] Fix fd check condition [2.1.4.10] - RDT Module * [GENSDK-255] RDT_Destroy function hangs about 120 seconds when data transmission finished. - P2PTUNNEL Module * [RDFAE-179] Kalay 2.1.0 IOS Lib P2PTunnelAgent_Connect_Stop Crash. [2.1.4.9] - IOTC Module * [GENSDK-283] Call back function for connection mode change of Relay & P2P mode * Fix recieve broadcast message which is smaller than 16 bytes might cause IOTC crash [2.1.4.8] - IOTC Module * [GENSDK-241] add big endian support to both device and client - P2PTUNNEL Module * [GENSDK-287] P2PTunnel might crash in P2PTunnelAgent_Disconnect [2.1.4.7] - RDT Module * Fix RDT_Create failed issue due to packet delay and recieve the connection message from last connection - AV Module * Fix the problem that no frame received after doing avClientCleanVideoBuf [2.1.4.5] - IOTC Module * Fix IOTC_Initialize2 might consume 100% CPU issue in windows platform - RDT Module + Add new API RDT_Set_Max_Pending_ACK_Number to adjust the frequency of ACK sending * Fix RDT_Write crash issue after doing RDT_Abort - P2PTUNNEL Module * Fix P2PTunnelAgent_Disconnect crash issue in iOS platform * Fix P2PTunnelAgentInitialize might consume 100% CPU issue in windows platform * Fix P2PTunnelDeinitialize might be blocked issue in windows platform * Fix P2PTunnel_PortMapping might be out of range after doing stop port mapping issue * [FAETW-767] Fix CPU 50% loading after P2PTunnelInit on Android 2.1.3 [2.1.3.5] - IOTC Module o Reduce the traffic loading of P2P connection [2.1.3.4] - IOTC Module * [GENSDK-701] device login fail after a period of time [2.1.3.2] - IOTC Module * [GENSDK-692] IOTC connect might get -42 issue when network is fine [2.1.3] - IOTC Module o Fix LAN Search compatibility issue (14w08/14w42 client vs 2.1.0/2.0.0 device) o Fix Android 6.0 LAN Search issue - AV Module * Fix live view compatibility issue(2.1.0 client vs 2.0.0/14w42/14w08 device) [2.1.0] - IOTC Module + Support PPAPI & Android 64bit &WinRT + IOTC_Setup_Session_Alive_Timeout (session timeout default 60s) + IOTC_Set_Connection_Option + Error Code IOTC_ER_DEVICE_IS_BANNED(-59) for IOTC_Listen (Ban duplicated UID) IOTC_ER_MASTER_NOT_RESPONSE(-60) for IOTC_Device_Login & IOTC_Connect_ByUID & IOTC_Connect_ByUID_Parallel o Connection Mechanism change IOTC_Connect LAN timeout 30s=>60s IOTC_Connect?P2P timeout 30s=>60s IOTC_Connect?Relay timeout 10s=>60s IOTC_Connect?UDP connect to master/server timeout 10s=>60s IOTC_Connect?TCP connect to master/server timeout 10s=>60s session alive timeout 15s=>60s session alive frequency 2s=>1s * IOTC_Connect might get -1 error code even if the network status is fine * Client cannot get device IOTC module version from session check under LAN mode * Device might crash when doing IOTC_Device_Login without internet connection * Only one client can connect to device(14W08, Client: NAT type 3, 15W13, Deivce: NAT type 1, 14W08,?P2P mode can reproduce this bug) * P2P & LAN mode might have compatibility issue - AV Module + avClientCleanLocalBuf =>Clean local video & audio frame buffer (without noting to av server) + avClientCleanLocalVideoBuf => Clean local video frame buffer + AV_ER_IOTC_SESSION_CLOSED(-20025)=> avSendIOCtrl, avRecvIOCtrl, avSendFrameData, avSendAudioData, avRecvFrameData, avRecvAudioData + AV_ER_IOTC_DEINITIALIZED(-20026)=> avSendIOCtrl, avRecvIOCtrl, avSendFrameData, avSendAudioData, avRecvFrameData, avRecvAudioData + AV_ER_IOTC_CHANNEL_IN_USED(-20027)=> avServStart, avServStart2, avServStart3, avClientStart, avClientStart2 o Password will be checked only once (callback function will be entered only once) * fix avClientCleanBuf might cause -20012 error of avRecvFrameData - RDT Module + RDT_Set_Max_SendBuffer_Size + RDT_ER_SEND_BUFFER_FULL(-10017) o RDT timeout 20s=>120s - P2PTUNNEL Module + P2PTunnelAgent_StopPortMapping_byIndexArray for multi-port mapping thread closed. * Data cannot be transfered in LAN mode (TCP proxy) [2.0.0] - IOTC Module o Modify the connection mechanism to parallel connection o Modify default LAN search timeout to 30 seconds o Modify default device login period to 25 seconds if device does not receive login_r from server, login period will be changed to 10 seconds o Improve the LAN search connectivity under complex WIFI environment + Add new API for IOTC reliable (IOTC_Session_Write_Reliable, IOTC_Session_Write_Reliable_Abort) + Add new API for device search (IOTC_Search_Device_Result, IOTC_Search_Device_Stop, IOTC_Search_Device_Start) + Add Error Code IOTC_ER_DEVICE_OFFLINE when all server report cannot find the device. (old IOTC_ER_DEVICE_OFFLINE) + Add new API IOTC_Session_Check_Ex to export local NAT type, relay type and net state + Add new mechanism to support P2P traversal of the 2+3 NAT type routers - AV Module * Fix av crash issue after avDeinitialize is called * Fix avClientStart might get -20016 error issue - RDT Module * Fix RDT block issue when connection is broken [14W42P1_RC3] - IOTC Module <1.13.7.0> * Fix alive timeout check does not work issue * Fix static library DllMain link error issue - AV Module <1.5.6.0> + Add avClientStart API with byte array account name and password on Android platform * Fix static library DllMain link error issue - RDT Module <1.7.4.0> * Fix static library DllMain link error issue - P2PTUNNEL Module <1.4.8.0> * Fix static library DllMain link error issue [14W42P1_RC2] - IOTC Module <1.13.6.0> * Fix IOTC_Setup_LANConnection_Timeout cannot work issue * Fix IOTC_Connect_ByUID deadlock issue - AV Module <1.5.4.0> * Fix avServStart did not return error code when password length is more than 256 [14W42P1_RC1] - IOTC Module <1.13.5.0> o Improve IOTC_DeInitialize() return time below 100 ms. * Fix Ignore random ID judge when remote site is older than 14W42, because device maybe send wrong random ID back. + Add IOTC_Setup_DetectNetwork_Timeout() for setup detect network reachable timeout. + Add armv7s platform for iOS + Add IOTC_Setup_P2PConnection_Timeout() for setup P2P connection timeout. - AV Module <1.5.4.0> * Fix link error when using Big Endian libraries + Add AV password length to 256 - RDT Module <1.7.3.0> * Fix link error when using Big Endian libraries - P2PTUNNEL Module <1.4.7.0> * Fix P2PTunnel cannot transfer data when using FTP * Fix P2PTunnel deadlock issue when connect with unlicense UID [14W42 RC7] - P2PTUNNEL Module <1.4.6.0> For agent * Fix P2PTunnel cannot transfer data in LAN mode on Win32 [14W42 RC1~RC6] - IOTC Module <1.13.3.0> For IOTC device o Device can handle concurrent connection from client. For IOTC client * Fix IOTC_Connect_ByUID_Parallel deadlock issue. For both IOTC device and client: * Session ID increase leak in some situation. o Enhance P2P connection stability. + Add new API IOTC_ReInitSocket() + Add MAC and iOS 64-bit library. - AV Module <1.5.2.0> For both AV server and client: + Add MAC and iOS 64-bit library. * Fix AV deadlock issue - RDT Module <1.7.2.0> For both RDT server and client: * Fix process rarely dead lock. o Improve call RDT_Abort() can let RDT_Read() to exit before reach timeout. + Add MAC and iOS 64-bit library. - P2PTUNNEL Module <1.4.5.0> For agent * Fix process crash with LAN mode on Win32. + Add P2PTunnelAgent_Connect_Stop() for exit connection process. * Fix P2PTunnel cannot transfer data in relay & P2P mode on Win32 + Add MAC and iOS 64-bit library. ============================================================================================== [14W39] - IOTC Module <1.12.0.0> For both IOTC device and client: + Add 64-bit library. - AV Module <1.5.0.0> For both AV server and client: + Add 64-bit library. - RDT Module <1.7.0.0> For both RDT server and client: o Fix RDT_Abort() not release channel resource. + Add 64-bit library. - P2PTUNNEL Module <1.4.0.0> For both P2PTunnel server and agent: o Fix when do duplicate call P2PTunnelAgent_StopPortMapping() will crash. o Improve LAN data transmission performance has greatly increased. + Add 64-bit library. ============================================================================================== [14W36] - IOTC Module <1.11.0.0> For both IOTC device and client: * Fix misjudge NAT type3. o Fix crash bug on Win32. o Fix re-connection error when do it frequently. o Fix choose a not workable Server on TCP mode. o Fix login failed when re-query Master failed. o Improve connection performance a little bit. + Add support class A/B/C LAN search. + Add IOTC_Setup_LANConnection_Timeout() for setup time to try LAN connection. + Add IOTC_TCPRelayOnly_TurnOn() for setup connection only via TCP relay mode. - Remove include platform_config.h - AV Module <1.4.5.0> For both AV server and client: * Fix client connection failed when packet lost. o Fix crash bug on Win32. - Remove include platform_config.h - RDT Module <1.6.0.0> For both RDT server and client: o Fix re-connection error when do it frequently. o Improve RDT_Abort() function call will exit immediately. o Improve RDT connection performance. + Add RDT_Create_Exit() for exit RDT_Create() process before reach timeout. - Remove include platform_config.h - P2PTUNNEL Module <1.3.0.0> For both P2PTunnel server and agent: o Improve TCP relay mode performance. - Remove include platform_config.h - Sample Code - Remove include platform_config.h ============================================================================================== [14W08] - IOTC Module <1.10.8.0> For both IOTC device and client: o Fix big endian bug. o Add memory information in uCOSII. o Fix udp port error. o Improve connecting machanism in uCOSII. o Fix race condition bug in MAC OS. o Improve NAT Type detection. + Support different functional UID. + Add new api IOTC_Set_Device_Name() to set Device Name. + Add new api IOTC_Lan_Search2() to know Device Name in Lan. - AV Module <1.4.4.0> For AV server: + Add new api avResendBufUsageRate() to know usage rate of resend buffer. - RDT Module <1.4.3.0> For both RDT server and client: o Improve transmission machanism. - P2PTUNNEL Module <1.2.9.0> For both P2PTunnel server and agent: o Fix restart bug. o Improve transmission machanism. o Fix LAN search issue under LAN in P2PTunnelServer_Start(). o Fix re-bind error. For P2PTunnel server: Fix Server restart error. - Sample Code o Update security certificate mechanism in P2PTunnel sample code for Linux. - Remove auto-disconnecting mechanism in P2PTunnel sample code for Linux. ============================================================================================== [13W47] - IOTC Module <1.10.7.0> For both IOTC device and client: o Fix socket bind error. o Fix variables conflict error. - AV Module <1.4.3.0> For both AV server and client: o Fix variables conflict error. - RDT Module <1.4.2.0> For both RDT server and client: o Improve transmission machanism. o Fix variables conflict error. - Remove CRC machanism. - P2PTUNNEL Module <1.2.8.0> For both P2PTunnel server and agent: o Fix race condition and deadlock bug. o Fix disconnection bug. o Fix variables conflict error. For P2PTunnel server: + Support Lan mode environment. - Sample Code o Update P2PTunnel sample code for Linux in order to work in LAN mode without Internet. ============================================================================================== [13W45SB1] - IOTC Module <1.10.6.4> For both IOTC device and client: o Fix error detection in Win32. o Fix critical section in uCOSII. o Fix Winsock issues in win32 static link. o Fix compiler warnings in some arm9 platform. + Support Lite UID. o Fix LAN connection timeout extends to 1.5s. o Fix bugs in receiving data. - AV Module <1.4.2.3> For AV server: o Fix avServStart2() and avServStart3() may blocks. For both AV server and client: o Fix algorithm of avSendFrameData() on uCOSII. o Fix critical session in uCOSII. o Stop usage of AV_ER_EXCEED_MAX_ALARM (-20005). o Fix big endian bugs. o Add Lite UID support and AV_ER_NO_PERMISSION(-20023) error code. - RDT Module <1.4.1.5> For both RDT server and client: o Use call back function instead of polling when reading packets. o Fix RDT algorithm in LAN mode to improve performance. o Fix compiler warnings in Win32 platform. - P2PTUNNEL Module <1.2.7.3> For both P2PTunnel server and agent: o Fix flow control mechanism. o Fix error detection in Win32. o Fix big endian bug. + P2PTunnel_SetBufSize() API to set tunnel buffer size to improve performance. o Fix buffer control for RTSP/TCP application. Known issues: 1. P2PTunnel agent will not work on a big endian platform. - Sample Code o Update P2PTunnel sample code for Android to demo the P2PTunnel_SetBufSize() API. o Update AVAPI sample code for correct frame rate. ============================================================================================== [13W26P2] - IOTC Module <1.10.6.0> For both IOTC device and client: + Add IOTC_Set_Partial_Encryption() to control encryption length. o Fix NAT type check error to prevent from become RELAY mode after first connection. o Fix TCP socket management and error code handling to increase TCP relay stability. o Fix variable initialize to prevent from Win32 crashes. o Fix network detection return -41 issue. * Fix crashes when checking session status. o Fix IOTC_Session_Read() data handling in timeout status. For IOTC client: o Fix connecting to multi-device may return -19 error code. * Fix UDP socket receive buffer size to avoid loss packets. For IOTC device: * Fix IOTC_Device_Login() will occupy a session ID temporary. - RDT Module <1.4.1.0> For both RDT server and client: + Add RDT_Abort() API to close a channel with non blocking mode. + Add error code RDT_ER_REMOTE_ABORT for RDT_Write(), RDT_Read(), RDT_Destroy() and RDT_Abort() + Add error code RDT_ER_LOCAL_ABORT for RDT_Write() and RDT_Read(). + Add error code RDT_ER_CHANNEL_OCCUPIED for RDT_Create(). o Fix CRC error in a Big Endian platform. - P2PTUNNEL Module <1.2.7.0> For both P2PTunnel server and agent: o Fix TCP socket error code handling to improve P2PTunnel stability. o Fix P2PTunnel control command may not be sent correctly to prevent channel is kept after disconnected. For P2PTunnel server: o Fix Big Endian platform will make P2PTunnelAgent_Connect returns -30008 error code. Known issues: 1. P2PTunnel agent will not work on a Big Endian platform. - Sample Code o Update RDTAPIs sample code for Android. ============================================================================================== [13W26P1] - IOTC Module <1.10.5.0> For IOTC client: o Fix IOTC_Connect may blocked. o Fix IOTC_Connect_ByUID may blocked. o Fix multiple calling of connect_byUID() return -19 error. For IOTC device: o Fix incorrect network detection when WAN port of router is disconnected. For both IOTC device and client: o Fix relay disconnected issue. o Fix inconsistency connection mode between device and client, and cause -42 error code. o Fix memory leak issue. o Fix IOTC_Session_Write performance and returns -16 issue. o Fix incorrect connection packages when connection and disconnection in a short period. o Fix keep alive packages transmission mechanism. - AV Module <1.4.2.0> For AV server: o Fix Big-endian algorithm in avSendFrameData(). For both AV server and client o Fix resend mechanism sometimes halt forever and makes client can't receive video data anymore. o Improve performance by remove send and receive thread for server and client. o Fix argument type error. o Fix crash issue. - P2PTUNNEL Module <1.2.6.0> For both P2PTunnel server and agent: o Fix CPU busy issue. o Fix large transmission of the same packages. - Sample Code o Update P2PTunnel sample code to demo the handling method when app goes to background. ============================================================================================== [13W26] - IOTC Module <1.10.3.0> For both IOTC device and client: o Fix algorithm for NAT type checking function may not called on type 1. o Fix error handling algorithm when receive EAGAIN in TCP connection. o Fix algorithm to avoid returning IOTC_ER_DEVICE_NOT_LISTENING. o Fix bug when data size near max buffer size. + Add critical section for uCOSII. o Fix log function blocks. o Fix better variable type for storing session number. o Fix log function cannot be disabled. o Fix the handle of TCP packets with header magic error. + Add IOTC_Set_Log_Path() to set log file name, path and maximum size. + Log error codes in specified file. o Fix incorrect returning IOTC_ER_NO_SERVER_LIST when Master is shutdown for a long time. o Fix relay connection unstable when use UDP and TCP in different side. + Add new platform Arm9_GM8181_3.4.3 + Add Arm9_Hi3518_4.4.1 + Arm9_Hi3520A_4.4.1 + Arm11_SSD1937_4.3.2 + ArmV5TE_FH8755_4.4.0 + Mips_Realtek8196E_3.4.6 For IOTC device o Fix algorithm to process P2P packet correctly when device is not listening. o Fix IOTC_Device_Login() blocking bug. o Fix IOTC_Session_Close() keeps VPG information on device side. For IOTC client: + Add IOTC_Connect_ByUID_Parallel() and IOTC_Get_SessionID() for supporting to connect to device concurrently. + Add IOTC_Connect_Stop_BySID() to stop a specific session connecting to device. o Fix TCP connection to IOTC server confirmation error. o Fix return precise TCP connection error code. - RDT Module <1.4.0.0> For both RDT server and client: o Modify queue process algorithm to improve performance. + Add CRC16 mechanism. o Fix file pointer leak in log function. + Add RDT_Set_Log_Path() to set log file name, path and maximum size. + Log error codes in specified file. o Modify RDT connection timeout from 10 to 20 seconds. o Modify congestion control, dynamic window size and timeout. - AV Module <1.4.1.0> For AV server + Add avServStart3() and avServSetResendSize() for AV re-send supporting. o Fix re-send mechanism sometimes halt and cause client can't receive video data anymore. For AV client + Add avClientStart2() for AV re-send supporting. + avClientCleanVideoBuf() to clean video buffer. + avClientCleanAudioBuf() to clean audio buffer. For both AV server and client o Remove send and receive thread for server and client to improve performance. o Avoid avServStart(), avServStart2() and avClientStart() re-assign an AV channel ID for a pair of IOTC session ID and IOTC channel ID. o Fix avServStart(), avServStart2() and avClientStart() may return wrong channel ID. o Fix avDeInitialize() bug. - P2PTUNNEL Module <1.2.5.0> For both P2PTunnel server and agent: + Add P2PTunnel_LastIOTime() to get the last IO time of SID. o Fix local socket does not disconnect correctly when remotes side is disconnected. o Fix timer bug which causes incorrect waiting interval. o Fix bugs of buffer handling at low bandwidth condition. o Fix file pointer leak in log function. + Tunnel agent add SO_REUSEADDR option except win32. o Modify IOTC_Device_Login() stop retry if login failed. o Use IOTC_Initialize2() instead of IOTC_Initialize(). o Check pointer is not NULL before access. + Add P2PTunnelAgent_Set_Log_Path() to set log file name, path and maximum size. + Log error codes in specified file. - Sample Code o Update AVAPI sample code for Linux to demo new APIs. ============================================================================================== [13W10] - IOTC Module <1.9.1.0> For IOTC device: + Add error code IOTC_ER_NO_SERVER_LIST for IOTC_Device_Login(). o Fix continue notify when login status changed. For IOTC client: + Add IOTC_Lan_Search(). + Add error code IOTC_ER_DEVICE_MULTI_LOGIN for IOTC_Connect_ByUID() and IOTC_Connect_ByUID2(). + Add error code IOTC_ER_NO_SERVER_LIST for IOTC_Connect_ByUID() and IOTC_Connect_ByUID2(). + Add error code IOTC_ER_INVALID_ARG for IOTC_Lan_Search(). - Remove IOTC_Connect_ByName and IOTC_Connect_ByName2 APIs. For both IOTC device and client + Support Arm9_Hi3531_4.4.1 platform. + Support Mips_RalinkRT3352_3.4.2 platform. o Fix bug for getting local ip address. o Change IOTC_ER_NO_TCP_SUPPORT to IOTC_ER_NO_PERMISSION for advance UID identification. - AV Module <1.3.1.0> For AV server: + Add avServSetDelayInterval() for setting packets delay time of video frames. o Fix memory leak in avServStop(). o Fix memory leak in avSendFrameData(). For AV client: + Add new mechanism for receive frame function: avRecvFrameData2(). + Add avClientCleanBuf() to clean audio and video buffer. * Fix avCheckAudioBuf() may returns wrong audio frames count. o Fix memory leak in avClientStop(). For both AV server and client: o Fix the bug of avSendIOCtrl() returns AV_ER_SENDIOCTRL_ALREADY_CALLED after avSendIOCtrlExit() called. - P2PTUNNEL Module <1.2.0.0> + All new P2PTUNNEL module, NO backward compatible + Support authentication - Sample Code o Separate device and client of IOTCAPIs Android sample code. + Add IOTC_Lan_Search() demo in IOTCAPIs Android sample code. + Add P2PTUNNEL samples for Androd, iOS, Linux, MAC and Win32 ============================================================================================== [12W51] - IOTC Platform + Support TCP80 in IOTC server (Requires Server Program advanced version V0.5.2.0 and above) + Add blacklist and whitelist mechanism in IOTC server + Add user manual: AV module service type and IO control reference guide - IOTC Module <1.8.5.0> + Support TCP80 + Support iOS6 + Add error codes for blacklist and whitelist mechanism + Add a mechanism to check session status by callback: IOTC_Session_Check_ByCallBackFn + Add error code IOTC_ER_FAIL_CREATE_SOCKET, IOTC_ER_FAIL_SOCKET_OPT, IOTC_ER_FAIL_SOCKET_BIND, IOTC_ER_NOT_SUPPORT_RELAY returned by IOTC_Connect_ByUID(), IOTC_Connect_ByUID2(), IOTC_Connect_ByName() and IOTC_Connect_ByName2() + Support Mips_Realtek8196C_3.4.6 + Support Mips_Realtek8196D_4.4.5 + Support Mips_RalinkRTF5350_3.4.2 + Support ARM9_GM8126_4.4.7 + Support ARM9_N32905U1DN_4.2.1 - Delete ARM9_GM8126_3.4.6 - Delete MIPS_RalinkRT5350_4.3.3 - Remove error code IOTC_ER_FAIL_CREATE_SOCKET, IOTC_ER_FAIL_SOCKET_OPT, IOTC_ER_FAIL_SOCKET_BIND from IOTC_Initialize() and IOTC_Initialize2() o Fix IOTC_Connect_ByUID() issue in multi-thread usage o Fix connection issue for second time IOTC_Initialize() after IOTC_DeInitialize() o Change the algorithm of random port generation o Improve LAN search successful rate o Improve the speed of detection whether network is reachable o Modify relay not to be established again with already connected UID o Add const modifier for input parameters in function prototype - AV Module <1.2.8.1> o Add const modifier for input parameters in function prototype - RDT Module <1.3.7.0> o Improve RDT transfer rate o Add const modifier for input parameters in function prototype - Sample Code o Fix missing invocation of avServStop() and avClientStop() when using avServStart() and avClientStart(), respectively ============================================================================================== [12W33] - IOTC Platform + Add watchdog mechanism in IOTC server o Change diagnostic mechanism in IOTC server by using native file system - IOTC Module <1.7.0.0> + Add APIs to support both non-secure and secure mode: IOTC_Listen2(), IOTC_Connect_ByUID2() and IOTC_Connect_ByName2() + Add a mechanism to get login status by callback: IOTC_Get_Login_Info_ByCallBackFn() + Add error code IOTC_ER_NOT_INITIALIZED returned by IOTC_DeInitialize() o Improve device login and client connection time more quickly o Return IOTC_ER_NETWORK_UNREACHABLE in IOTC_Device_Login() when network is unavailable o Change the error code IOTC_ER_UNKNOWN_DEVICE returned by IOTC_Connect_ByUID() to IOTC_ER_SERVER_NOT_RESPONSE for clarification purpose o Change the error code IOTC_ER_TIMEOUT returned by IOTC_Connect_ByXXX() to IOTC_ER_FAIL_SETUP_RELAY for clarification purpose o Fix memory leak caused by IOTC_Device_Login() fails - Remove error codes: IOTC_ER_SENDTO_FAILED, IOTC_ER_DEVICE_NOT_LOGIN IOTC_ER_DEVICE_NOT_SECURE_LISTEN - RDT Module <1.3.5.0> + Add error code RDT_ER_RCV_DATA_END for RDT_Read() to indicate remote site has destroyed the RDT channel o Re-arrange error codes to distinguish from the ones defined by IOTC modules o Modify API name from RDT_Set_Max_Session_Number() to RDT_Set_Max_Channel_Number() for unifying naming rule - Remove error codes: RDT_ER_INVALID_ARG, RDT_ER_IOTC_SENDTO_FAILED, RDT_ER_IOTC_SESSION_CLOSE_BY_REMOTE, RDT_ER_IOTC_REMOTE_TIMEOUT_DISCONNECT, RDT_ER_IOTC_CH_NOT_ON - AV Module <1.2.8.0> + Add deinitialization function: avDeInitialize() + Add error code AV_ER_CLIENT_NO_AVLOGIN returned by avSendAudioData() o Re-arrange error codes to distinguish from the ones defined by IOTC modules o Change the error code AV_ER_BUFPARA_MAXSIZE_INFUFF to AV_ER_BUFPARA_MAXSIZE_INSUFF - Sample Code + Add iOS / Android application framework for easier development - Advanced only