Add capability to read / write / stat files on the SIM. This now
supports cyclic, linear fixed and transparent SIM files.
Parse GET RESPONSE result to find structure of the file (cyclic, linear
fixed, or transparent), the file size and the record length.
Add both read and update capability for binary and record-based files.
Implement writing sim files through AT.
Use immediate mode reporting, which means that the individual CPBR
lines are reported up to the core immediately. This has a couple
advantages:
- We do not need to malloc/free a bunch of single variables
and copy them over. Helps performance.
- The lines are not buffered up and given to the plugin in one
shot, instead processing is performed piecemeal. This helps
with keeping memory consumption down to a minimum
Currently next_string and next_hexstring functions use a static
buffer in the iterator to store the value. This value is clobbered
as soon as next_string or next_hexstring is called. Instead,
we copy the entire line in iter_next and use it as a scratch buffer.
The only limitation is that lines of max 2048 are possible, however
these are limited to around this size by parts of the standard.
Since the PDU line doesn't have a prefix, the parser can get confused
if other unsolicited notifications arrive. There is already explicit
support for unsolicited notifications with PDU, so we use that
instead
- Can receive 7Bit, 8Bit and UCS2 encoded messages
- 8Bit is assumed to be a datagram to a certain port
- Messages with Invalid format are ignored
- Concatenation not yet supported
If we're trying to hangup an active MPTY call, and we have
calls on hold we shouldn't use CHLD=1 (release_all_active)
since this will have the side-effect of activating the held
calls