From Clemens Auer:
[obnox/wireshark/wip.git] / asn1 / qsig / QSIG-SMS.asn
1 -- QSIG-SMS.asn
2 --
3 -- Taken from Ecma International
4 -- Standard ECMA-325, (June 2001)
5 -- http://www.ecma-international.org/publications/standards/Ecma-325.htm
6 --
7 -- $Id$
8 --
9
10 Short-Message-Service-Operations-asn1-97 
11 {iso(1) identified-organization(3) icd-ecma(12) standard(0) qsig-short-message-service(325) short-message-service-operations-asn1-97(1)} 
12  
13 DEFINITIONS::= 
14 BEGIN 
15 IMPORTS 
16  OPERATION,  
17  ERROR 
18 FROM Remote-Operations-Information-Objects 
19 {joint-iso-itu-t (2) remote-operations(4) informationObjects(5) version1(0)} 
20  EXTENSION, Extension{} 
21 FROM Manufacturer-specific-service-extension-class-asn1-97 
22 {iso(1) standard(0) pss1-generic-procedures(11582) msi-class-asn1-97(11)} 
23  Name 
24 FROM Name-Operations-asn1-97 
25 {iso(1) standard(0) pss1-name(13868) name-operations-asn1-97(1)} 
26  supplementaryServiceInteractionNotAllowed 
27 FROM General-Error-List  
28 {ccitt recommendation q 950 general-error-list(1)} 
29  PartyNumber 
30 FROM Addressing-Data-Elements-asn1-97  
31 {iso(1) standard(0) pss1-generic-procedures(11582) addressing-data-elements-asn1-97(20)}; 
32  
33 --TYPE DEFINITIONS FOR SMS OPERATIONS FOLLOW 
34  
35 Sms-Operations OPERATION ::={ 
36  
37   smsSubmit | smsDeliver | smsStatusReport | smsCommand | scAlert} 
38  
39 smsSubmit OPERATION ::= {  
40   -- sent from the Sending User PINX/ Sending User Message Centre to the Service Centre 
41    ARGUMENT SmsSubmitArg 
42    RESULT SmsSubmitRes 
43    ERRORS {smsSubmitError | 
44      unspecified} 
45    CODE  local:107} 
46  
47 smsDeliver  OPERATION ::= {  
48   -- sent from the Service Centre to the Receiving User PINX or to the Receiving User Message Centre 
49    ARGUMENT  SmsDeliverArg 
50    RESULT  SmsDeliverRes  
51    ERRORS {smsDeliverError | 
52      unspecified} 
53    CODE  local:108} 
54
55 smsStatusReport OPERATION ::= { 
56   -- sent from the Service Centre to the Sending User PINX or to the Sending User Message Centre 
57    ARGUMENT  SmsStatusReportArg 
58    RESULT SmsStatusReportRes 
59    ERRORS {smsStatusReportError | 
60      unspecified} 
61    CODE  local:109} 
62  
63 smsCommand OPERATION ::= { 
64   -- sent from the Sending User PINX or the Sending User Message Centre to the Service Centre 
65    ARGUMENT  SmsCommandArg 
66    RESULT SmsCommandRes 
67    ERRORS {smsCommandError | 
68      unspecified} 
69    CODE  local:110} 
70  
71 scAlert  OPERATION ::= { 
72   -- sent from the Receiving User PINX or the Receiving User Message Centre to the Service Centre 
73    ARGUMENT ScAlertArg 
74    RESULT DummyRes 
75    ERRORS {unspecified} 
76    CODE  local:111} 
77  
78 --TYPE DEFINITIONS FOR SMS DATA TYPES FOLLOW 
79  
80 SmsSubmitArg ::= SEQUENCE { 
81   destinationAddress PartyNumber, 
82   originatingAddress PartyNumber, 
83   messageReference MessageReference, 
84   smSubmitParameter SmSubmitParameter, 
85   userData   UserData, 
86   smsExtension  SmsExtension     OPTIONAL}  
87  
88 SmsSubmitRes ::= SEQUENCE { 
89   serviceCentreTimeStamp ServiceCentreTimeStamp, 
90   protocolIdentifier  [3] IMPLICIT ProtocolIdentifier   OPTIONAL, 
91   userData   [4] IMPLICIT UserData    OPTIONAL, 
92   smsExtension  SmsExtension     OPTIONAL} 
93  
94 SmsDeliverArg ::=  SEQUENCE {  
95   originatingAddress PartyNumber,  
96   destinationAddress PartyNumber, 
97   originatingName  Name      OPTIONAL, 
98   smDeliverParameter SmDeliverParameter, 
99   userData   UserData, 
100   smsExtension  SmsExtension     OPTIONAL} 
101  
102 SmsDeliverRes ::= SEQUENCE { 
103   smsDeliverResponseChoice SmsDeliverResChoice, 
104   smsExtension   SmsExtension    OPTIONAL} 
105
106 SmsStatusReportArg ::=  SEQUENCE { 
107   messageReference MessageReference, 
108   serviceCentreTimeStamp ServiceCentreTimeStamp, 
109   dischargeTime   DischargeTime, 
110   recipientAddress  PartyNumber, 
111   recipientName  [10] Name     OPTIONAL, 
112   destinationAddress PartyNumber, 
113   status   Status, 
114   priority   [11] IMPLICIT BOOLEAN DEFAULT FALSE, 
115   moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE, 
116   statusReportQualifier [13] IMPLICIT BOOLEAN DEFAULT FALSE, 
117   protocolIdentifier  ProtocolIdentifier     OPTIONAL, 
118   userData   UserData     OPTIONAL, 
119   smsExtension  SmsExtension     OPTIONAL} 
120  
121 SmsStatusReportRes ::= SEQUENCE { 
122   smsStatusReportResponseChoice  SmsStatusReportResponseChoice, 
123   smsExtension   SmsExtension    OPTIONAL} 
124  
125 SmsCommandArg ::= SEQUENCE { 
126   destinationAddress  PartyNumber, 
127   messageReference   MessageReference,  
128   messageNumber   MessageReference,   
129   protocolIdentifier   ProtocolIdentifier, 
130   commandType   CommandType,  
131   commandData   CommandData    OPTIONAL, 
132   statusReportRequest  BOOLEAN          OPTIONAL, 
133   smsExtension   SmsExtension    OPTIONAL} 
134  
135 SmsCommandRes ::= SEQUENCE  { 
136   serviceCentreTimeStamp  ServiceCentreTimeStamp, 
137   protocolIdentifier   ProtocolIdentifier    OPTIONAL, 
138   userData    UserData    OPTIONAL, 
139   smsExtension   SmsExtension       OPTIONAL} 
140  
141 ScAlertArg ::=  SEQUENCE { 
142   originatingAddress  PartyNumber, 
143   smsExtension   SmsExtension    OPTIONAL} 
144  
145 DummyRes ::= CHOICE{ 
146   null   NULL, 
147   smsExtension  SmsExtension} 
148  
149 SmSubmitParameter ::= SEQUENCE { 
150   protocolIdentifier       ProtocolIdentifier, 
151   validityPeriod           ValidityPeriod     OPTIONAL, 
152   statusReportRequest [11] IMPLICIT BOOLEAN DEFAULT FALSE, 
153   replyPath  [12] IMPLICIT BOOLEAN DEFAULT FALSE, 
154   rejectDuplicates  [13] IMPLICIT BOOLEAN DEFAULT FALSE} 
155
156 SmDeliverParameter ::= SEQUENCE { 
157   protocolIdentifier  ProtocolIdentifier, 
158   serviceCentreTimeStamp ServiceCentreTimeStamp, 
159   priority   [11] IMPLICIT BOOLEAN DEFAULT FALSE, 
160   moreMessagesToSend [12] IMPLICIT BOOLEAN DEFAULT FALSE, 
161   statusReportIndication [13] IMPLICIT BOOLEAN DEFAULT FALSE, 
162   replyPath  [14] IMPLICIT BOOLEAN DEFAULT FALSE} 
163  
164 SmsDeliverResChoice ::= CHOICE { 
165   null   NULL, 
166   protocolIdentifier  ProtocolIdentifier, 
167   userData   [0] IMPLICIT UserData, 
168   resChoiceSeq  [1] IMPLICIT ResChoiceSeq} 
169  
170 ResChoiceSeq ::= SEQUENCE {  
171   protocolIdentifier  ProtocolIdentifier, 
172   userData   UserData} 
173  
174 SmsStatusReportResponseChoice ::= CHOICE { 
175   null   NULL, 
176   protocolIdentifier  ProtocolIdentifier, 
177   userData   [0] IMPLICIT UserData, 
178   resChoiceSeq   [1] IMPLICIT ResChoiceSeq} 
179  
180 MessageReference ::= INTEGER(0..255) 
181  
182 SmsExtension ::= CHOICE{ 
183   single   [1]IMPLICIT Extension{{SmsExtSet}}, 
184   multiple   [2]IMPLICIT  SEQUENCE OF  
185        Extension{{SmsExtSet}} 
186     } 
187  
188 SmsExtSet EXTENSION ::= {...} 
189  
190 ProtocolIdentifier ::=  INTEGER (0..127) 
191    -- definition of the ProtocolIdentifier values and default value can be found in annex E section 
192    -- E.1.2.1 
193  
194 ServiceCentreTimeStamp  ::=  GeneralizedTime(SIZE(12..19)) 
195     -- this date and time representation follows ISO 8601 
196  
197 DischargeTime   ::=  GeneralizedTime(SIZE(12..19)) 
198     -- this date and time representation follows ISO 8601 
199  
200 ValidityPeriod  ::= CHOICE{ 
201   validityPeriodRel  [0] IMPLICIT ValidityPeriodRel, 
202   validityPeriodAbs [1] IMPLICIT ValidityPeriodAbs, 
203   validityPeriodEnh [2] IMPLICIT ValidityPeriodEnh}  
204  
205 ValidityPeriodAbs  ::= GeneralizedTime(SIZE(12..19)) 
206    -- this date and time representation follows ISO 8601 
207  
208 ValidityPeriodRel ::=  INTEGER(0..255) 
209    -- the rules for the encoding of ValidityPeriodRel are shown in annex E section E.1.2.2 
210
211 ValidityPeriodEnh ::= SEQUENCE{ 
212   singleShotSM  BOOLEAN DEFAULT FALSE, 
213   enhancedVP  EnhancedVP     OPTIONAL} 
214  
215 EnhancedVP ::= CHOICE{ 
216   validityPeriodRel  [0] IMPLICIT ValidityPeriodRel, 
217   validityPeriodSec  [1] IMPLICIT INTEGER(0..255), 
218   validityPeriodSemi [2] IMPLICIT ValidityPeriodSemi} 
219  
220 ValidityPeriodSemi ::= OCTET STRING (SIZE(3)) 
221    -- Validity Period is relative in semi-octet representation, see ETSI TS 100 901, section 9.1.2.3  
222    -- and section 9.2.3.12.3 
223  
224 UserData ::= SEQUENCE{ 
225  userDataHeader   [0] IMPLICIT UserDataHeader   OPTIONAL, 
226  class    [1] IMPLICIT INTEGER (0..3)   OPTIONAL, 
227  compressed   [2] IMPLICIT BOOLEAN DEFAULT FALSE,  
228  shortMessageText  ShortMessageText} 
229  
230 ShortMessageText ::=  SEQUENCE{ 
231  shortMessageTextType ShortMessageTextType, 
232  shortMessageTextData ShortMessageTextData} 
233  
234 ShortMessageTextType ::= INTEGER{ 
235     iA5Coded  (0), -- ShortMessageTextData shall contain data according to   
236     octetCoded  (1), -- the type given in ShortMessageTextType, for further 
237     uniCoded  (2), -- details see annex E. 1.3.4. 
238     compressedCoded (3)} (0..8) 
239   
240 ShortMessageTextData ::= OCTET STRING (SIZE(0..140)) 
241  
242 Status ::=   INTEGER (0..255) 
243    -- definition of status values can be found in section E.7.6 in annex E 
244  
245 CommandType ::= INTEGER{ 
246   enquiry      (0), 
247   cancelSRR     (1),  
248   deletePreviouslySubmittedSM   (2),  
249   enableSRRrelatingToPreviouslySubmittedSM (3)} (0..255)  
250  
251 CommandData ::= OCTET STRING (SIZE(0..157)) 
252  
253 FailureCause ::= INTEGER (0..255) 
254   -- definition for failureCause values can be found in section E.3.1 in annex E 
255   
256 UserDataHeader ::= SEQUENCE OF UserDataHeaderChoice 
257  
258 UserDataHeaderChoice ::= CHOICE{ 
259  smscControlParameterHeader  [0] IMPLICIT SmscControlParameterHeader, 
260  concatenated8BitSMHeader  [1] IMPLICIT Concatenated8BitSMHeader, 
261  concatenated16BitSMHeader  [2] IMPLICIT Concatenated16BitSMHeader, 
262  applicationPort8BitHeader   [3] IMPLICIT ApplicationPort8BitHeader, 
263  applicationPort16BitHeader  [4] IMPLICIT ApplicationPort16BitHeader, 
264  dataHeaderSourceIndicator  [5] IMPLICIT DataHeaderSourceIndicator, 
265  wirelessControlHeader   [6] IMPLICIT WirelessControlHeader, 
266  genericUserValue   [99] IMPLICIT GenericUserValue} 
267
268 SmscControlParameterHeader ::= BIT STRING { 
269   sRforTransactionCompleted  (0),  
270   sRforPermanentError   (1),  
271   sRforTempErrorSCnotTrying  (2),  
272   sRforTempErrorSCstillTrying  (3),  
273   cancelSRRforConcatenatedSM (6),  
274   includeOrigUDHintoSR   (7)} (SIZE(8)) 
275  
276 Concatenated8BitSMHeader ::=  SEQUENCE{ 
277  concatenated8BitSMReferenceNumber  INTEGER(0..255), 
278  maximumNumberOf8BitSMInConcatenatedSM INTEGER(0..255), 
279  sequenceNumberOf8BitSM    INTEGER(0..255)} 
280  
281 Concatenated16BitSMHeader ::= SEQUENCE{ 
282  concatenated16BitSMReferenceNumber  INTEGER(0..65536), 
283  maximumNumberOf16BitSMInConcatenatedSM INTEGER(0..255), 
284  sequenceNumberOf16BitSM   INTEGER(0..255)} 
285  
286 ApplicationPort8BitHeader ::=   SEQUENCE{ 
287  destination8BitPort    INTEGER(0..255), 
288  originator8BitPort    INTEGER(0..255)} 
289  
290 ApplicationPort16BitHeader ::=  SEQUENCE{ 
291  destination16BitPort    INTEGER(0..65536), 
292  originator16BitPort    INTEGER(0..65536)} 
293  
294 DataHeaderSourceIndicator ::= INTEGER{ 
295  originalSender   (1),  -- valid in case of Status Report 
296  originalReceiver   (2),  -- valid in case of Status Report 
297  sMSC    (3)}(0..255) -- can occur in any message or report 
298  
299 WirelessControlHeader ::= OCTET STRING 
300  
301 GenericUserValue ::= SEQUENCE{ 
302  parameterValue  INTEGER(0..255), 
303  genericUserData  OCTET STRING} 
304  
305 smsDeliverError  ERROR ::= { 
306    PARAMETER SEQUENCE{ 
307     failureCause  FailureCause, 
308     protocolIdentifier  [0] IMPLICIT ProtocolIdentifier  OPTIONAL, 
309     userData   [1] IMPLICIT UserData   OPTIONAL, 
310     scAddressSaved  [2] IMPLICIT BOOLEAN DEFAULT FALSE} 
311    CODE  local:1026} 
312  
313 smsSubmitError ERROR ::= { 
314    PARAMETER  SEQUENCE{ 
315     failureCause   FailureCause, 
316     serviceCentreTimeStamp  ServiceCentreTimeStamp, 
317     protocolIdentifier   [0] IMPLICIT ProtocolIdentifier OPTIONAL,
318      userData   [1] IMPLICIT UserData  OPTIONAL}
319    CODE local:1027} 
320
321 smsStatusReportError  ERROR ::= { 
322    PARAMETER SEQUENCE{ 
323     failureCause  FailureCause, 
324     protocolIdentifier  [0] IMPLICIT ProtocolIdentifier  OPTIONAL, 
325     userData   [1] IMPLICIT UserData   OPTIONAL, 
326     scAddressSaved  [2] IMPLICIT BOOLEAN DEFAULT FALSE} 
327    CODE local: 1028} 
328  
329 smsCommandError ERROR ::= { 
330    PARAMETER SEQUENCE{ 
331     failureCause  FailureCause, 
332     serviceCentreTimeStamp ServiceCentreTimeStamp, 
333     protocolIdentifier  [0] IMPLICIT ProtocolIdentifier  OPTIONAL, 
334     userData   [1] IMPLICIT UserData   OPTIONAL} 
335    CODE local:1029} 
336  
337 unspecified  ERROR ::= { 
338    PARAMETER SmsExtension 
339    CODE  local: 1008} 
340  
341 END -- of Short-Message-Service-Operations-asn1-97