I would like to understand the FCI of EF-ADN file? When we select the file and get response from the SIM, the FCI content will be return, for example:
[00 00 19 64 6F 3A 04 00 11 3F 22 01 02 01 1A 00 00 00 00 00 00 00 00 00 00 00 00]
This is what I received. As I tried to figure it out
- The third and the fourth bytes form the ADN file size, here is 1964 in hexadecimal which is translated into 6500 bytes in decimal.
- The fifth and sixth byte must be FID of EF-ADN
- The fifteenth byte (1A) is the size of one record in the ADN, in this case is 26 bytes. As detailed in GSM 11.11, the first 12 bytes in one record of ADN must be Alpha-tagging and the last 14 bytes follow the GSM 11.11 specification (where byte from 15 to 24 will be BCD-based dialling number)
However, I don't know the meaning of the other bytes in the FCI of EF ADN, can some one explain to me?
Thank you very much in advance.
in 3GPP TS11.11 the answer is on page 44 (42 for a DF), there is a table describing each field.
byte 1-2 RFU (0000)
byte 3-4 file size in bytes (1964)
byte 5-6 file id (646f)
byte 7 type (see 9.3, 04=EF)
byte 8 see detail 3 (rfu for transp and linear, special meaning for cyclic - 00)
byte 9-11 access cond (113f22, update/read with pin1, increase never, inval/rehab with pin 2)
byte 12 file status (01, not invalidated, see 9.3)
byte 13 length of following data (02 -> 011a)
byte 14 structure of ef (01, linear fixed)
byte 15 length of record (1a)
bytes 16+ RFU 00...00, may not be returned by all SIM
did you really read the spec?
By the way, how can we know how many contacts are in the phonebook? Or we have to look at every record to see whether it is a blank or not?
If a new contact is inserted, it will be added at the end of the list? and if a contact in the middle of the list is deleted, what would happen? Other contacts will be moved up to fill in the 'unused' place left by the deleted contact?