^SIS URC indicating HTTP response | Telit Cinterion IoT Developer Community
September 7, 2015 - 2:53pm, 3007 views
Hello,
I am able to POST data using BGS2-W. Http is the type of internet service that I am using. I have enabled URCs. After writing all data using AT^SISW, I get a URC ^SISW:0,2 indicating that there is no more data that ***** to be transferred. Then I wait for ^SIS URC that indicates the result for the POST. When successful it contains ^SIS: 0,0,2201,"HTTP/1.1 200 OK". The time between writing the last chunk of data using SISW command and receiving 200 OK response is very dynamic. Sometimes I get the response in less than 100ms. Sometimes I dont get the response for 25 seconds. My application waits a certain time for the response and if it does not get the response, then it closes the connection and retries later.
Could you please tell me the reason for the variation in the response time? Also I would appreciate if you could let me know how can the host application come to know whether it should wait for some more time before closing connection.
AT command log (Http OK received 6 seconds after transferring the data):
20150907T090117 AT^SISS=0,hcContLen,8155
20150907T090117 OK
20150907T090118 AT^SISS=0,address,http://testing.ibexis.net/ibexis-upload/data
20150907T090118 OK
20150907T090118 AT^SISO=0
20150907T090118 OK
20150907T090119 ^SISW: 0,1
20150907T090119 AT^SISW=0,1024
20150907T090119 ^SISW:0,1024,0
20150907T090120 1024 bytes sent
20150907T090120 OK
20150907T090120 AT^SISW=0,1024
20150907T090120 ^SISW: 0,1024,0
20150907T090120 1024 bytes sent
20150907T090120 OK
20150907T090121 AT^SISW=0,1024
20150907T090121 ^SISW: 0,1024,0
20150907T090121 1024 bytes sent
20150907T090121 OK
20150907T090121 AT^SISW=0,1024
20150907T090121 ^SISW: 0,1024,0
20150907T090122 1024 bytes sent
20150907T090122 OK
20150907T090122 AT^SISW=0,1024
20150907T090122 ^SISW: 0,1024,0
20150907T090122 1024 bytes sent
20150907T090123 OK
20150907T090123 AT^SISW=0,1024
20150907T090123 ^SISW: 0,1024,0
20150907T090123 1024 bytes sent
20150907T090123 OK
20150907T090123 AT^SISW=0,1024
20150907T090123 ^SISW: 0,1024,0
20150907T090124 1024 bytes sent
20150907T090124 OK
20150907T090124 AT^SISW=0,987
20150907T090124 ^SISW: 0,987,0
20150907T090124 987 bytes sent
20150907T090125 OK
20150907T090125 ^SISW: 0,2
20150907T090131 ^SIS: 0,0,2201,"HTTP/1.1 200 OK"
20150907T090132 ^SISR: 0,1
20150907T090132 AT^SISR=0,255
20150907T090132 ^SISR: 0,17
20150907T090132 RN00=0~CRC=1234
20150907T090132 ^SISR: 0,2
20150907T090132 AT^SISC=0
20150907T090132 OK
The scenatio when SIS URC is not received after 25 seconds (timeout used in application), the log is the same till ^SISW:0,2 (No more data to send). After this nothing is received from modem for 25 seconds.
Please let me know your thoughts.
Hello,
There are many elements that take part in the communication.
This HTTP 200 OK status is sent by the web server, so maybe it would be worth testing with another server.
On the other side as I can see there are no delays while sending data. But still I'd try with another server.
Another thing is the network which might be the source of the delay. I'd try to test with another network provider. And I'd check the network signal quality.
If you have some other module that would also be worth testing.
If the behaviour would be the same with another server and network then the most probable source of the problem could be in the module.
Regards,
Bartłomiej
Hello,
Thanks for your reply. I will test with another server and with a different network.
I have some more questions.
When I send data using SISW command and then send the data bytes, I get an OK response from Modem. Does the OK response indicate that data is sent to the server or is it buffered by the modem?
When you say that the probable source of the problem could be in the module, what do you mean by the module? My device as a whole or the Modem hardware or the modem firmware or my application controller firmware?
I have setup the Indicator control for signal strength and quality. I do get the signal strength URC with valid values. But I dont get the signal quality URCs with values other than 99 (Unknown). Can you suggest the way to get the signal quality?
Thanks and Regards,
Kalyani Kulkarni
Hello,
The "OK" response does not necessarily mean that the data was transferred. You are using polling mode so you could use at^sisi command to check the staus of data. If you use URC mode you get the URC's after "OK". Please see the examples in AT commands specification document.
I don't know anything about your application and hardware. I assume that you are able to reproduce this scenario on PC with some terminal program. So I only meant here that if this problem will still exist with another server and network then the wireless module and it's firmware in particular would be the main suspect.
If you mean the rssi and ber values - ber is only available during active connection but signal strength already gives you the impression about the coverage.
Regards,
Bartłomiej