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 |