Nokia 6510

Assembled by Markus Plail <plail@web.de> Marcin Wiacek <Marcin@MWiacek.com> <tibor.harsszegi@essnet.se> … and other members of gnokii mailing list and authors of some WWW pages.

Heavily based on nk7110.txt.

The data provided is for information purposes only. Some of the frames might be hazardous to your phone. Be careful!!! We do not take any responsibility or liability for damages, etc.

Note

this information isn’t (and can’t be) complete. If you know anything about features not listed here or you noticed a bug in this list, please notify us via e-mail. Thank you.

Document describing frames used in GSM Nokia 6510 and derivatives (?)

Correct format is FBUS version 2/Infrared/MBUS version 2 (see nokia.txt for protocol details):

0x00: Connect to NBS port ?
    r Set ringtone          {+....,ringtone packed according to SM2.0}

0x01 COMMUNICATION
     switch (message[3]) {
        case  0x02:
        dprintf("Call established, remote phone is ringing.\n");
        dprintf("Call ID: %i\n", message[4]);
        break;
    case 0x03:
        dprintf("Call complete.\n");
        dprintf("Call ID: %i\n", message[4]);
        dprintf("Call Mode: %i\n", message[5]);
        dummy = malloc(message[6] + 1);
        DecodeUnicode(dummy, message + 7, message[6]);
        dprintf("Number: %s\n", dummy);
        break;
    case 0x04:
        dprintf("Hangup!\n");
        dprintf("Call ID: %i\n", message[4]);
        dprintf("Cause Type: %i\n", message[5]);
        dprintf("Cause ID: %i\n", message[6]);
        break;
    case 0x05:
        dprintf("Incoming call:\n");
        dprintf("Call ID: %i\n", message[4]);
        dprintf("Call Mode: %i\n", message[5]);
        dummy = malloc(message[6] + 1);
        DecodeUnicode(dummy, message + 7, message[6]);
        dprintf("From: %s\n", dummy);
        break;
    case 0x07:
        dprintf("Call answer initiated.\n");
        dprintf("Call ID: %i\n", message[4]);
        break;
    case 0x09:
        dprintf("Call released.\n");
        dprintf("Call ID: %i\n", message[4]);
        break;
    case 0x0a:
        dprintf("Call is being released.\n");
        dprintf("Call ID: %i\n", message[4]);
        break;
    case 0x0b:
        /* No idea what this is about! */
        break;
    case 0x0c:
        if (message[4] == 0x01)
            dprintf("Audio enabled\n");
        else
            dprintf("Audio disabled\n");
        break;
    case 0x53:
        dprintf("Outgoing call:\n");
        dprintf("Call ID: %i\n", message[4]);
        dprintf("Call Mode: %i\n", message[5]);
        dummy = malloc(message[6] + 1);
        DecodeUnicode(dummy, message + 7, message[6]);
        dprintf("To: %s\n", dummy);
        break;


0x02: SMS HANDLING
    s Send SMS              { 0x02, 0x00, 0x00, 0x00, 0x55, 0x55,
                              0x01 (1 big block), 0x02 (submit), length (big block),
                  type, reference, PID, DCS, 0x00, # blocks,
                  blocks... }
    r Send SMS              { 0x03, 0x00, 0x01, 0x0c, 0x08, 0x00, 0x00, 0xdb, 0x55, 0x55, 0x00 }

    s Get SMSC              { 0x14, 0x01, 0x00 }
    r Get SMSC              { 0x15, format,  0x01, 0x0b, 0x28, # of SMSC, 0xf8, 0x00, validity, 0x55
                              #blocks,
                              blocks ...}

0x03: PHONEBOOK HANDLING

    s Get memory status     { 0x03, 0x01, memory type, 0x55, 0x55, 0x55, 0x00}
                            where: memory type - see 0x03/0x07
    r Get memory status     { 0x04, 0x00, location, 0x00[7], 0x01, 0x10, 0x00, 0x00, 0x0c,
                                    total_low, total_high, used_low, used_high, 0x01, 0x00, 0x00}

    s Read memory           { 0x07, 0x01, 0x01, 0x00, 0x01, 0x02, memory type,
                        0x00, 0x00, 0x00, 0x00, location_low, location_high, 0x00, 0x00};

                            where MT: memory type
                                     0x01: (256) Dialled numbers
                                     0x02: (512) Missed calls
                                     0x03: (768) Received calls
                                     0x05: (500) telephone phonebook
                                     0x06: (160) SIM phonebook
                                     0x07: (10/0)
                                     0x08: (1/0)
                                     0x09: (4) voice mailbox
                                     0x0e: (10) speed dials
                                     0x10: (5) caller groups

    r Read memory           { 0x08, 0x00, 0x01,
                                    code, 0x00, 0x00, z, xH, xL, yH, yL, 0x00[7], no.of blocks, { block } * }

                            where if code==0x0f && xH==0x34 - phonebook location not found
                              y: location
                              z: generic block size
                              block: {id, 0, 0, blocksize, block no.,
                                      {contents}, 0x00}
                                id: 0x04 pointer to another memory location { 0xff?, yH, yL, xL,0x00[3] }
                                    0x07 name {len, (unicode)},
                                    0x08 email
                                    0x09 postal
                                    0x0a note {len, (unicode)}
                                    0x0b number {type, 0x00[3], len, (unicode)}
                                    0x0c ringtone {ringtone no., 0, 0}
                    0x13 date for a called list (DC, RC, etc.)
                                    0x1b caller group graphic {width, height, 0, 0 {bitmap}}
                                    0x1c caller group graphic on? {(1: yes, 0: no), 0, 0}
                                    0x1e caller group number {number, 0, 0}
                                   type: 0x0a: General,
                                         0x03: Mobile (office ?),
                                         0x06: Work,
                                         0x04: Fax,
                                         0x02: Home (mobile ?)

    s Set mem location      { 0x0b, 0x00, 0x01, 0x01, 0x00, 0x00, z,
                                      0x02, memory type, yH, yL, 0x00[7],
                                      no.of blocks, { block }[no.of blocks] }
    r Set mem location      { 0x0c, 0?, 1?, code, 0?, 0?, z?, 0?, 0?,
                                      yH, yL, xL }
                            where code:
                                    0x3d - wrong entry type

0x08: SECURITY

    s Get status            { 0x11, 0x00 }
    r Get status            { 0x12, status, }
                            where status:
                            0x01: waiting for Security Code
                            0x07:
                            0x02: waiting for PIN
                            0x03: waiting for PUK
                            0x05: PIN ok, SIM ok
                            0x06: No input status
                            0x16: No SIM
                            0x1A: SIM rejected!

    s Enter PIN             { 0x07, 0x02, code, 0x00}
    r Enter PIN             { return code, reason }
                            where:
                            return code: 0x08 = success
                                         0x09 = failure
                            reason: 0x06 = PIN wrong

0x0a: NETSTATUS

    s Get Info              { 0x00, 0x00 }
    r Get Info              { 0x01, 0x00, # blocks,
                              0x00, length, 0x00, 0x02, status, length, operator name (unicode),
                              0x09, length, LAC, LAC, 0x00, 0x00, CellID, CellID, NetworkCode (3 octets), ... }

    s Get RF Level          { 0x0b, 0x00, 0x02, 0x00, 0x00, 0x00 }
    r GET RF Level          { 0x0c, 0x00, 0x01, 0x04, 0x04, level, 0x5f }

    s Get operator logo     { 0x23, 0x00, 0x00, 0x55, 0x55, 0x55 }
    r Get operator logo     { 0x24, 0x00, 0x01, 0x00, 0x00, 0x00,
                              0x02, 0x0c, 0x08, netcode (3 octets), 0x02, 0x00, 0x00,
                  0x1a, size, width, height, logo size (2 octets), logo size (2 octets), logo }

0x10: SUBSCRIBE

    s Subscribe Channel     { 0x10, # channels, message types... }

0x13 CALENDAR

    s Add meeting note      { 0x01, body like in subtype 0x1a...}
    r Add meeting note      { 0x02, location (2 bytes), status (2 bytes)}

    s Add call note         { 0x03, body like in subtype 0x1a...}
    r Add call note         { 0x04, location (2 bytes), status (2 bytes)}

    s Add birthday note     { 0x05, body like in subtype 0x1a...}
    r Add birthday note     { 0x06, location (2 bytes), status (2 bytes)}

    s Add reminder note     { 0x07, body like in subtype 0x1a...}
    r Add reminder note     { 0x08, location (2 bytes), status (2 bytes)}

    s Delete calendar note  { 0x0b, location (2 bytes) }
    r Delete calendar note  { 0x0c, location (2 bytes), ?, ?, ?, ? }

    s Get calendar note     { 0x19, location (2 bytes) }
    r Calendar note recvd   { 0x1a, location (2 bytes), entry type, 0x00, year (2 bytes), Month, Day, block}
                            where: entry type - 0x01 - Meeting, 0x02 - Call, 0x04 - Birthday, 0x08 - Reminder
                                   block: for Meeting:{hour,minute,alarm (two bytes),recurrence (two bytes),len,0x00,string(unicode)}
                                          where alarm=Number of minutes before the time of the meeting
                                                  that the alarm should be triggered:
                                                  For meetings with "No alarm"=0xFFFF (-1).
                                                  For "On time"=0x0000
                                                  half an hour=0x001E, and so on.
                                                Recurrence=in hours, between future occurrences of this meeting.
                                                  If there is no repeat, this value is 0x0000. The special value 0xffff
                                                  means 1 Year!
                                          for Call:{Hour,Minute,Alarm (as above),Recurrence (as above),namelen,numberlen,
                                                    name(unicode),number(unicode)}
                                          for Reminder:{Recurrence (as above),len,0x00,string(unicode)}
                                          for Birthday:{byte1,byte2,alarm(4 bytes),yearofbirth,alarmtype,len,string(unicode)}
                                                    byte1 and byte2 may vary (???). Usually are 0x00 both (but not always)
                                                    In Birthday, the Year in the common part, usually contains a strange year.
                                                    So, don't consider it as Year of note, neither year of BirthDay (for Year of
                                                    Birthday use the value described below).
                                          where alarm=32-bit integer that is the number of seconds between the desired
                                                  alarm time and 11:59:58pm on the birthday.For "No Alarm", the value is
                                                  0x0000FFFF (65535).
                                                YearOfBirth=used instead of the one in the common part of the entry (see above)
                                                  but only when reading birthday entries. For storing entries, this field does
                                                  not exist.
                                                AlarmType: 0x00 - Tone, 0x01 - Silent

?   s???                    { 0x0021 }
?   r???                    { 0x0022, 0x5A, 0x00 }
?   s???                    { 0x0025 }
?   r???                    { 0x0026, 0x04, 0x00 }
?   s                       { 0x0029 }
?   r                       { 0x002A, 0x04, 0x00 }

    s Get first free pos    { 0x0031 }
    r Get first free pos    { 0x0032, location (2bytes) }

    s Get notes info        { 0x003a, 0xFF, 0xFE}
    r Get notes info        { 0x003b, how many notes used (2 bytes), 0x01, 0x07, { two bytes with location for each note} *}

    s Get first free pos    { 0x0031 }
    r Get first free pos    { 0x0032, location (2bytes) }
    s Get notes info        { 0x003a, 0xFF, 0xFE}
    r Get notes info        { 0x003b, how many notes used (2 bytes), 0x01, 0x07, { two bytes with location for each note} *}

?   s Get calendar note??   { 0x003E, location (2 bytes) }
?   r Get calendar note??   { 0x003F, location (2bytes), ... }

0x14: FOLDER/PICTURE SMS HANDLING

    s Get SMS Status        { 0x08, 0x00, 0x01 }
    r Get SMS Status        { 0x09, 0x00, #blocks,
                              type, length, blocknumber,
                              a (2 octets), b (2 octets), c (2 octets), 0x00, 0x55 ,
                              type, length, blocknumber,
                              d (2 octets), e (2 octets), f (2 octets), 0x01, 0x55 }

                              where:
                              a - max. number of messages in phone memory
                              b - Number of used messages in phone memory. These
                                are messages manually moved from the other folders.
                                Picture messages are saved here.
                              c - Number of unread messages in phone memory. Probably
                                only smart messages.
                              d - max. number of messages on SIM
                              e - Number of used messages in SIM memory. These are
                                either received messages or saved into Outbox/Inbox.
                                Note that you *can't* save message into this memory
                                using 'Move' option. Picture messages are not here.
                              f - Number of unread messages in SIM memory



    s Get SMS from folder   { 0x02, memory, folderID, location, location, 0x01, 0x00}
                            where:
                memory - 0x01 for SIM, 0x02 for phone (SIM only for IN/OUTBOX
                            folderID - see 0x14/0x017B
    r Get SMS from folder   { 0x03, 0x00, 0x01, memory, folderID, locationH, locationL, 0x55, 0x55, 0x55,
                              0x01 (on big block), type, length of big block,
                  [date/time1], [date/time2], # blocks,
                  type, length, data...
                  ... }

    s Delete SMS            { 0x04, memory, folderID, location, location, 0x0F, 0x55 }
    r Delete SMS            { 0x05 }

    s Get folder status     { 0x0c, memory, folderID, 0x0F, 0x55, 0x55, 0x55, 0x55}
                            where: folderID - see 0x14/0x017B
    r Get folder status     { 0x0d, 0x00, length, number of entries (2 bytes),
                entry1number (2 bytes), entry2number(2 bytes), ..., 0x55[]}

    s Get message info      { 0x0e, memory, folderID, location, location, 0x55, 0x55 }
    r Get message info      { 0x0f, 0x00, 0x01, 0x00, 0x50, memory, type, 0x00, location, FolderID, status

                            where: type = 0x00 - MT
                                          0x01 - delivery report
                                          0x02 - MO
                                          0x80 - picture message
                            where: status=0x01 - reveived/read
                      0x03 - received/unread
                      0x05 - stored/sent
                      0x07 - stored/not sent

    s Get folder names      { 0x12, 0x00, 0x00}
    r Get folder names      { 0x13, 0x00, number of strings, 0x01, 0x28, folderID, length, 0x00, name1, 0x00,
                0x55[40-length(name1)], 01 28, folderID, length, 0x00, name2, 0x00, 0x55[dito] ... }
                               where: folderID = 0x02 - Inbox
                                                 0x03 - Outbox
                                                 0x04 - Archive
                                            0x05 - Templates
                                            0x06 - first "My folders"
                                            0x07 - second "My folders"
                                            0x08 - third -"-
                                            and so on

0x15:
    s ???                   {+0x00, 0x06, 0x00, 0x01, 0x01, 0x00 }
    r ???                   {+0x06, ',',  0x00, 'd',  0x00, 0x00 }
    s ???                   {+0x00, 0x06, 0x00, 0x02, 0x00, 0x00 }
    r ???                   {+0x06, '.',  0x00, 'e',  ?, ? }

0x17: BATTERY

    s Get battery level     { 0x0a, 0x02, 0x00 }
    r Get battery level     { 0x0b, 0x01, 0x01, 0x16, level, 0x07, 0x05 }
                            where: level: 1-7 (as in phone display)

0x19: CLOCK

    s Get ????              {0x01,...}
    r Get ????              {0x02,...}

    s Get date              { 0x0a, 0x00, 0x00 }
    r Get date              { 0x0b, 0x00, 0x02 (blocks),
                              0x01 (type), 0x0c (length), 0x01, 0x03, year (2 octets), month, day, hour, minute, second, 0x00,
                              0x04, 0x04, 0x01, 0x00 }

    s Get ????              {0x0c, 0x00, 0x00}
    r Get ????              {0x0d..}
    s Get ????              {0x11,...}
    r Get ????              {0x12,...}

0x1b: IDENTIFY

    s Get IMEI              {+0x00, 0x01, 0x01, 0x00, 'A', 0x00, 0x00, 0x00 }
    r Get IMEI              {                   0x01, 0x00, 0x01, 'A', 0x14, 0x00, 0x10, {IMEI(ASCII)}, 0x00 }
    s Get IMEI              {+0x00, 0x03, 0x01, 0x00, 'A', 0x00, 0x00, 0x00 }
    r Get IMEI              {                   0x01, 0x00, 0x01, 'A', 0x14, 0x00, 0x10, {IMEI(ASCII)}, 0x00 }
    s Get ???               {+0x00, 0x03, 0x00, 0x00, 'D',  0x00, 0x00, 0x00 }
    r Get ???               {                   0x01, 0x02, 0x00 }

    s Get HW version        {+0x00, 0x03, 0x02, 0x07, 0x00, 0x02 }
    r Get HW version        {                   0x08, 0x00, 0x01, 'I', 0x0c, 0x00, 0x05, HW(4 bytes), 0x00, 0x00, 0x00, 0x00 }

    s get HW&SW version     { 0x07, 0x00, 0x01 }
    r get HW&SW version     { 0x08, 0x00, 0x01, 0x58, 0x29, 0x00, 0x22, "V " "firmware\n" "firmware date\n"
                              "model\n" "(c) NMP.", 0x0a, 0x43, 0x00, 0x00, 0x00 }

    s Get product code      {+0x00, 0x03, 0x04, 0x0b, 0x00, 0x02 }
    r Get product code      {                   0x0c, 0x00, 0x01, 'N', 0x0c, 0x00, 0x08, code(7 bytes), 0x00 }
    s ???                   {+00 |03 |05 |0b |00 |20}
    r ???                   {+03 |2b+|05 |0c |00 |01 |52R|0c |00 |08 |00 |00 |00 |00 |00 |00 | 00 |00}
    s Get ???               {+00 |03 |06 |0b |00 |01}
    r Get ???               {+03 |2b+|06 |0c |00 |01 |4dM|10 |00 |0a |53S|54T|41A|344|355|399|311|355|377|00 |00 |00}

Sending frame 0x1b / 0x0006
00 |03 |07 |0b |00 |ff                                         .....
Received frame 0x1b / 0x0072
03 |2b+|07 |0c |00 |08 |4dM|10 |00 |0a |53S|54T|41A|344|355|39 .+....M...STA459
311|355|377|00 |00 |00 |4eN|0c |00 |08 |300|355|300|377|355|32 157...N...050752
300|00 |50P|0c |00 |08 |00 |00 |00 |00 |00 |00 |00 |00 |4fO|0c 0.P...........O.
00 |08 |300|355|300|333|366|366|366|00 |51Q|0c |00 |06 |00 |00 ..0503666.Q.....
00 |00 |00 |00 |00 |00 |52R|0c |00 |08 |00 |00 |00 |00 |00 |00 ......R.........
00 |00 |53S|0c |00 |5b[|00 |00 |00 |0d |00 |00 |00 |00 |59Y|14 ..S..[........Y.
00 |10 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 ................
00 |00                                                         ..
Sending frame 0x1b / 0x0006
00 |03 |08 |07 |01 |ff                                         .....
Received frame 0x1b / 0x00ae
03 |2b+|08 |08 |00 |09 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00 |49I|0c .(c) NMP......I.
00 |05 |300|388|300|322|00 |00 |00 |00 |4aJ|0c |00 |05 |00 |00 ..0802....J.....
00 |00 |00 |00 |00 |00 |4bK|08 |00 |03 |333|366|00 |00 |4cL|0c ......K...36..L.
00 |04 |322|388|388|00 |00 |00 |00 |00 |54T|0c |00 |05 |300|31 ..288.....T...01
300|355|00 |00 |00 |00 |55U|10 |00 |0a |47G|344|2e.|300|2d-|34 05....U...G4.0-4
2e.|311|322|00 |00 |00 |57W|10 |00 |08 |53S|45E|49I|4bK|4fO|20 .12...W...SEIKO
300|00 |00 |00 |00 |00 |58X|29)|00 |22"|56V|20 |300|344|2e.|30 0.....X)."V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|0a |44D|00 |00 |00         .(c) NMP..D...
Sending frame 0x1b / 0x0008
00 |03 |09 |00 |41A|00 |00 |00                                 ....A...
Received frame 0x1b / 0x001a
03 |2b+|09 |01 |00 |01 |41A|14 |00 |10 |333|355|300|377|300|30 .+....A...350700
311|300|355|388|300|311|333|300|333|00                         105801303.
Sending frame 0x1b / 0x0008
00 |03 |0a |00 |42B|00 |00 |00                                 ....B...
Received frame 0x1b / 0x0012
03 |2b+|0a |01 |00 |01 |42B|0c |00 |08 |3a:|05 |07 |10 |50P|08 .+....B...:...P.
311|00                                                         1.
Sending frame 0x1b / 0x0008
00 |03 |0b |00 |43C|00 |00 |00                                 ....C...
Received frame 0x1b / 0x0016
03 |2b+|0b |01 |00 |01 |43C|10 |00 |09 |333|05 |07 |10 |50P|08 .+....C...3...P.
311|00 |f6÷|00 |00 |00                                         1.÷...
Sending frame 0x1b / 0x0008
00 |03 |0c |00 |44D|00 |00 |00                                 ....D...
Received frame 0x1b / 0x0006
03 |2b+|0c |01 |02 |00                                         .+....
Sending frame 0x1b / 0x0008
00 |03 |0d |00 |45E|00 |00 |00                                 ....E...
Received frame 0x1b / 0x0006
03 |2b+|0d |01 |02 |00                                         .+....
Sending frame 0x1b / 0x0008
00 |03 |0e |00 |46F|00 |00 |00                                 ....F...
Received frame 0x1b / 0x0012
03 |2b+|0e |01 |00 |01 |46F|0c |00 |08 |4eN|54T|54T|4aJ|50P|12 .+....F...NTTJP.
344|56V                                                        4V
Sending frame 0x1b / 0x0008
00 |03 |0f |00 |56V|00 |00 |00                                 ....V...
Received frame 0x1b / 0x0006
03 |2b+|0f |01 |02 |00                                         .+....
Sending frame 0x1b / 0x0008
00 |03 |10 |00 |5aZ|00 |00 |00                                 ....Z...
Received frame 0x1b / 0x0006
03 |2b+|10 |01 |02 |00                                         .+....
Sending frame 0x1b / 0x0006
00 |03 |11 |0b |00 |02                                         ......
Received frame 0x1b / 0x0012
03 |2b+|11 |0c |00 |01 |4eN|0c |00 |08 |300|355|300|377|355|32 .+....N...050752
300|00                                                         0.
Sending frame 0x1b / 0x0006
00 |03 |12 |0b |00 |20                                         .....
Received frame 0x1b / 0x0012
03 |2b+|12 |0c |00 |01 |52R|0c |00 |08 |00 |00 |00 |00 |00 |00 .+....R.........
00 |00                                                         ..
Sending frame 0x1b / 0x0006
00 |03 |13 |0b |00 |01                                         ......
Received frame 0x1b / 0x0016
03 |2b+|13 |0c |00 |01 |4dM|10 |00 |0a |53S|54T|41A|344|355|39 .+....M...STA459
311|355|377|00 |00 |00                                         157...
Sending frame 0x1b / 0x0006
00 |03 |14 |07 |00 |02                                         ......
Received frame 0x1b / 0x0012
03 |2b+|14 |08 |00 |01 |49I|0c |00 |05 |300|388|300|322|00 |00 .+....I...0802..
00 |00                                                         ..

    s Get IMEI              { 0x00, 0x41 }
    r Get IMEI              { 0x01, 0x00, 0x01, 0x41, 0x14, 0x00, 0x10, {IMEI(ASCII)}, 0x00 }

Sending frame 0x1b / 0x0008
00 |03 |16 |00 |44D|00 |00 |00                                 ....D...
Received frame 0x1b / 0x0006
03 |2b+|16 |01 |02 |00                                         .+....
Sending frame 0x1b / 0x0006
00 |03 |17 |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|17 |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |18 |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|18 |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |19 |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|19 |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |1a |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|1a |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |1b |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|1b |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |1c |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|1c |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |1d |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|1d |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......
Sending frame 0x1b / 0x0006
00 |03 |1e |07 |00 |01                                         ......
Received frame 0x1b / 0x002e
03 |2b+|1e |08 |00 |01 |48H|28(|00 |20 |56V|20 |300|344|2e.|30 .+....H(. V 04.0
344|0a |322|399|2d-|311|300|2d-|300|311|0a |4eN|48H|4dM|2d-|37 4.29-10-01.NHM-7
0a |28(|63c|29)|20 |4eN|4dM|50P|2e.|00 |00 |00 |00 |00         .(c) NMP......

0x1f: RINGTONE

    s Get Ringtones         { 0x07, 0x00, 0x00, 0xFE, 0x00, 0x7D }
    r Get Ringtones         { 0x08, 0x00, 0x23, 0x00, # ringtones, 0x00,
                              ringtone number, 0x01, 0x01, 0x00, name length (chars), name (unicode)... }


0x2b:
    s Get IMEI              { 0x00, 0x41 }
    r Get IMEI              { 0x01, 0x00, 0x01, 0x41, 0x14, 0x00, 0x10, {IMEI(ASCII)}, 0x00 }
    s get HW&SW version     { 0x07, 0x00, 0x01 }
    r get HW&SW version     { 0x08, 0x00, 0x01, 0x58, 0x29, 0x00, 0x22, "V " "firmware\n" "firmware date\n"
                              "model\n" "(c) NMP.", 0x0a, 0x43, 0x00, 0x00, 0x00 }

0x38:
    s ???                   {+00 |02 |00 |0a |00 |01 |00, location, 00}
                            where location: 0, 1, 2, 3
    r ???                   {+02 |1d |00 |0b |00 |01 |00, location, 08 |00 |00 |00 |00 |00}
    s ???
      00 |02 |00 |0a |00 |60`|00 |10 |00 |11 |00 |12 |00 |13 |00 |14 .....`..........
      00 |15 |00 |16 |00 |17 |00 |18 |00 |19 |00 |1a |00 |1b |00 |1c ................
      00 |1d |00 |1e |00 |1f |00 |20 |00 |21!|00 |22"|00 |23#|00 |24 ....... .!.".#.$
      00 |25%|00 |26&|00 |27'|00 |28(|00 |29)|00 |2a*|00 |2b+|00 |2c .%.&.'.(.).*.+.,
      00 |2d-|00 |2e.|00 |2f/|00 |300|00 |311|00 |322|00 |333|00 |34 .-.../.0.1.2.3.4
      00 |355|00 |366|00 |377|00 |388|00 |399|00 |3a:|00 |3b;|00 |3c .5.6.7.8.9.:.;.<
      00 |3d=|00 |3e>|00 |3f?|00 |40@|00 |41A|00 |42B|00 |43C|00 |44 .=.>.?.@.A.B.C.D
      00 |45E|00 |46F|00 |47G|00 |48H|00 |49I|00 |4aJ|00 |4bK|00 |4c .E.F.G.H.I.J.K.L
      00 |4dM|00 |4eN|00 |4fO|00 |50P|00 |51Q|00 |52R|00 |53S|00 |54 .M.N.O.P.Q.R.S.T
      00 |55U|00 |56V|00 |57W|00 |58X|00 |59Y|00 |5aZ|00 |5b[|00 |5c .U.V.W.X.Y.Z.[.\
      00 |5d]|00 |5e^|00 |5f_|00 |60`|00 |61a|00 |62b|00 |63c|00 |64 .].^._.`.a.b.c.d
      00 |65e|00 |66f|00 |67g|00 |68h|00 |69i|00 |6aj|00 |6bk|00 |6c .e.f.g.h.i.j.k.l
      00 |6dm|00 |6en|00 |6fo|00                                     .m.n.o.
    r ???
      02 |1d |00 |0b |00 |60`|00 |10 |04 |00 |00 |11 |0c |06 |00 |00 .....`..........
      00 |00 |00 |00 |00 |00 |00 |12 |04 |00 |00 |13 |04 |00 |00 |14 ................
      08 |00 |00 |00 |00 |00 |00 |15 |08 |00 |00 |00 |00 |00 |00 |16 ................
      08 |00 |00 |00 |00 |00 |00 |17 |08 |00 |00 |00 |00 |00 |00 |18 ................
      08 |00 |00 |00 |00 |00 |00 |19 |08 |00 |00 |00 |00 |00 |00 |1a ................
      08 |00 |00 |00 |00 |00 |00 |1b |08 |00 |00 |00 |00 |00 |00 |1c ................
      04 |00 |00 |1d |08 |04 |00 |00 |00 |00 |00 |1e |3c<|355|ff |ff ............<5
      ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff
      ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff
      ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff |ff
      ff |ff |ff |00 |00 |00 |00 |1f |08 |00 |00 |00 |00 |00 |00 |20    ............
      04 |00 |00 |21!|04 |00 |00 |22"|04 |00 |00 |23#|04 |00 |00 |24 ...!..."...#...$
      04 |00 |00 |25%|04 |00 |00 |26&|04 |00 |00 |27'|08 |00 |00 |00 ...%...&...'....
      00 |00 |00 |28(|08 |00 |00 |00 |00 |00 |00 |29)|08 |00 |00 |00 ...(.......)....
      00 |00 |00 |2a*|04 |00 |00 |2b+|0c |08 |00 |00 |00 |00 |00 |00 ...*...+........
      00 |00 |00 |2c,|04 |00 |00 |2d-|08 |00 |00 |00 |00 |00 |00 |2e ...,...-........
      08 |00 |00 |00 |00 |00 |00 |2f/|08 |00 |00 |00 |00 |00 |00 |30 ......./.......0
      08 |00 |00 |00 |00 |00 |00 |311|08 |00 |00 |00 |00 |00 |00 |32 .......1.......2
      08 |00 |00 |00 |00 |00 |00 |333|08 |00 |00 |00 |00 |00 |00 |34 .......3.......4
      08 |00 |00 |00 |00 |00 |00 |355|08 |00 |00 |00 |00 |00 |00 |36 .......5.......6
      08 |00 |00 |00 |00 |00 |00 |377|08 |00 |00 |00 |00 |00 |00 |38 .......7.......8
      08 |04 |00 |00 |00 |00 |00 |399|08 |04 |00 |00 |00 |00 |00 |3a .......9.......:
      08 |04 |00 |00 |00 |00 |00 |3b;|14 |10 |00 |00 |00 |00 |00 |00 .......;........
      00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |00 |3c<|08 |00 |00 |00 ...........<....
      00 |00 |00 |3d=|08 |00 |00 |00 |00 |00 |00 |3e>|08 |00 |00 |00 ...=.......>....
      00 |00 |00 |3f?|08 |00 |00 |00 |00 |00 |00 |40@|08 |00 |00 |8e ...?.......@...Ä
      00 |00 |00 |41A|04 |00 |00 |42B|04 |00 |00 |43C|08 |00 |00 |00 ...A...B...C....
      00 |00 |00 |44D|08 |00 |00 |00 |00 |00 |00 |45E|08 |00 |00 |00 ...D.......E....
      00 |00 |00 |46F|08 |00 |00 |00 |00 |00 |00 |47G|08 |00 |00 |00 ...F.......G....
      00 |00 |00 |48H|08 |00 |00 |00 |00 |00 |00 |49I|08 |00 |00 |00 ...H.......I....
      00 |00 |00 |4aJ|08 |00 |00 |00 |00 |00 |00 |4bK|08 |00 |00 |00 ...J.......K....
      00 |00 |00 |4cL|08 |00 |00 |00 |00 |00 |00 |4dM|08 |00 |00 |00 ...L.......M....
      00 |00 |00 |4eN|08 |00 |00 |00 |00 |00 |00 |4fO|08 |00 |00 |00 ...N.......O....
      00 |00 |00 |50P|08 |00 |00 |00 |00 |00 |00 |51Q|08 |00 |00 |00 ...P.......Q....
      00 |00 |00 |52R|08 |00 |00 |00 |00 |00 |00 |53S|08 |00 |00 |00 ...R.......S....
      00 |00 |00 |54T|08 |00 |00 |00 |00 |00 |00 |55U|08 |00 |00 |00 ...T.......U....
      00 |00 |00 |56V|08 |00 |00 |00 |00 |00 |00 |57W|08 |00 |00 |00 ...V.......W....
      00 |00 |00 |58X|08 |00 |00 |00 |00 |00 |00 |59Y|08 |00 |00 |00 ...X.......Y....
00 |00 |00 |5aZ|08 |00 |00 |00 |00 |00 |00 |5b[|08 |00 |00 |00 ...Z.......[....
00 |00 |00 |5c\|08 |00 |00 |00 |00 |00 |00 |5d]|08 |00 |00 |00 ...\.......]....
00 |00 |00 |5e^|08 |00 |00 |00 |00 |00 |00 |5f_|08 |00 |00 |00 ...^......._....
00 |00 |00 |60`|08 |00 |00 |00 |00 |00 |00 |61a|08 |00 |00 |00 ...`.......a....
00 |00 |00 |62b|08 |00 |00 |00 |00 |00 |00 |63c|08 |00 |00 |00 ...b.......c....
00 |00 |00 |64d|08 |00 |00 |00 |00 |00 |00 |65e|08 |00 |00 |00 ...d.......e....
00 |00 |00 |66f|08 |00 |00 |00 |00 |00 |00 |67g|08 |00 |00 |00 ...f.......g....
00 |00 |00 |68h|08 |00 |00 |00 |00 |00 |00 |69i|08 |00 |00 |00 ...h.......i....
00 |00 |00 |6aj|08 |00 |00 |00 |00 |00 |00 |6bk|08 |04 |00 |00 ...j.......k....
00 |00 |00 |6cl|08 |04 |00 |00 |00 |00 |00 |6dm|08 |00 |00 |00 ...l.......m....
00 |00 |00 |6en|08 |00 |00 |00 |00 |00 |00 |6fo|08 |00 |00 |00 ...n.......o....
00 |00                                                         ..
Sending frame 0x38 / 0x00c7
00 |02 |00 |0a |00 |60`|00 |70p|00 |71q|00 |72r|00 |73s|00 |74 .....`.p.q.r.s.t
00 |75u|00 |76v|00 |77w|00 |78x|00 |79y|00 |7az|00 |7b{|00 |7c .u.v.w.x.y.z.{.|
00 |7d}|00 |7e~|00 |7f |00 |80Ç|00 |81ü|00 |82é|00 |83â|00 |84 .}.~...Ç.ü.é.â.ä
00 |85ů|00 |86ć|00 |87ç|00 |88ł|00 |89ë|00 |8aŐ|00 |8bő|00 |8c .ů.ć.ç.ł.ë.Ő.ő.î
00 |8dŹ|00 |8eÄ|00 |8fĆ|00 |90É|00 |91Ĺ|00 |92ĺ|00 |93ô|00 |94 .Ź.Ä.Ć.É.Ĺ.ĺ.ô.ö
00 |95Ľ|00 |96ľ|00 |97Ś|00 |98ś|00 |99Ö|00 |9aÜ|00 |9bŤ|00 |9c .Ľ.ľ.Ś.ś.Ö.Ü.Ť.ť
00 |9dŁ|00 |9e×|00 |9fč|00 |a0á|00 |a1í|00 |a2ó|00 |a3ú|00 |a4 .Ł.×.č.á.í.ó.ú.Ą
00 |a5ą|00 |a6Ž|00 |a7ž|00 |a8Ę|00 |a9ę|00 |aa¬|00 |abź|00 |ac .ą.Ž.ž.Ę.ę.¬.ź.Č
00 |adş|00 |ae«|00 |af»|00 |b0 |00 |b1 |00 |b2 |00 |b3 |00 |b4 .ş.«.»..........
00 |b5Á|00 |b6Â|00 |b7Ě|00 |b8Ş|00 |b9 |00 |ba |00 |bb |00 |bc .Á.Â.Ě.Ş........
00 |bdŻ|00 |beż|00 |bf |00 |c0 |00 |c1 |00 |c2 |00 |c3 |00 |c4 .Ż.ż............
00 |c5 |00 |c6Ă|00 |c7ă|00 |c8 |00 |c9 |00 |ca |00 |cb |00 |cc ...Ă.ă..........
00 |cd |00 |ce |00 |cf¤|00                                     .....¤.
Received frame 0x38 / 0x0306
02 |1d |00 |0b |00 |60`|00 |70p|08 |00 |00 |00 |00 |00 |00 |71 .....`.p.......q
08 |00 |00 |00 |00 |00 |00 |72r|08 |00 |00 |00 |00 |00 |00 |73 .......r.......s
08 |00 |00 |00 |00 |00 |00 |74t|08 |00 |00 |00 |00 |00 |00 |75 .......t.......u
08 |00 |00 |00 |00 |00 |00 |76v|08 |00 |00 |00 |00 |00 |00 |77 .......v.......w
08 |00 |00 |00 |00 |00 |00 |78x|08 |00 |00 |00 |00 |00 |00 |79 .......x.......y
08 |00 |00 |00 |00 |00 |00 |7az|08 |00 |00 |00 |00 |00 |00 |04 .......z........
08 |04 |00 |7b{|00 |00 |00 |04 |08 |04 |00 |7c||00 |00 |00 |04 ...{.......|....
08 |04 |00 |7d}|00 |00 |00 |04 |08 |04 |00 |7e~|00 |00 |00 |04 ...}.......~....
08 |04 |00 |7f |00 |00 |00 |04 |08 |04 |00 |80Ç|00 |00 |00 |04 ...........Ç....
08 |04 |00 |81ü|00 |00 |00 |04 |08 |04 |00 |82é|00 |00 |00 |04 ...ü.......é....
08 |04 |00 |83â|00 |00 |00 |04 |08 |04 |00 |84ä|00 |00 |00 |04 ...â.......ä....
08 |04 |00 |85ů|00 |00 |00 |04 |08 |04 |00 |86ć|00 |00 |00 |04 ...ů.......ć....
08 |04 |00 |87ç|00 |00 |00 |04 |08 |04 |00 |88ł|00 |00 |00 |04 ...ç.......ł....
08 |04 |00 |89ë|00 |00 |00 |04 |08 |04 |00 |8aŐ|00 |00 |00 |04 ...ë.......Ő....
08 |04 |00 |8bő|00 |00 |00 |04 |08 |04 |00 |8cî|00 |00 |00 |04 ...ő.......î....
08 |04 |00 |8dŹ|00 |00 |00 |04 |08 |04 |00 |8eÄ|00 |00 |00 |04 ...Ź.......Ä....
08 |04 |00 |8fĆ|00 |00 |00 |04 |08 |04 |00 |90É|00 |00 |00 |04 ...Ć.......É....
08 |04 |00 |91Ĺ|00 |00 |00 |04 |08 |04 |00 |92ĺ|00 |00 |00 |04 ...Ĺ.......ĺ....
08 |04 |00 |93ô|00 |00 |00 |04 |08 |04 |00 |94ö|00 |00 |00 |04 ...ô.......ö....
08 |04 |00 |95Ľ|00 |00 |00 |04 |08 |04 |00 |96ľ|00 |00 |00 |04 ...Ľ.......ľ....
08 |04 |00 |97Ś|00 |00 |00 |04 |08 |04 |00 |98ś|00 |00 |00 |04 ...Ś.......ś....
08 |04 |00 |99Ö|00 |00 |00 |04 |08 |04 |00 |9aÜ|00 |00 |00 |04 ...Ö.......Ü....
08 |04 |00 |9bŤ|00 |00 |00 |04 |08 |04 |00 |9cť|00 |00 |00 |04 ...Ť.......ť....
08 |04 |00 |9dŁ|00 |00 |00 |04 |08 |04 |00 |9e×|00 |00 |00 |04 ...Ł.......×....
08 |04 |00 |9fč|00 |00 |00 |04 |08 |04 |00 |a0á|00 |00 |00 |04 ...č.......á....
08 |04 |00 |a1í|00 |00 |00 |04 |08 |04 |00 |a2ó|00 |00 |00 |04 ...í.......ó....
08 |04 |00 |a3ú|00 |00 |00 |04 |08 |04 |00 |a4Ą|00 |00 |00 |04 ...ú.......Ą....
08 |04 |00 |a5ą|00 |00 |00 |04 |08 |04 |00 |a6Ž|00 |00 |00 |04 ...ą.......Ž....
08 |04 |00 |a7ž|00 |00 |00 |04 |08 |04 |00 |a8Ę|00 |00 |00 |04 ...ž.......Ę....
08 |04 |00 |a9ę|00 |00 |00 |04 |08 |04 |00 |aa¬|00 |00 |00 |04 ...ę.......¬....
08 |04 |00 |abź|00 |00 |00 |04 |08 |04 |00 |acČ|00 |00 |00 |04 ...ź.......Č....
08 |04 |00 |adş|00 |00 |00 |04 |08 |04 |00 |ae«|00 |00 |00 |04 ...ş.......«....
08 |04 |00 |af»|00 |00 |00 |04 |08 |04 |00 |b0 |00 |00 |00 |04 ...»............
08 |04 |00 |b1 |00 |00 |00 |04 |08 |04 |00 |b2 |00 |00 |00 |04 ................
08 |04 |00 |b3 |00 |00 |00 |04 |08 |04 |00 |b4 |00 |00 |00 |04 ................
08 |04 |00 |b5Á|00 |00 |00 |04 |08 |04 |00 |b6Â|00 |00 |00 |04 ...Á.......Â....
08 |04 |00 |b7Ě|00 |00 |00 |04 |08 |04 |00 |b8Ş|00 |00 |00 |04 ...Ě.......Ş....
08 |04 |00 |b9 |00 |00 |00 |04 |08 |04 |00 |ba |00 |00 |00 |04 ................
08 |04 |00 |bb |00 |00 |00 |04 |08 |04 |00 |bc |00 |00 |00 |04 ................
08 |04 |00 |bdŻ|00 |00 |00 |04 |08 |04 |00 |beż|00 |00 |00 |04 ...Ż.......ż....
08 |04 |00 |bf |00 |00 |00 |04 |08 |04 |00 |c0 |00 |00 |00 |04 ................
08 |04 |00 |c1 |00 |00 |00 |04 |08 |04 |00 |c2 |00 |00 |00 |04 ................
08 |04 |00 |c3 |00 |00 |00 |04 |08 |04 |00 |c4 |00 |00 |00 |04 ................
08 |04 |00 |c5 |00 |00 |00 |04 |08 |04 |00 |c6Ă|00 |00 |00 |04 ...........Ă....
08 |04 |00 |c7ă|00 |00 |00 |04 |08 |04 |00 |c8 |00 |00 |00 |04 ...ă............
08 |04 |00 |c9 |00 |00 |00 |04 |08 |04 |00 |ca |00 |00 |00 |04 ................
08 |04 |00 |cb |00 |00 |00 |04 |08 |04 |00 |cc |00 |00 |00 |04 ................
08 |04 |00 |cd |00 |00 |00 |04 |08 |04 |00 |ce |00 |00 |00 |04 ................
08 |04 |00 |cf¤|00 |00                                         ...¤..
Received frame 0x38 / 0x0306
02 |1d |00 |0b |00 |60`|00 |04 |08 |04 |00 |d0đ|00 |00 |00 |04 .....`.....đ....
08 |04 |00 |d1Đ|00 |00 |00 |04 |08 |04 |00 |d2Ď|00 |00 |00 |04 ...Đ.......Ď....
08 |04 |00 |d3Ë|00 |00 |00 |04 |08 |04 |00 |d4ď|00 |00 |00 |04 ...Ë.......ď....
08 |04 |00 |d5Ň|00 |00 |00 |04 |08 |04 |00 |d6Í|00 |00 |00 |04 ...Ň.......Í....
08 |04 |00 |d7Î|00 |00 |00 |04 |08 |04 |00 |d8ě|00 |00 |00 |04 ...Î.......ě....
08 |04 |00 |d9 |00 |00 |00 |04 |08 |04 |00 |da |00 |00 |00 |db ................
08 |00 |00 |00 |00 |00 |00 |dc |08 |00 |00 |00 |00 |00 |00 |dd ...............Ţ
08 |00 |00 |00 |00 |00 |00 |deŮ|08 |00 |00 |00 |00 |00 |00 |df .......Ů........
08 |00 |00 |00 |00 |00 |00 |e0Ó|08 |00 |00 |00 |00 |00 |00 |e1 .......Ó.......ß
08 |00 |00 |00 |00 |00 |00 |e2Ô|08 |00 |00 |00 |00 |00 |00 |e3 .......Ô.......Ń
08 |00 |00 |00 |00 |00 |00 |e4ń|08 |00 |00 |00 |00 |00 |00 |e5 .......ń.......ň
08 |00 |00 |00 |00 |00 |00 |04 |08 |04 |00 |e6Š|00 |00 |00 |e7 ...........Š...š
08 |00 |00 |00 |00 |00 |00 |e8Ŕ|08 |00 |00 |00 |00 |00 |00 |04 .......Ŕ........
08 |04 |00 |e9Ú|00 |00 |00 |04 |08 |04 |00 |eaŕ|00 |00 |00 |04 ...Ú.......ŕ....
08 |04 |00 |ebŰ|00 |00 |00 |04 |08 |04 |00 |ecý|00 |00 |00 |04 ...Ű.......ý....
08 |04 |00 |edÝ|00 |00 |00 |04 |08 |04 |00 |eeţ|00 |00 |00 |04 ...Ý.......ţ....
08 |04 |00 |ef´|00 |00 |00 |04 |08 |04 |00 |f0­|00 |00 |00 |04 ...´.......­....
08 |04 |00 |f1 |00 |00 |00 |04 |08 |04 |00 |f2 |00 |00 |00 |04 ................
08 |04 |00 |f3 |00 |00 |00 |04 |08 |04 |00 |f4 |00 |00 |00 |f5 ...............§
08 |00 |00 |00 |00 |00 |00 |f6÷|08 |00 |00 |00 |00 |00 |00 |f7 .......÷.......¸
08 |00 |00 |00 |00 |00 |00 |f8°|08 |00 |00 |00 |00 |00 |00 |04 .......°........
08 |04 |00 |f9¨|00 |00 |00 |04 |08 |04 |00 |fa |00 |00 |00 |04 ...¨............
08 |04 |00 |fbű|00 |00 |00 |04 |08 |04 |00 |fcŘ|00 |00 |00 |04 ...ű.......Ř....
08 |04 |00 |fdř|00 |00 |00 |04 |08 |04 |00 |fe |00 |00 |00 |04 ...ř............
08 |04 |00 |ff |00 |00 |00 |04 |08 |04 |01 |00 |00 |00 |00 |04 ... ............
08 |04 |01 |01 |00 |00 |00 |04 |08 |04 |01 |02 |00 |00 |00 |04 ................
08 |04 |01 |03 |00 |00 |00 |04 |08 |04 |01 |04 |00 |00 |00 |04 ................
08 |04 |01 |05 |00 |00 |00 |04 |08 |04 |01 |06 |00 |00 |00 |04 ................
08 |04 |01 |07 |00 |00 |00 |04 |08 |04 |01 |08 |00 |00 |00 |04 ................
08 |04 |01 |09 |00 |00 |00 |04 |08 |04 |01 |0a |00 |00 |00 |04 ................
08 |04 |01 |0b |00 |00 |00 |04 |08 |04 |01 |0c |00 |00 |00 |04 ................
08 |04 |01 |0d |00 |00 |00 |04 |08 |04 |01 |0e |00 |00 |00 |04 ................
08 |04 |01 |0f |00 |00 |00 |04 |08 |04 |01 |10 |00 |00 |00 |04 ................
08 |04 |01 |11 |00 |00 |00 |04 |08 |04 |01 |12 |00 |00 |00 |04 ................
08 |04 |01 |13 |00 |00 |00 |04 |08 |04 |01 |14 |00 |00 |00 |04 ................
08 |04 |01 |15 |00 |00 |00 |04 |08 |04 |01 |16 |00 |00 |00 |04 ................
08 |04 |01 |17 |00 |00 |00 |04 |08 |04 |01 |18 |00 |00 |00 |04 ................
08 |04 |01 |19 |00 |00 |00 |04 |08 |04 |01 |1a |00 |00 |00 |04 ................
08 |04 |01 |1b |00 |00 |00 |04 |08 |04 |01 |1c |00 |00 |00 |04 ................
08 |04 |01 |1d |00 |00 |00 |04 |08 |04 |01 |1e |00 |00 |00 |04 ................
08 |04 |01 |1f |00 |00 |00 |04 |08 |04 |01 |20 |00 |00 |00 |04 ........... ....
08 |04 |01 |21!|00 |00 |00 |04 |08 |04 |01 |22"|00 |00 |00 |04 ...!......."....
08 |04 |01 |23#|00 |00 |00 |04 |08 |04 |01 |24$|00 |00 |00 |04 ...#.......$....
08 |04 |01 |25%|00 |00 |00 |04 |08 |04 |01 |26&|00 |00 |00 |04 ...%.......&....
08 |04 |01 |27'|00 |00 |00 |04 |08 |04 |01 |28(|00 |00 |00 |04 ...'.......(....
08 |04 |01 |29)|00 |00 |00 |04 |08 |04 |01 |2a*|00 |00 |00 |04 ...).......*....
08 |04 |01 |2b+|00 |00 |00 |04 |08 |04 |01 |2c,|00 |00 |00 |04 ...+.......,....
08 |04 |01 |2d-|00 |00 |00 |04 |08 |04 |01 |2e.|00 |00 |00 |04 ...-............
08 |04 |01 |2f/|00 |00                                         .../..
Sending frame 0x38 / 0x000e
00 |02 |00 |0c |00 |01 |00 |01 |08 |02 |05 |08 |00 |00         ..............
Received frame 0x38 / 0x0006
02 |1d |00 |0d |00 |00                                         ......

0x39: PROFILES

    s Get Profile           { 0x01, 0x01, 0x0c, 0x01,
                              0x04 (length), profile #, 'feature', 0x01 }
    r Get Profile           { 0x02, 0x00, 0x0c, 0x02,
                              0x09 (length), type, 0x01, 0x02, 0x00, 0x00, 0x01, value, 0x02 ... }

    s Set Profile           { 0x03, 0x01, # blocks, 0x03,
                              length, type, profile #, value, 0x00, 0x00, 0x01, value, 0x03 ... }
    r Set Profile           { 0x04, 0x01, # blocks,
                              length, 0xXX, type, 0xXX, value
                              where value: 0x00 = success

0x3E: FM Radio
    s Get FM Station            { 0x00, 0x01, 0x00, 0x05, location, 0x00, 0x01}
    r Get FM Station            {                   0x06, 0x00, 0x01, 0x00, 0x1c,
                 name_length, 0x14, 0x09, 0x00, location, 0x00, 0x00, 0x01,
                 FreqHI , FreqLO,
                 name_in_unicode,[0x55,0x55] - if name_length is odd}
                             where frequency = (0xffff + FreqHi * 0x100 + FreqLo) kHz

    r Get FM Station            {                   0x16, 0x05, 0x06 } - if entry is empty

0x42:
    s ????                  {+00 |07 |00 |01 |00 |02}
    r ????                  {+07 |2d-|00 |02 |06 |02 |00 |02 |00 |01 |02 |08 |00 |0c |07 |d1 |00 |00}

0x42:
    s Get ???               {+0x00, 0x07, 0x02, 0x01, 0x00, 0x01 }
    r Get ???               { 02 |06 |02 |00 |02 |00 |01 |02 |08 |00 |0c |07 |d1 |00 |00}
    s Get original IMEI ?   {+0x00, 0x07, 0x02, 0x01, 0x00, 0x01 }
    r Get original IMEI ?   { 0x02, 0x06, 0x01, 0x01, 0x00, 0x01, 0x01, 0x18, 0x01, 0x00, IMEI, 0x00, 'U' }
    s Get ???               {+0x00, 0x07, 0x03, 0x01, 0x00, 0x02 }
    r Get ???               { 02 |06 |02 |00 |02 |00 |01 |02 |08 |00 |0c |07 |d1 |00 |00}
    s Get ???               {+0x00, 0x07, 0x04, 0x01, 0x00, 0x10 }
    r Get ???               { 02 |06 |10 |00 |10 |00 |01 |05 |08 |00 |00 |00 |00 | 00 |00}
    s Get ???               {+0x00, 0x07, 0x05, 0x01, 0x00, 0x08 }
    r Get ???               { 02 |06 |08 |00 |08 |00 |01 |04 |08 |00 |00 |00 |00 | 00 |00}
    s Get ???               {+0x00, 0x07, 0x06, 0x01, 0x00, 0x20 }
    r Get ???               { 02 |06 |20 |00 |20 |00 |01 |06 |04 |03 |00}

0x43:
    s ????                  {+00 |08 |00 |01 |00 |00 |00 |00 |00, x}
                            where x = 0x01, 0x02, 0x04, 0x08, 0x10
    r ????                  {+08 |1f |y |02 |00 |00 |00 |00 }
                            where y = 0 - 0x04
    s ???                   {+00 |08 |05 |01 |00 |00 |00 |00 |00 |20}
    r ???                   {+08 |1f |05 |02 |00 |00 |00 |00}

0x45: PHONEBOOK HANDLING ????
    the same to msg 0x03 ????

0x53:
    s Get simlock info      {0x0C}

0x55: TODO
    s Get TODO              {0x03, 0x00, 0x00, 0x80, location low, location hi}
    r Get TODO              {0x04, .... }
    s Get number of TODO    {0x07}
    r Get number of TODO    {0x08, number lo, number hi}
    s Delete all TODO       {0x11}
    r Delete all TODO       {0x12}
    s Get TODO locations    {0x15, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00}
    r Get TODO locations    {0x16, ...}

0x7a: STARTUP

    s Get startup logo      { 0x02, 0x0f }
    r Get startup logo      { 0x03, 0x0f, 0x00[4], # blocks,
                              0xc0, 0x02, height (2 octets),
                              0xc0, 0x03, width (2 octets),
                              0xc0, 0x04, size (2 octets),
                  picture }

    s Get startup greeting  { 0x02, 0x01, 0x00 }
    r Get startup greeting  { 0x03, 0x01, 0x00, greeting (unicode), 0x00 }

    s Get anykey answer     { 0x02, 0x05, 0x00 }
    r Get anykey answer     { 0x03, 0x05, 0x00, 0x00/0x01 }

0xd1:
    s Get HW&SW version     { 0x0003, 0x00 }
0xd2:
    r Get HW&SW version     { 0x0003 "V " "firmware\n" "firmware date\n"
                              "model\n" "(c) NMP." }