Specifications

Chapter 10 – Internet Service Commands
Multi-Tech Systems, Inc. AT Commands for EDGE Modems (S000371B) 138
10.5 AT^SISR Internet Service Read Data
Description: AT^SISR write command triggers reading data via the Internet service configured with
AT^SISS.
The Multi-Tech Wireless EDGE modem returns the amount of data which can be
transferred:
<cnfReadLength> value equal 0 indicates that the Multi-Tech Wireless EDGE modem
failed to enter online data mode. Details about the cause of failure is available using
AT+CEER.
<cnfReadLength> value greater than 0 indicates that the Multi-Tech Wireless EDGE
modem switches into online data mode to transfer the given number of bytes.
A URC “^SISR: <srvProfileId>, <urcCauseId>[, <remainUdpPacketLength>]" will be issued
if
data is available after opening an Internet service or
less data was confirmed (in <cnfReadLength>) than requested (with
<reqReadLength>) during the last “Read Data” operation and new data is available.
This mechanism eliminates the need to poll for fresh data and frees the TA for other tasks.
Test Command Syntax: AT^SISR=?
Response: OK
Write Command Syntax: AT^SISR=<srvProfileId>, <reqReadLength>
Response: ^SISR: <srvProfileId>, <cnfReadLength> Number of data bytes are sent as specified by
<cnfReadLength>
OK
ERROR
+CME ERROR: <err>
Unsolicited Result Code: ^SISR: <srvProfileId>, <urcCauseId><urcCauseId>[, <remainUdpPacketLength>]
Data availability status of the Internet service configured with AT^SISS has changed.
Parameter Descriptions:
<srvProfileId>
<srvProfileId> 0 ... 9 specified with AT^SISS.
<reqReadLength>
Requested number of data bytes to be read via the Internet service configured in <srvProfileId>.
1...1500
<cnfReadLength>
Confirmed number of data bytes to be read via the Internet service configured AT^SISS. This number may be
less or equal to the value requested with <reqReadLength>. 0 value indicates that no data can be read.
<urcCauseId>
Indicates whether or not data is available for reading with AT^SISR.
0 No data available for reading
1 New data is available and can be read by sending AT^SISR. While the service is open, this URC appears
each time when new data is available again. This eliminates the need to poll for fresh data.
2 Data transfer has been finished (all data read) and the service can be closed with AT^SISC.
<remainUdpPacketLength>.
Optional third parameter of the "^SISR" URC displayed only if the Socket service uses UDP.
The UDP protocol requires that data are received in the same order that they were sent from the remote host.
Consequently, the reception of each datagram must be completed before the next datagram can be received.
This may be a problem if the buffer of the host application is limited and not designed to handle the maximum
packet size of 1500 bytes. To compensate this, the host is advised to request, via <reqReadLength>, an amount
less or equal its maxmimum buffer capacity and wait for the resulting "^SISR" URC with parameter
<remainUdpPacketLength>. The benefit of this approach is that the host may properly receive all parts of a UDP
datagram, as after each received data part the number of remaining bytes is synchronized, until reading the
datagram is finished.
If the currently read datagram is smaller than the number of bytes requested by the host the
<remainUdpPacketLength> parameter is omitted.
0 Indicates that all bytes of the current UDP datagram are read.
1...(max. data size)-1 Indicates that the currently read UDP datagram is not yet complete. The displayed value
is the remaining number of bytes.
<remainUdpPacketLength> is unequal 0 until reading all parts of the current datagram
is finished.