ADN format
ADN is stored in 3f00/7f10/6f3a under the SIM card. The record format is 14 at the minimum, and the maximum value is 255 (?), The maximum number of records is 255 (?)
The last 14 bytes are mandatory. The first 12 bytes are phone numbers, the last is ext1, and the last is ccp1.
If the length is more than 14, the name of the user stored in the front is stored. If it starts with 80, 81, and 82, the name is in ucs2 format; otherwise, the name is in English format.
Example.
// Reset
3b 7b 11 22 33 00 01 02 03 04 05 06 07 08 09 0a
// Select
A0 A4 00 00 02 3f 00
9f 17
// A0 A4 00 00 02 is the command header, while "LDL = A0" indicates the GSM application, "ins = A4" indicates the SELECT statement, and "P1 P2 = 00 00" indicates the parameter, p3 = 02 indicates the length of the data (or the length of the returned data) (2)
// Select a file. The value 3f 00 indicates MF.
// 9f 17 is the return status, indicating --- success. There are 23 bytes of information waiting for Get Response
// Select
A0 A4 00 00 02 7f 10
9f 17
// A0 A4 00 00 02 is the command header, while "LDL = A0" indicates the GSM application, "ins = A4" indicates the SELECT statement, and "P1 P2 = 00 00" indicates the parameter, p3 = 02 indicates the length of the data (or the length of the returned data) (2)
// Select a file. If the selected file is 7f 10, it indicates Telecom.
// 9f 17 is the return status, indicating --- success. There are 23 bytes of information waiting for Get Response
// Select
A0 A4 00 00 02 6f 3A
9f 0f
// A0 A4 00 00 02 is the command header, while "LDL = A0" indicates the GSM application, "ins = A4" indicates the SELECT statement, and "P1 P2 = 00 00" indicates the parameter, p3 = 02 indicates the length of the data (or the length of the returned data) (2)
// Select the file, the selected file is 6f 3A represents ADN [CDMA-PL]
// 9f 0f is the return status, indicating --- success. There are 15 bytes of information waiting for Get Response
// Get Response
A0 C0 00 00 0f
00 00 1B 58 6f 3A 04 00 11 ff 22 01 02 01 1c
90 00
// A0 C0 00 00 0f is the command header, while, p3 = 0f indicates the length of the data (or the length of the returned data) (15)
// See the returned data, where
// -- 00 00 Reserved
// -- The size of the space occupied by 1B 58, indicating 7000 bytes
// -- 6f 3A ID of the selected file
// -- 04 type of the selected file, 01-mf, 02-df, 04-ef
// -- 00 see 11.11 9.2.1 detail 3
// -- 11 ff 22 access permission
// -- 01 File status, see 11.11 9.3
// -- The length of the data after 02, indicating 2
// ---- 01 file structure, see 11.11 9.3
// ---- 1C record length. For details, see 11.11 9.2.1 detail 4
// 90 00 is the return status, indicating --- success
// Read record
A0 B2 01 04 1c
80 5f 20 4E 09 FF 05 81 11 22 33 44 FF
90 00
// A0 B2 01 04 1C is the command header, while, p3 = 1C indicates the length of the data (or the length of the returned data) (28)
// Read the record. P2 = 04 indicates the absolute record number. p1 = 01 indicates the record number, indicating that the third record P3 = 1C indicates that the subsequent data length is 28.
// This is an ADN, name: "Zhang San", phone number: 11223344
// 90 00 is the return status, indicating --- success
// Read record
A0 B2 02 04 1c
80 67 4E 56 dB FF 05 81 55 66 77 88 FF
90 00
// A0 B2 02 04 1C is the command header, while .. a0 = A0 indicates the GSM application. INS = b2 indicates read record, and P1 P2 = 02 04 indicates the parameter, p3 = 1C indicates the length of the data (or the length of the returned data) (28)
// Read the record. P2 = 04 indicates the absolute record number. p1 = 02 indicates the record number, indicating that the third record P3 = 1C indicates that the subsequent data length is 28.
// This is an ADN with the name "Li Si" and the phone number is 55667788.
// 90 00 is the return status, indicating --- success
// Read record
A0 B2 03 04 1c
4A 65 6e 6e 79 FF 06 81 00 10 11 22 F2 FF
90 00
// A0 B2 03 04 1C is the command header, while .. a0 = A0 indicates the GSM application. INS = b2 indicates read record, and P1 P2 = 03 04 indicates the parameter, p3 = 1C indicates the length of the data (or the length of the returned data) (28)
// Read the record. P2 = 04 indicates the absolute record number. p1 = 03 indicates the record number, indicating that the third record P3 = 1C indicates that the subsequent data length is 28.
// This is an ADN with the name "Jenny" and the phone number 000111222.
// 90 00 is the return status, indicating --- success
// Read record
A0 B2 04 04 1c
FF
90 00
// A0 B2 04 04 1C is the command header, while, p3 = 1C indicates the length of the data (or the length of the returned data) (28)
// Read the record. P2 = 04 indicates the absolute record number. p1 = 04 indicates the record number, indicating that the third record P3 = 1C indicates that the subsequent data length is 28.
// This is an empty ADN
// 90 00 is the return status, indicating --- success
Brief format of the phone book (ADN) in the SIM card