1# zxid/sg/id-mm7-R6-1-4.sg
2# Author: Sampo Kellomaki (sampo@symlabs.com)
3# $Id: id-mm7-R6-1-4.sg,v 1.3 2009-09-05 02:23:41 sampo Exp $
4
5#ta rget(csm, urn:liberty:id-sis-csm:2006-02)
6target(mm7, http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4)
7import(e, http://schemas.xmlsoap.org/soap/envelope/, http://schemas.xmlsoap.org/soap/envelope/)
8ns(di12, urn:liberty:disco:2003-08)
9#import(b, urn:liberty:sb:2005-11,http://projectliberty.org/)
10
11SubmitReq        -> %mm7:submitReqType
12SubmitRsp        -> %mm7:submitRspType
13DeliverReq       -> %mm7:deliverReqType
14DeliverRsp       -> %mm7:deliverRspType
15CancelReq        -> %mm7:cancelReqType
16CancelRsp        -> %mm7:genericResponseType
17ReplaceReq       -> %mm7:replaceReqType
18ReplaceRsp       -> %mm7:genericResponseType
19extendedCancelReq        -> %mm7:extendedcancelReqType
20extendedCancelRsp        -> %mm7:extendedcancelRspType
21extendedReplaceReq       -> %mm7:extendedreplaceReqType
22extendedReplaceRsp       -> %mm7:extendedreplaceRspType
23DeliveryReportReq        -> %mm7:deliveryReportReqType
24DeliveryReportRsp        -> %mm7:genericResponseType
25ReadReplyReq     -> %mm7:readReplyReqType
26ReadReplyRsp     -> %mm7:genericResponseType
27RSErrorRsp       -> %mm7:genericResponseType
28VASPErrorRsp     -> %mm7:genericResponseType
29QueryStatusReq   -> %mm7:queryStatusReqType
30QueryStatusRsp   -> %mm7:queryStatusRspType
31
32%submitReqType:  base(mm7:genericVASPRequestType)
33  mm7:Recipients           -> %mm7:recipientsType
34  mm7:PreferredChannels?:
35    mm7:DeliverUsing+      -> %mm7:Channels
36    ;
37  mm7:ServiceCode?         -> %mm7:serviceCodeType
38  mm7:LinkedID?            -> %mm7:messageIDType
39  mm7:MessageClass?        -> %mm7:messageClassType
40  mm7:TimeStamp?           -> %xs:dateTime
41  mm7:ReplyCharging?:
42    @replyChargingSize?        -> %xs:positiveInteger
43    @replyDeadline?    -> %mm7:relativeOrAbsoluteDateType
44    ;
45  mm7:EarliestDeliveryTime?        -> %mm7:relativeOrAbsoluteDateType
46  mm7:ExpiryDate?  -> %mm7:relativeOrAbsoluteDateType
47  mm7:DeliveryReport?      -> %xs:boolean
48  mm7:ReadReply?   -> %xs:boolean
49  mm7:Priority?    -> %mm7:priorityType
50  mm7:Subject?     -> %xs:string
51  mm7:ChargedParty?        -> %mm7:chargedPartyType
52  mm7:ChargedPartyID?      -> %mm7:chargedPartyIDType
53  mm7:ThirdPartyPayer?     -> %mm7:addressType
54  mm7:DistributionIndicator?       -> %xs:boolean
55  mm7:DeliveryCondition?   -> %mm7:deliveryConditionType
56  mm7:ApplicID?    -> %xs:string
57  mm7:ReplyApplicID?       -> %xs:string
58  mm7:AuxApplicInfo?       -> %xs:string
59  mm7:ContentClass?        -> %mm7:contentClassType
60  mm7:DRMContent?          -> %xs:boolean
61  mm7:Content*             -> %mm7:contentReferenceType
62  mm7:AdditionalInformation*       -> %mm7:additionalInformationType
63  mm7:MessageExtraData?            -> %mm7:messageExtraDataType
64  ;
65%submitRspType:  base(mm7:genericResponseType)
66  mm7:MessageID    -> %mm7:messageIDType
67  ;
68
69%deliverReqType:         base(mm7:genericRSReqType)
70  mm7:VASPID?      -> %mm7:entityIDType
71  mm7:VASID?       -> %mm7:entityIDType
72  mm7:LinkedID?    -> %mm7:messageIDType
73  mm7:Sender       -> %mm7:addressType
74  mm7:Recipients?  -> %mm7:recipientsType
75  mm7:Previouslysentby?    -> %mm7:previouslySentByType
76  mm7:Previouslysentdateandtime?   -> %mm7:previouslySentByDateTime
77  mm7:SenderSPI?   -> %mm7:serviceProviderIDType
78  mm7:RecipientSPI?        -> %mm7:serviceProviderIDType
79  mm7:TimeStamp?   -> %xs:dateTime
80  mm7:ReplyChargingID?     -> %mm7:messageIDType
81  mm7:Priority?    -> %mm7:priorityType
82  mm7:Subject?     -> %xs:string
83  mm7:ApplicID?    -> %xs:string
84  mm7:ReplyApplicID?       -> %xs:string
85  mm7:AuxApplicInfo?       -> %xs:string
86  mm7:UACapabilities?      -> %mm7:capabilitiesType
87  mm7:Content*             -> %mm7:contentReferenceType
88  mm7:AdditionalInformation*       -> %mm7:additionalInformationType
89  mm7:MessageExtraData?            -> %mm7:messageExtraDataType
90  ;
91%deliverRspType:         base(mm7:genericResponseType)
92  mm7:ServiceCode?         -> %mm7:serviceCodeType
93  ;
94
95%cancelReqType:  base(mm7:genericVASPRequestType)
96  mm7:MessageID      -> %mm7:messageIDType
97  mm7:Recipients?    -> %mm7:recipientsType
98  mm7:ApplicID?      -> %xs:string
99  mm7:ReplyApplicID? -> %xs:string
100  mm7:AuxApplicInfo? -> %xs:string
101  ;
102%extendedcancelReqType:  base(mm7:genericVASPRequestType)
103  mm7:CancelID       -> %mm7:messageIDType
104  ;
105%extendedcancelRspType:
106  mm7:MM7Version     -> %mm7:versionType
107  mm7:Status         -> %mm7:extendedcancelresponseStatusType
108  ;
109
110%replaceReqType:       base(mm7:genericVASPRequestType)
111  mm7:MessageID            -> %mm7:messageIDType
112  mm7:ServiceCode?         -> %mm7:serviceCodeType
113  mm7:TimeStamp?           -> %xs:dateTime
114  mm7:ReadReply?           -> %xs:boolean
115  mm7:EarliestDeliveryTime?        -> %mm7:relativeOrAbsoluteDateType
116  mm7:DistributionIndicator?       -> %xs:boolean
117  mm7:ContentClass?        -> %mm7:contentClassType
118  mm7:DRMContent?          -> %xs:boolean
119  mm7:ApplicID?            -> %xs:string
120  mm7:ReplyApplicID?       -> %xs:string
121  mm7:AuxApplicInfo?       -> %xs:string
122  mm7:Content*             -> %mm7:contentReferenceType
123  mm7:AdditionalInformation*       -> %mm7:additionalInformationType
124  mm7:MessageExtraData?            -> %mm7:messageExtraDataType
125  ;
126%extendedreplaceReqType:
127  mm7:MM7Version     -> %mm7:versionType
128  mm7:VASPID?        -> %mm7:entityIDType
129  mm7:VASID?         -> %mm7:entityIDType
130  mm7:ServiceCode?   -> %mm7:serviceCodeType
131  mm7:ReplaceID?     -> %mm7:messageIDType
132  mm7:TimeStamp?     -> %xs:dateTime
133  mm7:EarliestDeliveryTime?  -> %mm7:relativeOrAbsoluteDateType
134  mm7:ExpiryDate?    -> %mm7:relativeOrAbsoluteDateType
135  mm7:ReadReply?     -> %xs:boolean
136  mm7:DeliveryReport?        -> %xs:boolean
137  mm7:Content*       -> %mm7:contentReferenceType
138  mm7:AdditionalInformation*       -> %mm7:additionalInformationType
139  mm7:MessageExtraData?            -> %mm7:messageExtraDataType
140  ;
141%extendedreplaceRspType:
142  mm7:MM7Version     -> %mm7:versionType
143  mm7:MessageID      -> %mm7:messageIDType
144  mm7:Status         -> %mm7:extendedcancelresponseStatusType
145  ;
146
147%deliveryReportReqType:  base(mm7:genericRSReqType)
148  mm7:MessageID    -> %mm7:messageIDType
149  mm7:Recipient    -> %mm7:addressType
150  mm7:Sender       -> %mm7:addressType
151  mm7:Date         -> %xs:dateTime
152  mm7:MMStatus     -> %mm7:mmDeliveryStatusType
153  mm7:MMStatusExtension?   -> %mm7:MMStatusExtensionType
154  mm7:StatusText?  -> %xs:string
155  mm7:ApplicID?    -> %xs:string
156  mm7:ReplyApplicID?       -> %xs:string
157  mm7:AuxApplicInfo?       -> %xs:string
158  mm7:UACapabilities?      -> %mm7:capabilitiesType
159  ;
160
161%readReplyReqType:       base(mm7:genericRSReqType)
162  mm7:MessageID    -> %mm7:messageIDType
163  mm7:Recipient    -> %mm7:addressType
164  mm7:Sender       -> %mm7:addressType
165  mm7:TimeStamp    -> %xs:dateTime
166  mm7:MMStatus     -> %mm7:mmReadStatusType
167  mm7:StatusText?  -> %xs:string
168  mm7:ApplicID?    -> %xs:string
169  mm7:ReplyApplicID?       -> %xs:string
170  mm7:AuxApplicInfo?       -> %xs:string
171  ;
172
173%queryStatusReqType:
174  mm7:TransactionID
175  mm7:MessageType    -> %mm7:messageTypeType
176  mm7:MM7Version     -> %mm7:versionType
177  mm7:VASPID?        -> %mm7:entityIDType
178  mm7:VASID?         -> %mm7:entityIDType
179  mm7:MessageID      -> %mm7:messageIDType
180  ;
181%queryStatusRspType:
182  mm7:TransactionID
183  mm7:MessageType    -> %mm7:messageTypeType
184  mm7:MM7Version     -> %mm7:versionType
185  mm7:StatusCode:    base(mm7:statusCodeType) ;
186  mm7:StatusText     -> %mm7:statusTextType
187  mm7:Details?       -> %mm7:anyDataType
188  ;
189
190%genericRSReqType:
191  mm7:MM7Version     -> %mm7:versionType
192  mm7:MMSRelayServerID?      -> %mm7:entityIDType
193  mm7:Extension*
194  ;
195
196%genericVASPRequestType:
197  mm7:MM7Version     -> %mm7:versionType
198  mm7:SenderIdentification   -> %mm7:senderIDType
199  mm7:Extension*
200  ;
201
202%genericResponseType:
203  mm7:MM7Version     -> %mm7:versionType
204  mm7:Status         -> %mm7:responseStatusType
205  mm7:Extension*
206  ;
207
208%senderIDType:
209  mm7:VASPID?        -> %mm7:entityIDType
210  mm7:VASID?         -> %mm7:entityIDType
211  mm7:SenderAddress? -> %mm7:addressType
212  ;
213
214%responseStatusType: # all
215  mm7:StatusCode:    base(mm7:statusCodeType) ;
216  mm7:StatusText     -> %mm7:statusTextType
217  mm7:Details?       -> %mm7:anyDataType
218  ;
219
220%extendedcancelresponseStatusType: # all
221  mm7:StatusCode:    base(mm7:statusCodeType) ;
222  ;
223
224%messageTypeType:        base(xs:string) ;
225
226%mmDeliveryStatusType:   enum( Expired Retrieved Rejected Indeterminate
227                               Forwarded Unrecognised Deferred
228                               DeliveryConditionNotMet
229                               Processing Cancelled Replaced Delivered ) ;
230
231%mmReadStatusType:       enum( Indeterminate Read Deleted ) ;
232
233%messageIDType:          base(xs:string) ;
234
235%Channels: enum ( SMS MMS WAPPUSH ) ;
236
237%RFC2822AddressType:     base(xs:string)
238    @displayOnly?        -> %xs:boolean  default (false)
239    &@mm7:addressSecurity
240    ;
241%NumberType:     base(xs:string)
242    @displayOnly?        -> %xs:boolean  default (false)
243    &@mm7:addressSecurity
244    ;
245%ShortCodeType:  base(xs:string)
246    @displayOnly?        -> %xs:boolean  default (false)
247    &@mm7:addressSecurity
248    ;
249
250RFC2822Address -> %mm7:RFC2822AddressType
251Number -> %mm7:NumberType
252ShortCode -> %mm7:ShortCodeType
253
254&AddressGroup:
255 mm7:RFC2822Address?
256 mm7:Number?
257 mm7:ShortCode?
258 mm7:Extension?
259 any?
260 ;
261
262Extension:
263 mm7:IdentityAddressingToken?
264 mm7:MessageExtraData?
265 any?
266 ;
267
268IdentityAddressingToken:
269 #di12:ResourceIDGroup
270 mm7:CredentialRef -> %xs:IDREF
271 ;
272
273%multiAddressType: &mm7:AddressGroup+  ;
274%addressType:      &mm7:AddressGroup ;
275
276To  -> %mm7:multiAddressType
277Cc  -> %mm7:multiAddressType
278Bcc -> %mm7:multiAddressType
279%recipientsType:
280  mm7:To?
281  mm7:Cc?
282  mm7:Bcc?
283  ;
284
285&@addressSecurity:
286  @addressCoding?        -> %mm7:addressCodingType
287  @id?                   -> %xs:ID
288  ;
289%addressCodingType:      enum( encrypted obfuscated ) ;
290
291%previouslySentByType:
292  mm7:UserAgent*     -> %mm7:userAgentInfoType
293  ;
294
295%previouslySentByDateTime:
296  mm7:DateTime*      -> %mm7:userAgentDateTimeType
297  ;
298
299%userAgentInfoType:      base(mm7:addressType)
300  @sequence?     -> %xs:positiveInteger
301  ;
302
303# *** investigate
304%userAgentDateTimeType:  base(mm7:relativeOrAbsoluteDateType)
305  @sequence?     -> %xs:positiveInteger
306  ;
307
308%serviceProviderIDType:  base(xs:string) ;
309%chargedPartyIDType:     base(xs:string) ;
310%MMStatusExtensionType:  enum( RejectionByMMSRecipient RejectionByOtherRS ) ;
311%serviceCodeType:        base(xs:string)
312  @any
313  ;
314%entityIDType:   base(xs:string) ;
315
316%messageClassType:            enum( Personal Informational Advertisement Auto ) ;
317%priorityType:                enum( Normal High Low ) ;
318%relativeOrAbsoluteDateType:  base(xs:string);  #union(xs:dateTime xs:duration) ;
319
320%deliveryConditionType:
321  mm7:DC*    -> %xs:positiveInteger
322  ;
323
324%chargedPartyType:       enum( Sender Recipient Both Neither ThirdParty Other ) ;
325%contentQualityType:     enum( TEXT MULTIMEDIA_LOW MULTIMEDIA_HIGH ) ;
326%contentClassType:       enum( text image-basic image-rich video-basic video-rich
327                               megapixel content-basic content-rich ) ;
328%versionType:            enum( 6.8.0 6.6.0 6.5.0 6.4.0 6.3.0 5.10.0 5.8.0 5.6.0 5.5.0 5.3.0 ) ;
329%statusCodeType:         base(xs:positiveInteger) ;
330%statusTextType:         base(xs:string) ;
331
332%contentReferenceType:
333  @type                  -> %mm7:contentQualityType
334  @href                  -> %xs:anyURI
335  @allowAdaptations?     -> %xs:boolean  default (true)
336  ;
337
338%capabilitiesType:
339  @UAProf?       -> %xs:string
340  @TimeStamp?    -> %mm7:relativeOrAbsoluteDateType
341  ;
342
343%messageExtraDataType:
344  mm7:element+ -> %mm7:elementType
345  ;
346
347%elementType:
348  mm7:key   -> %xs:string
349  mm7:value -> %xs:string
350  ;
351
352%additionalInformationType:
353  @href -> %xs:anyURI
354  ;
355
356%anyDataType:    base(xs:anyType)
357  any*  processContents(lax)
358  ;
359
360# Schema for new SOAP header required by MT ID-WSF 1.1 Profile
361
362#ResourceID -> %mm7:ResourceIDType
363#ResourceIDType: base(xs:string) ;
364
365TransactionID:   base(xs:string)
366  @e:mustUnderstand?
367  @e:encodingStyle?
368  @e:actor?
369  ;
370
371#EOF
372