FreeCalypso > hg > fc-pcsc-tools
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 |
