summaryrefslogtreecommitdiff
path: root/lib/diameter/examples/dict/rfc4006_cc.dia
blob: b45ffc80902f68693334ba89414c289234d9f9e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
;;
;; %CopyrightBegin%
;;
;; Copyright Ericsson AB 2010-2013. All Rights Reserved.
;;
;; The contents of this file are subject to the Erlang Public License,
;; Version 1.1, (the "License"); you may not use this file except in
;; compliance with the License. You should have received a copy of the
;; Erlang Public License along with this software. If not, it can be
;; retrieved online at http://www.erlang.org/.
;;
;; Software distributed under the License is distributed on an "AS IS"
;; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
;; the License for the specific language governing rights and limitations
;; under the License.
;;
;; %CopyrightEnd%
;;

;;
;; RFC 4006, Diameter Credit-Control Application
;;

@id 4

@inherits common
@inherits rfc4005_nas  Filter-Id

;; ===========================================================================

@avp_types

   CC-Correlation-Id                 411    OctetString   -
   CC-Input-Octets                   412    Unsigned64    M
   CC-Money                          413    Grouped       M
   CC-Output-Octets                  414    Unsigned64    M
   CC-Request-Number                 415    Unsigned32    M
   CC-Request-Type                   416    Enumerated    M
   CC-Service-Specific-Units         417    Unsigned64    M
   CC-Session-Failover               418    Enumerated    M
   CC-Sub-Session-Id                 419    Unsigned64    M
   CC-Time                           420    Unsigned32    M
   CC-Total-Octets                   421    Unsigned64    M
   CC-Unit-Type                      454    Enumerated    M
   Check-Balance-Result              422    Enumerated    M
   Cost-Information                  423    Grouped       M
   Cost-Unit                         424    UTF8String    M
   Credit-Control                    426    Enumerated    M
   Credit-Control-Failure-Handling   427    Enumerated    M
   Currency-Code                     425    Unsigned32    M
   Direct-Debiting-Failure-Handling  428    Enumerated    M
   Exponent                          429    Integer32     M
   Final-Unit-Action                 449    Enumerated    M
   Final-Unit-Indication             430    Grouped       M
   Granted-Service-Unit              431    Grouped       M
   G-S-U-Pool-Identifier             453    Unsigned32    M
   G-S-U-Pool-Reference              457    Grouped       M
   Multiple-Services-Credit-Control  456    Grouped       M
   Multiple-Services-Indicator       455    Enumerated    M
   Rating-Group                      432    Unsigned32    M
   Redirect-Address-Type             433    Enumerated    M
   Redirect-Server                   434    Grouped       M
   Redirect-Server-Address           435    UTF8String    M
   Requested-Action                  436    Enumerated    M
   Requested-Service-Unit            437    Grouped       M
   Restriction-Filter-Rule           438    IPFilterRule  M
   Service-Context-Id                461    UTF8String    M
   Service-Identifier                439    Unsigned32    M
   Service-Parameter-Info            440    Grouped       -
   Service-Parameter-Type            441    Unsigned32    -
   Service-Parameter-Value           442    OctetString   -
   Subscription-Id                   443    Grouped       M
   Subscription-Id-Data              444    UTF8String    M
   Subscription-Id-Type              450    Enumerated    M
   Tariff-Change-Usage               452    Enumerated    M
   Tariff-Time-Change                451    Time          M
   Unit-Value                        445    Grouped       M
   Used-Service-Unit                 446    Grouped       M
   User-Equipment-Info               458    Grouped       -
   User-Equipment-Info-Type          459    Enumerated    -
   User-Equipment-Info-Value         460    OctetString   -
   Value-Digits                      447    Integer64     M
   Validity-Time                     448    Unsigned32    M

;; ===========================================================================

@messages

   CCR ::= < Diameter Header: 272, REQ, PXY >

           < Session-Id >
           { Origin-Host }
           { Origin-Realm }
           { Destination-Realm }
           { Auth-Application-Id }
           { Service-Context-Id }
           { CC-Request-Type }
           { CC-Request-Number }
           [ Destination-Host ]
           [ User-Name ]
           [ CC-Sub-Session-Id ]
           [ Acct-Multi-Session-Id ]
           [ Origin-State-Id ]
           [ Event-Timestamp ]
         * [ Subscription-Id ]
           [ Service-Identifier ]
           [ Termination-Cause ]
           [ Requested-Service-Unit ]
           [ Requested-Action ]
         * [ Used-Service-Unit ]
           [ Multiple-Services-Indicator ]
         * [ Multiple-Services-Credit-Control ]
         * [ Service-Parameter-Info ]
           [ CC-Correlation-Id ]
           [ User-Equipment-Info ]
         * [ Proxy-Info ]
         * [ Route-Record ]
         * [ AVP ]

   CCA ::= < Diameter Header: 272, PXY >

           < Session-Id >
           { Result-Code }
           { Origin-Host }
           { Origin-Realm }
           { Auth-Application-Id }
           { CC-Request-Type }
           { CC-Request-Number }
           [ User-Name ]
           [ CC-Session-Failover ]
           [ CC-Sub-Session-Id ]
           [ Acct-Multi-Session-Id ]
           [ Origin-State-Id ]
           [ Event-Timestamp ]
           [ Granted-Service-Unit ]
         * [ Multiple-Services-Credit-Control ]
           [ Cost-Information]
           [ Final-Unit-Indication ]
           [ Check-Balance-Result ]
           [ Credit-Control-Failure-Handling ]
           [ Direct-Debiting-Failure-Handling ]
           [ Validity-Time]
         * [ Redirect-Host]
           [ Redirect-Host-Usage ]
           [ Redirect-Max-Cache-Time ]
         * [ Proxy-Info ]
         * [ Route-Record ]
         * [ Failed-AVP ]
         * [ AVP ]

;; ===========================================================================

@grouped

   Cost-Information ::= < AVP Header: 423 >

           { Unit-Value }
           { Currency-Code }
           [ Cost-Unit ]

   Unit-Value ::= < AVP Header: 445 >

           { Value-Digits }
           [ Exponent ]

   Multiple-Services-Credit-Control ::= < AVP Header: 456 >

           [ Granted-Service-Unit ]
           [ Requested-Service-Unit ]
         * [ Used-Service-Unit ]
           [ Tariff-Change-Usage ]
         * [ Service-Identifier ]
           [ Rating-Group ]
         * [ G-S-U-Pool-Reference ]
           [ Validity-Time ]
           [ Result-Code ]
           [ Final-Unit-Indication ]
         * [ AVP ]

   Granted-Service-Unit ::= < AVP Header: 431 >

           [ Tariff-Time-Change ]
           [ CC-Time ]
           [ CC-Money ]
           [ CC-Total-Octets ]
           [ CC-Input-Octets ]
           [ CC-Output-Octets ]
           [ CC-Service-Specific-Units ]
         * [ AVP ]

   Requested-Service-Unit ::= < AVP Header: 437 >

           [ CC-Time ]
           [ CC-Money ]
           [ CC-Total-Octets ]
           [ CC-Input-Octets ]
           [ CC-Output-Octets ]
           [ CC-Service-Specific-Units ]
         * [ AVP ]

   Used-Service-Unit ::= < AVP Header: 446 >

           [ Tariff-Change-Usage ]
           [ CC-Time ]
           [ CC-Money ]
           [ CC-Total-Octets ]
           [ CC-Input-Octets ]
           [ CC-Output-Octets ]
           [ CC-Service-Specific-Units ]
         * [ AVP ]

   CC-Money ::= < AVP Header: 413 >

           { Unit-Value }
           [ Currency-Code ]

   G-S-U-Pool-Reference ::= < AVP Header: 457 >

           { G-S-U-Pool-Identifier }
           { CC-Unit-Type }
           { Unit-Value }

   Final-Unit-Indication ::= < AVP Header: 430 >

           { Final-Unit-Action }
         * [ Restriction-Filter-Rule ]
         * [ Filter-Id ]
           [ Redirect-Server ]

   Redirect-Server ::= < AVP Header: 434 >

           { Redirect-Address-Type }
           { Redirect-Server-Address }

   Service-Parameter-Info ::= < AVP Header: 440 >

           { Service-Parameter-Type }
           { Service-Parameter-Value }

   Subscription-Id ::= < AVP Header: 443 >

           { Subscription-Id-Type }
           { Subscription-Id-Data }

   User-Equipment-Info ::= < AVP Header: 458 >

           { User-Equipment-Info-Type }
           { User-Equipment-Info-Value }

;; ===========================================================================

@enum CC-Request-Type

   INITIAL_REQUEST                 1
   UPDATE_REQUEST                  2
   TERMINATION_REQUEST             3
   EVENT_REQUEST                   4

@enum CC-Session-Failover

   NOT_SUPPORTED                   0
   SUPPORTED                       1

@enum Check-Balance-Result

   ENOUGH_CREDIT                   0
   NO_CREDIT                       1

@enum Credit-Control

   AUTHORIZATION                   0
   RE_AUTHORIZATION                1

@enum Credit-Control-Failure-Handling

   TERMINATE                       0
   CONTINUE                        1
   RETRY_AND_TERMINATE             2

@enum Direct-Debiting-Failure-Handling

   TERMINATE_OR_BUFFER             0
   CONTINUE                        1

@enum Tariff-Change-Usage

   UNIT_BEFORE_TARIFF_CHANGE       0
   UNIT_AFTER_TARIFF_CHANGE        1
   UNIT_INDETERMINATE              2

@enum CC-Unit-Type

   TIME                            0
   MONEY                           1
   TOTAL-OCTETS                    2
   INPUT-OCTETS                    3
   OUTPUT-OCTETS                   4
   SERVICE-SPECIFIC-UNITS          5

@enum Final-Unit-Action

   TERMINATE                       0
   REDIRECT                        1
   RESTRICT_ACCESS                 2

@enum Redirect-Address-Type

   IPV4                            0
   IPV6                            1
   URL                             2
   SIP_URI                         3

@enum Multiple-Services-Indicator

   NOT_SUPPORTED                   0
   SUPPORTED                       1

@enum Requested-Action

   DIRECT_DEBITING                 0
   REFUND_ACCOUNT                  1
   CHECK_BALANCE                   2
   PRICE_ENQUIRY                   3

@enum Subscription-Id-Type

   END_USER_E164                   0
   END_USER_IMSI                   1
   END_USER_SIP_URI                2
   END_USER_NAI                    3
   END_USER_PRIVATE                4

@enum User-Equipment-Info-Type

   IMEISV                          0
   MAC                             1
   EUI64                           2
   MODIFIED_EUI64                  3

;; ===========================================================================

@define Result-Code

   END_USER_SERVICE_DENIED         4010
   CREDIT_CONTROL_NOT_APPLICABLE   4011
   CREDIT_LIMIT_REACHED            4012

   USER_UNKNOWN                    5030
   RATING_FAILED                   5031