MC55_ATC_V04.00 Page 246 of 475 3/17/06
Confidential / Released
-2 Indicates end of data. Data transfer has been finished (all data have been read)
and the service can be closed with AT^SISC.
-1 Applies only to HTTP: Querying number of available bytes is not supported by
the HTTP service.
0 Indicates that no further is are available at the moment.
>1 Number of available data bytes. The range is determined by
<reqReadLength>:
If <reqReadLength> was greater than 0, then <cnfReadLength> may be
less or equal to the value requested with <reqReadLength>.
If <reqReadLength> equals 0 (peek operator) the value indicated by
<cnfReadLength> may be greater than 1500.
Indicates whether or not data is available for reading with AT^SISR.
1 Data is available and can be read by sending the AT^SISR command. The
URC appears when less data was confirmed (in <cnfReadLength>) than
requested (with <reqReadLength>) during the last "Read Data" operation
and new data is available.
2 End of data. Data transfer has completed (all data read). The service can be
closed with AT^SISC.
Optional third parameter of the AT^SISR write command response displayed only if the Socket service uses
UDP.
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 AT^SISR write command response with param-
eter <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 read-
ing the datagram is finished.
If the currently read datagram is smaller than the number of bytes requested by the host the <remainUdpPack-
etLength> parameter is omitted.
Further write attempts with AT^SISR are denied as long as the <remainUdpPacketLength> is unequal 0 or
is not omitted. In this case the service returns "+CME ERROR: operation of service temporary not allowed".
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 dis-
played value is the remaining number of bytes.
<remainUdpPacketLength> is unequal 0 until reading all parts of the cur-
rent datagram is finished.
10.7.1 Example: Socket Host Reads Small Amounts of UDP Data Pack-ets (URC Mode)
This section applies only to the Socket service using the UDP protocol. The example shows how to read UDP
packets if the buffer of the host application can handle only a few bytes. There are two datagrams available for
reading.
Buffer size: 6 bytes
Datagram A = 18 bytes (content "THIS_IS_DATAGRAM_A")
Datagram B = 3 bytes (content "NEW")
<cnfReadLength>(num)
<urcCauseId>(num)
<remainUdpPacketLength>(num)