-
-Last update 06.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>
- 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 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, "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
+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
+ 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