-\r
-Last update 23.02.2002\r
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
-\r
-Assembled by\r
- Balazs Nagy (js@lsc.hu)\r
- Harri Yli-Torkko (hyt@surfeu.fi)\r
- Alfred R. Nurnberger <arnu@flosys.com>\r
- Hugh Blemings <Hugh.Blemings@vsb.com.au>\r
- Mike Bradley <mike@trumpington.st>\r
- Odinokov Serge <serge@takas.lt>\r
- Pavel Janik <Pavel@Janik.cz>\r
+
+Last update 23.02.2002
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Assembled by
+ Balazs Nagy (js@lsc.hu)
+ Harri Yli-Torkko (hyt@surfeu.fi)
+ Alfred R. Nurnberger <arnu@flosys.com>
+ Hugh Blemings <Hugh.Blemings@vsb.com.au>
+ Mike Bradley <mike@trumpington.st>
+ Odinokov Serge <serge@takas.lt>
+ Pavel Janik <Pavel@Janik.cz>
BORBELY Zoltan (bozo@andrews.hu)
- Pawel Kot <pkot@linuxnews.pl>\r
- Marcin Wiacek (Marcin-Wiacek@TOPNET.PL)\r
- ... and other members of gnokii mailing list\r
- and authors of some WWW pages.\r
-\r
-The data provided is for information purposes only. \r
-Some of the frames might be hazardous to your phone. Be careful!!! \r
-We do not take any responsibility or liability for damages, etc.\r
-\r
-NOTE: this information isn't (and can't be) complete. If you know anything\r
-about features not listed here or you noticed a bug in this list, please\r
-notify us via e-mail. Thank you.\r
-\r
-Document describing frames used in\r
-GSM/PCN Nokia 6110 and derivatives (Nokia 6130, 6150, 6190, 5110, 5130, 5150,\r
-5190, 3210, 3310)\r
-Correct format is FBUS version 2/Direct IRDA/MBUS version 2\r
-(see nokia.txt for protocol details):\r
-\r
- List:\r
-\r
-0x00: Monitoring values\r
- r monitoring value {+0x01, 0x01, block... }\r
- where block: 0x5e, 0x05, 0x7a(?), 0xd0(?), 0x85(?), 0x02, percentHI, percentLO\r
- Battery percent level\r
- 0x5e, 0x0c, 0x52(?), 0x4b(?), 0x6f(?), 0x02, voltageHI, voltageLO\r
- Battery standby voltage\r
- ............\r
-0x01: Call Information\r
- s Make call { 0x0001, "number", type, block }\r
- where type:\r
- 0x01 - data call\r
- 0x05 - voice call\r
- block:\r
- data call (non digital lines):\r
- 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,\r
- 0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00\r
- data call (digital lines):\r
- 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,\r
- 0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,\r
- 0x88,0x90,0x21,0x48,0x40,0xbb\r
- voice call:\r
- 0x01, 0x01, 0x05, 0x81/0x00, sendnum, 0x00, 0x00, 0x01\r
- where:\r
- sendnum (own number sending):\r
- 0x01: preset (depends on network)\r
- 0x03: on\r
- 0x02: off\r
- r Call going msg { 0x0002 }\r
- r Call in progress { 0x0003, seqnr }\r
- r Remote end hang up { 0x0004, seqnr, ?, error (like in netmon in 39) }\r
- r incoming call alert { 0x0005, seqnr, numlen, "number", namelen, "name" }\r
- s Answer call part 2 { 0x0006, seqnr, 0x00 }\r
- r answered call { 0x0007, seqnr }\r
- s Hang up { 0x0008, seqnr, 0x85 }\r
- r terminated call { 0x0009, seqnr }\r
- r call msg { 0x000a, seqnr }\r
- r call held { 0x0023, seqnr, 0x01 }\r
- r call resumed { 0x0025, seqnr, 0x01 }\r
- r Send DTMF/voice call { 0x0040}\r
- s Answer call part 1 { 0x0042,0x05,0x01,0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,\r
- 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80 }\r
- s Sent after issuing { 0x0042,0x05,0x81,0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,\r
- data call 0x88,0x90,0x21,0x48,0x40,0xbb,0x07,0xa3,\r
- (digital lines) 0xb8,0x81,0x20,0x15,0x63,0x80 }\r
- s Sent after issuing { 0x0042,0x05,0x01,0x07,0xa2,0xc8,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,\r
- data call 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80,\r
- (non digital lines) 0x01,0x60 }\r
- s Send DTMF { 0x0050, length, {ascii codes for DTMF}, 0x01 }\r
- \r
- Note:\r
- to make data call (non digital lines):\r
- 1.send "Make call" for non digital lines\r
- 2.send "Sent after issuing data call (non digital lines)"\r
- to make data call (digital lines):\r
- 1.send "Answer call part 1"\r
- 2.send "Sent after issuing data call (digital lines)"\r
- 3.send "Make call" for digital lines\r
- to answer call:\r
- 1.send "Answer call part 1"\r
- 2.send "Answer call part 2"\r
-\r
-0x02: SMS handling\r
- s Send SMS message { 0x0001, 0x02, 0x00 (SEND REQUEST), ... }\r
- r Message sent { 0x0002 }\r
- r Send failed { 0x0003, ?, ?, error (like in netmon in 65)} \r
- s Get SMS message { 0x0007, 0x02, location, 0x01, 0x64 }\r
- s Initiate connection { 0x000d, 0x00, 0x00, 0x02 }\r
- r Initiate ACK { 0x000e, 0x01 }\r
- r SMS message received { 0x0010, ...... } (whole message)\r
- s Set CellBroadcast { 0x0020, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01 }\r
- for enable cell broadcast ?\r
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }\r
- for disable cell broadcast ?\r
- r Set CellBroadcast OK { 0x0021, 0x01 }\r
- r Read CellBroadcast { 0x0023, ?, ?, ?, channel, ?, message... } ?\r
- s Set SMS center { 0x0030, 0x64, priority, checksum? ,0?, format,\r
- validity, {DefaultRecipient no.}[12], \r
- {SMScenter no.}[12], {SMSC name}, 0x00}\r
- where tel.no.[12]: {len, type, {number(BCD)}}\r
- type: 0x81: normal\r
- 0x91: + (international)\r
- 0xd0: alphanumeric\r
- format: 0x00: text\r
- 0x22: fax\r
- 0x24: voice\r
- 0x25: ERMES\r
- 0x26: paging\r
- 0x31: X.400\r
- 0x32: email\r
- validity: 0x0b: 1 hour\r
- 0x47: 6 hours\r
- 0xa7: 24 hours\r
- 0xa9: 72 hours\r
- 0xad: 1 week\r
- 0xff: max.time\r
- r Set SMS center OK { 0x0031 }\r
- r Set SMS center error { 0x0032, reason }\r
- s Get SMS center { 0x0033, 0x64, priority }\r
- r SMS center received { 0x0034, priority, checksum?, format, 0x00?,\r
- validity, {DefaultRecipient no.}[12],\r
- {SMScenter no.}[12], {SMSC name}, 0x00}\r
- tel.no[12]: {len, type, {number(BCD)}} \r
- where priority, checksum, type, validity,\r
- tel.no.[12]: see 0x02/0x0030\r
- r SMS center error recv { 0x0035, reason }\r
-0x03: Phonebook functions\r
- s Get mem location { 0x0001, memtype, location, 0 }\r
- where memory:\r
- 0x01: telephone and SIM phonebook (in one)\r
- 0x02: telephone phonebook\r
- 0x03: SIM phonebook\r
- 0x04: SIM fixdialling-phonebook (?)\r
- 0x05: Own numbers\r
- 0x07: Dialled numbers\r
- 0x08: Missed calls\r
- 0x09: Received calls\r
- 0x0b: voice mailbox (location not important)\r
- r mem location recvd { 0x0002, 0x00,namelen,"name",numlen,"number",groupID, 0x01?, yearLO, yearHI, month, day, hour, minute, sec. }\r
- Note: in 3310 all entries have null name ("feature" of bug ?)\r
- r mem loc error recvd { 0x0003, errtype }\r
- where errtype: 0x7d: invalid memory type\r
- s Set mem location { 0x0004, memtype,location,namelen,"Name",numlen,"number",groupID }\r
- r mem set OK { 0x0005 }\r
- r mem set error { 0x0006, errtype }\r
- where errtype: 0x7d: name is too long\r
- s Mem status request { 0x0007, memtype }\r
- r Mem status recvd { 0x0008, memtype, free, used }\r
- r Mem status error recv { 0x0009, errtype }\r
- where errtype: 0x6f: mem status error\r
- 0x7d: invalid memory type\r
- 0x8d: waiting for pin\r
- s Get caller group data { 0x0010, groupID }\r
- r Get caller group data { 0x0011, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }\r
- r Get call.group error { 0x0012, reason }\r
- where reason: 0x7d: invalid location\r
- s Set caller group data { 0x0013, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }\r
- r Set caller group OK { 0x0014 }\r
- r Set call.group error { 0x0015, reason }\r
- where reason: 0x7d: invalid location\r
- s Get speed dial { 0x0016, index(1-9) }\r
- r Get speed dial OK { 0x0017, mem.type, location }\r
- where mem.type: 0x02: ME (== 0 if not stored)\r
- 0x03: SIM\r
- location: memory location (== 0 if not stored)\r
- r Get speed dial error { 0x0018 }\r
- s Set speed dial { 0x0019, index(1-9), mem.type, location }\r
- r Set speed dial OK { 0x001a }\r
- r Set speed dial error { 0x001b }\r
-0x04: Phone Status\r
- s Phone status { 0x0001 }\r
- r Phone status { 0x0002, mode, signal str, ???, pwr, batt.level }\r
- where mode: 1: registered within the network\r
- 2: call in progress\r
- 3: waiting for pin\r
- 4: powered off\r
- pwr: 1: AC/DC\r
- 2: battery\r
- s Request Phone ID { 0x0003 }\r
- r RequestPhone ID { 0x0004, 0x01,"NOKIA""imei", 0, "model", 0, "prod.code", 0, "HW", 0, "firmware", 0x00, 0x01 }\r
-0x05: Profile settings\r
- s Set profile feature { 0x0010, 1, nr, feature, a, 1 }\r
- where nr: see 0x05/0x0013\r
- feature: see 0x05/0x0014\r
- a: see 0x05/0x0014\r
- r Set profile feat. OK { 0x0011, 1 }\r
- s Get profile feature { 0x0013, 1, nr, feature, 1 }\r
- where nr is profile number (general=0, silent, meeting, outdoor, pager, car, headset=6)\r
- feature: see 0x05/0x0014\r
- r Get profile feature { 0x0014, 1, nr, feature, 4, a, b, c, d, 1 }\r
-\r
- Note: For Nokia 3330 settings num 0x00 .. 0x09 can be assigned\r
- separately to each profile (0x00 .. 0x05), but rest are common\r
- to all profiles.\r
-\r
- Features and answers (in a, b, c, d form):\r
- 0x00: keypad notes (in Nokia 33x0 feature 0x00)\r
- xx, 1, 0, 2\r
- xx: 0xff: off\r
- 0x00: level 1\r
- 0x01: level 2\r
- 0x02: level 3\r
- 0x01: lights (? only in car profile) (what number in Nokia 3310 ?)\r
- xx, 0, 0, 1\r
- xx: 0x00: off\r
- 0x??: on (maybe 0x01)\r
- 0x02: incoming call alert (in Nokia 33x0 feature 0x01)\r
- xx, 1, 0, 7\r
- xx: 1: ringing,\r
- 2: beep once,\r
- 3: unknown\r
- 4: off\r
- 5: ring once\r
- 6: ascending\r
- 7: caller groups (see feature #0x08)\r
- 0x03: ringing tone (in Nokia 33x0 feature 0x02)\r
- xx, 0, 0, 0\r
- xx: 0x12: ring ring\r
- 0x13: low\r
- etc\r
- 0x04: ringing volume (in Nokia 33x0 feature 0x03)\r
- xx, 0, 0, 0\r
- xx: level 1 (0x06) - level 5 (0x0a)\r
- 0x05: message alert tone (in Nokia 33x0 feature 0x04)\r
- xx, 1, 0, 4\r
- xx: 0: no tone\r
- 1: standard\r
- 2: special\r
- 3: beep once\r
- 4: ascending\r
- 0x06: vibration (in Nokia 33x0 feature 0x05)\r
- xx: 0: off\r
- 1: on\r
- 2: Vibrate first\r
- 0x07: warning and game tones (in Nokia 33x0 feature 0x06 called warning tones)\r
- xx, 4, 0, 4\r
- xx: 0xff: off\r
- 0x04: on\r
- 0x07: screen saver - Nokia 33x0\r
- xx: 1: on\r
- 0: off\r
- 0x08: incoming caller groups (what number in Nokia 3310 ?)\r
- xx, 0, 0, 0\r
- xx: 1: family\r
- 2: VIP\r
- 4: friends\r
- 8: collegues\r
- 16: other\r
- 0x08: Screen saver -> Timeout (Nokia 33xx):\r
- 0x00 = 5 sec\r
- 0x01 = 20 sec\r
- ....\r
-\r
- 0x09: automatic answer (what number in Nokia 3310 ?)\r
- xx, 0, 0, 1\r
- xx: 0x00: off\r
- 0x01: on \r
-\r
- 0x09: Screen saver -> Screen saver (Nokia 33xx):\r
- 0x00 ... 0x0d = Number of picture image\r
-\r
- 0x0a: ???:\r
- ...: ???:\r
- 0x15: ???: Read only?\r
-\r
- 0x16: ???:\r
- 0x00 = ???\r
- 0x01 = ???\r
-\r
- 0x17: Phone book -> Options -> Memory in use (Nokia 3330):\r
- 0x00 = Phone\r
- 0x01 = SIM card\r
-\r
- 0x18: Settings -> Phone settings -> Network selection (Nokia 3330):\r
- 0x00 = Automatic\r
- 0x01 = Manual\r
-\r
- 0x19 Settings -> Call settings -> Automatic redial(Nokia 3330):\r
- 0x00 = Off\r
- 0x01 = On\r
-\r
- 0x1a: Settings -> Call settings -> Speed dialling (Nokia 3330):\r
- 0x00 = Off\r
- 0x01 = On\r
-\r
- 0x1b: Settings -> Call settings -> Own number sending (Nokia 3330):\r
- 0x00 = Set by network\r
- 0x01 = On\r
- 0x02 = Off\r
-\r
- 0x1c: Settings -> Phone settings -> Cell info display (Nokia 3330):\r
- 0x00 = Off\r
-\r
- 0x1d: Phone book -> Options -> Type of view (Nokia 3330):\r
- 0x00 = Name list\r
- 0x01 = Name, number\r
- 0x02 = Large font\r
-\r
- 0x1e: Settings -> Phone settings -> Language (Nokia 3330):\r
- 0x00 = English\r
- 0x07 = Dansk\r
- 0x08 = Svenska\r
- 0x09 = Suomi\r
- 0x0c = Turcke\r
- 0x0e = Norsk\r
- 0x10 = Automatic\r
-\r
- 0x32 = Reboots ME (3330)\r
-\r
- 0x1f: ???: Read only? (3330)\r
-\r
- 0x20: Messages -> Message settings -> Common -> Reply via same centre (N3330):\r
- 0x00 = No\r
- 0x01 = Yes\r
-\r
- 0x21: Messages -> Message settings -> Common -> Delivery reports (3330):\r
- 0x00 = No\r
- 0x01 = Yes\r
- \r
- 0x22: Clock -> Clock settings -> Show/Hide clock (3330):\r
- 0x00 = Show\r
- 0x01 = Hide\r
-\r
- 0x23: Clock -> Clock settings -> Time format (N3330):\r
- 0x00 = 24-hour\r
- 0x01 = 12-hour\r
-\r
- 0x24: Select profile (N3330):\r
- 0x00 = General\r
- 0x01 ... 0x05 = rest of them\r
-\r
- 0x25: ???: Read only? (N3330)\r
-\r
- 0x26: Settings -> Phone settings -> Confirm SIM service actions (N3330):\r
- 0x00 = Not asked\r
- 0x01 = Asked\r
-\r
- 0x27: Messages -> Write messages -> Options -> Dictionary (N3330):\r
- 0x00 = Off\r
- 0x01 = English\r
- 0x0a = Suomi\r
-\r
- 0x28: Messages -> Message settings -> Common -> Character support (N3330):\r
- 0x00 = Automatic\r
- 0x01 = GSM alphabet\r
- 0x02 = Unicode\r
-\r
- 0x29: Startup logo settings (N33x0):\r
- 0x00 = Your own uploaded logo\r
- 0x01 = Nokia\r
- 0x02 = Draft HUMAN technology(tm)\r
- 0x03 = Itineris\r
-\r
- 0x2a:???: 0x00 = ??? 0x01 = ??? (N3330)\r
-\r
- 0x2b: ???: 0x00 = ??? 0x01 = ??? (N3330)\r
-\r
- 0x2c: ???: Read only? (N3330)\r
-\r
- 0x2d: Clock -> Auto update of date and time (N3330):\r
- 0x00 = Off\r
- 0x01 = Confirm first\r
- 0x02 = On\r
-\r
- s Get welcome message { 0x0016 }\r
- r Get welcome message { 0x0017, no.of blocks, { block } * }\r
- where block: { id, {blockspecific} }\r
- id: 1: startup logo { y, x, picture (coding?) }\r
- 2: welcome note { len, "message" }\r
- 3: operator msg { len, "message" }\r
- s Set welcome message { 0x0018, no.of blocks, { block } * }\r
- where block: see 0x05/0x0017\r
- r Set welcome OK { 0x0019, 0x01 }\r
- s Get profile name { 0x001a, nr }\r
- where nr: see 0x05/0x0013\r
- r Profile name { 0x001b, 1, 1, 3, flen, nr, len, {text} }\r
- where nr: see 0x05/0x0013\r
- len: text length \r
- flen len + len(nr, len) = len + 2\r
- Note: in Nokia 3310 name is in Unicode\r
- s ??? { 0x001c }\r
- r ??? { 0x001d, 0x93 }\r
- s Set oplogo { 0x0030, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }\r
- r Set oplogo OK { 0x0031 }\r
- r Set oplogo error { 0x0032, reason }\r
- where reason: 0x7d invalid location\r
- s Get oplogo { 0x0033, location }\r
- where location: 1 (doesn't seem to matter)\r
- r Get oplogo { 0x0034, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }\r
- r Get oplogo error { 0x0035, reason }\r
- where reason: 0x7d invalid location\r
- s Set ringtone { 0x0036, location,0x00,0x78, ringtone packed according to SM2.0}\r
- r Set ringtone OK { 0x0037 }\r
- r Set ringtone error { 0x0038, reason }\r
- where reason=0x7d, when not supported location\r
- s Get services settings { 0x0080, setting (2 bytes) }\r
- where: setting: 0x02,0x00=Nokia access number 1\r
- 0x02,0x01=Operator access number 1\r
- 0x01,0x00=Personal bookmark 1 settings (name only ?)\r
- 0x01,0x01=?\r
- 0x02,0x02=?\r
- r Get services sett.OK { 0x0081, .... }\r
- r Get services sett.err { 0x0082, 0x7b }\r
-0x06: Calling line restriction/Call forwarding etc\r
+ Pawel Kot <pkot@linuxnews.pl>
+ Marcin Wiacek (Marcin-Wiacek@TOPNET.PL)
+ ... and other members of gnokii mailing list
+ and authors of some WWW pages.
+
+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/PCN Nokia 6110 and derivatives (Nokia 6130, 6150, 6190, 5110, 5130, 5150,
+5190, 3210, 3310)
+Correct format is FBUS version 2/Direct IRDA/MBUS version 2
+(see nokia.txt for protocol details):
+
+ List:
+
+0x00: Monitoring values
+ r monitoring value {+0x01, 0x01, block... }
+ where block: 0x5e, 0x05, 0x7a(?), 0xd0(?), 0x85(?), 0x02, percentHI, percentLO
+ Battery percent level
+ 0x5e, 0x0c, 0x52(?), 0x4b(?), 0x6f(?), 0x02, voltageHI, voltageLO
+ Battery standby voltage
+ ............
+0x01: Call Information
+ s Make call { 0x0001, "number", type, block }
+ where type:
+ 0x01 - data call
+ 0x05 - voice call
+ block:
+ data call (non digital lines):
+ 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,
+ 0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00
+ data call (digital lines):
+ 0x02,0x01,0x05,0x81,0x01,0x00,0x00,0x01,0x02,0x0a,
+ 0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,
+ 0x88,0x90,0x21,0x48,0x40,0xbb
+ voice call:
+ 0x01, 0x01, 0x05, 0x81/0x00, sendnum, 0x00, 0x00, 0x01
+ where:
+ sendnum (own number sending):
+ 0x01: preset (depends on network)
+ 0x03: on
+ 0x02: off
+ r Call going msg { 0x0002 }
+ r Call in progress { 0x0003, seqnr }
+ r Remote end hang up { 0x0004, seqnr, ?, error (like in netmon in 39) }
+ r incoming call alert { 0x0005, seqnr, numlen, "number", namelen, "name" }
+ s Answer call part 2 { 0x0006, seqnr, 0x00 }
+ r answered call { 0x0007, seqnr }
+ s Hang up { 0x0008, seqnr, 0x85 }
+ r terminated call { 0x0009, seqnr }
+ r call msg { 0x000a, seqnr }
+ r call held { 0x0023, seqnr, 0x01 }
+ r call resumed { 0x0025, seqnr, 0x01 }
+ r Send DTMF/voice call { 0x0040}
+ s Answer call part 1 { 0x0042,0x05,0x01,0x07,0xa2,0x88,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,
+ 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80 }
+ s Sent after issuing { 0x0042,0x05,0x81,0x07,0xa1,0x88,0x89,0x21,0x15,0x63,0xa0,0x00,0x06,
+ data call 0x88,0x90,0x21,0x48,0x40,0xbb,0x07,0xa3,
+ (digital lines) 0xb8,0x81,0x20,0x15,0x63,0x80 }
+ s Sent after issuing { 0x0042,0x05,0x01,0x07,0xa2,0xc8,0x81,0x21,0x15,0x63,0xa8,0x00,0x00,
+ data call 0x07,0xa3,0xb8,0x81,0x20,0x15,0x63,0x80,
+ (non digital lines) 0x01,0x60 }
+ s Send DTMF { 0x0050, length, {ascii codes for DTMF}, 0x01 }
+
+ Note:
+ to make data call (non digital lines):
+ 1.send "Make call" for non digital lines
+ 2.send "Sent after issuing data call (non digital lines)"
+ to make data call (digital lines):
+ 1.send "Answer call part 1"
+ 2.send "Sent after issuing data call (digital lines)"
+ 3.send "Make call" for digital lines
+ to answer call:
+ 1.send "Answer call part 1"
+ 2.send "Answer call part 2"
+
+0x02: SMS handling
+ s Send SMS message { 0x0001, 0x02, 0x00 (SEND REQUEST), ... }
+ r Message sent { 0x0002 }
+ r Send failed { 0x0003, ?, ?, error (like in netmon in 65)}
+ s Get SMS message { 0x0007, 0x02, location, 0x01, 0x64 }
+ s Initiate connection { 0x000d, 0x00, 0x00, 0x02 }
+ r Initiate ACK { 0x000e, 0x01 }
+ r SMS message received { 0x0010, ...... } (whole message)
+ s Set CellBroadcast { 0x0020, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01 }
+ for enable cell broadcast ?
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
+ for disable cell broadcast ?
+ r Set CellBroadcast OK { 0x0021, 0x01 }
+ r Read CellBroadcast { 0x0023, ?, ?, ?, channel, ?, message... } ?
+ s Set SMS center { 0x0030, 0x64, priority, checksum? ,0?, format,
+ validity, {DefaultRecipient no.}[12],
+ {SMScenter no.}[12], {SMSC name}, 0x00}
+ where tel.no.[12]: {len, type, {number(BCD)}}
+ type: 0x81: normal
+ 0x91: + (international)
+ 0xd0: alphanumeric
+ format: 0x00: text
+ 0x22: fax
+ 0x24: voice
+ 0x25: ERMES
+ 0x26: paging
+ 0x31: X.400
+ 0x32: email
+ validity: 0x0b: 1 hour
+ 0x47: 6 hours
+ 0xa7: 24 hours
+ 0xa9: 72 hours
+ 0xad: 1 week
+ 0xff: max.time
+ r Set SMS center OK { 0x0031 }
+ r Set SMS center error { 0x0032, reason }
+ s Get SMS center { 0x0033, 0x64, priority }
+ r SMS center received { 0x0034, priority, checksum?, format, 0x00?,
+ validity, {DefaultRecipient no.}[12],
+ {SMScenter no.}[12], {SMSC name}, 0x00}
+ tel.no[12]: {len, type, {number(BCD)}}
+ where priority, checksum, type, validity,
+ tel.no.[12]: see 0x02/0x0030
+ r SMS center error recv { 0x0035, reason }
+0x03: Phonebook functions
+ s Get mem location { 0x0001, memtype, location, 0 }
+ where memory:
+ 0x01: telephone and SIM phonebook (in one)
+ 0x02: telephone phonebook
+ 0x03: SIM phonebook
+ 0x04: SIM fixdialling-phonebook (?)
+ 0x05: Own numbers
+ 0x07: Dialled numbers
+ 0x08: Missed calls
+ 0x09: Received calls
+ 0x0b: voice mailbox (location not important)
+ r mem location recvd { 0x0002, 0x00,namelen,"name",numlen,"number",groupID, 0x01?, yearLO, yearHI, month, day, hour, minute, sec. }
+ Note: in 3310 all entries have null name ("feature" of bug ?)
+ r mem loc error recvd { 0x0003, errtype }
+ where errtype: 0x7d: invalid memory type
+ s Set mem location { 0x0004, memtype,location,namelen,"Name",numlen,"number",groupID }
+ r mem set OK { 0x0005 }
+ r mem set error { 0x0006, errtype }
+ where errtype: 0x7d: name is too long
+ s Mem status request { 0x0007, memtype }
+ r Mem status recvd { 0x0008, memtype, free, used }
+ r Mem status error recv { 0x0009, errtype }
+ where errtype: 0x6f: mem status error
+ 0x7d: invalid memory type
+ 0x8d: waiting for pin
+ s Get caller group data { 0x0010, groupID }
+ r Get caller group data { 0x0011, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }
+ r Get call.group error { 0x0012, reason }
+ where reason: 0x7d: invalid location
+ s Set caller group data { 0x0013, groupID, size, "Name", ringtoneID, graphic_on?1:0, lenHI, lenLO, OTABitmap (72x14 logo) }
+ r Set caller group OK { 0x0014 }
+ r Set call.group error { 0x0015, reason }
+ where reason: 0x7d: invalid location
+ s Get speed dial { 0x0016, index(1-9) }
+ r Get speed dial OK { 0x0017, mem.type, location }
+ where mem.type: 0x02: ME (== 0 if not stored)
+ 0x03: SIM
+ location: memory location (== 0 if not stored)
+ r Get speed dial error { 0x0018 }
+ s Set speed dial { 0x0019, index(1-9), mem.type, location }
+ r Set speed dial OK { 0x001a }
+ r Set speed dial error { 0x001b }
+0x04: Phone Status
+ s Phone status { 0x0001 }
+ r Phone status { 0x0002, mode, signal str, ???, pwr, batt.level }
+ where mode: 1: registered within the network
+ 2: call in progress
+ 3: waiting for pin
+ 4: powered off
+ pwr: 1: AC/DC
+ 2: battery
+ s Request Phone ID { 0x0003 }
+ r RequestPhone ID { 0x0004, 0x01,"NOKIA""imei", 0, "model", 0, "prod.code", 0, "HW", 0, "firmware", 0x00, 0x01 }
+0x05: Profile settings
+ s Set profile feature { 0x0010, 1, nr, feature, a, 1 }
+ where nr: see 0x05/0x0013
+ feature: see 0x05/0x0014
+ a: see 0x05/0x0014
+ r Set profile feat. OK { 0x0011, 1 }
+ s Get profile feature { 0x0013, 1, nr, feature, 1 }
+ where nr is profile number (general=0, silent, meeting, outdoor, pager, car, headset=6)
+ feature: see 0x05/0x0014
+ r Get profile feature { 0x0014, 1, nr, feature, 4, a, b, c, d, 1 }
+
+ Note: For Nokia 3330 settings num 0x00 .. 0x09 can be assigned
+ separately to each profile (0x00 .. 0x05), but rest are common
+ to all profiles.
+
+ Features and answers (in a, b, c, d form):
+ 0x00: keypad notes (in Nokia 33x0 feature 0x00)
+ xx, 1, 0, 2
+ xx: 0xff: off
+ 0x00: level 1
+ 0x01: level 2
+ 0x02: level 3
+ 0x01: lights (? only in car profile) (what number in Nokia 3310 ?)
+ xx, 0, 0, 1
+ xx: 0x00: off
+ 0x??: on (maybe 0x01)
+ 0x02: incoming call alert (in Nokia 33x0 feature 0x01)
+ xx, 1, 0, 7
+ xx: 1: ringing,
+ 2: beep once,
+ 3: unknown
+ 4: off
+ 5: ring once
+ 6: ascending
+ 7: caller groups (see feature #0x08)
+ 0x03: ringing tone (in Nokia 33x0 feature 0x02)
+ xx, 0, 0, 0
+ xx: 0x12: ring ring
+ 0x13: low
+ etc
+ 0x04: ringing volume (in Nokia 33x0 feature 0x03)
+ xx, 0, 0, 0
+ xx: level 1 (0x06) - level 5 (0x0a)
+ 0x05: message alert tone (in Nokia 33x0 feature 0x04)
+ xx, 1, 0, 4
+ xx: 0: no tone
+ 1: standard
+ 2: special
+ 3: beep once
+ 4: ascending
+ 0x06: vibration (in Nokia 33x0 feature 0x05)
+ xx: 0: off
+ 1: on
+ 2: Vibrate first
+ 0x07: warning and game tones (in Nokia 33x0 feature 0x06 called warning tones)
+ xx, 4, 0, 4
+ xx: 0xff: off
+ 0x04: on
+ 0x07: screen saver - Nokia 33x0
+ xx: 1: on
+ 0: off
+ 0x08: incoming caller groups (what number in Nokia 3310 ?)
+ xx, 0, 0, 0
+ xx: 1: family
+ 2: VIP
+ 4: friends
+ 8: collegues
+ 16: other
+ 0x08: Screen saver -> Timeout (Nokia 33xx):
+ 0x00 = 5 sec
+ 0x01 = 20 sec
+ ....
+
+ 0x09: automatic answer (what number in Nokia 3310 ?)
+ xx, 0, 0, 1
+ xx: 0x00: off
+ 0x01: on
+
+ 0x09: Screen saver -> Screen saver (Nokia 33xx):
+ 0x00 ... 0x0d = Number of picture image
+
+ 0x0a: ???:
+ ...: ???:
+ 0x15: ???: Read only?
+
+ 0x16: ???:
+ 0x00 = ???
+ 0x01 = ???
+
+ 0x17: Phone book -> Options -> Memory in use (Nokia 3330):
+ 0x00 = Phone
+ 0x01 = SIM card
+
+ 0x18: Settings -> Phone settings -> Network selection (Nokia 3330):
+ 0x00 = Automatic
+ 0x01 = Manual
+
+ 0x19 Settings -> Call settings -> Automatic redial(Nokia 3330):
+ 0x00 = Off
+ 0x01 = On
+
+ 0x1a: Settings -> Call settings -> Speed dialling (Nokia 3330):
+ 0x00 = Off
+ 0x01 = On
+
+ 0x1b: Settings -> Call settings -> Own number sending (Nokia 3330):
+ 0x00 = Set by network
+ 0x01 = On
+ 0x02 = Off
+
+ 0x1c: Settings -> Phone settings -> Cell info display (Nokia 3330):
+ 0x00 = Off
+
+ 0x1d: Phone book -> Options -> Type of view (Nokia 3330):
+ 0x00 = Name list
+ 0x01 = Name, number
+ 0x02 = Large font
+
+ 0x1e: Settings -> Phone settings -> Language (Nokia 3330):
+ 0x00 = English
+ 0x07 = Dansk
+ 0x08 = Svenska
+ 0x09 = Suomi
+ 0x0c = Turcke
+ 0x0e = Norsk
+ 0x10 = Automatic
+
+ 0x32 = Reboots ME (3330)
+
+ 0x1f: ???: Read only? (3330)
+
+ 0x20: Messages -> Message settings -> Common -> Reply via same centre (N3330):
+ 0x00 = No
+ 0x01 = Yes
+
+ 0x21: Messages -> Message settings -> Common -> Delivery reports (3330):
+ 0x00 = No
+ 0x01 = Yes
+
+ 0x22: Clock -> Clock settings -> Show/Hide clock (3330):
+ 0x00 = Show
+ 0x01 = Hide
+
+ 0x23: Clock -> Clock settings -> Time format (N3330):
+ 0x00 = 24-hour
+ 0x01 = 12-hour
+
+ 0x24: Select profile (N3330):
+ 0x00 = General
+ 0x01 ... 0x05 = rest of them
+
+ 0x25: ???: Read only? (N3330)
+
+ 0x26: Settings -> Phone settings -> Confirm SIM service actions (N3330):
+ 0x00 = Not asked
+ 0x01 = Asked
+
+ 0x27: Messages -> Write messages -> Options -> Dictionary (N3330):
+ 0x00 = Off
+ 0x01 = English
+ 0x0a = Suomi
+
+ 0x28: Messages -> Message settings -> Common -> Character support (N3330):
+ 0x00 = Automatic
+ 0x01 = GSM alphabet
+ 0x02 = Unicode
+
+ 0x29: Startup logo settings (N33x0):
+ 0x00 = Your own uploaded logo
+ 0x01 = Nokia
+ 0x02 = Draft HUMAN technology(tm)
+ 0x03 = Itineris
+
+ 0x2a:???: 0x00 = ??? 0x01 = ??? (N3330)
+
+ 0x2b: ???: 0x00 = ??? 0x01 = ??? (N3330)
+
+ 0x2c: ???: Read only? (N3330)
+
+ 0x2d: Clock -> Auto update of date and time (N3330):
+ 0x00 = Off
+ 0x01 = Confirm first
+ 0x02 = On
+
+ s Get welcome message { 0x0016 }
+ r Get welcome message { 0x0017, no.of blocks, { block } * }
+ where block: { id, {blockspecific} }
+ id: 1: startup logo { y, x, picture (coding?) }
+ 2: welcome note { len, "message" }
+ 3: operator msg { len, "message" }
+ s Set welcome message { 0x0018, no.of blocks, { block } * }
+ where block: see 0x05/0x0017
+ r Set welcome OK { 0x0019, 0x01 }
+ s Get profile name { 0x001a, nr }
+ where nr: see 0x05/0x0013
+ r Profile name { 0x001b, 1, 1, 3, flen, nr, len, {text} }
+ where nr: see 0x05/0x0013
+ len: text length
+ flen len + len(nr, len) = len + 2
+ Note: in Nokia 3310 name is in Unicode
+ s ??? { 0x001c }
+ r ??? { 0x001d, 0x93 }
+ s Set oplogo { 0x0030, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }
+ r Set oplogo OK { 0x0031 }
+ r Set oplogo error { 0x0032, reason }
+ where reason: 0x7d invalid location
+ s Get oplogo { 0x0033, location }
+ where location: 1 (doesn't seem to matter)
+ r Get oplogo { 0x0034, location, MCC1, MCC2, MNC, lenhi=0x00, lenlo=0x82, OTABitmap }
+ r Get oplogo error { 0x0035, reason }
+ where reason: 0x7d invalid location
+ s Set ringtone { 0x0036, location,0x00,0x78, ringtone packed according to SM2.0}
+ r Set ringtone OK { 0x0037 }
+ r Set ringtone error { 0x0038, reason }
+ where reason=0x7d, when not supported location
+ s Get services settings { 0x0080, setting (2 bytes) }
+ where: setting: 0x02,0x00=Nokia access number 1
+ 0x02,0x01=Operator access number 1
+ 0x01,0x00=Personal bookmark 1 settings (name only ?)
+ 0x01,0x01=?
+ 0x02,0x02=?
+ r Get services sett.OK { 0x0081, .... }
+ r Get services sett.err { 0x0082, 0x7b }
+0x06: Calling line restriction/Call forwarding etc
r Get call divert { 0x0001, 0x02, x, 0x00, divtype, 0x02, calltype, y, z, 0x0b, number, 0x00...0x00, timeout (byte 45) }
s Set call divert { 0x0001, 0x03, 0x00, divtype, calltype, 0x01, number(packed like in SMS), 0x00 ... 0x00,
length of number (byte 29), 0x00 ... 0x00, timeout (byte 52), 0x00, 0x00, 0x00}
- NOTE: msglen=0x37\r
- where timeout:\r
- 0x00: not set ?\r
- 0x05: 5 second\r
- 0x0a: 10 second\r
- 0x0f: 15 second\r
- 0x14: 20 second\r
- 0x19: 25 second\r
- 0x1e: 30 second\r
- where divtype:\r
- 0x02: all diverts for all call types ?\r
- Found only, when deactivate all diverts for all call types (with call type 0x00)\r
- 0x15: all calls\r
- 0x43: when busy\r
- 0x3d: when not answered\r
- 0x3e: if not reached\r
- calltype:\r
- 0x00: all calls (data, voice, fax)\r
- 0x0b: voice calls\r
- 0x0d: fax calla\r
- 0x19: data calls\r
- s Deactivate calldiverts{ 0x0001, 0x04, 0x00, divtype, calltype, 0x00 }\r
- where divtype, calltype: see above\r
- s Get call diverts { 0x0001, 0x05, 0x00, divtype, calltype, 0x00 }\r
- where divtype, calltype: see above\r
- r Get prepaid(?) info { 0x0005, ?,?,?,length,message(packed like in 7bit SMS)}\r
-0x07:\r
- s ??? { 0x0022, ? (1&2 sounds OK) }\r
- r ??? OK { 0x0023, ?,?,? }\r
- r ??? error { 0x0024, reason }\r
- s ??? { 0x0025, ??? }\r
- r ??? OK { 0x0026, ??? }\r
- r ??? error { 0x0027, reason }\r
-0x08: Security codes\r
- s Change code { 0x0004, code, "current", 0x00, "new", 0x00 }\r
- where code: 1: security code (5 chars)\r
- 2: PIN (4 chars)\r
- 3: PIN2 (4 chars)\r
- 4: PUK (8 chars)\r
- 5: PUK2 (8 chars)\r
- s Status request { 0x0007, 0x01 }\r
- r pin recvd { 0x0008, accepted }\r
- where accepted: 0x0c (or 0x06): OK\r
- code: waiting for (0x08/0x0004) code\r
- s entering code { 0x000a, code, "code", 0x00 }\r
- where code: see 0x08/0x0004\r
-0x09: SIM login\r
- r login { 0x0080 }\r
- r logout { 0x0081 }\r
-0x0a: Network status\r
- s Key duplication on/off{ 0x0044, on? 0x01: 0x02 }\r
- s get used network { 0x0070 }\r
- r network registration { 0x0071, ?,?,?,length,netstatus,netsel,cellIDH,cellIDL,lacH,lacL,netcode,netcode,netcode }\r
-0x0c: Keys\r
- s Get key assignments { 0x0040, 0x01 }\r
- r Get key assignments { 0x0041, {key '1'}, 0x00, {key '2'} ... {key '0'}, 0,0,0, {symbols}, 0 }\r
- where {key '0'} => ' ', '0'\r
- s Press key { 0x0042, press: 0x01; release: 0x02, button, 0x01 }\r
- where button: 0x01 - 0x09: 1-9\r
- 0x0a: 0\r
- 0x0b: #\r
- 0x0c: *\r
- 0x0d: Power\r
- 0x0e: Pick up phone\r
- 0x0f: Hang\r
- 0x10: Volume +\r
- 0x11: Volume -\r
- 0x17: Up\r
- 0x18: Down\r
- 0x19: Menu\r
- 0x1a: Names\r
- 0x1B onwards: don't know but they do produce\r
- a beep and light up the keypad as if\r
- a key had been pressed. \r
- r Press key ack { 0x0043, press/release/error(0x05) }\r
- s ??? { 0x0044 }\r
- r ??? ack { 0x0045, 0x01 }\r
-0x0d: Status\r
- r Display { 0x0050, 0x01, y, x, len, "string"(unicode) }\r
- s Status request { 0x0051 }\r
- r Status { 0x0052, no. of byte pairs, {byte pair} }\r
- where {byte pair}: {cmd, 1:off 2:on}\r
- cmd: 1: call in progress\r
- 2: ???\r
- 3: have unread sms\r
- 4: voice call active\r
- 5: fax call active\r
- 6: data call active\r
- 7: key lock active\r
- 8: is SMS storage full\r
- s Display status { 0x0053, 1:on 2:off }\r
- (will send displayed messages with x,y coordinates)\r
- r Display status ack { 0x0054, 1 }\r
-0x11: Phone clock & alarm\r
- s set date and time { 0x0060, 1,1,7,yearh,yearl,month,mday,hour,min,0x00 }\r
- r date and time set { 0x0061 }\r
- s get date and time { 0x0062 }\r
- r date and time recvd { 0x0063,date_set?,time_set?,?,?,yearh,yearl,month,mday,hour,min,second }\r
- where: date_set & time_set==0x01 - set\r
- 0x00 - not set, ?,?,yearh,yearl,month,mday,hour,min,second\r
- not available in frame\r
- s set alarm { 0x006b, 1,32,3,0x02(on-off),hour,min,0x00 }\r
- r alarm set { 0x006c }\r
- s get alarm { 0x006d }\r
- r alarm received { 0x006e,?,?,?,?,alrm(==2:on),hour,min }\r
-0x12: Connect to NBS port (61xx only ?)\r
- s Send {+0x0c, 0x01, UDH header, data}\r
- (without 0,1 header -- for oplogo, cli, ringtone etc upload)\r
- where: UDH header = 0x06, 0x05, 0x04,destporth,destportl,srcporth,srcportl\r
-0x13: Calendar notes\r
- s Write calendar note { 0x0064, 0x01, 0x10, length, type, yearH, yearL, month, day, hour, timezone,\r
- alarm?(alarm yearH, yearL, month, day, hour, timezone): (0,0,0,0,0,0),\r
- textlen, "text" }\r
- r Write cal.note report { 0x0065, return }\r
- where return: 0x01: ok\r
- 0x73: failure\r
- 0x81: calendar functions busy. Exit Calendar menu and try again\r
- s Calendar notes set { 0x0066... }\r
- r Calendar note recvd { 0x0067, 0x01, ?, length, type, yrH,yrL,mon,day,hr,tz,alrm yrH,yrL,mon,day,hr,tz,textlen, "text" }\r
- r Cal.note recvd error { 0x0067, err }\r
- where err: 0x93: not available\r
- (0x01: OK)\r
- other: error\r
- s Delete cal.note { 0x0068, location }\r
- r Del. cal.note report { 0x0069, err }\r
- where err: 0x01: OK\r
- 0x93: cannot delete\r
-0x14: SMS funcs\r
- s Write SMS to SIM { 0x0004, .... }\r
- s Mark SMS as read { 0x0007, 0x02, location, 0x00, 0x64 }\r
- r SMS message frame rcv { 0x0008,subtype,?,num,?,BCD(smscenter)...} 20->type, 22->status\r
- where type: 0x06: delivery report \r
- status: 0x00: delivered\r
- 0x30: pending\r
- 0x46: failed\r
- 0x09: reading failed\r
- subtype: 0x02: invalid mem type\r
- 0x07: empty SMS location\r
- 0x0c: no access to memory (no PIN in card, etc.)\r
- s Delete SMS message { 0x000a, 0x02, location }\r
- r Delete OK { 0x000b }\r
- s SMS status request { 0x0036, 0x64 }\r
- r SMS status { 0x0037,?,?,?,?,?,?,msgnumber,unread }\r
- r SMS status error { 0x0038 }\r
-0x3f: WAP \r
- s Enable WAP frames { 0x0000}\r
- r Enable WAP frames { 0x0002, 0x01}\r
-\r
- s ?? { 0x0003}\r
- r ?? { 0x0004}\r
-\r
- s Get WAP bookmark { 0x0006, 0x00, location}\r
- where location: 0 - 14\r
- r Get WAP bookmark { 0x0007, 0x00, name_len, name(unicode),\r
- url_len, url(unicode), 0x01,0x80,0x00[7]}\r
- r Get WAP bookmark err { 0x0008, error }\r
- where error:\r
- 0x00(?)invalid position\r
- 0x01 user inside "Bookmarks" menu. Must leave it\r
- 0x02 invalid/too high/empty location\r
-\r
- s Set WAP bookmark { 0x0009, 0xff, 0xff, name_len, name(unicode),\r
- url_len, url(unicode), 0x01,0x80,0x00[7] }\r
- Note: bookmark is added to the first free location.\r
- r Set WAP bookmark OK {+0x01, 0x36, 0x0a, block }\r
- where block:\r
- 0x0a, location_of_just_written_bookmark(?),\r
- 0x00, next_free_location(?)\r
- r Set WAP bookmark err {+0x01, 0x36, 0x0b, error }\r
- where error:\r
- 0x04 - memory is full\r
- 0x01 - we are in the bookmark menu\r
- 0x00 - unknown reason for now ;(\r
-\r
-? s Delete WAP bookmark { 0x000c, 0x00, location }\r
- where: location = 0-14\r
-? r Delete WAR bookmark OK{ 0x000d }\r
-? r Delete WAPbookmark err{ 0x000e, 0x02 }\r
-\r
- s ?? { 0x000F}\r
- r ?? { 0x0010, 0x00}\r
-\r
- s Get WAP settings 1 { 0x0015, location}\r
- where location: 0x00 - 0x05\r
- r Get WAP settings 1 OK { 0x0016, title length, title (Unicode), URL length, URL(Unicode),con_type, ???[6 bytes],location, ???[5 bytes],security,...}\r
- where:\r
- con_type: 0x00 - temporary\r
- 0x01 - continuous\r
- location: when use "Get WAP settings 2 frame", must give it\r
- security: 0x00 = no, 0x01 = yes\r
- r Get WAP settings 1 err{ 0x0017, error }\r
- where error:\r
- 0x01 user inside "Settings" menu. Must leave it\r
- 0x02 invalid/too high/empty location\r
-\r
- s Get WAP settings 2 { 0x001b, location}\r
- where location: 0x00 - 0x1d (you get it in "Get WAP settings 1" frame)\r
- r Get WAP settings 2 OK { 0x001c, 0x01, type, frame...}\r
- where type : 0x00 - SMS bearer\r
- frame:\r
- service_num_len, service_num (Unicode), server_num_len, server_num(Unicode)\r
- 0x01 - data bearer\r
- frame:\r
- auth, call_type, call_speed, ?, IP len, IP (Unicode), dialup len, dialup (Unicode),\r
- user len, user (Unicode), password len, password (Unicode)\r
- where auth: 0x00 - normal, 0x01 - secure\r
- call_type: 0x00 - analogue, 0x01 - ISDN\r
- call_speed: 0x00 - 9600, 0x01 - 14400\r
- 0x02 - USSD bearer\r
- frame: type, service number len/IP len,service num (Unicode)/IP (Unicode),service code len,\r
- service code (Unicode)\r
- where type: 0x01 - service number, 0x00 - IP\r
- r Get WAP settings 2 err{ 0x001d,error}\r
- where: error=0x05 \r
-0x40: Security commands\r
- s ??? {+0x00, 0x00, 0x07, 0x11, 0x00, 0x10, 0x00, 0x00}\r
- This frame hangs phone (N3310 4.02). Meaning unknown !\r
+ NOTE: msglen=0x37
+ where timeout:
+ 0x00: not set ?
+ 0x05: 5 second
+ 0x0a: 10 second
+ 0x0f: 15 second
+ 0x14: 20 second
+ 0x19: 25 second
+ 0x1e: 30 second
+ where divtype:
+ 0x02: all diverts for all call types ?
+ Found only, when deactivate all diverts for all call types (with call type 0x00)
+ 0x15: all calls
+ 0x43: when busy
+ 0x3d: when not answered
+ 0x3e: if not reached
+ calltype:
+ 0x00: all calls (data, voice, fax)
+ 0x0b: voice calls
+ 0x0d: fax calla
+ 0x19: data calls
+ s Deactivate calldiverts{ 0x0001, 0x04, 0x00, divtype, calltype, 0x00 }
+ where divtype, calltype: see above
+ s Get call diverts { 0x0001, 0x05, 0x00, divtype, calltype, 0x00 }
+ where divtype, calltype: see above
+ r Get prepaid(?) info { 0x0005, ?,?,?,length,message(packed like in 7bit SMS)}
+0x07:
+ s ??? { 0x0022, ? (1&2 sounds OK) }
+ r ??? OK { 0x0023, ?,?,? }
+ r ??? error { 0x0024, reason }
+ s ??? { 0x0025, ??? }
+ r ??? OK { 0x0026, ??? }
+ r ??? error { 0x0027, reason }
+0x08: Security codes
+ s Change code { 0x0004, code, "current", 0x00, "new", 0x00 }
+ where code: 1: security code (5 chars)
+ 2: PIN (4 chars)
+ 3: PIN2 (4 chars)
+ 4: PUK (8 chars)
+ 5: PUK2 (8 chars)
+ s Status request { 0x0007, 0x01 }
+ r pin recvd { 0x0008, accepted }
+ where accepted: 0x0c (or 0x06): OK
+ code: waiting for (0x08/0x0004) code
+ s entering code { 0x000a, code, "code", 0x00 }
+ where code: see 0x08/0x0004
+0x09: SIM login
+ r login { 0x0080 }
+ r logout { 0x0081 }
+0x0a: Network status
+ s Key duplication on/off{ 0x0044, on? 0x01: 0x02 }
+ s get used network { 0x0070 }
+ r network registration { 0x0071, ?,?,?,length,netstatus,netsel,cellIDH,cellIDL,lacH,lacL,netcode,netcode,netcode }
+0x0c: Keys
+ s Get key assignments { 0x0040, 0x01 }
+ r Get key assignments { 0x0041, {key '1'}, 0x00, {key '2'} ... {key '0'}, 0,0,0, {symbols}, 0 }
+ where {key '0'} => ' ', '0'
+ s Press key { 0x0042, press: 0x01; release: 0x02, button, 0x01 }
+ where button: 0x01 - 0x09: 1-9
+ 0x0a: 0
+ 0x0b: #
+ 0x0c: *
+ 0x0d: Power
+ 0x0e: Pick up phone
+ 0x0f: Hang
+ 0x10: Volume +
+ 0x11: Volume -
+ 0x17: Up
+ 0x18: Down
+ 0x19: Menu
+ 0x1a: Names
+ 0x1B onwards: don't know but they do produce
+ a beep and light up the keypad as if
+ a key had been pressed.
+ r Press key ack { 0x0043, press/release/error(0x05) }
+ s ??? { 0x0044 }
+ r ??? ack { 0x0045, 0x01 }
+0x0d: Status
+ r Display { 0x0050, 0x01, y, x, len, "string"(unicode) }
+ s Status request { 0x0051 }
+ r Status { 0x0052, no. of byte pairs, {byte pair} }
+ where {byte pair}: {cmd, 1:off 2:on}
+ cmd: 1: call in progress
+ 2: ???
+ 3: have unread sms
+ 4: voice call active
+ 5: fax call active
+ 6: data call active
+ 7: key lock active
+ 8: is SMS storage full
+ s Display status { 0x0053, 1:on 2:off }
+ (will send displayed messages with x,y coordinates)
+ r Display status ack { 0x0054, 1 }
+0x11: Phone clock & alarm
+ s set date and time { 0x0060, 1,1,7,yearh,yearl,month,mday,hour,min,0x00 }
+ r date and time set { 0x0061 }
+ s get date and time { 0x0062 }
+ r date and time recvd { 0x0063,date_set?,time_set?,?,?,yearh,yearl,month,mday,hour,min,second }
+ where: date_set & time_set==0x01 - set
+ 0x00 - not set, ?,?,yearh,yearl,month,mday,hour,min,second
+ not available in frame
+ s set alarm { 0x006b, 1,32,3,0x02(on-off),hour,min,0x00 }
+ r alarm set { 0x006c }
+ s get alarm { 0x006d }
+ r alarm received { 0x006e,?,?,?,?,alrm(==2:on),hour,min }
+0x12: Connect to NBS port (61xx only ?)
+ s Send {+0x0c, 0x01, UDH header, data}
+ (without 0,1 header -- for oplogo, cli, ringtone etc upload)
+ where: UDH header = 0x06, 0x05, 0x04,destporth,destportl,srcporth,srcportl
+0x13: Calendar notes
+ s Write calendar note { 0x0064, 0x01, 0x10, length, type, yearH, yearL, month, day, hour, timezone,
+ alarm?(alarm yearH, yearL, month, day, hour, timezone): (0,0,0,0,0,0),
+ textlen, "text" }
+ r Write cal.note report { 0x0065, return }
+ where return: 0x01: ok
+ 0x73: failure
+ 0x81: calendar functions busy. Exit Calendar menu and try again
+ s Calendar notes set { 0x0066... }
+ r Calendar note recvd { 0x0067, 0x01, ?, length, type, yrH,yrL,mon,day,hr,tz,alrm yrH,yrL,mon,day,hr,tz,textlen, "text" }
+ r Cal.note recvd error { 0x0067, err }
+ where err: 0x93: not available
+ (0x01: OK)
+ other: error
+ s Delete cal.note { 0x0068, location }
+ r Del. cal.note report { 0x0069, err }
+ where err: 0x01: OK
+ 0x93: cannot delete
+0x14: SMS funcs
+ s Write SMS to SIM { 0x0004, .... }
+ s Mark SMS as read { 0x0007, 0x02, location, 0x00, 0x64 }
+ r SMS message frame rcv { 0x0008,subtype,?,num,?,BCD(smscenter)...} 20->type, 22->status
+ where type: 0x06: delivery report
+ status: 0x00: delivered
+ 0x30: pending
+ 0x46: failed
+ 0x09: reading failed
+ subtype: 0x02: invalid mem type
+ 0x07: empty SMS location
+ 0x0c: no access to memory (no PIN in card, etc.)
+ s Delete SMS message { 0x000a, 0x02, location }
+ r Delete OK { 0x000b }
+ s SMS status request { 0x0036, 0x64 }
+ r SMS status { 0x0037,?,?,?,?,?,?,msgnumber,unread }
+ r SMS status error { 0x0038 }
+0x3f: WAP
+ s Enable WAP frames { 0x0000}
+ r Enable WAP frames { 0x0002, 0x01}
+
+ s ?? { 0x0003}
+ r ?? { 0x0004}
+
+ s Get WAP bookmark { 0x0006, 0x00, location}
+ where location: 0 - 14
+ r Get WAP bookmark { 0x0007, 0x00, name_len, name(unicode),
+ url_len, url(unicode), 0x01,0x80,0x00[7]}
+ r Get WAP bookmark err { 0x0008, error }
+ where error:
+ 0x00(?)invalid position
+ 0x01 user inside "Bookmarks" menu. Must leave it
+ 0x02 invalid/too high/empty location
+
+ s Set WAP bookmark { 0x0009, 0xff, 0xff, name_len, name(unicode),
+ url_len, url(unicode), 0x01,0x80,0x00[7] }
+ Note: bookmark is added to the first free location.
+ r Set WAP bookmark OK {+0x01, 0x36, 0x0a, block }
+ where block:
+ 0x0a, location_of_just_written_bookmark(?),
+ 0x00, next_free_location(?)
+ r Set WAP bookmark err {+0x01, 0x36, 0x0b, error }
+ where error:
+ 0x04 - memory is full
+ 0x01 - we are in the bookmark menu
+ 0x00 - unknown reason for now ;(
+
+? s Delete WAP bookmark { 0x000c, 0x00, location }
+ where: location = 0-14
+? r Delete WAR bookmark OK{ 0x000d }
+? r Delete WAPbookmark err{ 0x000e, 0x02 }
+
+ s ?? { 0x000F}
+ r ?? { 0x0010, 0x00}
+
+ s Get WAP settings 1 { 0x0015, location}
+ where location: 0x00 - 0x05
+ r Get WAP settings 1 OK { 0x0016, title length, title (Unicode), URL length, URL(Unicode),con_type, ???[6 bytes],location, ???[5 bytes],security,...}
+ where:
+ con_type: 0x00 - temporary
+ 0x01 - continuous
+ location: when use "Get WAP settings 2 frame", must give it
+ security: 0x00 = no, 0x01 = yes
+ r Get WAP settings 1 err{ 0x0017, error }
+ where error:
+ 0x01 user inside "Settings" menu. Must leave it
+ 0x02 invalid/too high/empty location
+
+ s Get WAP settings 2 { 0x001b, location}
+ where location: 0x00 - 0x1d (you get it in "Get WAP settings 1" frame)
+ r Get WAP settings 2 OK { 0x001c, 0x01, type, frame...}
+ where type : 0x00 - SMS bearer
+ frame:
+ service_num_len, service_num (Unicode), server_num_len, server_num(Unicode)
+ 0x01 - data bearer
+ frame:
+ auth, call_type, call_speed, ?, IP len, IP (Unicode), dialup len, dialup (Unicode),
+ user len, user (Unicode), password len, password (Unicode)
+ where auth: 0x00 - normal, 0x01 - secure
+ call_type: 0x00 - analogue, 0x01 - ISDN
+ call_speed: 0x00 - 9600, 0x01 - 14400
+ 0x02 - USSD bearer
+ frame: type, service number len/IP len,service num (Unicode)/IP (Unicode),service code len,
+ service code (Unicode)
+ where type: 0x01 - service number, 0x00 - IP
+ r Get WAP settings 2 err{ 0x001d,error}
+ where: error=0x05
+0x40: Security commands
+ s ??? {+0x00, 0x00, 0x07, 0x11, 0x00, 0x10, 0x00, 0x00}
+ This frame hangs phone (N3310 4.02). Meaning unknown !
s Open simlock 1 { 0x02, 0x03, 0x1f, 0x11, 0x01, 0x01, 0x10, 0x00}
r Open simlock 1 { 0x02 }
- s ???(N6150) { 0x08, 0x00 }\r
- r ???(N6150) { 0x08 }\r
- s Enable extended cmds { 0x64, cmd }\r
- where cmd: 0x00: off\r
- 0x01: on\r
+ s ???(N6150) { 0x08, 0x00 }
+ r ???(N6150) { 0x08 }
+ s Enable extended cmds { 0x64, cmd }
+ where cmd: 0x00: off
+ 0x01: on
0x02: enter service mode ?
- 0x03: reset (doesn't ask for PIN again)\r
- 0x04: reset (PIN is requested)\r
- In 5110 makes reset without PIN\r
- 0x06: CONTACT SERVICE!!! Don't try it!\r
+ 0x03: reset (doesn't ask for PIN again)
+ 0x04: reset (PIN is requested)
+ In 5110 makes reset without PIN
+ 0x06: CONTACT SERVICE!!! Don't try it!
s Reset phone settings { 0x65, value, 0x00 }
where value: 0x08 - reset UI (User Interface) settings
0x38 - reset UI, SCM and call counters
r Reset phone settings { 0x65, 0x00 }
- s Get IMEI { 0x66 }\r
- r Get IMEI { 0x66, 0x01, IMEI, 0x00}\r
- s (ACD Readings)?(N6150 { 0x68 }\r
- r (ACD Readings)?(N6150 { 0x68, ... }\r
- s Get Product Profile\r
- Settings { 0x6a}\r
- r Get Product Profile\r
- Settings { 0x6a, 4bytes with Product Profile Settings }\r
- s Set Product Profile\r
- Settings { 0x6b, 4bytes with Product Profile Settings }\r
- r Set Product Profile\r
- Settings OK ? { 0x6b }\r
- s Get code { 0x6e, code }\r
- where code: see 0x08/0x0004 (only sec.code is allowed)\r
- r Get code { 0x6e, code, allowed, allowed? (sec code (text)) }\r
- where code: see 0x08/0x0004\r
- allowed: 0: no\r
- 1: yes\r
+ s Get IMEI { 0x66 }
+ r Get IMEI { 0x66, 0x01, IMEI, 0x00}
+ s (ACD Readings)?(N6150 { 0x68 }
+ r (ACD Readings)?(N6150 { 0x68, ... }
+ s Get Product Profile
+ Settings { 0x6a}
+ r Get Product Profile
+ Settings { 0x6a, 4bytes with Product Profile Settings }
+ s Set Product Profile
+ Settings { 0x6b, 4bytes with Product Profile Settings }
+ r Set Product Profile
+ Settings OK ? { 0x6b }
+ s Get code { 0x6e, code }
+ where code: see 0x08/0x0004 (only sec.code is allowed)
+ r Get code { 0x6e, code, allowed, allowed? (sec code (text)) }
+ where code: see 0x08/0x0004
+ allowed: 0: no
+ 1: yes
s Set code { 0x6f, code, sec code(text), 0x00 }
- where code: see 0x08/0x0004\r
- s Start monitoring { 0x70, block }\r
- where block(N6150):\r
- 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,\r
- 0xff,0xff,0xff,0xff,0xff,0xf9,0x76,0x65,0x20,0x00,\r
- 0x00,0x00,0x00,0x00,0x18,0x26,0x15,0x7d,0x0a,0x00,\r
- 0xf5,0x82,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,\r
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x77,0x80,\r
- 0x77,0x80,0xf2,0x82,0x20,0x20,0x20,0x20,0x20,0x20,\r
- 0x20,0x20,0x20,0x20\r
- This block enables probably all possible monitorred parameters.\r
- After it phone sends 0x00 message type values\r
- s Break monitoring { 0x71 }\r
- r Break monitoring { 0x71 }\r
- s Reset Permanent\r
- Counters (nm->test36) { 0x74, 0x01, 0x01, 0x0e }\r
- r Reset Permanent\r
- Counters (nm->test36) { 0x74 }\r
- s Call commands { 0x7c, block }\r
- where where: command, (values)\r
- command: 0x01\r
- values: number(ASCII), 0x00 - makes voice call\r
- command: 0x02 - answer call\r
- command: 0x03 - release call\r
- r Call commands { 0x7c, command }\r
- s Netmonitor { 0x7e, field }\r
- where: field: 00: next\r
- F0: reset\r
- F1: off\r
- F2: field test menus\r
- F3: developer menus\r
+ where code: see 0x08/0x0004
+ s Start monitoring { 0x70, block }
+ where block(N6150):
+ 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xf9,0x76,0x65,0x20,0x00,
+ 0x00,0x00,0x00,0x00,0x18,0x26,0x15,0x7d,0x0a,0x00,
+ 0xf5,0x82,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x77,0x80,
+ 0x77,0x80,0xf2,0x82,0x20,0x20,0x20,0x20,0x20,0x20,
+ 0x20,0x20,0x20,0x20
+ This block enables probably all possible monitorred parameters.
+ After it phone sends 0x00 message type values
+ s Break monitoring { 0x71 }
+ r Break monitoring { 0x71 }
+ s Reset Permanent
+ Counters (nm->test36) { 0x74, 0x01, 0x01, 0x0e }
+ r Reset Permanent
+ Counters (nm->test36) { 0x74 }
+ s Call commands { 0x7c, block }
+ where where: command, (values)
+ command: 0x01
+ values: number(ASCII), 0x00 - makes voice call
+ command: 0x02 - answer call
+ command: 0x03 - release call
+ r Call commands { 0x7c, command }
+ s Netmonitor { 0x7e, field }
+ where: field: 00: next
+ F0: reset
+ F1: off
+ F2: field test menus
+ F3: developer menus
s Open simlock 2 { 0x81, 0x01, locknumber, 0x10, 0x10, 0x10, 0x10, 0x10 }
Note: sets simlock type to factory?
where locknumber: 1,2,4,8
s Close simlock { 0x82, 0x01, locknumber, 0x00, 0x00, locksinfo(lock1,4,2,3), 0x00 }
where locknumber: 1,2,4,8
r Close simlock { 0x82, the rest like in 0x40/0x8a }
- s Get simlock info { 0x8a, 0x00}\r
- r Get simlock info { 0x8a, 0x00, 0x01, lockstype, locksclosed, 0x00, 0x00, locksinfo(lock1,4,2,3), counter1,counter2,counter4,counter4,0x00 }\r
- where: lockstype: bit1,bit2,bit3,bit4 - if set, selected lock is user lock\r
- locksclosed: bit1,bit2,bit3,bit4 - if set, selected lock is closed\r
- counter1 - counter4: counters for locks\r
- s Set downloaded OpName { 0x8b, 0x00, MCC1, MCC2, MNC, Name, 0x00 }\r
- r SetdownloadedOpNameOK?{ 0x8b, 0x00, 0x01 }\r
- s Get downloaded OpName { 0x8c, 0x00 }\r
- r Get downloaded OpName { 0x8c, 0x00, 0x01, MCC1, MCC2, MNC, Name, 0x00,...}\r
- s Buzzer pitch { 0x8f, volume, hzLO, hzHI }\r
- if volume and hz is 0, it's off\r
- r Buzzer pitch { 0x8f}\r
- s ACD Readings ? { 0x91, parameter?(0x02,0x03,0x04,0x05,0x07) }\r
- r ACD Readings ? { 0x91, parameter?, value? }\r
+ s Get simlock info { 0x8a, 0x00}
+ r Get simlock info { 0x8a, 0x00, 0x01, lockstype, locksclosed, 0x00, 0x00, locksinfo(lock1,4,2,3), counter1,counter2,counter4,counter4,0x00 }
+ where: lockstype: bit1,bit2,bit3,bit4 - if set, selected lock is user lock
+ locksclosed: bit1,bit2,bit3,bit4 - if set, selected lock is closed
+ counter1 - counter4: counters for locks
+ s Set downloaded OpName { 0x8b, 0x00, MCC1, MCC2, MNC, Name, 0x00 }
+ r SetdownloadedOpNameOK?{ 0x8b, 0x00, 0x01 }
+ s Get downloaded OpName { 0x8c, 0x00 }
+ r Get downloaded OpName { 0x8c, 0x00, 0x01, MCC1, MCC2, MNC, Name, 0x00,...}
+ s Buzzer pitch { 0x8f, volume, hzLO, hzHI }
+ if volume and hz is 0, it's off
+ r Buzzer pitch { 0x8f}
+ s ACD Readings ? { 0x91, parameter?(0x02,0x03,0x04,0x05,0x07) }
+ r ACD Readings ? { 0x91, parameter?, value? }
s Sleep mode test { 0x92, 0x00, 0x00, howlong(2 bytes), enable }
where: enable == 0x01 - enable after test
0x00 - don't enable after test
howlong (ms) = 0x07, 0xd0 = 2000
- s ???(N6150) { 0x98, 0x00 }\r
- r ???(N6150) { 0x98, 0x00, 0x04 }\r
- s Get bin ringtone { 0x9e, location }\r
- where: location=0,1,etc.\r
- r Get bin ringtone { 0x9e, location, error, contents... }\r
- where location=0,1,etc.\r
- error=0x0a, ringtone NOT available\r
- 0x00, OK\r
- s Set bin ringtone { 0xa0, location, 0x00, contenst... }\r
- where: location=0,1,etc.\r
- r Set bin ringtone { 0xa0, location, error }\r
- where location=0,1,etc.\r
- error=0x0a, ringtone NOT set\r
- 0x00, ringtone set OK\r
- r Get MSid { 0xb5, 0x01, 0x2f, msid, 0x25 }\r
- s Get info about phone { 0xc8, 0x01 }\r
- r Get info about phone { 0xc8, 0x01, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }\r
- s Get MCU SW Checksum { 0xc8, 0x02 }\r
- r Get MCU SW Checksum { 0xc8, 0x02, 0x00, checksum (4 bytes),0x00 }\r
- s DPS External SW { 0xc7, 0x03 }\r
- r DSP External SW { 0xc7, 0x03, 0x00, string,0x00 }\r
- s Get HW { 0xc8, 0x05 }\r
- r Get HW { 0xc8, 0x05, 0x00, HW version (4 bytes), 0x00 }\r
- s Get "Made" Date { 0xc8, 0x05 }\r
- r Get "Made" Date { 0xc8, 0x05, 0x00, date(4 bytes), 0x00 }\r
- s Get DSP Internal SW { 0xc8, 0x09 }\r
- r Get DSP Internal SW { 0xc8, 0x09, 0x00, version (1 bytes), 0x00 }\r
- s Get PCI version { 0xc8, 0x0b }\r
- r Get PCI version { 0xc8, 0x0b, 0x00, version, 0x00 }\r
- s Get system ASIC { 0xc8, 0x0c }\r
- r Get system ASIC { 0xc8, 0x0c, 0x00, string, 0x00 }\r
- s Get COBBA { 0xc8, 0x0d }\r
- r Get COBBA { 0xc8, 0x0d, 0x00, string, 0x00 }\r
- s Get PLUSSA { 0xc8, 0x0e }\r
- r Get PLUSSA { 0xc8, 0x0e, available, 0x00 }\r
- where available: 0x01: not available\r
- s Get CCONT { 0xc8, 0x0f }\r
- r Get CCONT { 0xc8, 0x0f, available, 0x00 }\r
- where available: 0x01: not available\r
- s Get PPM version { 0xc8, 0x10 }\r
- r Get PPM version { 0xc8, 0x10, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }\r
- s Get PPM info { 0xc8, 0x12 }\r
- r Get PPM info { 0xc8, 0x12, 0x00, PPM version ("B", "C", etc.), 0x00 }\r
- s Set HW version { 0xc9, 0x05, version, 0x00 }\r
- s Get Product Code { 0xca, 0x01 }\r
- r Get Product Code { 0xca, 0x01, 0x00, number, 0x00 }\r
- s Get Order Number { 0xca, 0x02 }\r
- r Get Order Number { 0xca, 0x02, 0x00, string, 0x00 }\r
- s Get Prod.Ser.Number { 0xca, 0x03 }\r
- r Get Prod.Ser.Number { 0xca, 0x03, 0x00, number, 0x00 }\r
- s Get Basic Prod.Code { 0xca, 0x04 }\r
- r Get Basic Prod.Code { 0xca, 0x04, 0x00, number, 0x00 }\r
- s Set Product Code { 0xcb, 0x01, product code, 0x00 }\r
- s Set Order Number { 0xcb, 0x02, number, 0x00 }\r
- s Set Prod.Ser.Number { 0xcb, 0x03, number, 0x00 }\r
- s Get (original ?)IMEI { 0xcc, 0x01 }\r
- r Get (original ?)IMEI { 0xcc, 0x01, IMEI, 0x00 }\r
- s Get Manufacture Month { 0xcc, 0x02 }\r
- r Get Manufacture Month { 0xcc, 0x02, 0x00, string, 0x00 }\r
- s Get Purchare date { 0xcc, 0x04 }\r
- r Get Purchare date { 0xcc, 0x04, 0x00, string, 0x00 }\r
- s Set "Made" date { 0xcd, 0x02, string, 0x00 }\r
- s Make "all" phone tests{ 0xce,0x1d,0xfe,0x23,0x00,0x00}\r
- s Make one phone test { 0xce,0x1d,num1,num2,num3,num4}\r
- Where num1-num4: 0x02,0x00,0x00,0x00;\r
- 0x04,0x00,0x00,0x00;\r
- 0x08,0x00,0x00,0x00;\r
- 0x10,0x00,0x00,0x00;\r
- 0x20,0x00,0x00,0x00;\r
- 0x40,0x00,0x00,0x00;\r
- 0x80,0x00,0x00,0x00;\r
- 0x00,0x01,0x00,0x00;\r
- 0x00,0x02,0x00,0x00;\r
- 0x00,0x04,0x00,0x00; - "Power off"\r
- No test for "Security data"\r
- 0x00,0x10,0x00,0x00;\r
- 0x00,0x20,0x00,0x00;\r
- 0x00,0x40,0x00,0x00;\r
- 0x00,0x80,0x00,0x00;\r
- 0x00,0x00,0x01,0x00;\r
- ....\r
- 0x00,0x00,0x10,0x00;\r
- s Result of phone tests { 0xcf }\r
- r Result of phone tests { 0xcf, number of tests, results of next tests }\r
- s ??? { 0xd1 }\r
- r ???(N5110) { 0xd1, 0x00, 0x1d, 0x00, 0x01, 0x08, 0x00 }\r
- s LCD Test { 0xd3, value }\r
- where value: 0x03, 0x02 - 1'st test\r
- 0x03, 0x01 - 2'nd test\r
- 0x02, 0x03 - clears screen\r
- s ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01}\r
- r ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01, ?}\r
+ s ???(N6150) { 0x98, 0x00 }
+ r ???(N6150) { 0x98, 0x00, 0x04 }
+ s Get bin ringtone { 0x9e, location }
+ where: location=0,1,etc.
+ r Get bin ringtone { 0x9e, location, error, contents... }
+ where location=0,1,etc.
+ error=0x0a, ringtone NOT available
+ 0x00, OK
+ s Set bin ringtone { 0xa0, location, 0x00, contenst... }
+ where: location=0,1,etc.
+ r Set bin ringtone { 0xa0, location, error }
+ where location=0,1,etc.
+ error=0x0a, ringtone NOT set
+ 0x00, ringtone set OK
+ r Get MSid { 0xb5, 0x01, 0x2f, msid, 0x25 }
+ s Get info about phone { 0xc8, 0x01 }
+ r Get info about phone { 0xc8, 0x01, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }
+ s Get MCU SW Checksum { 0xc8, 0x02 }
+ r Get MCU SW Checksum { 0xc8, 0x02, 0x00, checksum (4 bytes),0x00 }
+ s DPS External SW { 0xc7, 0x03 }
+ r DSP External SW { 0xc7, 0x03, 0x00, string,0x00 }
+ s Get HW { 0xc8, 0x05 }
+ r Get HW { 0xc8, 0x05, 0x00, HW version (4 bytes), 0x00 }
+ s Get "Made" Date { 0xc8, 0x05 }
+ r Get "Made" Date { 0xc8, 0x05, 0x00, date(4 bytes), 0x00 }
+ s Get DSP Internal SW { 0xc8, 0x09 }
+ r Get DSP Internal SW { 0xc8, 0x09, 0x00, version (1 bytes), 0x00 }
+ s Get PCI version { 0xc8, 0x0b }
+ r Get PCI version { 0xc8, 0x0b, 0x00, version, 0x00 }
+ s Get system ASIC { 0xc8, 0x0c }
+ r Get system ASIC { 0xc8, 0x0c, 0x00, string, 0x00 }
+ s Get COBBA { 0xc8, 0x0d }
+ r Get COBBA { 0xc8, 0x0d, 0x00, string, 0x00 }
+ s Get PLUSSA { 0xc8, 0x0e }
+ r Get PLUSSA { 0xc8, 0x0e, available, 0x00 }
+ where available: 0x01: not available
+ s Get CCONT { 0xc8, 0x0f }
+ r Get CCONT { 0xc8, 0x0f, available, 0x00 }
+ where available: 0x01: not available
+ s Get PPM version { 0xc8, 0x10 }
+ r Get PPM version { 0xc8, 0x10, 0x00, "V ", "firmware", 0x0a, "firmware date", 0x0a, "model", 0x0a, "(c) NMP.", 0x00 }
+ s Get PPM info { 0xc8, 0x12 }
+ r Get PPM info { 0xc8, 0x12, 0x00, PPM version ("B", "C", etc.), 0x00 }
+ s Set HW version { 0xc9, 0x05, version, 0x00 }
+ s Get Product Code { 0xca, 0x01 }
+ r Get Product Code { 0xca, 0x01, 0x00, number, 0x00 }
+ s Get Order Number { 0xca, 0x02 }
+ r Get Order Number { 0xca, 0x02, 0x00, string, 0x00 }
+ s Get Prod.Ser.Number { 0xca, 0x03 }
+ r Get Prod.Ser.Number { 0xca, 0x03, 0x00, number, 0x00 }
+ s Get Basic Prod.Code { 0xca, 0x04 }
+ r Get Basic Prod.Code { 0xca, 0x04, 0x00, number, 0x00 }
+ s Set Product Code { 0xcb, 0x01, product code, 0x00 }
+ s Set Order Number { 0xcb, 0x02, number, 0x00 }
+ s Set Prod.Ser.Number { 0xcb, 0x03, number, 0x00 }
+ s Get (original ?)IMEI { 0xcc, 0x01 }
+ r Get (original ?)IMEI { 0xcc, 0x01, IMEI, 0x00 }
+ s Get Manufacture Month { 0xcc, 0x02 }
+ r Get Manufacture Month { 0xcc, 0x02, 0x00, string, 0x00 }
+ s Get Purchare date { 0xcc, 0x04 }
+ r Get Purchare date { 0xcc, 0x04, 0x00, string, 0x00 }
+ s Set "Made" date { 0xcd, 0x02, string, 0x00 }
+ s Make "all" phone tests{ 0xce,0x1d,0xfe,0x23,0x00,0x00}
+ s Make one phone test { 0xce,0x1d,num1,num2,num3,num4}
+ Where num1-num4: 0x02,0x00,0x00,0x00;
+ 0x04,0x00,0x00,0x00;
+ 0x08,0x00,0x00,0x00;
+ 0x10,0x00,0x00,0x00;
+ 0x20,0x00,0x00,0x00;
+ 0x40,0x00,0x00,0x00;
+ 0x80,0x00,0x00,0x00;
+ 0x00,0x01,0x00,0x00;
+ 0x00,0x02,0x00,0x00;
+ 0x00,0x04,0x00,0x00; - "Power off"
+ No test for "Security data"
+ 0x00,0x10,0x00,0x00;
+ 0x00,0x20,0x00,0x00;
+ 0x00,0x40,0x00,0x00;
+ 0x00,0x80,0x00,0x00;
+ 0x00,0x00,0x01,0x00;
+ ....
+ 0x00,0x00,0x10,0x00;
+ s Result of phone tests { 0xcf }
+ r Result of phone tests { 0xcf, number of tests, results of next tests }
+ s ??? { 0xd1 }
+ r ???(N5110) { 0xd1, 0x00, 0x1d, 0x00, 0x01, 0x08, 0x00 }
+ s LCD Test { 0xd3, value }
+ where value: 0x03, 0x02 - 1'st test
+ 0x03, 0x01 - 2'nd test
+ 0x02, 0x03 - clears screen
+ s ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01}
+ r ACD Readings(N6150)? { 0xd4, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x01, ?}
s Get EEPROM { 0xd4, 0x02, 0x00, 0xa0, locationLo, locationHi, numofbytes }
where: numofbytes - how many bytes to read
Note: Works ONLY in MBUS
r Get EEPROM { 0xd4, 0x02, 0x00, 0xa0, locationLo, locationHi, numofbytes, contest... }
where numofbytes - how many bytes available
contest - bytes with contests (if numofbytes != 0)
-0x41: Snake game ?\r
-0x47:\r
- s Get Picture Image { 0x0001, location }\r
- r Get Picture Image when contains sender number\r
- { 0x0002, location, number(like in SMS), 0x00, len, text, 0x00, width, height, 0x01, bitmap }\r
- NOTE:\r
- Supports only 0x81 and 0x91 coding (NOT alphanumeric numbers!)\r
- in sender without sender number\r
- { 0x0002, location, 0x00, 0x00, 0x00, len, text, 0x00, width, height, 0x01, bitmap }\r
- s Set Picture Image { 0x0003, frame...}\r
- where frame: see 0x47/0x0002\r
- r Get/Set PictureImageOK{ 0x0004 }\r
- r Set Picture Image err { 0x0005, error? }\r
- where error=0x74 - wrong location ?\r
-0x64:\r
- s Phone ID request { 0x0010 }\r
- r Phone ID recvd { 0x0011, "NOKIA", "imei", 0, "model", 0, "prod.code", 0, "HW", 0, "firmware", magic bytes x 4 ... }\r
- s Accessory connection { 0x0012, 16x0x00, 'NOKIA&NOKIA accessory', 3x0x00 } (45 bytes)\r
-0x7f: Acknowledge(FBUS/IRDA){+type, seq }\r
- Acknowledge(MBUS)...\r
-0xd0: \r
- s Power on message seq1 {+04 }\r
- r Power on message seq1 {+05 }\r
-0xd1:\r
- s Get HW&SW version { 0x0003, 0x00 }\r
-0xd2:\r
- r Get HW&SW version { 0x0003 "V " "firmware\n" "firmware date\n"\r
- "model\n" "(c) NMP." }\r
-0xda: ? (during playing 2 player snake)\r
-0xf0:\r
- s Send RLP frame {+0x00, 0xd9, ... }\r
-0xf4: Power on message seq 2\r
+0x41: Snake game ?
+0x47:
+ s Get Picture Image { 0x0001, location }
+ r Get Picture Image when contains sender number
+ { 0x0002, location, number(like in SMS), 0x00, len, text, 0x00, width, height, 0x01, bitmap }
+ NOTE:
+ Supports only 0x81 and 0x91 coding (NOT alphanumeric numbers!)
+ in sender without sender number
+ { 0x0002, location, 0x00, 0x00, 0x00, len, text, 0x00, width, height, 0x01, bitmap }
+ s Set Picture Image { 0x0003, frame...}
+ where frame: see 0x47/0x0002
+ r Get/Set PictureImageOK{ 0x0004 }
+ r Set Picture Image err { 0x0005, error? }
+ where error=0x74 - wrong location ?
+0x64:
+ s Phone ID request { 0x0010 }
+ r Phone ID recvd { 0x0011, "NOKIA", "imei", 0, "model", 0, "prod.code", 0, "HW", 0, "firmware", magic bytes x 4 ... }
+ s Accessory connection { 0x0012, 16x0x00, 'NOKIA&NOKIA accessory', 3x0x00 } (45 bytes)
+0x7f: Acknowledge(FBUS/IRDA){+type, seq }
+ Acknowledge(MBUS)...
+0xd0:
+ s Power on message seq1 {+04 }
+ r Power on message seq1 {+05 }
+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." }
+0xda: ? (during playing 2 player snake)
+0xf0:
+ s Send RLP frame {+0x00, 0xd9, ... }
+0xf4: Power on message seq 2