This commit was generated by cvs2svn to compensate for changes in r161,
[gnokii.git] / Docs / developers / protocol / n3110.txt
1
2 Last update 01.03.2001
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
5 Assembled by
6         Marcin Wiacek (Marcin-Wiacek@TOPNET.PL)
7         ... and other members of gnokii mailing list
8             and authors of some WWW pages.
9
10 The data provided is for information purposes only. 
11 Some of the frames might be hazardous to your phone. Be careful!!! 
12 We do not take any responsibility or liability for damages, etc.
13
14 NOTE: this information isn't (and can't be) complete.  If you know anything
15 about features not listed here or you noticed a bug in this list, please
16 notify us via e-mail.  Thank you.
17
18 Document describing frames used in
19 GSM Nokia 3110 and derivatives (3810,8110,8110i):
20 Correct format is FBUS version 1/MBUS version 1 (?)
21 (see nokia.txt for protocol details):
22
23  List:
24
25 0x02:
26     r RLP ?                 {....}
27 0x0a:
28     s Make call             {+type of call, type of number?, numlen, number, uk1, uk2, uk3 }
29                             where type of call: see 0x0b
30                             Note: If destination number is "1" - "9",
31                                   call for number in corresponding memory location is made.
32 0x0b:
33     r Incoming call         {+type of call, 0x00, namelen, name }
34                             where type of call:
35                                     0x01 Data 
36                                     0x02 ?? 
37                                     0x03 ?? 
38                                     0x04 ?? 
39                                     0x05 Voice 
40 0x0c:
41     s Answer incoming call  {}
42 0x0d:
43     r Incoming call answered{}
44       from ME
45 0x0e:
46     r Call established      {+type of call, 0x00, 0x00 }
47                             where type of call: see 0x0b
48 0x0f:
49     s Call hang up          {}
50 0x10:
51     r Call hanged up from ME{}
52       seq1
53 0x11:
54    r CallClosed-by other end{+unknown, reason}
55                             where:
56                               unknown reason
57                               0x65    0x10   Hanged up by other end 
58                                       0x1c   virheellinen numero 
59                               0x65    0x1f   Number is not in use 
60                               0x65    0x4f   Check operator services 
61                               0x65    0xa6   No destination number (sms sending) 
62                               0x65    0xe4   --''-- 
63                               0x6f    0x6f  
64                               0x7d    0x7d  
65                               0x7f    0x7f  
66                               0x83    0x83 
67 0x12:
68     r Call hanged up from ME{}
69       seq2
70 0x13:
71     r Power ON seq          {}
72 0x15:
73     s Initialization        {}
74 0x16:
75     r Initialization OK     {+simstate }
76                             where simstate:
77                                     0x01 No SIM present, or waiting for PIN 
78                                     0x02 SIM present and ready. 
79 0x17:
80     r Initialization err    {+error }
81 0x20:
82     s Send DTMF             {+length,string}
83 0x21:
84     r Send DTMF OK          {}
85 0x22:
86     r Send DTMF err         {+error }
87                             where error:
88                                     0x70: invalid location
89 0x23:
90     s Send SMS Header       {+first octet, PID, DCS, validity(7 bytes), UDL, SMSClen, SMSC, receiverlen, receiver}
91 0x24:
92     s Save SMS Header       {+memtype,status(2bytes),PID, DCS, validity(7 bytes), UDL, SMSClen, SMSC, receiverlen, receiver, receivertype }
93                             where: memtype:
94                                      2=SIM
95                                      3=ME 
96                                    status: see 0x2c
97 0x25:
98     s Get SMS message       {+memtype, location }
99                             where: memtype - see 0x30
100                             Note: In successful request, phone sends one "SMS Header" and one or more "SMS Data" packets.
101                                   In failure, phone sends "Get SMS message err" packet
102 0x26:
103     s Delete SMS message    {+memtype, location }
104                             where: memtype - see 0x30
105 0x27:
106     r SMS Data              {+seq,block}
107                             where: seq: starts from 0x01 and is increased by 1 after each block transmitted. 
108                                    block: Block of User Data (max 55 chars)
109     s Send/Save SMS Data    {+seq,block}
110 0x28:
111     r SMS sent OK           {+reference?}
112 0x29:
113     r SMS sent error        {+error1, error2}
114 0x2a:
115     r SMS saved OK          {+memtype}
116                             where: memtype - memory, where SMS was saved
117 0x2b:
118     r SMS saving err        {+error}
119 0x2c:
120     r SMS Header            {+memtype, location, status(2 bytes), PID, DCS, date (7 bytes), UDL, senderlen, sender, SMSClen, SMSC, sendertype}
121                             where:
122                               memtype, PID, DCS, date, UDL, sender, SMSC, sendertype - see 0x30
123                               status: 0701: Saved, not sent
124                                       0501: Sent
125                                       0304: Received, unread
126                                       0204: Unread
127                                       0104: Received, read 
128 0x2d:
129     r Get SMS message err   {+error}
130 0x2e:
131     r Delere SMS message OK {}
132 0x2f:
133     r Delete SMS message err{+error}
134 0x30:
135     r SMS message received  {+memtype, location, unknown, PID, DCS, date(7 bytes), UDL, senderlen, sender, SMSClen, SMSC, sendertype}
136                             where: memtype:
137                                      0x01 Phone Selected 
138                                      0x02 SIM 
139                                      0x03 ME 
140                                    location: Memory location (1...) 
141                                    unknown: most of time 0x04 
142                                    PID: Protocol Identifier 
143                                    DCS: Data Coding Scheme 
144                                    date: sending date in BCD
145                                    UDL: User Data Length 
146                                    sender: sender number
147                                    SMSC: SMSC number
148                                    sendertype: type of sender number:
149                                                 0x31 International without leading '+' ??? 
150                                                 0x91 International 
151 0x32:
152     r Delivery report receiv{+unknown,delivery time(7 bytes),report time(7 bytes),0x00,MR,
153                              destinationlen,destination,SMSClen,SMSC,destinationtype}
154 0x3c:
155     s Set SMSC              {+bitmask,format,unknown1,validity,reply,reports,unusedlen,unused,SMSClen,SMSC}
156                             where:
157                               bitmask: info, what we change
158                                 7 ?? 
159                                 6 reports
160                                 5 reply
161                                 4 SMSC number
162                                 3 unused
163                                 2 validity
164                                 1 unknown
165                                 0 format
166                               format:
167                                 0x00 Text 
168                                 0x22 Fax 
169                                 0x24 Voice 
170                                 0x25 ERMES 
171                                 0x26 Paging 
172                                 0x2d E-mail 
173                                 0x31 X.400 
174                               validity:
175                                  0 to 143    (validity + 1) * 5 minutes (i.e. 5 minutes intervals up to 12 hours) 
176                                  144 to 167  12 hours + ((validity - 143) * 30 minutes) 
177                                  168 to 196  (validity - 166) * 1 day 
178                                  197 to 255  (validity - 192) * 1 week 
179 0x3d:
180     r Set SMSC OK           {}
181 0x3e:
182     r Set SMSC err          {}
183 0x3f:
184     s Get SMSC              {}
185 0x40:
186     r Get SMSC              {+memory,AllSMSphone,unreadSMSphone,AllSMSSIM,unreadSMSSIM,
187                              format,unknown1,validity,reply,reports,unusedlen,unused,SMSClen,SMSC}
188                             where: format,unknown1,validity,reply,reports,unusedlen,unused,SMSClen,SMSC - see 0x3c
189                                    memory: selected memory
190                                    AllSMSphone: number of all SMS in phone
191                                    unreadSMSphone: number of unread SMS in phone
192                                    AllSMSSIM: number of all SMS on SIM
193                                    unreadSMSSIM: number of unread SMS on SIM
194 0x42:
195     s Set mem location      {+memtype, location, namelen, name, numlen, number }
196                             where memtype: see 0x43
197 0x43:
198     s Get mem location      {+memtype, location }
199                             where: memtype:
200                                      0x01 Phone Selected
201                                      0x02 SIM
202                                      0x03 ME
203                                      0x04 Own numbers (at SIM) 
204 0x44:
205     r Set mem location OK   {}
206 0x45:
207     r Set mem location err  {+error }
208 0x46:
209     r Get mem location OK   {+namelen, name, numlen, number }
210 0x47:
211     r Get mem location err  {+error }
212 0x48:
213     r PIN entered           {}
214 0x49:
215     r Power OFF seq         {}
216 0x4a:
217     s Status request        {}
218 0x4b:
219     r Status request        {+status, network, battery }
220                             where status:
221                                     0x01 Idle 
222                                     0x02 Network interworking 
223                                     0x03 Call open 
224                                     0x04 No Network Access (Waiting for PIN or
225                                          Unaccessable Operator selected) 
226                                   network and battery - signal level
227 0x4c:
228     s Get phone info        {}
229 0x4d:
230     r Get phone info        {+IMEI, 0x00, Code, 0x00, HW, 0x00 }
231                             where IMEI: IMEI Code 
232                                   CODE: Same as Code in phones back side 
233                                   HW: hardware version