comparison doc/User-oriented-commands @ 73:a56bbd6b0277

doc/User-oriented-commands: smsp-* commands documented
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 15 Feb 2021 10:00:17 +0000
parents 54800d2f5752
children 4558048fce10
comparison
equal deleted inserted replaced
72:54800d2f5752 73:a56bbd6b0277
279 279
280 pb-erase-range PBNAME start-rec end-rec 280 pb-erase-range PBNAME start-rec end-rec
281 281
282 This command erases the specified range of records in the named phonebook. The 282 This command erases the specified range of records in the named phonebook. The
283 starting record must be identified by number (SIM record numbers are 1-based); 283 starting record must be identified by number (SIM record numbers are 1-based);
284 the ending record argument may be either as a number or the "end" keyword. 284 the ending record argument may be either a number or the "end" keyword.
285 285
286 Last Number Dialed (LND) 286 Last Number Dialed (LND)
287 ======================== 287 ========================
288 288
289 Traditional SIMs include a cyclic file that is intended to be updated whenever 289 Traditional SIMs include a cyclic file that is intended to be updated whenever
352 352
353 sms-erase-range start-rec end-rec 353 sms-erase-range start-rec end-rec
354 354
355 This command erases the specified range of records in EF_SMS. The starting 355 This command erases the specified range of records in EF_SMS. The starting
356 record must be identified by number (SIM record numbers are 1-based); the 356 record must be identified by number (SIM record numbers are 1-based); the
357 ending record argument may be either as a number or the "end" keyword. 357 ending record argument may be either a number or the "end" keyword.
358 358
359 Manipulating SMS profiles 359 Manipulating SMS parameters
360 ========================= 360 ===========================
361
362 SIM cards have an SMS parameter store in the form of record-based file EF_SMSP.
363 Its most essential function is to specify the Service Centre Address for
364 outgoing SMS, but it can also be put to a few other uses:
365
366 * The primary SMSP record that gives the SC address also typically includes PID
367 and DCS parameters. The only sensible settings that can function as a
368 general-purpose default are PID=0x00 and DCS=0x00, but some SIMs have been
369 seen in the field that set bogus PID and DCS via their SMSP. It appears that
370 most end user phones ignore these settings, and they have no effect when
371 outgoing SMS are submitted to an AT command modem in PDU mode, but these
372 settings do affect our TI-based AT command modem in text mode - if they are
373 bogus on the SIM, they need to be fixed, either with fc-simtool or in the
374 actual AT modem session with AT+CSMP.
375
376 * The same primary SMSP record can also specify a default validity period in
377 one-byte relative VP format.
378
379 * Just like the situation with MSISDN, even though only the first record of
380 EF_SMSP is used in practice, most SIM issuers allocate room for a few records.
381 These extra SMSP records are almost always blank,
382
383 fc-simtool provides the following commands for working with EF_SMSP:
384
385 smsp-dump
386
387 This command dumps the full content of EF_SMSP (all records) on the terminal,
388 using a lossless text-based format similar to the one we use for phonebooks.
389 To illustrate our smsp format by way of examples, here is the output of
390 smsp-dump from old T-Mobile USA SIMs that have classic GSM 11.11 SIM
391 functionality:
392
393 #1: SC=12063130004,0x91 PID=0x00 DCS=0x00 "T-Mobile"
394 #2: ""
395 #3: ""
396 #4: ""
397
398 Here is the output from an Austrian S-Budget Mobile SIM from circa-2017:
399
400 #1: SC=4365009000000,0x91 PID=0xFF DCS=0xFF VP=173 ""
401 #2: ""
402
403 As one can see from these examples, T-Mobile allocated 4 records for their
404 EF_SMSP, whereas S-Budget Mobile allocated only 2 records for theirs.
405 (Sysmocom webshop SIMs sysmoUSIM-SJS1 and sysmoISIM-SJA2 also have 2 records in
406 their EF_SMSP.) Yet only the first record is actually used, and the remaining
407 ones are blank. Note that unlike pb-dump, smsp-dump does not skip blank
408 records: it displays every record (the design rationale is that the total number
409 of EF_SMSP records is expected to be small), and a blank record is simply one
410 that has no parameters present and has an empty alpha tag.
411
412 The following parameters may be present in each SMSP record, appearing in the
413 smsp-dump output in the same order in which they appear in the SIM binary
414 record:
415
416 DA= TP-Destination_Address
417 SC= TS-Service_Centre_Address
418 PID= TP-Protocol_Identifier
419 DCS= TP-Data_Coding_Scheme
420 VP= TP-Validity_Period
421
422 The phone numbers in DA= and SC= parameters are emitted in the same format as
423 in pb-dump, PID= and DCS= are emitted in hexadecimal with a 0x prefix, and VP=
424 is emitted in decimal. The alpha tag is always emitted at the end of the ASCII
425 line, just like in pb-dump.
426
427 smsp-dump outfile
428
429 This form of the smsp-dump command produces the same dump of EF_SMSP, but saves
430 it in the named file instead of sending it to the terminal.
431
432 smsp-restore filename
433
434 This command reads a file written by smsp-dump and writes it back to the SIM.
435 Both decimal and 0x-prefixed hexadecimal forms are accepted for all 3 of PID=,
436 DCS= and VP= parameters.
437
438 smsp-set rec params
439
440 This command writes a single record into SMSP directly from the command line,
441 without going through a data file. The record index to write to must be given,
442 followed by one or more parameters as in DA=, SC=, PID=, DCS= or VP=. DA= and
443 SC= phone numbers can be entered in the same relaxed form as in the
444 pb-update-imm command, and the remaining 3 parameters can be either decimal or
445 0x-prefixed hexadecimal. This command leaves the alpha tag field blank.
446
447 smsp-set-tag rec alpha-tag params
448
449 This command is just like smsp-set, but adds an alpha tag argument.
450
451 smsp-erase-all
452
453 This command erases every record entry in EF_SMSP.
454
455 smsp-erase-one rec
456
457 This command erases the specified individual record in EF_SMSP.
458
459 smsp-erase-range start-rec end-rec
460
461 This command erases the specified range of records in EF_SMSP. The starting
462 record must be identified by number (SIM record numbers are 1-based); the
463 ending record argument may be either a number or the "end" keyword.
361 464
362 Identifying MVNO SIMs 465 Identifying MVNO SIMs
363 ===================== 466 =====================
364 467