Hi Glen kim, I has create issue IOT-1056 [1], pls fix them . Thank for your hard work ! [1]https://jira.iotivity.org/browse/IOT-1056
Regards,XiaoyanDate: Wed, 30 Mar 2016 23:42:54 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; jihyeok13.kim at samsung.com; iotivity-dev at lists.iotivity.org Hi, xiaoyan About Question #1 This timeout problem is not reproduced in our environment. I guess the timeout problem is due to cetificate problem. I'll try to reproduce it by deleting certificates for github. About Question #2, #3 As you mention, AccountServer generate session key and store it in db with "null" userId internally although auth. step is failed. (In case of that, AccountServer send only an error code to client normally.) BTW, it is an issue and need to be fixed so that session key is not generated in fail case. Please report this issue in iotivity jira. i'll follow up it. BR, Glen kim. ------- Original Message ------- Sender : itxiaoyan<xiaoyanit at outlook.com> Date : 2016-03-30 20:23 (GMT+09:00) Title : RE: [dev] Iotivity Cloud sample client is above at wating response ! Dear Glen kim, It's response code with 255 OC_STACK_ERROR . I has some question . Question 1: When I was in registration mode excuse: ./cloud_client 127.0.0.1:5683 , Account Server will response timeout serval times till cloud client received code 46[1] Question 2: I use new oauth code every time after excuse steps[2],I use registration mode genger session but it's response 255 Logs line at 321-->341 Use admin session 00000000 will success both Publish or Discover mode. Logs line at 343-->378 Question 3:After registration mode mongo db will stroge info without userId . Logs line at 312-->317 [1]"Waiting response..Register response received code: 46 ". Logs line at 296-->309 [2]Get 'Auth Code', value of '?code' query string.(samples/client/README) Regards, Xiaoyan Date: Wed, 30 Mar 2016 10:04:41 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; jihyeok13.kim at samsung.com; iotivity-dev at lists.iotivity.org Hi, Xiaoyan If authentication step is not completed normally, (ex, invalid auth. code ..) client just receive a response with "code: 45" If you try to publish with invalid session to CI, client receive a response "code: 255" To check the code "502 OC_STACK_ERROR" you mention, Please share logs for each server. BR, Glen kim. ------- Original Message ------- Sender : itxiaoyan<xiaoyanit at outlook.com> Date : 2016-03-30 16:10 (GMT+09:00) Title : RE: [dev] Iotivity Cloud sample client is above at wating response ! Hi Glen Kim, One more question , authorization account will create new session without userId is "null" . Test with new session will report 502 OC_STACK_ERROR . Is it a issue ? Regards, Xiaoyan From: [email protected] To: glen.kim at samsung.com; jihyeok13.kim at samsung.com; iotivity-dev at lists.iotivity.org Date: Wed, 30 Mar 2016 07:02:36 +0000 Subject: Re: [dev] Iotivity Cloud sample client is above at wating response ! Hi Glen Kim, Thanks for your tips ! It's running well now . Regards, Xiaoyan Date: Wed, 30 Mar 2016 06:01:00 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; jihyeok13.kim at samsung.com; iotivity-dev at lists.iotivity.org Hi, Xiaoyan In your command for client, You need to write CI address and port. Modify it as this : ./cloud_device 127.0.0.1:5683 then, enter auth. server and auth. code. Xiexie, Glen Kim. ---?? ???--- ??? : itxiaoyan/xiaoyanit at outlook.com ???? : 2016/03/30 14:31 (GMT+09:00) ?? : RE: [dev] Iotivity Cloud sample client is above at wating response ! Hello JK, I set the wrong port at account server and RD server this time . But it's not real reason cause above . Below is correct command with port. ------------------- ./cloud_device s Put auth provider name(ex: github) github Put auth code(provided by auth provider) 3af4e488964c11f48502 Host coap+tcp://s Register account to cloud using github 3af4e488964c11f48502 OCCloudRegisterLogin return 0 Waiting response.. ------------------- java -jar target/CloudAccount-0.0.1-SNAPSHOT.jar 5685 -----Account SERVER----- Mar 30, 2016 1:21:19 PM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0xfa1529b7] REGISTERED Mar 30, 2016 1:21:19 PM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0xfa1529b7] BIND(0.0.0.0/0.0.0.0:5685) Mar 30, 2016 1:21:20 PM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0xfa1529b7, /0:0:0:0:0:0:0:0:5685] ACTIVE press 'q' to terminate 13:21:20:022 [D] Connection status of TCP CoAP SERVER : true Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0xfa1529b7, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0xd4cb9814, /127.0.0.1:53902 => /127.0.0.1:5685] Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0xfa1529b7, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0x811e4df6, /127.0.0.1:53904 => /127.0.0.1:5685] ------------------- java -jar target/CloudResourceDirectory-0.0.1-SNAPSHOT.jar 5684 -----RD SERVER----- Mar 30, 2016 1:21:23 PM com.mongodb.diagnostics.logging.JULLogger log INFO: Cluster created with settings {hosts=[127.0.0.1:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} Mar 30, 2016 1:21:24 PM com.mongodb.diagnostics.logging.JULLogger log INFO: No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out Mar 30, 2016 1:21:24 PM com.mongodb.diagnostics.logging.JULLogger log INFO: Opened connection [connectionId{localValue:1, serverValue:1}] to 127.0.0.1:27017 Mar 30, 2016 1:21:24 PM com.mongodb.diagnostics.logging.JULLogger log INFO: Monitor thread successfully connected to server with description ServerDescription{address=127.0.0.1:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[2, 4, 9]}, minWireVersion=0, maxWireVersion=0, electionId=null, maxDocumentSize=16777216, roundTripTimeNanos=688146} Mar 30, 2016 1:21:24 PM com.mongodb.diagnostics.logging.JULLogger log INFO: Opened connection [connectionId{localValue:2, serverValue:2}] to 127.0.0.1:27017 Mar 30, 2016 1:21:24 PM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0xe508c822] REGISTERED Mar 30, 2016 1:21:24 PM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0xe508c822] BIND(0.0.0.0/0.0.0.0:5684) Mar 30, 2016 1:21:24 PM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0xe508c822, /0:0:0:0:0:0:0:0:5684] ACTIVE 13:21:24:827 [D] Connection status of TCP CoAP SERVER : true press 'q' to terminate Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0xe508c822, /0:0:0:0:0:0:0:0:5684] RECEIVED: [id: 0x89f7a64b, /127.0.0.1:35042 => /127.0.0.1:5684] ------------------- java -jar target/CloudInterface-0.0.1-SNAPSHOT.jar 5683 127.0.0.1 5684 127.0.0.1 5685 -----CI SERVER------- 13:21:35:703 [D] Connection status of TCP CoAP CLIENT : true 13:21:35:705 [D] Connection status of TCP CoAP CLIENT : true 13:21:35:715 [D] Connection status of TCP CoAP CLIENT : true Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0x2c53d7c9] REGISTERED Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0x2c53d7c9] BIND(0.0.0.0/0.0.0.0:5683) Mar 30, 2016 1:21:35 PM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0x2c53d7c9, /0:0:0:0:0:0:0:0:5683] ACTIVE 13:21:35:792 [D] Connection status of TCP CoAP SERVER : true press 'q' to terminate ------------------- In case of carefulness I check the mongo database . It's seems that nothing has stroge . ------------------- > show dbs RDDB 0.0625GB local 0.03125GB > use RDDB switched to db RDDB > show tables RD_TABLE system.indexes > db.RD_TABLE RDDB.RD_TABLE > db.RD_TABLE.find(); > db.RD_TABLE.findOne(); null ------------------- Regards, Xiaoyan Date: Wed, 30 Mar 2016 04:14:52 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; glen.kim at samsung.com; iotivity-dev at lists.iotivity.org Hello xiaoyan! It seems that you put wrong port number to execute account, rd and ci server. Regarding logs, you run account on 5684 port and rd on 5685, But when you launch CI, you put 5684 on rd port and 5685 on account port. So you can fix simply run account on 5685 and rd on 5684. Hope to solve issues. BR JK ------- Original Message ------- Sender : itxiaoyan<xiaoyanit at outlook.com> Date : 2016-03-30 12:59 (GMT+09:00) Title : RE: [dev] Iotivity Cloud sample client is above at wating response ! Hi Glen kim, I has authorization IotvitiyCloud application and install github certification at java carets keystore . Below is whole running log with Cloud Server . Thanks for your support ! ----------------------- Put auth provider name(ex: github) github Put auth code(provided by auth provider) bf9beb5db17ea476fa46 Host coap+tcp://s authProvider github authCode bf9beb5db17ea476fa46 Register account to cloud using github bf9beb5db17ea476fa46 OCCloudRegisterLogin return 0 Waiting response.. ----------------------- ---------------------------------------- java -jar target/CloudResourceDirectory-0.0.1-SNAPSHOT.jar 5685 -----RD SERVER----- Mar 30, 2016 11:18:56 AM com.mongodb.diagnostics.logging.JULLogger log INFO: Cluster created with settings {hosts=[127.0.0.1:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} Mar 30, 2016 11:18:56 AM com.mongodb.diagnostics.logging.JULLogger log INFO: No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out Mar 30, 2016 11:18:56 AM com.mongodb.diagnostics.logging.JULLogger log INFO: Opened connection [connectionId{localValue:1, serverValue:8}] to 127.0.0.1:27017 Mar 30, 2016 11:18:56 AM com.mongodb.diagnostics.logging.JULLogger log INFO: Monitor thread successfully connected to server with description ServerDescription{address=127.0.0.1:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[2, 4, 9]}, minWireVersion=0, maxWireVersion=0, electionId=null, maxDocumentSize=16777216, roundTripTimeNanos=638698} Mar 30, 2016 11:18:56 AM com.mongodb.diagnostics.logging.JULLogger log INFO: Opened connection [connectionId{localValue:2, serverValue:9}] to 127.0.0.1:27017 Mar 30, 2016 11:18:56 AM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0x3b9c9ed6] REGISTERED Mar 30, 2016 11:18:56 AM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0x3b9c9ed6] BIND(0.0.0.0/0.0.0.0:5685) press 'q' to terminate Mar 30, 2016 11:18:56 AM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0x3b9c9ed6, /0:0:0:0:0:0:0:0:5685] ACTIVE 11:18:56:748 [D] Connection status of TCP CoAP SERVER : true Mar 30, 2016 11:19:33 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x3b9c9ed6, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0x343a885f, /127.0.0.1:59587 => /127.0.0.1:5685] Mar 30, 2016 11:19:33 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x3b9c9ed6, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0x91650e0c, /127.0.0.1:59589 => /127.0.0.1:5685] Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x3b9c9ed6, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0x65adc865, /127.0.0.1:59591 => /127.0.0.1:5685] Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x3b9c9ed6, /0:0:0:0:0:0:0:0:5685] RECEIVED: [id: 0x43c82467, /127.0.0.1:59593 => /127.0.0.1:5685] ---------------------------------------- java -jar target/CloudAccount-0.0.1-SNAPSHOT.jar -----Account SERVER----- 11:19:08:105 [E] [AccountServer.java, AccountServer.main(), line:45] coap server port required java -jar target/CloudAccount-0.0.1-SNAPSHOT.jar 5684 -----Account SERVER----- Mar 30, 2016 11:19:13 AM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0x4ea840ae] REGISTERED Mar 30, 2016 11:19:13 AM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0x4ea840ae] BIND(0.0.0.0/0.0.0.0:5684) Mar 30, 2016 11:19:13 AM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0x4ea840ae, /0:0:0:0:0:0:0:0:5684] ACTIVE press 'q' to terminate 11:19:13:437 [D] Connection status of TCP CoAP SERVER : true Mar 30, 2016 11:19:33 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x4ea840ae, /0:0:0:0:0:0:0:0:5684] RECEIVED: [id: 0xc56e04ee, /127.0.0.1:56676 => /127.0.0.1:5684] Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler logMessage INFO: [id: 0x4ea840ae, /0:0:0:0:0:0:0:0:5684] RECEIVED: [id: 0xa6c0c15e, /127.0.0.1:56680 => /127.0.0.1:5684] ---------------------------------------- java -jar target/CloudInterface-0.0.1-SNAPSHOT.jar 5683 127.0.0.1 5684 127.0.0.1 5685 -----CI SERVER------- 11:21:35:663 [D] Connection status of TCP CoAP CLIENT : true 11:21:35:670 [D] Connection status of TCP CoAP CLIENT : true 11:21:35:671 [D] Connection status of TCP CoAP CLIENT : true Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler channelRegistered INFO: [id: 0x2cab54cb] REGISTERED Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler bind INFO: [id: 0x2cab54cb] BIND(0.0.0.0/0.0.0.0:5683) Mar 30, 2016 11:21:35 AM io.netty.handler.logging.LoggingHandler channelActive INFO: [id: 0x2cab54cb, /0:0:0:0:0:0:0:0:5683] ACTIVE 11:21:35:707 [D] Connection status of TCP CoAP SERVER : true press 'q' to terminate ---------------------------------------- Regards, Xiaoyan Date: Wed, 30 Mar 2016 03:41:42 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; iotivity-dev at lists.iotivity.org; jihyeok13.kim at samsung.com Hi, Xiaoyan Please submit logs of CI and AccountServer. it let us help to find the reason of your issue. BR, Glen kim. ------- Original Message ------- Sender : itxiaoyan<xiaoyanit at outlook.com> Date : 2016-03-30 12:28 (GMT+09:00) Title : RE: [dev] Iotivity Cloud sample client is above at wating response ! Hello guys, I study about how to import certificates into Java security and it's exits at cacerts with alias "github","*.github" . It's seem done ! But Cloud sample client till above at "waiting response ..." ,what's wrong with the connection between sample client -----> github OAuth server ? Someone will response and help me solve this problem ,Thank your ! Regards, Xiaoyan From: [email protected] To: glen.kim at samsung.com; iotivity-dev at lists.iotivity.org; jihyeok13.kim at samsung.com Date: Tue, 29 Mar 2016 14:30:22 +0000 Subject: Re: [dev] Iotivity Cloud sample client is above at wating response ! Hi,Glen kim Thanks for your hard work! I await to hear your good news . Regards, Xiaoyan Date: Tue, 29 Mar 2016 13:20:52 +0000 From: [email protected] Subject: Re: RE: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; iotivity-dev at lists.iotivity.org; jihyeok13.kim at samsung.com Hi, Xiaoyan I think many developers will face this problem. So, i feel the detail manual is needed to install certificates. I'll write the manual as soon as possible. Please give me time. BR. Glen kim. ---?? ???--- ??? : itxiaoyan/xiaoyanit at outlook.com ???? : 2016/03/29 20:01 (GMT+09:00) ?? : RE: [dev] Iotivity Cloud sample client is above at wating response ! Dear Glen kim, I check my build steps , and I found missed install account ceritificate . But I can't unstand [1][2][3] how to install github certificates . You means got certificate after accessing www.github.com(root domain) *.github.com in browser . So , I list my work flow : 1.Access github and login use my account . 2.copy the request URL :https://github.com/login?return_to=%2Flogin%2Foauth%2Fauthorize%3Fclient_id%3Dea9c18f540323b0213d0%26redirect_uri%3Dhttp%253A%252F%252Fwww.example.com%252Foauth_callback%252F 3. Authorized applications (IoTivityCloud) 4. browser will redirect to http://www.example.com/oauth_callback/?code=xxxxxxxxxxxx 5.excute ./cloud_device ,set auth provider== "github"; set oAuth code == "xxxxxxxxxxxx" 6.cloud_device will block . ----------------------- Put auth provider name(ex: github) github Put auth code(provided by auth provider) bf9beb5db17ea476fa46 Host coap+tcp://s authProvider github authCode bf9beb5db17ea476fa46 Register account to cloud using github xxxxxxxxxxxx OCCloudRegisterLogin return 0 Waiting response.. ----------------------- I excuted command on Linux environment? "%JAVA_HOME%\jre\lib\security\cacerts " -------------------- sudo /usr/lib/jvm/default-java/jre/lib/security/cacerts sudo: /usr/lib/jvm/default-java/jre/lib/security/cacerts: command not found -------------------- [1] - Install Github certificates for github.com and *.github.com. [2] - You can get "github.com" certificate after accessing www.github.com in your browser.[3] - You can get "*.github.com" certificate after accessing api.github.com in your browser. [4] - keysotre path : %JAVA_HOME%\jre\lib\security\cacerts (check your path you use to compile) BR, Xiaoyan From: iotivity-dev-bounces at lists.iotivity.org [mailto:[email protected]] On Behalf Of ??? Sent: Tuesday, March 29, 2016 4:50 PM To: xiaoyan it <xiaoyanit at outlook.com>; Iotivity dev <iotivity-dev at lists.iotivity.org>; ??? <jihyeok13.kim at samsung.com> Subject: Re: [dev] Iotivity Cloud sample client is above at wating response ! Hi, Xiaoyan Please refer README file in ~/iotivity/cloud/account/ You need to install two certificates for github in your keystore file. (github.com and *.github.com) Or, one root certificate. - You can get "github.com" certificate after accessing www.github.com in your browser. - You can get "*.github.com" certificate after accessing api.github.com in your browser. - keysotre path : %JAVA_HOME%\jre\lib\security\cacerts (check your path you use to compile) BR, Glen kim. ------- Original Message ------- Sender : xiaoyan it<xiaoyanit at outlook.com> Date : 2016-03-29 17:26 (GMT+09:00) Title : RE: [dev] Iotivity Cloud sample client is above at wating response ! Hi Glen kim, Thanks for your tips ! I didn't install github cerfificate with my testing environment . Does the sample client will use the certificate ? Anyway I will fllow your advise first ! I will feedback soon . Regards, Xiaoyan. Date: Tue, 29 Mar 2016 08:06:56 +0000 From: [email protected] Subject: Re: [dev] Iotivity Cloud sample client is above at wating response ! To: xiaoyanit at outlook.com; iotivity-dev at lists.iotivity.org; jihyeok13.kim at samsung.comHi Xiaoayan, It works well with github account in my environment. Did you install certificate of github in your desktop? if then, you need to install it. Otherwise, please submit logs of accout server to check your issue. BR, Glen kim. ------- Original Message ------- Sender : xiaoyan it<xiaoyanit at outlook.com> Date : 2016-03-29 16:49 (GMT+09:00) Title : [dev] Iotivity Cloud sample client is above at wating response ! Hello guys, I build 1.1rel source code and run the cloud/sample/client/sample_device with CI Server on single computer . Account Server and RD Server is runing normal . Question : I put auth provider name is "github" ,then use my oauth code genger by my github account .Why it's block here , is ther any mistake I have ? ----------------------- Host coap+tcp://s authProvider github authCode xxxxxxxxxxxxxxxxxx Register account to cloud using github xxxxxxxxxxxxxxxxxx OCCloudRegisterLogin return 0 Waiting response.. ----------------------- Thanks ! Xiaoayan -------------------------------- Glen Young-Jin Kim IoT Lab | Software Platform Team | Software Center SAMSUNG ELECTRONICS CO., LTD. 010-3356-9627 glen.kim at samsung.com -------------------------------- Glen Young-Jin Kim IoT Lab | Software Platform Team | Software Center SAMSUNG ELECTRONICS CO., LTD. 010-3356-9627 glen.kim at samsung.com _______________________________________________ iotivity-dev mailing list iotivity-dev at lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev -------------------------------- Glen Young-Jin Kim IoT Lab | Software Platform Team | Software Center SAMSUNG ELECTRONICS CO., LTD. 010-3356-9627 glen.kim at samsung.com | Jee Hyeok, Kim | IoT Solution Lab, SW Center | Mobile) +82-10-9168-3641 | _______________________________________________ iotivity-dev mailing list iotivity-dev at lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev -------------------------------- Glen Young-Jin Kim IoT Lab | Software Platform Team | Software Center SAMSUNG ELECTRONICS CO., LTD. 010-3356-9627 glen.kim at samsung.com -------------------------------- Glen Young-Jin Kim IoT Lab | Software Platform Team | Software Center SAMSUNG ELECTRONICS CO., LTD. 010-3356-9627 glen.kim at samsung.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160331/7a889255/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: 201603310842106_XOK0LK7C.gif Type: image/gif Size: 13168 bytes Desc: not available URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160331/7a889255/attachment.gif>
