Rev

Rev 599 | Details | Compare with Previous | Last modification | View Log | SVN | Bug Tracker

Rev Author Line No. Line
599 tepelmann 1
/******************************************************************************
2
 *
3
 */
520 garciay 4
// $Date: 2009-11-25 18:40:50 +0100 (Mi, 25 Nov 2009) $
5
// $Author: STF160 $
6
// $Rev: 2184 $
599 tepelmann 7
/******************************************************************************
8
 *
9
 */
520 garciay 10
/*
599 tepelmann 11
 * This module contains the type definitions for SMS messages as specified in
520 garciay 12
 * 3GPP 24.011 and 3GPP 23.040 Rel 8 and 9.
13
 * SMS over IMS is specified in 3GPP 24.341.
534 rennoch 14
 * This module is part of LibSipV2.
520 garciay 15
 */
16
module LibSip_SMSTypesAndValues {
17
    import from LibCommon_DataStrings all;
599 tepelmann 18
 
520 garciay 19
    group SMS_Declarations {
599 tepelmann 20
 
607 nikolajev 21
        const RP_MessageTypeIndicator_Type c_MT_RP_DATA_ul := '000'B;
599 tepelmann 22
        /* RP_DATA_ul */
607 nikolajev 23
        const RP_MessageTypeIndicator_Type c_MT_RP_DATA_dl := '001'B;
599 tepelmann 24
        /* RP_DATA_dl */
607 nikolajev 25
        const RP_MessageTypeIndicator_Type c_MT_RP_ACK_ul := '010'B;
599 tepelmann 26
        /* RP_ACK_ul */
607 nikolajev 27
        const RP_MessageTypeIndicator_Type c_MT_RP_ACK_dl := '011'B;
599 tepelmann 28
        /* RP_ACK_dl */
607 nikolajev 29
        const RP_MessageTypeIndicator_Type c_MT_RP_ERROR_ul := '100'B;
599 tepelmann 30
        /* RP_ERROR_ul */
607 nikolajev 31
        const RP_MessageTypeIndicator_Type c_MT_RP_ERROR_dl := '101'B;
599 tepelmann 32
        /* RP_ERROR_dl */
607 nikolajev 33
        const RP_MessageTypeIndicator_Type c_MT_RP_SMMA := '110'B;
599 tepelmann 34
        /* RP_SMMA */
607 nikolajev 35
        const TP_MessageTypeIndicator_Type c_MT_SMS_DELIVER := '00'B;
599 tepelmann 36
        /* SMS DELIVER */
607 nikolajev 37
        const TP_MessageTypeIndicator_Type c_MT_SMS_DELIVER_REPORT := '00'B;
599 tepelmann 38
        /* SMS DELIVER REPORT */
607 nikolajev 39
        const TP_MessageTypeIndicator_Type c_MT_SMS_STATUS_REPORT := '10'B;
599 tepelmann 40
        /* SMS STATUS REPORT */
607 nikolajev 41
        const TP_MessageTypeIndicator_Type c_MT_SMS_COMMAND := '10'B;
599 tepelmann 42
        /* SMS COMMAND */
607 nikolajev 43
        const TP_MessageTypeIndicator_Type c_MT_SMS_SUBMIT := '01'B;
599 tepelmann 44
        /* SMS SUBMIT, SMS SUBMIT REPORT */
607 nikolajev 45
        const TP_MessageTypeIndicator_Type c_MT_SMS_SUBMIT_REPORT := '01'B;
599 tepelmann 46
        /* SMS SUBMIT, SMS SUBMIT REPORT */
607 nikolajev 47
        const Bit7 c_IEI_RP_UserData := '1000001'B;
599 tepelmann 48
        /* 24.011 cl. 8.2.5.3 */
607 nikolajev 49
        const charstring c_Fox := "The quick brown fox jumps over the lazy dog's back. Kaufen Sie Ihrer Frau vier bequeme Pelze. - 0123456789 - THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG'S BACK.";
599 tepelmann 50
 
51
 
52
 
53
        type record TypeOfNumberingPlan {
54
            /* 24.008 cl. 10.5.4.7, 10.5.4.9, 10.5.4.13 */
55
            Bit1 extBit,
56
            /* Extension Bit */
57
            Bit3 typeOfNumber,
58
            /* Type Of Number */
59
            Bit4 numberingPlanId /* Numbering Plan Identification */
60
        }
520 garciay 61
        /* SM-RP Type Declarations */
599 tepelmann 62
        type Bit3 RP_MessageTypeIndicator_Type;
63
        /* 24.011 cl. 8.2.2 */
64
        type Oct1 RP_MessageReference_Type;
65
        /* 24.011 cl. 8.2.3 */
66
        type record RP_OriginatorAddress_dl {
67
            /* 24.011 cl. 8.2.5.1 */
68
            Bit1 spare optional,
69
            /* 0   */
70
            Bit7 iei optional,
71
            /* 0101 1110 */
72
            Oct1 iel,
73
            /* min value 2 and max value is 11  */
74
            TypeOfNumberingPlan typeOfNumberingPlan,
75
            /*    */
76
            octetstring digits  length(1 .. 10)
77
        }
78
 
79
        type record RP_OriginatorAddress_ul {
80
            /* 24.011 cl. 8.2.5.1 */
81
            Bit1 spare optional,
82
            /* 0   */
83
            Bit7 iei optional,
84
            /* 0101 1110 */
85
            Oct1 iel /* 0  */
86
        }
87
 
88
        type record RP_DestinationAddress_ul {
89
            /* 24.011 cl. 8.2.5.2 */
90
            Bit1 spare optional,
91
            /* 0   */
92
            Bit7 iei optional,
93
            /* 0101 1110 */
94
            Oct1 iel,
95
            /* min value 2 and max value is 11  */
96
            TypeOfNumberingPlan typeOfNumberingPlan,
97
            /*    */
98
            octetstring digits  length(1 .. 10)
99
        }
100
        type record RP_DestinationAddress_dl {
101
            /* 24.011 cl. 8.2.5.2 */
102
            Bit1 spare optional,
103
            /* 0   */
104
            Bit7 iei optional,
105
            /* 0101 1110 */
106
            Oct1 iel /* 0  */
107
        }
108
 
109
        type record RP_UserData {
110
            /* 24.011 cl. 8.2.5.3 */
111
            Bit1 spare optional,
112
            /* 0, present in case of TLV; omit in case of LV   */
113
            Bit7 iei optional,
114
            /* 1000001, present in case of TLV; omit in case of LV   */
115
            Oct1 iel,
116
            /*   */
117
            TP_PDU_Type tP_PDU /* <= 232 octets */
118
        }
119
 
120
        type record RP_Cause {
121
            /* 24.011 cl. 8.2.5.4 */
122
            Bit1 spare optional,
123
            /* present in case of TLV; omit in case of LV */
124
            Bit7 iei optional,
125
            /* present in case of TLV; omit in case of LV */
126
            Oct1 iel,
127
            /* 2 or 3  */
128
            Bit1 extBit1,
129
            /* 0 */
130
            Bit7 causeValue1,
131
            /* Table 8.4/3GPP TS 24.011  */
132
            Bit1 extBit2,
133
            /* 0 */
134
            Bit7 causeValue2,
135
            /* Table 8.4/3GPP TS 24.011  */
136
            Oct1 diagnostic optional /* Parameters included in the return error from MAP */
137
        }
138
 
520 garciay 139
        /* End SM-RP Type Declarations */
140
        /* SM-RP PDU Declarations */
599 tepelmann 141
        type record RP_DATA_dl_Type {
142
            /* 24.011 cl. 7.3.1.1
520 garciay 143
                                                  Direction:     n -> ue */
599 tepelmann 144
            Bit5 spare5,
145
            /* cl. 8.2.2      M V 5 bits   */
146
            RP_MessageTypeIndicator_Type rP_MessageTypeIndicator,
147
            /* cl. 8.2.2      M V 3 bits   */
148
            RP_MessageReference_Type rP_MessageReference,
149
            /* cl. 8.2.3      M LV 1 */
150
            RP_OriginatorAddress_dl rP_OriginatorAddress,
151
            /* cl. 8.2.5.1    M LV 1-12 octets   */
152
            RP_DestinationAddress_dl rP_DestinationAddress,
153
            /* cl. 8.2.5.2    M LV 1   */
154
            RP_UserData rP_UserData /* cl. 8.2.5.3    M LV <= 233 octets */
155
        }
156
 
157
        type record RP_DATA_ul_Type {
158
            /* 24.011 cl. 7.3.1.2
520 garciay 159
                                                 Direction:     ue -> n */
599 tepelmann 160
            Bit5 spare5,
161
            /* cl. 8.2.2      M V 5 bits   */
162
            RP_MessageTypeIndicator_Type rP_MessageTypeIndicator,
163
            /* cl. 8.2.2      M V 3 bits   */
164
            RP_MessageReference_Type rP_MessageReference,
165
            /* cl. 8.2.3      M LV 1 */
166
            RP_OriginatorAddress_ul rP_OriginatorAddress,
167
            /* cl. 8.2.5.1    M LV 1   */
168
            RP_DestinationAddress_ul rP_DestinationAddress,
169
            /* cl. 8.2.5.2    M LV 1   */
170
            RP_UserData rP_UserData /* cl. 8.2.5.3    M LV <= 233 octets */
171
        }
172
 
173
        type record RP_SMMA_Type {
174
            /* 24.011 cl. 7.3.2
520 garciay 175
                                                 Direction:     ue -> n */
599 tepelmann 176
            Bit5 spare5,
177
            /* cl. 8.2.2      M V 5 bits   */
178
            RP_MessageTypeIndicator_Type rP_MessageTypeIndicator,
179
            /* cl. 8.2.2      M V 3 bits   */
180
            RP_MessageReference_Type rP_MessageReference /* cl. 8.2.3      M LV 1 */
181
        }
182
 
183
        type record RP_ACK_Type {
184
            /* 24.011 cl. 7.3.3
520 garciay 185
                                                 Direction:     ue <-> n */
599 tepelmann 186
            Bit5 spare5,
187
            /* cl. 8.2.2      M V 5 bits   */
188
            RP_MessageTypeIndicator_Type rP_MessageTypeIndicator,
189
            /* cl. 8.2.2      M V 3 bits   */
190
            RP_MessageReference_Type rP_MessageReference,
191
            /* cl. 8.2.3      M LV 1 */
192
            RP_UserData rP_UserData optional /* cl. 8.2.5.3    O TLV <= 234 octets */
193
        }
194
 
195
        type record RP_ERROR_Type {
196
            /* 24.011 cl. 7.3.4
520 garciay 197
                                                 Direction:     ue <-> n */
599 tepelmann 198
            Bit5 spare5,
199
            /* cl. 8.2.2      M V 5 bits   */
200
            RP_MessageTypeIndicator_Type rP_MessageTypeIndicator,
201
            /* cl. 8.2.2      M V 3 bits   */
202
            RP_MessageReference_Type rP_MessageReference,
203
            /* cl. 8.2.3      M LV 1 */
204
            RP_Cause rP_Cause,
205
            /* cl. 8.2.5.4    M LV 2-3 */
206
            RP_UserData rP_UserData optional /* cl. 8.2.5.3    O TLV <= 234 octets */
207
        }
208
 
520 garciay 209
        type union RP_PDU_Type {
599 tepelmann 210
            RP_DATA_dl_Type RP_DATA_dl,
211
            RP_DATA_ul_Type RP_DATA_ul,
212
            RP_SMMA_Type RP_SMMA,
213
            RP_ACK_Type RP_ACK,
214
            RP_ERROR_Type RP_ERROR
215
        }
216
 
520 garciay 217
        /* End SM-RP PDU Declarations */
218
        /* SM-TP Type Declarations */
599 tepelmann 219
        type record TP_Address_Type {
220
            /* 23.040 cl. 9.1.2.5 */
221
            Oct1 iel,
222
            /* min value 2 and max value is 11  */
223
            TypeOfNumberingPlan typeOfNumberingPlan,
224
            octetstring digits  length(0 .. 10) optional
225
        }
226
 
227
        type Bit2 TP_MessageTypeIndicator_Type;
228
        /* 23.040 cl. 9.2.3.1 */
229
        type Oct1 TP_MessageReference_Type;
230
        /* 23.040 cl. 9.2.3.6 */
231
        type Oct1 TP_UserDataLength_Type;
232
        /* 23.040 cl. 9.2.3.16 */
233
        type record TP_ProtocolIdentifier_Type {
234
            /* 23.040 cl. 9.2.3.9 */
235
            Bit2 pidType,
236
            /*  */
237
            Bit1 interworking,
238
            /*  */
239
            Bit5 pidValue /*  */
240
        }
241
 
242
        type record TP_DataCodingScheme_Type {
243
            /* 23.040 cl. 9.2.3.10 + 23.040 cl. 4 */
244
            Bit4 codingGroup,
245
            /*  */
246
            Bit4 codeValue /*  */
247
        }
248
 
249
        type hexstring TP_ServiceCentreTimeStamp_Type  length(14);
250
        /* 23.040 cl. 9.2.3.11 */
251
        type Oct1 TP_ValidityPeriodRelative_Type;
252
        /* 23.040 cl. 9.2.3.12.1 */
253
        type hexstring TP_ValidityPeriodAbsolute_Type  length(14);
254
        /* 23.040 cl. 9.2.3.12.2 */
255
        type record TP_ValidityPeriodEnhanced_Type {
256
            /* 23.040 cl. 9.2.3.12.3 */
257
            Bit1 extBit,
258
            /* */
259
            Bit1 singleShot,
260
            /* */
261
            Bit3 spare3,
262
            /* */
263
            Bit3 validityPeriodFormat,
264
            /* */
265
            Oct6 validityPeriod /* */
266
        }
267
 
268
        type union TP_ValidityPeriod_Type {
269
            /* 23.040 cl. 9.2.3.3 */
270
            TP_ValidityPeriodRelative_Type TP_ValidityPeriodRelative,
271
            /* Relative format */
272
            TP_ValidityPeriodAbsolute_Type TP_ValidityPeriodAbsolute,
273
            /* Absolute format */
274
            TP_ValidityPeriodEnhanced_Type TP_ValidityPeriodEnhanced /* Enhanced format */
275
        }
276
 
277
        type record TP_Status_Type {
278
            /* 23.040 cl. 9.2.3.15 */
279
            Bit1 reserved,
280
            /* */
281
            Bit7 status /* */
282
        }
283
 
284
        type Bit8 TP_Command_Type;
285
        /* 23.040 cl. 9.2.3.19 */
286
        type record TP_ParameterIndicator_Type {
287
            /* 23.040 cl. 9.2.3.27 */
288
            Bit1 extBit1,
289
            /* */
290
            Bit4 spare4,
291
            /* */
292
            Bit1 tP_UDL,
293
            /* */
294
            Bit1 tP_DCS,
295
            /* */
296
            Bit1 tP_PID /* */
297
        }
298
 
520 garciay 299
        /* End SM-TP Type Declarations */
300
        /* SM-TP PDU Declarations */
599 tepelmann 301
        type record SMS_DELIVER_Type {
302
            /* 23.040 cl. 9.2.2.1
520 garciay 303
                                                 Direction:     n -> ue */
599 tepelmann 304
            Bit1 tP_ReplyPath,
305
            /* 23.040 cl. 9.2.3.17  */
306
            Bit1 tP_UserDataHeaderIndicator,
307
            /* 23.040 cl. 9.2.3.23 */
308
            Bit1 tP_StatusReportIndication,
309
            /* 23.040 cl. 9.2.3.4 */
310
            Bit2 spare2,
311
            /* */
312
            Bit1 tP_MoreMessagesToSend,
313
            /* 23.040 cl. 9.2.3.2 */
314
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
315
            /* 23.040 cl. 9.2.3.1 */
316
            TP_Address_Type tP_OriginatingAddress,
317
            /* 23.040 cl. 9.1.2.5 */
318
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier,
319
            /* 23.040 cl. 9.2.3.9 */
320
            TP_DataCodingScheme_Type tP_DataCodingScheme_Type,
321
            /* 23.040 cl. 9.2.3.10  */
322
            TP_ServiceCentreTimeStamp_Type tP_ServiceCentreTimeStamp,
323
            /* 23.040 cl. 9.2.3.11 */
324
            TP_UserDataLength_Type tP_UserDataLength,
325
            /* 23.040 cl. 9.2.3.16, derived from SUBMIT */
326
            octetstring tP_UserData  length(0 .. 140) optional /* 23.040 cl. 9.2.3.24, derived from SUBMIT */
327
        }
328
 
329
        type record SMS_DELIVER_REPORT_Type {
330
            /* 23.040 cl. 9.2.2.1a
520 garciay 331
                                                 Direction:     ue -> n */
599 tepelmann 332
            Bit1 spare1,
333
            /* */
334
            Bit1 tP_UserDataHeaderIndicator,
335
            /* 23.040 cl. 9.2.3.23 */
336
            Bit4 spare4,
337
            /* */
338
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
339
            /* 23.040 cl. 9.2.3.1 */
340
            Oct1 tP_FailureCause optional,
341
            /* 23.040 cl. 9.2.3.22, provided if RP_ERROR, not if RP_ACK */
342
            TP_ParameterIndicator_Type tP_ParameterIndicator,
343
            /* 23.040 cl. 9.2.3.27 */
344
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier optional,
345
            /* 23.040 cl. 9.2.3.9 */
346
            TP_DataCodingScheme_Type tP_DataCodingScheme_Type optional,
347
            /* 23.040 cl. 9.2.3.10 */
348
            TP_UserDataLength_Type tP_UserDataLength optional,
349
            /* 23.040 cl. 9.2.3.16  */
350
            octetstring tP_UserData  length(0 .. 159) optional /* 23.040 cl. 9.2.3.24 */
351
        }
352
 
353
        type record SMS_SUBMIT_Type {
354
            /* 23.040 cl. 9.2.2.2
520 garciay 355
                                                 Direction:     ue -> n */
599 tepelmann 356
            Bit1 tP_ReplyPath,
357
            /* 23.040 cl. 9.2.3.17 */
358
            Bit1 tP_UserDataHeaderIndicator,
359
            /* 23.040 cl. 9.2.3.23 */
360
            Bit1 tP_StatusReportRequest,
361
            /* 23.040 cl. 9.2.3.5 */
362
            Bit2 tP_ValidityPeriodFormat,
363
            /* 23.040 cl. 9.2.3.3 */
364
            Bit1 tP_RejectDuplicates,
365
            /* 23.040 cl. 9.2.3.25 */
366
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
367
            /* 23.040 cl. 9.2.3.1 */
368
            TP_MessageReference_Type tP_MessageReference,
369
            /* 23.040 cl. 9.2.3.6 */
370
            TP_Address_Type tP_DestinationAddress,
371
            /* 23.040 cl. 9.1.2.5 */
372
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier,
373
            /* 23.040 cl. 9.2.3.9 */
374
            TP_DataCodingScheme_Type tP_DataCodingScheme_Type,
375
            /* 23.040 cl. 9.2.3.10 */
376
            // one of the subsequent ValidityPeriod solutions has be removed
377
            TP_ValidityPeriod_Type tP_ValidityPeriod optional,
378
            /* 23.040 cl. 9.2.3.12 */
379
            // TP_ValidityPeriodRelative_Type tP_ValidityPeriodRelative optional, /* 23.040 cl. 9.2.3.12.1 */
380
            // TP_ValidityPeriodAbsolute_Type tP_ValidityPeriodAbsolute optional, /* 23.040 cl. 9.2.3.12.2 */
381
            // TP_ValidityPeriodEnhanced_Type tP_ValidityPeriodEnhanced optional, /* 23.040 cl. 9.2.3.12.3 */
382
            TP_UserDataLength_Type tP_UserDataLength,
383
            /* 23.040 cl. 9.2.3.16  */
384
            octetstring tP_UserData  length(0 .. 140) optional /* 23.040 cl. 9.2.3.24  */
385
        }
386
        type record SMS_SUBMIT_REPORT_Type {
387
            /* 23.040 cl. 9.2.2.2a
520 garciay 388
                                                 Direction:     n -> ue */
599 tepelmann 389
            Bit1 spare1,
390
            /* */
391
            Bit1 tP_UserDataHeaderIndicator,
392
            /* 23.040 cl. 9.2.3.23 */
393
            Bit4 spare4,
394
            /* */
395
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
396
            /* 23.040 cl. 9.2.3.1 */
397
            Oct1 tP_FailureCause optional,
398
            /* 23.040 cl. 9.2.3.22, provided if RP_ERROR, not if RP_ACK */
399
            TP_ParameterIndicator_Type tP_ParameterIndicator,
400
            /* 23.040 cl. 9.2.3.27 */
401
            TP_ServiceCentreTimeStamp_Type tP_ServiceCentreTimeStamp,
402
            /* 23.040 cl. 9.2.3.11 */
403
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier optional,
404
            /* 23.040 cl. 9.2.3.9 */
405
            TP_DataCodingScheme_Type tP_DataCodingScheme_Type optional,
406
            /* 23.040 cl. 9.2.3.10 */
407
            TP_UserDataLength_Type tP_UserDataLength optional,
408
            /* 23.040 cl. 9.2.3.16 */
409
            octetstring tP_UserData  length(0 .. 152) optional /* 23.040 cl. 9.2.3.24  */
410
        }
411
 
412
        type record SMS_STATUS_REPORT_Type {
413
            /* 23.040 cl. 9.2.2.3
520 garciay 414
                                                 Direction:     n -> ue */
599 tepelmann 415
            Bit1 spare1,
416
            /* */
417
            Bit1 tP_UserDataHeaderIndicator,
418
            /* 23.040 cl. 9.2.3.23 */
419
            Bit1 tP_StatusReportQualifier,
420
            /* 23.040 cl. 9.2.3.26  */
421
            Bit2 spare2,
422
            /* */
423
            Bit1 tP_MoreMessagesToSend,
424
            /* 23.040 cl. 9.2.3.2 */
425
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
426
            /* 23.040 cl. 9.2.3.1 */
427
            TP_MessageReference_Type tP_MessageReference,
428
            /* 23.040 cl. 9.2.3.6 */
429
            TP_Address_Type tP_RecipientAddress,
430
            /* 23.040 cl. 9.1.2.5 */
431
            TP_ServiceCentreTimeStamp_Type tP_ServiceCentreTimeStamp,
432
            /* 23.040 cl. 9.2.3.11 */
433
            TP_ServiceCentreTimeStamp_Type tP_DischargeTime,
434
            /* 23.040 cl. 9.2.3.12 */
435
            TP_Status_Type tP_Status,
436
            /* 23.040 cl. 9.2.3.15 */
437
            TP_ParameterIndicator_Type tP_ParameterIndicator optional,
438
            /* 23.040 cl. 9.2.3.27 */
439
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier optional,
440
            /* 23.040 cl. 9.2.3.9 */
441
            TP_DataCodingScheme_Type tP_DataCodingScheme_Type optional,
442
            /* 23.040 cl. 9.2.3.10 */
443
            TP_UserDataLength_Type tP_UserDataLength optional,
444
            /* 23.040 cl. 9.2.3.16 */
445
            octetstring tP_UserData  length(0 .. 143) optional /* 23.040 cl. 9.2.3.24  */
446
        }
447
 
448
        type record SMS_COMMAND_Type {
449
            /* 23.040 cl. 9.2.2.4
520 garciay 450
                                                 Direction:     ue -> n */
599 tepelmann 451
            Bit1 spare1,
452
            /* */
453
            Bit1 tP_UserDataHeaderIndicator,
454
            /* 23.040 cl. 9.2.3.23 */
455
            Bit1 tP_StatRptReq,
456
            /* Table 8.4/3GPP TS 24.011  */
457
            Bit3 spare3,
458
            /* */
459
            TP_MessageTypeIndicator_Type tP_MessageTypeIndicator,
460
            /* 23.040 cl. 9.2.3.1 */
461
            TP_MessageReference_Type tP_MessageReference,
462
            /* 23.040 cl. 9.2.3.6 */
463
            TP_ProtocolIdentifier_Type tP_ProtocolIdentifier,
464
            /* 23.040 cl. 9.2.3.9 */
465
            TP_Command_Type tP_CommandType,
466
            /* 23.040 cl. 9.2.3.19 */
467
            TP_MessageReference_Type tP_MessageNumber,
468
            /* 23.040 cl. 9.2.3.18 */
469
            TP_Address_Type tP_DestinationAddress,
470
            /* 23.040 cl. 9.1.2.5 */
471
            TP_UserDataLength_Type tP_CommandDataLength,
472
            /* 23.040 cl. 9.2.3.20 (number of octets) */
473
            octetstring tP_CommandData  length(0 .. 156) optional /* 23.040 cl. 9.2.3.21 */
474
        }
475
 
520 garciay 476
        type union TP_PDU_Type {
599 tepelmann 477
            SMS_DELIVER_Type SMS_DELIVER,
478
            SMS_DELIVER_REPORT_Type SMS_DELIVER_REPORT,
479
            SMS_SUBMIT_Type SMS_SUBMIT,
480
            SMS_SUBMIT_REPORT_Type SMS_SUBMIT_REPORT,
481
            SMS_STATUS_REPORT_Type SMS_STATUS_REPORT,
482
            SMS_COMMAND_Type SMS_COMMAND
483
        }
520 garciay 484
 
599 tepelmann 485
 
486
 
487
    /* End SM-TP PDU Declarations */
488
    }
489
    with {
490
        encode "SMS Types";
491
    } // group SMS_Declarations
520 garciay 492
} // End of module LibSip_SMSTypesAndValues