1########################################################################## 2# 3# Diameter protocol implementation for Scapy 4# Original Author: patrick battistello 5# 6# This implements the base Diameter protocol RFC6733 and the additional standards: # noqa: E501 7# RFC7155, RFC4004, RFC4006, RFC4072, RFC4740, RFC5778, RFC5447, RFC6942, RFC5777 # noqa: E501 8# ETS29229 V12.3.0 (2014-09), ETS29272 V13.1.0 (2015-03), ETS29329 V12.5.0 (2014-12), # noqa: E501 9# ETS29212 V13.1.0 (2015-03), ETS32299 V13.0.0 (2015-03), ETS29210 V6.7.0 (2006-12), # noqa: E501 10# ETS29214 V13.1.0 (2015-03), ETS29273 V12.7.0 (2015-03), ETS29173 V12.3.0 (2015-03), # noqa: E501 11# ETS29172 V12.5.0 (2015-03), ETS29215 V13.1.0 (2015-03), ETS29209 V6.8.0 (2011-09), # noqa: E501 12# ETS29061 V13.0.0 (2015-03), ETS29219 V13.0.0 (2014-12) 13# 14# IMPORTANT note: 15# 16# - Some Diameter fields (Unsigned64, Float32, ...) have not been tested yet due to lack # noqa: E501 17# of network captures containing AVPs of that types contributions are welcomed. # noqa: E501 18# 19########################################################################## 20 21# scapy.contrib.description = Diameter 22# scapy.contrib.status = loads 23 24import socket 25import struct 26from time import ctime 27 28from scapy.packet import Packet, bind_layers 29from scapy.fields import ConditionalField, EnumField, Field, FieldLenField, \ 30 FlagsField, IEEEDoubleField, IEEEFloatField, IntEnumField, IntField, \ 31 LongField, PacketListField, SignedIntField, StrLenField, X3BytesField, \ 32 XByteField, XIntField 33from scapy.layers.inet import TCP 34from scapy.layers.sctp import SCTPChunkData 35import scapy.modules.six as six 36from scapy.modules.six.moves import range 37from scapy.compat import chb, orb, raw, bytes_hex, plain_str 38from scapy.error import warning 39from scapy.utils import inet_ntoa, inet_aton 40from scapy.pton_ntop import inet_pton, inet_ntop 41 42##################################################################### 43##################################################################### 44# 45# Definition of additional fields 46# 47##################################################################### 48##################################################################### 49 50 51class I3BytesEnumField (X3BytesField, EnumField): 52 """ 3 bytes enum field """ 53 54 def __init__(self, name, default, enum): 55 EnumField.__init__(self, name, default, enum, "!I") 56 57 58class I3FieldLenField(X3BytesField, FieldLenField): 59 __slots__ = ["length_of", "count_of", "adjust"] 60 61 def __init__( 62 self, 63 name, 64 default, 65 length_of=None, 66 count_of=None, 67 adjust=lambda pkt, 68 x: x): 69 X3BytesField.__init__(self, name, default) 70 self.length_of = length_of 71 self.count_of = count_of 72 self.adjust = adjust 73 74 def i2m(self, pkt, x): 75 return FieldLenField.i2m(self, pkt, x) 76 77########################################################### 78# Fields for Diameter commands 79########################################################### 80 81 82class DRFlags (FlagsField): 83 def i2repr(self, pkt, x): 84 if x is None: 85 return "None" 86 res = hex(int(x)) 87 r = '' 88 cmdt = ' Request' if (x & 128) else ' Answer' 89 if x & 15: # Check if reserved bits are used 90 nb = 8 91 offset = 0 92 else: # Strip the first 4 bits 93 nb = 4 94 offset = 4 95 x >>= 4 96 for i in range(nb): 97 r += (x & 1) and str(self.names[offset + i][0]) or '-' 98 x >>= 1 99 invert = r[::-1] 100 return res + cmdt + ' (' + invert[:nb] + ')' 101 102 103class DRCode (I3BytesEnumField): 104 def __init__(self, name, default, enum): 105 """enum is a dict of tuples, so conversion is required before calling the actual init method. # noqa: E501 106 Note: the conversion is done only once.""" 107 enumDict = {} 108 for k, v in enum.items(): 109 enumDict[k] = v[0] 110 I3BytesEnumField.__init__(self, name, default, enumDict) 111 112 def i2repr(self, pkt, x): 113 cmd = self.i2repr_one(pkt, x) 114 sx = str(x) 115 if cmd == sx: 116 cmd = 'Unknown' 117 return sx + " (" + cmd + ")" 118 119########################################################### 120# Fields for Diameter AVPs 121########################################################### 122 123 124class AVPFlags (FlagsField): 125 def i2repr(self, pkt, x): 126 if x is None: 127 return "None" 128 res = hex(int(x)) 129 r = '' 130 if x & 31: # Check if reserved bits are used 131 nb = 8 132 offset = 0 133 else: # Strip the first 5 bits 134 nb = 3 135 offset = 5 136 x >>= 5 137 for i in range(nb): 138 r += (x & 1) and str(self.names[offset + i][0]) or '-' 139 x >>= 1 140 invert = r[::-1] 141 return res + ' (' + invert[:nb] + ')' 142 143 144class AVPVendor (IntField): 145 def i2repr(self, pkt, x): 146 vendor = vendorList.get(x, "Unkown_Vendor") 147 return "%s (%s)" % (vendor, str(x)) 148 149 150# Note the dictionary below is minimal (taken from scapy/layers/dhcp6.py 151# + added 3GPP and ETSI 152vendorList = { 153 9: "ciscoSystems", 154 35: "Nortel Networks", 155 43: "3Com", 156 311: "Microsoft", 157 323: "Tekelec", 158 2636: "Juniper Networks, Inc.", 159 4526: "Netgear", 160 5771: "Cisco Systems, Inc.", 161 5842: "Cisco Systems", 162 8164: "Starent Networks", 163 10415: "3GPP", 164 13019: "ETSI", 165 16885: "Nortel Networks"} 166 167# The Application IDs for the Diameter command field 168AppIDsEnum = { 169 0: "Diameter_Common_Messages", 170 1: "NASREQ_Application", 171 2: "Mobile_IPv4_Application", 172 3: "Diameter_Base_Accounting", 173 4: "Diameter_Credit_Control_Application", 174 5: "EAP_Application", 175 6: "Diameter_Session_Initiation_Protocol_(SIP)_Application", 176 7: "Diameter_Mobile_IPv6_IKE___(MIP6I)", 177 8: "Diameter_Mobile_IPv6_Auth__(MIP6A)", 178 111: "ALU_Sy", 179 555: "Sun_Ping_Application", 180 16777216: "3GPP_Cx", 181 16777217: "3GPP_Sh", 182 16777222: "3GPP_Gq", 183 16777223: "3GPP_Gmb", 184 16777224: "3GPP_Gx", 185 16777227: "Ericsson_MSI", 186 16777228: "Ericsson_Zx", 187 16777229: "3GPP_RX", 188 16777231: "Diameter_e2e4_Application", 189 16777232: "Ericsson_Charging-CIP", 190 16777236: "3GPP_Rx", 191 16777238: "3GPP_Gx", 192 16777250: "3GPP_STa", 193 16777251: "3GPP_S6a/S6d", 194 16777252: "3GPP_S13/S13'", 195 16777255: "3GPP_SLg", 196 16777264: "3GPP_SWm", 197 16777265: "3GPP_SWx", 198 16777266: "3GPP_Gxx", 199 16777267: "3GPP_S9", 200 16777269: "Ericsson_HSI", 201 16777272: "3GPP_S6b", 202 16777291: "3GPP_SLh", 203 16777292: "3GPP_SGmb", 204 16777302: "3GPP_Sy", 205 16777304: "Ericsson_Sy", 206 16777315: "Ericsson_Diameter_Signalling_Controller_Application_(DSC)", 207 4294967295: "Relay", 208} 209 210 211########################################################### 212# Definition of fields contained in section 4.2 of RFC6733 213# for AVPs payloads 214########################################################### 215 216class OctetString (StrLenField): 217 def i2repr(self, pkt, x): 218 try: 219 return plain_str(x) 220 except BaseException: 221 return bytes_hex(x) 222 223 224class Integer32 (SignedIntField): 225 pass 226 227 228class Integer64 (Field): 229 def __init__(self, name, default): 230 Field.__init__(self, name, default, "q") 231 232 233class Unsigned32 (IntField): 234 pass 235 236 237class Unsigned64 (LongField): 238 pass 239 240 241class Float32 (IEEEFloatField): 242 pass 243 244 245class Float64 (IEEEDoubleField): 246 pass 247 248 249########################################################### 250# Definition of additional fields contained in section 4.3 251# of RFC6733 for AVPs payloads 252########################################################### 253 254class Address (StrLenField): 255 def i2repr(self, pkt, x): 256 if x.startswith(b'\x00\x01'): # IPv4 address 257 return inet_ntoa(x[2:]) 258 elif x.startswith(b'\x00\x02'): # IPv6 address 259 return inet_ntop(socket.AF_INET6, x[2:]) 260 else: # Address format not yet decoded 261 print('Warning: Address format not yet decoded.') 262 return bytes_hex(x) 263 264 def any2i(self, pkt, x): 265 if x and isinstance(x, str): 266 try: # Try IPv4 conversion 267 s = inet_aton(x) 268 return b'\x00\x01' + s 269 except BaseException: 270 try: # Try IPv6 conversion 271 s = inet_pton(socket.AF_INET6, x) 272 return b'\x00\x02' + s 273 except BaseException: 274 print('Warning: Address format not supported yet.') 275 return b'' 276 277 278class Time (IntField): 279 def i2repr(self, pkt, x): 280 return ctime(x) 281 282 283class Enumerated (IntEnumField): 284 def i2repr(self, pkt, x): 285 if x in self.i2s: 286 return self.i2s[x] + " (%d)" % x 287 else: 288 return repr(x) + " (Unknown)" 289 290 291class IPFilterRule (StrLenField): 292 pass 293 294 295class Grouped (StrLenField): 296 """This class is just for declarative purpose because it is used in the AVP definitions dict.""" # noqa: E501 297 pass 298 299 300#################################################################### 301# Definition of additional fields contained in other standards 302#################################################################### 303 304class QoSFilterRule (StrLenField): # Defined in 4.1.1 of RFC7155 305 pass 306 307 308class ISDN (StrLenField): 309 def i2repr(self, pkt, x): 310 out = b'' 311 for char in x: 312 c = orb(char) 313 out += chb(48 + (c & 15)) # convert second digit first 314 v = (c & 240) >> 4 315 if v != 15: 316 out += chb(48 + v) 317 return out 318 319 def any2i(self, pkt, x): 320 out = b'' 321 if x: 322 fd = True # waiting for first digit 323 for c in x: 324 digit = orb(c) - 48 325 if fd: 326 val = digit 327 else: 328 val = val + 16 * digit 329 out += chb(val) 330 fd = not fd 331 if not fd: # Fill with 'f' if odd number of characters 332 out += chb(240 + val) 333 return out 334 335 336##################################################################### 337##################################################################### 338# 339# AVPs classes and definitions 340# 341##################################################################### 342##################################################################### 343 344AVP_Code_length = 4 345AVP_Flag_length = 1 346DIAMETER_BYTES_ALIGNMENT = 4 347AVP_Flags_List = ["x", "x", "x", "x", "x", "P", "M", "V"] 348 349 350def GuessAvpType(p, **kargs): 351 if len(p) > AVP_Code_length + AVP_Flag_length: 352 # Set AVP code and vendor 353 avpCode = struct.unpack("!I", p[:AVP_Code_length])[0] 354 vnd = bool(struct.unpack( 355 "!B", p[AVP_Code_length:AVP_Code_length + AVP_Flag_length])[0] & 128) # noqa: E501 356 vndCode = struct.unpack("!I", p[8:12])[0] if vnd else 0 357 # Check if vendor and code defined and fetch the corresponding AVP 358 # definition 359 if vndCode in AvpDefDict: 360 AvpVndDict = AvpDefDict[vndCode] 361 if avpCode in AvpVndDict: 362 # Unpack only the first 4 tuple items at this point 363 avpName, AVPClass, flags = AvpVndDict[avpCode][:3] 364 result = AVPClass(p, **kargs) 365 result.name = 'AVP ' + avpName 366 return result 367 # Packet too short or AVP vendor or AVP code not found ... 368 return AVP_Unknown(p, **kargs) 369 370 371class AVP_Generic (Packet): 372 """ Parent class for the 5 following AVP intermediate classes below""" 373 374 def extract_padding(self, s): 375 nbBytes = self.avpLen % DIAMETER_BYTES_ALIGNMENT 376 if nbBytes: 377 nbBytes = DIAMETER_BYTES_ALIGNMENT - nbBytes 378 return s[:nbBytes], s[nbBytes:] 379 380 def post_build(self, p, pay): 381 nbBytes = (-len(p)) % 4 382 while nbBytes: 383 p += struct.pack("B", 0) 384 nbBytes -= 1 385 return p + pay 386 387 def show2(self): 388 self.__class__(raw(self), name=self.name).show() 389 390 391def AVP(avpId, **fields): 392 """ Craft an AVP based on its id and optional parameter fields""" 393 val = None 394 classType = AVP_Unknown 395 if isinstance(avpId, str): 396 try: 397 for vnd in AvpDefDict: 398 for code in AvpDefDict[vnd]: 399 val = AvpDefDict[vnd][code] 400 if val[0][:len( 401 avpId)] == avpId: # A prefix of the full name is considered valid # noqa: E501 402 raise 403 found = False 404 except BaseException: 405 found = True 406 else: 407 if isinstance(avpId, list): 408 code = avpId[0] 409 vnd = avpId[1] 410 else: # Assume this is an int 411 code = avpId 412 vnd = 0 413 try: 414 val = AvpDefDict[vnd][code] 415 found = True 416 except BaseException: 417 found = False 418 if not found: 419 warning('The AVP identifier %s has not been found.' % str(avpId)) 420 if isinstance(avpId, str): # The string input is not valid 421 return None 422 # At this point code, vnd are provisionned val may be set (if found is True) # noqa: E501 423 # Set/override AVP code 424 fields['avpCode'] = code 425 # Set vendor if not already defined and relevant 426 if 'avpVnd' not in fields and vnd: 427 fields['avpVnd'] = vnd 428 # Set flags if not already defined and possible ... 429 if 'avpFlags' not in fields: 430 if val: 431 fields['avpFlags'] = val[2] 432 else: 433 fields['avpFlags'] = 128 if vnd else 0 434 # Finally, set the name and class if possible 435 if val: 436 classType = val[1] 437 _ret = classType(**fields) 438 if val: 439 _ret.name = 'AVP ' + val[0] 440 return _ret 441 442 443# AVP intermediate classes: 444############################ 445 446class AVP_FL_NV (AVP_Generic): 447 """ Defines the AVP of Fixed Length with No Vendor field.""" 448 fields_desc = [ 449 IntField("avpCode", None), 450 AVPFlags("avpFlags", None, 8, AVP_Flags_List), 451 X3BytesField("avpLen", None) 452 ] 453 454 455class AVP_FL_V (AVP_Generic): 456 """ Defines the AVP of Fixed Length with Vendor field.""" 457 fields_desc = [ 458 IntField("avpCode", None), 459 AVPFlags("avpFlags", None, 8, AVP_Flags_List), 460 X3BytesField("avpLen", None), 461 AVPVendor("avpVnd", 0) 462 ] 463 464 465class AVP_VL_NV (AVP_Generic): 466 """ Defines the AVP of Variable Length with No Vendor field.""" 467 fields_desc = [ 468 IntField("avpCode", None), 469 AVPFlags("avpFlags", None, 8, AVP_Flags_List), 470 I3FieldLenField("avpLen", None, length_of="val", 471 adjust=lambda pkt, x:x + 8) 472 ] 473 474 475class AVP_VL_V (AVP_Generic): 476 """ Defines the AVP of Variable Length with Vendor field.""" 477 fields_desc = [ 478 IntField("avpCode", None), 479 AVPFlags("avpFlags", None, 8, AVP_Flags_List), 480 I3FieldLenField("avpLen", None, length_of="val", 481 adjust=lambda pkt, x:x + 12), 482 AVPVendor("avpVnd", 0) 483 ] 484 485 486class AVP_Unknown (AVP_Generic): 487 """ The default structure for AVPs which could not be decoded (optional vendor field, variable length). """ # noqa: E501 488 name = 'AVP Unknown' 489 fields_desc = [ 490 IntField("avpCode", None), 491 AVPFlags("avpFlags", None, 8, AVP_Flags_List), 492 I3FieldLenField("avpLen", None, length_of="val", 493 adjust=lambda pkt, x:x + 8 + ((pkt.avpFlags & 0x80) >> 5)), # noqa: E501 494 ConditionalField(AVPVendor("avpVnd", 0), lambda pkt:pkt.avpFlags & 0x80), # noqa: E501 495 StrLenField("val", None, 496 length_from=lambda pkt:pkt.avpLen - 8 - ((pkt.avpFlags & 0x80) >> 5)) # noqa: E501 497 ] 498 499 500# AVP 'low level' classes: 501############################ 502 503class AVPV_StrLenField (AVP_VL_V): 504 fields_desc = [ 505 AVP_VL_V, 506 StrLenField("val", None, length_from=lambda pkt:pkt.avpLen - 12) 507 ] 508 509 510class AVPNV_StrLenField (AVP_VL_NV): 511 fields_desc = [ 512 AVP_VL_NV, 513 StrLenField("val", None, length_from=lambda pkt:pkt.avpLen - 8) 514 ] 515 516 517class AVPV_OctetString (AVP_VL_V): 518 fields_desc = [ 519 AVP_VL_V, 520 OctetString("val", None, length_from=lambda pkt:pkt.avpLen - 12) 521 ] 522 523 524class AVPNV_OctetString (AVP_VL_NV): 525 fields_desc = [ 526 AVP_VL_NV, 527 OctetString("val", None, length_from=lambda pkt:pkt.avpLen - 8) 528 ] 529 530 531class AVPV_Grouped (AVP_VL_V): 532 fields_desc = [ 533 AVP_VL_V, 534 PacketListField('val', [], GuessAvpType, 535 length_from=lambda pkt:pkt.avpLen - 12) 536 ] 537 538 539class AVPNV_Grouped (AVP_VL_NV): 540 fields_desc = [ 541 AVP_VL_NV, 542 PacketListField('val', [], GuessAvpType, 543 length_from=lambda pkt:pkt.avpLen - 8)] 544 545 546class AVPV_Unsigned32 (AVP_FL_V): 547 avpLen = 16 548 fields_desc = [AVP_FL_V, Unsigned32('val', None)] 549 550 551class AVPNV_Unsigned32 (AVP_FL_NV): 552 avpLen = 12 553 fields_desc = [AVP_FL_NV, Unsigned32('val', None)] 554 555 556class AVPV_Integer32 (AVP_FL_V): 557 avpLen = 16 558 fields_desc = [AVP_FL_V, Integer32('val', None)] 559 560 561class AVPNV_Integer32 (AVP_FL_NV): 562 avpLen = 12 563 fields_desc = [AVP_FL_NV, Integer32('val', None)] 564 565 566class AVPV_Unsigned64 (AVP_FL_V): 567 avpLen = 20 568 fields_desc = [AVP_FL_V, Unsigned64('val', None)] 569 570 571class AVPNV_Unsigned64 (AVP_FL_NV): 572 avpLen = 16 573 fields_desc = [AVP_FL_NV, Unsigned64('val', None)] 574 575 576class AVPV_Integer64 (AVP_FL_V): 577 avpLen = 20 578 fields_desc = [AVP_FL_V, Integer64('val', None)] 579 580 581class AVPNV_Integer64 (AVP_FL_NV): 582 avpLen = 16 583 fields_desc = [AVP_FL_NV, Integer64('val', None)] 584 585 586class AVPV_Time (AVP_FL_V): 587 avpLen = 16 588 fields_desc = [AVP_FL_V, Time("val", None)] 589 590 591class AVPNV_Time (AVP_FL_NV): 592 avpLen = 12 593 fields_desc = [AVP_FL_NV, Time("val", None)] 594 595 596class AVPV_Address (AVP_VL_V): 597 fields_desc = [ 598 AVP_VL_V, 599 Address("val", None, length_from=lambda pkt:pkt.avpLen - 12) 600 ] 601 602 603class AVPNV_Address (AVP_VL_NV): 604 fields_desc = [ 605 AVP_VL_NV, 606 Address("val", None, length_from=lambda pkt:pkt.avpLen - 8) 607 ] 608 609 610class AVPV_IPFilterRule (AVP_VL_V): 611 fields_desc = [ 612 AVP_VL_V, 613 IPFilterRule("val", None, length_from=lambda pkt:pkt.avpLen - 12) 614 ] 615 616 617class AVPNV_IPFilterRule (AVP_VL_NV): 618 fields_desc = [ 619 AVP_VL_NV, 620 IPFilterRule("val", None, length_from=lambda pkt:pkt.avpLen - 8) 621 ] 622 623 624class AVPV_QoSFilterRule (AVP_VL_V): 625 fields_desc = [ 626 AVP_VL_V, 627 QoSFilterRule("val", None, length_from=lambda pkt:pkt.avpLen - 12) 628 ] 629 630 631class AVPNV_QoSFilterRule (AVP_VL_NV): 632 fields_desc = [ 633 AVP_VL_NV, 634 QoSFilterRule("val", None, length_from=lambda pkt:pkt.avpLen - 8) 635 ] 636 637 638############################################### 639# Actual AVPs based on previous parent classes 640############################################### 641 642# AVP special classes (which required interpretation/adaptation from standard) 643############################################################################## 644 645class AVP_0_258 (AVP_FL_NV): 646 name = 'AVP Auth-Application-Id' 647 avpLen = 12 648 fields_desc = [AVP_FL_NV, Enumerated('val', None, AppIDsEnum)] 649 650 651class AVP_0_266 (AVP_FL_NV): 652 name = 'AVP Vendor-Id' 653 avpLen = 12 654 fields_desc = [AVP_FL_NV, Enumerated('val', None, vendorList)] 655 656 657class AVP_0_268 (AVP_FL_NV): 658 name = 'AVP Result-Code' 659 avpLen = 12 660 fields_desc = [AVP_FL_NV, 661 Enumerated('val', 662 None, 663 {1001: "DIAMETER_MULTI_ROUND_AUTH", 664 2001: "DIAMETER_SUCCESS", 665 2002: "DIAMETER_LIMITED_SUCCESS", 666 2003: "DIAMETER_FIRST_REGISTRATION", 667 2004: "DIAMETER_SUBSEQUENT_REGISTRATION", 668 2005: "DIAMETER_UNREGISTERED_SERVICE", 669 2006: "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED", 670 2007: "DIAMETER_SERVER_SELECTION", 671 2008: "DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED", # noqa: E501 672 2009: "DIAMETER_SUCCESS_RELOCATE_HA", 673 3001: "DIAMETER_COMMAND_UNSUPPORTED", 674 3002: "DIAMETER_UNABLE_TO_DELIVER", 675 3003: "DIAMETER_REALM_NOT_SERVED", 676 3004: "DIAMETER_TOO_BUSY", 677 3005: "DIAMETER_LOOP_DETECTED", 678 3006: "DIAMETER_REDIRECT_INDICATION", 679 3007: "DIAMETER_APPLICATION_UNSUPPORTED", 680 3008: "DIAMETER_INVALID_HDR_BITS", 681 3009: "DIAMETER_INVALID_AVP_BITS", 682 3010: "DIAMETER_UNKNOWN_PEER", 683 4001: "DIAMETER_AUTHENTICATION_REJECTED", 684 4002: "DIAMETER_OUT_OF_SPACE", 685 4003: "DIAMETER_ELECTION_LOST", 686 4005: "DIAMETER_ERROR_MIP_REPLY_FAILURE", 687 4006: "DIAMETER_ERROR_HA_NOT_AVAILABLE", 688 4007: "DIAMETER_ERROR_BAD_KEY", 689 4008: "DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTED", 690 4010: "DIAMETER_END_USER_SERVICE_DENIED", 691 4011: "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE", 692 4012: "DIAMETER_CREDIT_LIMIT_REACHED", 693 4013: "DIAMETER_USER_NAME_REQUIRED", 694 4241: "DIAMETER_END_USER_SERVICE_DENIED", 695 5001: "DIAMETER_AVP_UNSUPPORTED", 696 5002: "DIAMETER_UNKNOWN_SESSION_ID", 697 5003: "DIAMETER_AUTHORIZATION_REJECTED", 698 5004: "DIAMETER_INVALID_AVP_VALUE", 699 5005: "DIAMETER_MISSING_AVP", 700 5006: "DIAMETER_RESOURCES_EXCEEDED", 701 5007: "DIAMETER_CONTRADICTING_AVPS", 702 5008: "DIAMETER_AVP_NOT_ALLOWED", 703 5009: "DIAMETER_AVP_OCCURS_TOO_MANY_TIMES", 704 5010: "DIAMETER_NO_COMMON_APPLICATION", 705 5011: "DIAMETER_UNSUPPORTED_VERSION", 706 5012: "DIAMETER_UNABLE_TO_COMPLY", 707 5013: "DIAMETER_INVALID_BIT_IN_HEADER", 708 5014: "DIAMETER_INVALID_AVP_LENGTH", 709 5015: "DIAMETER_INVALID_MESSAGE_LENGTH", 710 5016: "DIAMETER_INVALID_AVP_BIT_COMBO", 711 5017: "DIAMETER_NO_COMMON_SECURITY", 712 5018: "DIAMETER_RADIUS_AVP_UNTRANSLATABLE", 713 5024: "DIAMETER_ERROR_NO_FOREIGN_HA_SERVICE", 714 5025: "DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTION", # noqa: E501 715 5030: "DIAMETER_USER_UNKNOWN", 716 5031: "DIAMETER_RATING_FAILED", 717 5032: "DIAMETER_ERROR_USER_UNKNOWN", 718 5033: "DIAMETER_ERROR_IDENTITIES_DONT_MATCH", 719 5034: "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED", 720 5035: "DIAMETER_ERROR_ROAMING_NOT_ALLOWED", 721 5036: "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED", # noqa: E501 722 5037: "DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED", # noqa: E501 723 5038: "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE", 724 5039: "DIAMETER_ERROR_TOO_MUCH_DATA", 725 5040: "DIAMETER_ERROR_NOT SUPPORTED_USER_DATA", 726 5041: "DIAMETER_ERROR_MIP6_AUTH_MODE", 727 5241: "DIAMETER_END_USER_NOT_FOUND", 728 })] 729 730 731class AVP_0_298 (AVP_FL_NV): 732 name = 'AVP Experimental-Result-Code' 733 avpLen = 12 734 fields_desc = [ 735 AVP_FL_NV, 736 Enumerated( 737 'val', 738 None, 739 { 740 2001: "DIAMETER_FIRST_REGISTRATION", 741 2002: "DIAMETER_SUBSEQUENT_REGISTRATION", 742 2003: "DIAMETER_UNREGISTERED_SERVICE", 743 2004: "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED", 744 2021: "DIAMETER_PDP_CONTEXT_DELETION_INDICATION", 745 4100: "DIAMETER_USER_DATA_NOT_AVAILABLE", 746 4101: "DIAMETER_PRIOR_UPDATE_IN_PROGRESS", 747 4121: "DIAMETER_ERROR_OUT_OF_RESOURCES", 748 4141: "DIAMETER_PCC_BEARER_EVENT", 749 4181: "DIAMETER_AUTHENTICATION_DATA_UNAVAILABLE", 750 4201: "DIAMETER_ERROR_ABSENT_USER", 751 4221: "DIAMETER_ERROR_UNREACHABLE_USER", 752 4222: "DIAMETER_ERROR_SUSPENDED_USER", 753 4223: "DIAMETER_ERROR_DETACHED_USER", 754 4224: "DIAMETER_ERROR_POSITIONING_DENIED", 755 4225: "DIAMETER_ERROR_POSITIONING_FAILED", 756 4226: "DIAMETER_ERROR_UNKNOWN_UNREACHABLE LCS_CLIENT", 757 5001: "DIAMETER_ERROR_USER_UNKNOWN", 758 5002: "DIAMETER_ERROR_IDENTITIES_DONT_MATCH", 759 5003: "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED", 760 5004: "DIAMETER_ERROR_ROAMING_NOT_ALLOWED", 761 5005: "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED", 762 5006: "DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED", 763 5007: "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE", 764 5008: "DIAMETER_ERROR_TOO_MUCH_DATA", 765 5009: "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA", 766 5010: "DIAMETER_MISSING_USER_ID", 767 5011: "DIAMETER_ERROR_FEATURE_UNSUPPORTED", 768 5041: "DIAMETER_ERROR_USER_NO_WLAN_SUBSCRIPTION", 769 5042: "DIAMETER_ERROR_W-APN_UNUSED_BY_USER", 770 5043: "DIAMETER_ERROR_W-DIAMETER_ERROR_NO_ACCESS_INDEPENDENT_SUBSCRIPTION", # noqa: E501 771 5044: "DIAMETER_ERROR_USER_NO_W-APN_SUBSCRIPTION", 772 5045: "DIAMETER_ERROR_UNSUITABLE_NETWORK", 773 5061: "INVALID_SERVICE_INFORMATION", 774 5062: "FILTER_RESTRICTIONS", 775 5063: "REQUESTED_SERVICE_NOT_AUTHORIZED", 776 5064: "DUPLICATED_AF_SESSION", 777 5065: "IP-CAN_SESSION_NOT_AVAILABLE", 778 5066: "UNAUTHORIZED_NON_EMERGENCY_SESSION", 779 5100: "DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZED", 780 5101: "DIAMETER_ERROR_OPERATION_NOT_ALLOWED", 781 5102: "DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ", 782 5103: "DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED", 783 5104: "DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIED", 784 5105: "DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNC", 785 5106: "DIAMETER_ERROR_SUBS_DATA_ABSENT", 786 5107: "DIAMETER_ERROR_NO_SUBSCRIPTION_TO_DATA", 787 5108: "DIAMETER_ERROR_DSAI_NOT_AVAILABLE", 788 5120: "DIAMETER_ERROR_START_INDICATION", 789 5121: "DIAMETER_ERROR_STOP_INDICATION", 790 5122: "DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICE", 791 5123: "DIAMETER_ERROR_SERVICE_AREA", 792 5140: "DIAMETER_ERROR_INITIAL_PARAMETERS", 793 5141: "DIAMETER_ERROR_TRIGGER_EVENT", 794 5142: "DIAMETER_BEARER_EVENT", 795 5143: "DIAMETER_ERROR_BEARER_NOT_AUTHORIZED", 796 5144: "DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTED", 797 5145: "DIAMETER_QOS_RULE_EVENT", 798 5146: "DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTED", 799 5147: "DIAMETER_ERROR_CONFLICTING_REQUEST", 800 5401: "DIAMETER_ERROR_IMPI_UNKNOWN", 801 5402: "DIAMETER_ERROR_NOT_AUTHORIZED", 802 5403: "DIAMETER_ERROR_TRANSACTION_IDENTIFIER_INVALID", 803 5420: "DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTION", 804 5421: "DIAMETER_ERROR_RAT_NOT_ALLOWED", 805 5422: "DIAMETER_ERROR_EQUIPMENT_UNKNOWN", 806 5423: "DIAMETER_ERROR_UNKNOWN_SERVING_NODE", 807 5450: "DIAMETER_ERROR_USER_NO_NON_3GPP_SUBSCRIPTION", 808 5451: "DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTION", 809 5452: "DIAMETER_ERROR_RAT_TYPE_NOT_ALLOWED", 810 5470: "DIAMETER_ERROR_SUBSESSION", 811 5490: "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_NETWORK", 812 5510: "DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_ENTITY", 813 5511: "DIAMETER_ERROR_UNAUTHORIZED_SERVICE", 814 5530: "DIAMETER_ERROR_INVALID_SME_ADDRESS", 815 5531: "DIAMETER_ERROR_SC_CONGESTION", 816 5532: "DIAMETER_ERROR_SM_PROTOCOL", 817 })] 818 819 820class AVP_10415_630 (AVP_FL_V): 821 name = 'AVP Feature-List' 822 avpLen = 16 823 fields_desc = [AVP_FL_V, 824 FlagsField('val', None, 32, 825 ['SiFC', 826 'AliasInd', 827 'IMSRestorationInd', 828 'b3', 829 'b4', 830 'b5', 831 'b6', 832 'b7', 833 'b8', 834 'b9', 835 'b10', 836 'b11', 837 'b12', 838 'b13', 839 'b14', 840 'b15', 841 'b16', 842 'b17', 843 'b18', 844 'b19', 845 'b20', 846 'b21', 847 'b22', 848 'b23', 849 'b24', 850 'b25', 851 'b26', 852 'b27', 853 'b28', 854 'b29', 855 'b30', 856 'b31'])] 857 858 859class AVP_10415_701 (AVP_VL_V): 860 name = 'AVP MSISDN' 861 fields_desc = [AVP_VL_V, ISDN('val', None, 862 length_from=lambda pkt:pkt.avpLen - 12)] 863 864 865class AVP_10415_1643 (AVP_VL_V): 866 name = 'AVP A_MSISDN' 867 fields_desc = [AVP_VL_V, ISDN('val', None, 868 length_from=lambda pkt:pkt.avpLen - 12)] 869 870 871# AVP enumerated classes (which could not be defined in AvpDefDict dict below) 872############################################################################## 873 874class AVP_0_6 (AVP_FL_NV): 875 name = 'Service-Type' 876 avpLen = 12 877 fields_desc = [ 878 AVP_FL_NV, 879 Enumerated('val', None, 880 { 881 0: "Unknown", 882 1: "Login", 883 2: "Framed", 884 3: "Callback-Login", 885 4: "Callback-Framed", 886 5: "Outbound", 887 6: "Administrative", 888 7: "NAS-Prompt", 889 8: "Authenticate-Only", 890 9: "Callback-NAS-Prompt", 891 10: "Call Check", 892 11: "Callback Administrative", 893 12: "Voice", 894 13: "Fax", 895 14: "Modem Relay", 896 15: "IAPP-Register", 897 16: "IAPP-AP-Check", 898 17: "Authorize Only", 899 18: "Framed-Management", 900 })] 901 902 903class AVP_0_7 (AVP_FL_NV): 904 name = 'Framed-Protocol' 905 avpLen = 12 906 fields_desc = [ 907 AVP_FL_NV, 908 Enumerated('val', None, 909 { 910 1: "PPP", 911 2: "SLIP", 912 3: "ARAP", 913 4: "Gandalf", 914 5: "Xylogics", 915 6: "X.75", 916 7: "GPRS PDP Context", 917 255: "Ascend-ARA", 918 256: "MPP", 919 257: "EURAW", 920 258: "EUUI", 921 259: "X25", 922 260: "COMB", 923 261: "FR", 924 })] 925 926 927class AVP_0_10 (AVP_FL_NV): 928 name = 'Framed-Routing' 929 avpLen = 12 930 fields_desc = [ 931 AVP_FL_NV, 932 Enumerated('val', None, 933 { 934 0: "None", 935 1: "Send routing packets", 936 2: "Listen for routing packets", 937 3: "Send and Listen ", 938 })] 939 940 941class AVP_0_13 (AVP_FL_NV): 942 name = 'Framed-Compression' 943 avpLen = 12 944 fields_desc = [ 945 AVP_FL_NV, 946 Enumerated('val', None, 947 {0: "None", 2: "IPX header compression", 3: "Stac-LZS compression", }) # noqa: E501 948 ] 949 950 951class AVP_0_15 (AVP_FL_NV): 952 name = 'Login-Service' 953 avpLen = 12 954 fields_desc = [ 955 AVP_FL_NV, 956 Enumerated('val', None, 957 { 958 0: "Telnet", 959 1: "Rlogin", 960 2: "TCP-Clear", 961 3: "PortMaster", 962 4: "LAT", 963 5: "X25-PAD", 964 6: "X25-T3POS", 965 7: "Unassigned", 966 })] 967 968 969class AVP_0_45 (AVP_FL_NV): 970 name = 'Acct-Authentic' 971 avpLen = 12 972 fields_desc = [ 973 AVP_FL_NV, 974 Enumerated('val', None, 975 {0: "None", 1: "RADIUS", 2: "Local", 3: "Remote", 4: "Diameter", })] # noqa: E501 976 977 978class AVP_0_61 (AVP_FL_NV): 979 name = 'NAS-Port-Type' 980 avpLen = 12 981 fields_desc = [ 982 AVP_FL_NV, 983 Enumerated('val', None, 984 { 985 0: "Async", 986 1: "Sync", 987 2: "ISDN-Sync", 988 3: "ISDN-Async-v120", 989 4: "ISDN-Async-v110", 990 5: "Virtual", 991 6: "PIAFS", 992 7: "HDLC-Clear-Channel", 993 8: "X25", 994 9: "X75", 995 10: "G.3 Fax", 996 11: "SDSL - Symmetric DSL", 997 14: "IDSL - ISDN Digital Subscriber Line", 998 15: "Ethernet", 999 16: "xDSL - Digital Subscriber Line of unknown type", 1000 17: "Cable", 1001 18: "Wireless - Other", 1002 19: "Wireless - IEEE 802.11", 1003 20: "Token-Ring", 1004 21: "FDDI", 1005 22: "Wireless - CDMA2000", 1006 23: "Wireless - UMTS", 1007 24: "Wireless - 1X-EV", 1008 25: "IAPP", 1009 26: "FTTP - Fiber to the Premises", 1010 27: "Wireless - IEEE 802.16", 1011 28: "Wireless - IEEE 802.20", 1012 29: "Wireless - IEEE 802.22", 1013 30: "PPPoA - PPP over ATM", 1014 31: "PPPoEoA - PPP over Ethernet over ATM", 1015 32: "PPPoEoE - PPP over Ethernet over Ethernet", 1016 33: "PPPoEoVLAN - PPP over Ethernet over VLAN", 1017 34: "PPPoEoQinQ - PPP over Ethernet over IEEE 802.1QinQ", # noqa: E501 1018 35: "xPON - Passive Optical Network", 1019 36: "Wireless - XGP", 1020 })] 1021 1022 1023class AVP_0_64 (AVP_FL_NV): 1024 name = 'Tunnel-Type' 1025 avpLen = 12 1026 fields_desc = [ 1027 AVP_FL_NV, 1028 Enumerated('val', None, 1029 { 1030 1: "PPTP", 1031 2: "L2F", 1032 3: "L2TP", 1033 4: "ATMP", 1034 5: "VTP", 1035 6: "AH", 1036 7: "IP-IP-Encap", 1037 8: "MIN-IP-IP", 1038 9: "ESP", 1039 10: "GRE", 1040 11: "DVS", 1041 12: "IP-in-IP Tunneling", 1042 13: "VLAN", 1043 })] 1044 1045 1046class AVP_0_65 (AVP_FL_NV): 1047 name = 'Tunnel-Medium-Type' 1048 avpLen = 12 1049 fields_desc = [ 1050 AVP_FL_NV, 1051 Enumerated('val', None, 1052 { 1053 1: "IPv4", 1054 2: "IPv6", 1055 3: "NSAP", 1056 4: "HDLC", 1057 5: "BBN", 1058 6: "IEEE-802", 1059 7: "E-163", 1060 8: "E-164", 1061 9: "F-69", 1062 10: "X-121", 1063 11: "IPX", 1064 12: "Appletalk-802", 1065 13: "Decnet4", 1066 14: "Vines", 1067 15: "E-164-NSAP", 1068 })] 1069 1070 1071class AVP_0_72 (AVP_FL_NV): 1072 name = 'ARAP-Zone-Access' 1073 avpLen = 12 1074 fields_desc = [ 1075 AVP_FL_NV, 1076 Enumerated('val', None, 1077 { 1078 1: "Only allow access to default zone", 1079 2: "Use zone filter inclusively", 1080 3: "Use zone filter exclusively", 1081 })] 1082 1083 1084class AVP_0_76 (AVP_FL_NV): 1085 name = 'Prompt' 1086 avpLen = 12 1087 fields_desc = [ 1088 AVP_FL_NV, 1089 Enumerated('val', None, {0: "No Echo", 1: "Echo", }) 1090 ] 1091 1092 1093class AVP_0_261 (AVP_FL_NV): 1094 name = 'Redirect-Host-Usage' 1095 avpLen = 12 1096 fields_desc = [ 1097 AVP_FL_NV, 1098 Enumerated('val', None, 1099 { 1100 0: "Don't Care", 1101 1: "All Session", 1102 2: "All Realm", 1103 3: "Realm and Application", 1104 4: "All Application", 1105 5: "All Host", 1106 6: "ALL_USER", 1107 })] 1108 1109 1110class AVP_0_271 (AVP_FL_NV): 1111 name = 'Session-Server-Failover' 1112 avpLen = 12 1113 fields_desc = [ 1114 AVP_FL_NV, 1115 Enumerated('val', None, 1116 {0: "REFUSE_SERVICE", 1: "TRY_AGAIN", 2: "ALLOW_SERVICE", 3: "TRY_AGAIN_ALLOW_SERVICE", })] # noqa: E501 1117 1118 1119class AVP_0_273 (AVP_FL_NV): 1120 name = 'Disconnect-Cause' 1121 avpLen = 12 1122 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "REBOOTING", 1: "BUSY", 2: "DO_NOT_WANT_TO_TALK_TO_YOU", })] # noqa: E501 1123 1124 1125class AVP_0_274 (AVP_FL_NV): 1126 name = 'Auth-Request-Type' 1127 avpLen = 12 1128 fields_desc = [ 1129 AVP_FL_NV, Enumerated('val', None, { 1130 1: "AUTHENTICATE_ONLY", 2: "AUTHORIZE_ONLY", 3: "AUTHORIZE_AUTHENTICATE", })] # noqa: E501 1131 1132 1133class AVP_0_277 (AVP_FL_NV): 1134 name = 'Auth-Session-State' 1135 avpLen = 12 1136 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "STATE_MAINTAINED", 1: "NO_STATE_MAINTAINED", })] # noqa: E501 1137 1138 1139class AVP_0_285 (AVP_FL_NV): 1140 name = 'Re-Auth-Request-Type' 1141 avpLen = 12 1142 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "AUTHORIZE_ONLY", 1: "AUTHORIZE_AUTHENTICATE", })] # noqa: E501 1143 1144 1145class AVP_0_295 (AVP_FL_NV): 1146 name = 'Termination-Cause' 1147 avpLen = 12 1148 fields_desc = [ 1149 AVP_FL_NV, 1150 Enumerated( 1151 'val', 1152 None, 1153 { 1154 1: "DIAMETER_LOGOUT", 1155 2: "DIAMETER_SERVICE_NOT_PROVIDED", 1156 3: "DIAMETER_BAD_ANSWER", 1157 4: "DIAMETER_ADMINISTRATIVE", 1158 5: "DIAMETER_LINK_BROKEN", 1159 6: "DIAMETER_AUTH_EXPIRED", 1160 7: "DIAMETER_USER_MOVED", 1161 8: "DIAMETER_SESSION_TIMEOUT", 1162 })] 1163 1164 1165class AVP_0_345 (AVP_FL_NV): 1166 name = 'MIP-Algorithm-Type' 1167 avpLen = 12 1168 fields_desc = [ 1169 AVP_FL_NV, Enumerated('val', None, {2: "HMAC-SHA-1", })] 1170 1171 1172class AVP_0_346 (AVP_FL_NV): 1173 name = 'MIP-Replay-Mode' 1174 avpLen = 12 1175 fields_desc = [ 1176 AVP_FL_NV, Enumerated('val', None, {1: "None", 2: "Timestamps", 3: "Nonces", })] # noqa: E501 1177 1178 1179class AVP_0_375 (AVP_FL_NV): 1180 name = 'SIP-Server-Assignment-Type' 1181 avpLen = 12 1182 fields_desc = [ 1183 AVP_FL_NV, 1184 Enumerated( 1185 'val', 1186 None, 1187 { 1188 0: "NO_ASSIGNMENT", 1189 1: "REGISTRATION", 1190 2: "RE_REGISTRATION", 1191 3: "UNREGISTERED_USER", 1192 4: "TIMEOUT_DEREGISTRATION", 1193 5: "USER_DEREGISTRATION", 1194 6: "TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 1195 7: "USER_DEREGISTRATION_STORE_SERVER_NAME", 1196 8: "ADMINISTRATIVE_DEREGISTRATION", 1197 9: "AUTHENTICATION_FAILURE", 1198 10: "AUTHENTICATION_TIMEOUT", 1199 11: "DEREGISTRATION_TOO_MUCH_DATA", 1200 })] 1201 1202 1203class AVP_0_377 (AVP_FL_NV): 1204 name = 'SIP-Authentication-Scheme' 1205 avpLen = 12 1206 fields_desc = [ 1207 AVP_FL_NV, Enumerated('val', None, {0: "DIGEST", })] 1208 1209 1210class AVP_0_384 (AVP_FL_NV): 1211 name = 'SIP-Reason-Code' 1212 avpLen = 12 1213 fields_desc = [ 1214 AVP_FL_NV, 1215 Enumerated( 1216 'val', 1217 None, 1218 { 1219 0: "PERMANENT_TERMINATION", 1220 1: "NEW_SIP_SERVER_ASSIGNED", 1221 2: "SIP_SERVER_CHANGE", 1222 3: "REMOVE_SIP_SERVER", 1223 })] 1224 1225 1226class AVP_0_387 (AVP_FL_NV): 1227 name = 'SIP-User-Authorization-Type' 1228 avpLen = 12 1229 fields_desc = [ 1230 AVP_FL_NV, Enumerated('val', None, { 1231 0: "REGISTRATION", 1: "DEREGISTRATION", 2: "REGISTRATION_AND_CAPABILITIES", })] # noqa: E501 1232 1233 1234class AVP_0_392 (AVP_FL_NV): 1235 name = 'SIP-User-Data-Already-Available' 1236 avpLen = 12 1237 fields_desc = [ 1238 AVP_FL_NV, Enumerated('val', None, { 1239 0: "USER_DATA_NOT_AVAILABLE", 1: "USER_DATA_ALREADY_AVAILABLE", })] 1240 1241 1242class AVP_0_403 (AVP_FL_NV): 1243 name = 'CHAP-Algorithm' 1244 avpLen = 12 1245 fields_desc = [ 1246 AVP_FL_NV, Enumerated('val', None, {5: "CHAP with MD5", })] 1247 1248 1249class AVP_0_406 (AVP_FL_NV): 1250 name = 'Accounting-Auth-Method' 1251 avpLen = 12 1252 fields_desc = [ 1253 AVP_FL_NV, Enumerated('val', None, { 1254 1: "PAP", 2: "CHAP", 3: "MS-CHAP-1", 4: "MS-CHAP-2", 5: "EAP", 6: "Undefined", 7: "None", })] # noqa: E501 1255 1256 1257class AVP_0_416 (AVP_FL_NV): 1258 name = 'CC-Request-Type' 1259 avpLen = 12 1260 fields_desc = [ 1261 AVP_FL_NV, Enumerated('val', None, { 1262 1: "INITIAL_REQUEST", 2: "UPDATE_REQUEST", 3: "TERMINATION_REQUEST", 4: "EVENT_REQUEST", })] # noqa: E501 1263 1264 1265class AVP_0_418 (AVP_FL_NV): 1266 name = 'CC-Session-Failover' 1267 avpLen = 12 1268 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "FAILOVER_NOT_SUPPORTED", 1: "FAILOVER_SUPPORTED", })] # noqa: E501 1269 1270 1271class AVP_0_422 (AVP_FL_NV): 1272 name = 'Check-Balance-Result' 1273 avpLen = 12 1274 fields_desc = [ 1275 AVP_FL_NV, Enumerated('val', None, {0: "ENOUGH_CREDIT", 1: "NO_CREDIT", })] # noqa: E501 1276 1277 1278class AVP_0_426 (AVP_FL_NV): 1279 name = 'Credit-Control' 1280 avpLen = 12 1281 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "CREDIT_AUTHORIZATION", 1: "RE_AUTHORIZATION", })] # noqa: E501 1282 1283 1284class AVP_0_427 (AVP_FL_NV): 1285 name = 'Credit-Control-Failure-Handling' 1286 avpLen = 12 1287 fields_desc = [ 1288 AVP_FL_NV, Enumerated('val', None, { 1289 0: "TERMINATE", 1: "CONTINUE", 2: "RETRY_AND_TERMINATE", })] 1290 1291 1292class AVP_0_428 (AVP_FL_NV): 1293 name = 'Direct-Debiting-Failure-Handling' 1294 avpLen = 12 1295 fields_desc = [ 1296 AVP_FL_NV, Enumerated('val', None, {0: "TERMINATE_OR_BUFFER", 1: "CONTINUE", })] # noqa: E501 1297 1298 1299class AVP_0_433 (AVP_FL_NV): 1300 name = 'Redirect-Address-Type' 1301 avpLen = 12 1302 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "IPV4_ADDRESS", 1: "IPV6_ADDRESS", 2: "URL", 3: "SIP_URI", })] # noqa: E501 1303 1304 1305class AVP_0_436 (AVP_FL_NV): 1306 name = 'Requested-Action' 1307 avpLen = 12 1308 fields_desc = [ 1309 AVP_FL_NV, Enumerated('val', None, { 1310 0: "DIRECT_DEBITING", 1: "REFUND_ACCOUNT", 2: "CHECK_BALANCE", 3: "PRICE_ENQUIRY", })] # noqa: E501 1311 1312 1313class AVP_0_449 (AVP_FL_NV): 1314 name = 'Final-Unit-Action' 1315 avpLen = 12 1316 fields_desc = [AVP_FL_NV, Enumerated('val', None, {0: "TERMINATE", 1: "REDIRECT", 2: "RESTRICT_ACCESS", })] # noqa: E501 1317 1318 1319class AVP_0_450 (AVP_FL_NV): 1320 name = 'Subscription-Id-Type' 1321 avpLen = 12 1322 fields_desc = [ 1323 AVP_FL_NV, 1324 Enumerated( 1325 'val', 1326 None, 1327 { 1328 0: "END_USER_E164", 1329 1: "END_USER_IMSI", 1330 2: "END_USER_SIP_URI", 1331 3: "END_USER_NAI", 1332 4: "END_USER_PRIVATE", 1333 })] 1334 1335 1336class AVP_0_452 (AVP_FL_NV): 1337 name = 'Tariff-Change-Usage' 1338 avpLen = 12 1339 fields_desc = [ 1340 AVP_FL_NV, Enumerated('val', None, { 1341 0: "UNIT_BEFORE_TARIFF_CHANGE", 1: "UNIT_AFTER_TARIFF_CHANGE", 2: "UNIT_INDETERMINATE", })] # noqa: E501 1342 1343 1344class AVP_0_454 (AVP_FL_NV): 1345 name = 'CC-Unit-Type' 1346 avpLen = 12 1347 fields_desc = [ 1348 AVP_FL_NV, 1349 Enumerated( 1350 'val', 1351 None, 1352 { 1353 0: "TIME", 1354 1: "MONEY", 1355 2: "TOTAL-OCTETS", 1356 3: "INPUT-OCTETS", 1357 4: "OUTPUT-OCTETS", 1358 5: "SERVICE-SPECIFIC-UNITS", 1359 })] 1360 1361 1362class AVP_0_455 (AVP_FL_NV): 1363 name = 'Multiple-Services-Indicator' 1364 avpLen = 12 1365 fields_desc = [ 1366 AVP_FL_NV, Enumerated('val', None, { 1367 0: "MULTIPLE_SERVICES_NOT_SUPPORTED", 1: "MULTIPLE_SERVICES_SUPPORTED", })] # noqa: E501 1368 1369 1370class AVP_0_459 (AVP_FL_NV): 1371 name = 'User-Equipment-Info-Type' 1372 avpLen = 12 1373 fields_desc = [ 1374 AVP_FL_NV, Enumerated('val', None, { 1375 0: "IMEISV", 1: "MAC", 2: "EUI64", 3: "MODIFIED_EUI64", })] 1376 1377 1378class AVP_0_480 (AVP_FL_NV): 1379 name = 'Accounting-Record-Type' 1380 avpLen = 12 1381 fields_desc = [ 1382 AVP_FL_NV, Enumerated('val', None, { 1383 1: "Event Record", 2: "Start Record", 3: "Interim Record", 4: "Stop Record", })] # noqa: E501 1384 1385 1386class AVP_0_483 (AVP_FL_NV): 1387 name = 'Accounting-Realtime-Required' 1388 avpLen = 12 1389 fields_desc = [ 1390 AVP_FL_NV, Enumerated('val', None, { 1391 0: "Reserved", 1: "DELIVER_AND_GRANT", 2: "GRANT_AND_STORE", 3: "GRANT_AND_LOSE", })] # noqa: E501 1392 1393 1394class AVP_0_494 (AVP_FL_NV): 1395 name = 'MIP6-Auth-Mode' 1396 avpLen = 12 1397 fields_desc = [ 1398 AVP_FL_NV, Enumerated('val', None, {0: "Reserved", 1: "IP6_AUTH_MN_AAA", })] # noqa: E501 1399 1400 1401class AVP_0_513 (AVP_FL_NV): 1402 name = 'Protocol' 1403 avpLen = 12 1404 fields_desc = [ 1405 AVP_FL_NV, Enumerated('val', None, { 1406 1: "ICMP", 2: "IGMP", 4: "IPv4", 6: "TCP", 17: "UDP", 132: "SCTP", })] # noqa: E501 1407 1408 1409class AVP_0_514 (AVP_FL_NV): 1410 name = 'Direction' 1411 avpLen = 12 1412 fields_desc = [ 1413 AVP_FL_NV, Enumerated('val', None, {0: "IN", 1: "OUT", 2: "BOTH", })] 1414 1415 1416class AVP_0_517 (AVP_FL_NV): 1417 name = 'Negated' 1418 avpLen = 12 1419 fields_desc = [ 1420 AVP_FL_NV, Enumerated('val', None, {0: "False", 1: "True", })] 1421 1422 1423class AVP_0_534 (AVP_FL_NV): 1424 name = 'Use-Assigned-Address' 1425 avpLen = 12 1426 fields_desc = [ 1427 AVP_FL_NV, Enumerated('val', None, {0: "False", 1: "True", })] 1428 1429 1430class AVP_0_535 (AVP_FL_NV): 1431 name = 'Diffserv-Code-Point' 1432 avpLen = 12 1433 fields_desc = [ 1434 AVP_FL_NV, 1435 Enumerated( 1436 'val', 1437 None, 1438 { 1439 0: "CS0", 1440 8: "CS1", 1441 10: "AF11", 1442 12: "AF12", 1443 14: "AF13", 1444 16: "CS2", 1445 18: "AF21", 1446 20: "AF22", 1447 22: "AF23", 1448 24: "CS3", 1449 26: "AF31", 1450 28: "AF32", 1451 30: "AF33", 1452 32: "CS4", 1453 34: "AF41", 1454 36: "AF42", 1455 38: "AF43", 1456 40: "CS5", 1457 46: "EF_PHB", 1458 48: "CS6", 1459 56: "CS7", 1460 })] 1461 1462 1463class AVP_0_536 (AVP_FL_NV): 1464 name = 'Fragmentation-Flag' 1465 avpLen = 12 1466 fields_desc = [ 1467 AVP_FL_NV, Enumerated('val', None, {0: "Don't Fragment", 1: "More Fragments", })] # noqa: E501 1468 1469 1470class AVP_0_538 (AVP_FL_NV): 1471 name = 'IP-Option-Type' 1472 avpLen = 12 1473 fields_desc = [ 1474 AVP_FL_NV, 1475 Enumerated( 1476 'val', 1477 None, 1478 { 1479 0: "end_of_list", 1480 1: "nop", 1481 2: "security", 1482 3: "loose_source_route", 1483 4: "timestamp", 1484 5: "extended_security", 1485 6: "commercial_security", 1486 7: "record_route", 1487 8: "stream_id", 1488 9: "strict_source_route", 1489 10: "experimental_measurement", 1490 11: "mtu_probe", 1491 12: "mtu_reply", 1492 13: "flow_control", 1493 14: "access_control", 1494 15: "encode", 1495 16: "imi_traffic_descriptor", 1496 17: "extended_IP", 1497 18: "traceroute", 1498 19: "address_extension", 1499 20: "router_alert", 1500 21: "selective_directed_broadcast_mode", 1501 23: "dynamic_packet_state", 1502 24: "upstream_multicast_packet", 1503 25: "quick_start", 1504 30: "rfc4727_experiment", 1505 })] 1506 1507 1508class AVP_0_541 (AVP_FL_NV): 1509 name = 'TCP-Option-Type' 1510 avpLen = 12 1511 fields_desc = [ 1512 AVP_FL_NV, 1513 Enumerated( 1514 'val', 1515 None, 1516 { 1517 0: "EOL", 1518 1: "NOP", 1519 2: "MSS", 1520 3: "WScale", 1521 4: "SAckOK", 1522 5: "SAck", 1523 8: "Timestamp", 1524 14: "AltChkSum", 1525 15: "AltChkSumOpt", 1526 25: "Mood", 1527 })] 1528 1529 1530class AVP_0_546 (AVP_FL_NV): 1531 name = 'ICMP-Type-Number' 1532 avpLen = 12 1533 fields_desc = [ 1534 AVP_FL_NV, 1535 Enumerated( 1536 'val', 1537 None, 1538 { 1539 0: "echo-reply", 1540 3: "dest-unreach", 1541 4: "source-quench", 1542 5: "redirect", 1543 8: "echo-request", 1544 9: "router-advertisement", 1545 10: "router-solicitation", 1546 11: "time-exceeded", 1547 12: "parameter-problem", 1548 13: "timestamp-request", 1549 14: "timestamp-reply", 1550 15: "information-request", 1551 16: "information-response", 1552 17: "address-mask-request", 1553 18: "address-mask-reply", 1554 })] 1555 1556 1557class AVP_0_547 (AVP_FL_NV): 1558 name = 'ICMP-Code' 1559 avpLen = 12 1560 fields_desc = [ 1561 AVP_FL_NV, Enumerated('val', None, {0: "TBD", })] 1562 1563 1564class AVP_0_570 (AVP_FL_NV): 1565 name = 'Timezone-Flag' 1566 avpLen = 12 1567 fields_desc = [ 1568 AVP_FL_NV, Enumerated('val', None, {0: "UTC", 1: "LOCAL", 2: "OFFSET", })] # noqa: E501 1569 1570 1571class AVP_0_575 (AVP_FL_NV): 1572 name = 'QoS-Semantics' 1573 avpLen = 12 1574 fields_desc = [ 1575 AVP_FL_NV, 1576 Enumerated( 1577 'val', 1578 None, 1579 { 1580 0: "QoS_Desired", 1581 1: "QoS_Available", 1582 2: "QoS_Delivered", 1583 3: "Minimum_QoS", 1584 4: "QoS_Authorized", 1585 })] 1586 1587 1588class AVP_10415_500 (AVP_FL_V): 1589 name = 'Abort-Cause' 1590 avpLen = 16 1591 fields_desc = [AVP_FL_V, 1592 Enumerated('val', 1593 None, 1594 {0: "BEARER_RELEASED", 1595 1: "INSUFFICIENT_SERVER_RESOURCES", 1596 2: "INSUFFICIENT_BEARER_RESOURCES", 1597 })] 1598 1599 1600class AVP_10415_511 (AVP_FL_V): 1601 name = 'Flow-Status' 1602 avpLen = 16 1603 fields_desc = [ 1604 AVP_FL_V, Enumerated('val', None, { 1605 0: "ENABLED-UPLINK", 1: "ENABLED-DOWNLINK", 2: "ENABLED", 3: "DISABLED", 4: "REMOVED", })] # noqa: E501 1606 1607 1608class AVP_10415_512 (AVP_FL_V): 1609 name = 'Flow-Usage' 1610 avpLen = 16 1611 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "NO_INFORMATION", 1: "RTCP", 2: "AF_SIGNALLING", })] # noqa: E501 1612 1613 1614class AVP_10415_513 (AVP_FL_V): 1615 name = 'Specific-Action' 1616 avpLen = 16 1617 fields_desc = [ 1618 AVP_FL_V, 1619 Enumerated( 1620 'val', 1621 None, 1622 { 1623 1: "CHARGING_CORRELATION_EXCHANGE", 1624 2: "INDICATION_OF_LOSS_OF_BEARER", 1625 3: "INDICATION_OF_RECOVERY_OF_BEARER", 1626 4: "INDICATION_OF_RELEASE_OF_BEARER", 1627 6: "IP-CAN_CHANGE", 1628 7: "INDICATION_OF_OUT_OF_CREDIT", 1629 8: "INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION", 1630 9: "INDICATION_OF_FAILED_RESOURCES_ALLOCATION", 1631 10: "INDICATION_OF_LIMITED_PCC_DEPLOYMENT", 1632 11: "USAGE_REPORT", 1633 12: "ACCESS_NETWORK_INFO_REPORT", 1634 })] 1635 1636 1637class AVP_10415_520 (AVP_FL_V): 1638 name = 'Media-Type' 1639 avpLen = 16 1640 fields_desc = [AVP_FL_V, 1641 Enumerated('val', 1642 None, 1643 {0: "AUDIO", 1644 1: "VIDEO", 1645 2: "DATA", 1646 3: "APPLICATION", 1647 4: "CONTROL", 1648 5: "TEXT", 1649 6: "MESSAGE", 1650 4294967295: "OTHER", 1651 })] 1652 1653 1654class AVP_10415_523 (AVP_FL_V): 1655 name = 'SIP-Forking-Indication' 1656 avpLen = 16 1657 fields_desc = [ 1658 AVP_FL_V, Enumerated('val', None, { 1659 0: "SINGLE_DIALOGUE", 1: "SEVERAL_DIALOGUES", })] 1660 1661 1662class AVP_10415_527 (AVP_FL_V): 1663 name = 'Service-Info-Status' 1664 avpLen = 16 1665 fields_desc = [ 1666 AVP_FL_V, Enumerated('val', None, { 1667 0: "FINAL_SERVICE_INFORMATION", 1: "PRELIMINARY_SERVICE_INFORMATION", })] # noqa: E501 1668 1669 1670class AVP_10415_529 (AVP_FL_V): 1671 name = 'AF-Signalling-Protocol' 1672 avpLen = 16 1673 fields_desc = [ 1674 AVP_FL_V, Enumerated('val', None, {0: "NO_INFORMATION", 1: "SIP", })] 1675 1676 1677class AVP_10415_533 (AVP_FL_V): 1678 name = 'Rx-Request-Type' 1679 avpLen = 16 1680 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "INITIAL_REQUEST", 1: "UPDATE_REQUEST", })] # noqa: E501 1681 1682 1683class AVP_10415_536 (AVP_FL_V): 1684 name = 'Required-Access-Info' 1685 avpLen = 16 1686 fields_desc = [ 1687 AVP_FL_V, Enumerated('val', None, {0: "USER_LOCATION", 1: "MS_TIME_ZONE", })] # noqa: E501 1688 1689 1690class AVP_10415_614 (AVP_FL_V): 1691 name = 'Server-Assignment-Type' 1692 avpLen = 16 1693 fields_desc = [ 1694 AVP_FL_V, 1695 Enumerated( 1696 'val', 1697 None, 1698 { 1699 0: "NO_ASSIGNMENT", 1700 1: "REGISTRATION", 1701 2: "RE_REGISTRATION", 1702 3: "UNREGISTERED_USER", 1703 4: "TIMEOUT_DEREGISTRATION", 1704 5: "USER_DEREGISTRATION", 1705 6: "TIMEOUT_DEREGISTRATION_STORE_SERVER_NAME", 1706 7: "USER_DEREGISTRATION_STORE_SERVER_NAME", 1707 8: "ADMINISTRATIVE_DEREGISTRATION", 1708 9: "AUTHENTICATION_FAILURE", 1709 10: "AUTHENTICATION_TIMEOUT", 1710 11: "DEREGISTRATION_TOO_MUCH_DATA", 1711 12: "AAA_USER_DATA_REQUEST", 1712 13: "PGW_UPDATE", 1713 })] 1714 1715 1716class AVP_10415_616 (AVP_FL_V): 1717 name = 'Reason-Code' 1718 avpLen = 16 1719 fields_desc = [AVP_FL_V, 1720 Enumerated('val', 1721 None, 1722 {0: "PERMANENT_TERMINATION", 1723 1: "NEW_SERVER_ASSIGNED", 1724 2: "SERVER_CHANGE", 1725 3: "REMOVE_S-CSCF", 1726 })] 1727 1728 1729class AVP_10415_623 (AVP_FL_V): 1730 name = 'User-Authorization-Type' 1731 avpLen = 16 1732 fields_desc = [ 1733 AVP_FL_V, Enumerated('val', None, { 1734 0: "REGISTRATION", 1: "DE_REGISTRATION", 2: "REGISTRATION_AND_CAPABILITIES", })] # noqa: E501 1735 1736 1737class AVP_10415_624 (AVP_FL_V): 1738 name = 'User-Data-Already-Available' 1739 avpLen = 16 1740 fields_desc = [ 1741 AVP_FL_V, Enumerated('val', None, { 1742 0: "USER_DATA_NOT_AVAILABLE", 1: "USER_DATA_ALREADY_AVAILABLE", })] 1743 1744 1745class AVP_10415_633 (AVP_FL_V): 1746 name = 'Originating-Request' 1747 avpLen = 16 1748 fields_desc = [ 1749 AVP_FL_V, Enumerated('val', None, {0: "ORIGINATING", })] 1750 1751 1752class AVP_10415_638 (AVP_FL_V): 1753 name = 'Loose-Route-Indication' 1754 avpLen = 16 1755 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "LOOSE_ROUTE_NOT_REQUIRED", 1: "LOOSE_ROUTE_REQUIRED", })] # noqa: E501 1756 1757 1758class AVP_10415_648 (AVP_FL_V): 1759 name = 'Multiple-Registration-Indication' 1760 avpLen = 16 1761 fields_desc = [ 1762 AVP_FL_V, Enumerated('val', None, { 1763 0: "NOT_MULTIPLE_REGISTRATION", 1: "MULTIPLE_REGISTRATION", })] 1764 1765 1766class AVP_10415_650 (AVP_FL_V): 1767 name = 'Session-Priority' 1768 avpLen = 16 1769 fields_desc = [ 1770 AVP_FL_V, Enumerated('val', None, { 1771 0: "PRIORITY-0", 1: "PRIORITY-1", 2: "PRIORITY-2", 3: "PRIORITY-3", 4: "PRIORITY-4", })] # noqa: E501 1772 1773 1774class AVP_10415_652 (AVP_FL_V): 1775 name = 'Priviledged-Sender-Indication' 1776 avpLen = 16 1777 fields_desc = [ 1778 AVP_FL_V, Enumerated('val', None, { 1779 0: "NOT_PRIVILEDGED_SENDER", 1: "PRIVILEDGED_SENDER", })] 1780 1781 1782class AVP_10415_703 (AVP_FL_V): 1783 name = 'Data-Reference' 1784 avpLen = 16 1785 fields_desc = [ 1786 AVP_FL_V, 1787 Enumerated( 1788 'val', 1789 None, 1790 { 1791 0: "RepositoryData", 1792 1: "Undefined", 1793 2: "Undefined", 1794 3: "Undefined", 1795 4: "Undefined", 1796 5: "Undefined", 1797 6: "Undefined", 1798 7: "Undefined", 1799 8: "Undefined", 1800 9: "Undefined", 1801 10: "IMSPublicIdentity", 1802 11: "IMSUserState", 1803 12: "S-CSCFName", 1804 13: "InitialFilterCriteria", 1805 14: "LocationInformation", 1806 15: "UserState", 1807 16: "ChargingInformation", 1808 17: "MSISDN", 1809 18: "PSIActivation", 1810 19: "DSAI", 1811 20: "Reserved", 1812 21: "ServiceLevelTraceInfo", 1813 22: "IPAddressSecureBindingInformation", 1814 23: "ServicePriorityLevel", 1815 24: "SMSRegistrationInfo", 1816 25: "UEReachabilityForIP", 1817 26: "TADSinformation", 1818 27: "STN-SR", 1819 28: "UE-SRVCC-Capability", 1820 29: "ExtendedPriority", 1821 30: "CSRN", 1822 31: "ReferenceLocationInformation", 1823 })] 1824 1825 1826class AVP_10415_705 (AVP_FL_V): 1827 name = 'Subs-Req-Type' 1828 avpLen = 16 1829 fields_desc = [ 1830 AVP_FL_V, Enumerated('val', None, {0: "Subscribe", 1: "Unsubscribe", })] # noqa: E501 1831 1832 1833class AVP_10415_706 (AVP_FL_V): 1834 name = 'Requested-Domain' 1835 avpLen = 16 1836 fields_desc = [ 1837 AVP_FL_V, Enumerated('val', None, {0: "CS-Domain", 1: "PS-Domain", })] 1838 1839 1840class AVP_10415_707 (AVP_FL_V): 1841 name = 'Current-Location' 1842 avpLen = 16 1843 fields_desc = [ 1844 AVP_FL_V, Enumerated('val', None, { 1845 0: "DoNotNeedInitiateActiveLocationRetrieval", 1: "InitiateActiveLocationRetrieval", })] # noqa: E501 1846 1847 1848class AVP_10415_708 (AVP_FL_V): 1849 name = 'Identity-Set' 1850 avpLen = 16 1851 fields_desc = [ 1852 AVP_FL_V, 1853 Enumerated( 1854 'val', 1855 None, 1856 { 1857 0: "ALL_IDENTITIES", 1858 1: "REGISTERED_IDENTITIES", 1859 2: "IMPLICIT_IDENTITIES", 1860 3: "ALIAS_IDENTITIES", 1861 })] 1862 1863 1864class AVP_10415_710 (AVP_FL_V): 1865 name = 'Send-Data-Indication' 1866 avpLen = 16 1867 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "USER_DATA_NOT_REQUESTED", 1: "USER_DATA_REQUESTED", })] # noqa: E501 1868 1869 1870class AVP_10415_712 (AVP_FL_V): 1871 name = 'One-Time-Notification' 1872 avpLen = 16 1873 fields_desc = [ 1874 AVP_FL_V, Enumerated('val', None, {0: "ONE_TIME_NOTIFICATION_REQUESTED", })] # noqa: E501 1875 1876 1877class AVP_10415_714 (AVP_FL_V): 1878 name = 'Serving-Node-Indication' 1879 avpLen = 16 1880 fields_desc = [ 1881 AVP_FL_V, Enumerated('val', None, {0: "ONLY_SERVING_NODES_REQUIRED", })] # noqa: E501 1882 1883 1884class AVP_10415_717 (AVP_FL_V): 1885 name = 'Pre-paging-Supported' 1886 avpLen = 16 1887 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "PREPAGING_NOT_SUPPORTED", 1: "PREPAGING_SUPPORTED", })] # noqa: E501 1888 1889 1890class AVP_10415_718 (AVP_FL_V): 1891 name = 'Local-Time-Zone-Indication' 1892 avpLen = 16 1893 fields_desc = [ 1894 AVP_FL_V, Enumerated('val', None, { 1895 0: "ONLY_LOCAL_TIME_ZONE_REQUESTED", 1: "LOCAL_TIME_ZONE_WITH_LOCATION_INFO_REQUESTED", })] # noqa: E501 1896 1897 1898class AVP_10415_829 (AVP_FL_V): 1899 name = 'Role-Of-Node' 1900 avpLen = 16 1901 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "HPLMN", 1: "VPLMN", 2: "FORWARDING_ROLE", })] # noqa: E501 1902 1903 1904class AVP_10415_862 (AVP_FL_V): 1905 name = 'Node-Functionality' 1906 avpLen = 16 1907 fields_desc = [ 1908 AVP_FL_V, 1909 Enumerated( 1910 'val', 1911 None, 1912 { 1913 0: "S-CSCF", 1914 1: "P-CSCF", 1915 2: "I-CSCF", 1916 5: "BGCF", 1917 6: "AS", 1918 7: "IBCF", 1919 8: "S-GW", 1920 9: "P-GW", 1921 10: "HSGW", 1922 11: "E-CSCF ", 1923 12: "MME ", 1924 13: "TRF", 1925 14: "TF", 1926 15: "ATCF", 1927 16: "Proxy Function", 1928 17: "ePDG", 1929 })] 1930 1931 1932class AVP_10415_864 (AVP_FL_V): 1933 name = 'Originator' 1934 avpLen = 16 1935 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Calling Party", 1: "Called Party", })] # noqa: E501 1936 1937 1938class AVP_10415_867 (AVP_FL_V): 1939 name = 'PS-Append-Free-Format-Data' 1940 avpLen = 16 1941 fields_desc = [ 1942 AVP_FL_V, Enumerated('val', None, {0: "'Append' ", 1: "'Overwrite' ", })] # noqa: E501 1943 1944 1945class AVP_10415_870 (AVP_FL_V): 1946 name = 'Trigger-Type' 1947 avpLen = 16 1948 fields_desc = [AVP_FL_V, 1949 Enumerated('val', 1950 None, 1951 {1: "CHANGE_IN_SGSN_IP_ADDRESS ", 1952 2: "CHANGE_IN_QOS", 1953 3: "CHANGE_IN_LOCATION", 1954 4: "CHANGE_IN_RAT", 1955 5: "CHANGE_IN_UE_TIMEZONE", 1956 10: "CHANGEINQOS_TRAFFIC_CLASS", 1957 11: "CHANGEINQOS_RELIABILITY_CLASS", 1958 12: "CHANGEINQOS_DELAY_CLASS", 1959 13: "CHANGEINQOS_PEAK_THROUGHPUT", 1960 14: "CHANGEINQOS_PRECEDENCE_CLASS", 1961 15: "CHANGEINQOS_MEAN_THROUGHPUT", 1962 16: "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK", 1963 17: "CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK", 1964 18: "CHANGEINQOS_RESIDUAL_BER", 1965 19: "CHANGEINQOS_SDU_ERROR_RATIO", 1966 20: "CHANGEINQOS_TRANSFER_DELAY", 1967 21: "CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY", 1968 22: "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK", # noqa: E501 1969 23: "CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK", # noqa: E501 1970 24: "CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATE", # noqa: E501 1971 30: "CHANGEINLOCATION_MCC", 1972 31: "CHANGEINLOCATION_MNC", 1973 32: "CHANGEINLOCATION_RAC", 1974 33: "CHANGEINLOCATION_LAC", 1975 34: "CHANGEINLOCATION_CellId", 1976 35: "CHANGEINLOCATION_TAC", 1977 36: "CHANGEINLOCATION_ECGI", 1978 40: "CHANGE_IN_MEDIA_COMPOSITION", 1979 50: "CHANGE_IN_PARTICIPANTS_NMB", 1980 51: "CHANGE_IN_ THRSHLD_OF_PARTICIPANTS_NMB", 1981 52: "CHANGE_IN_USER_PARTICIPATING_TYPE", 1982 60: "CHANGE_IN_SERVICE_CONDITION", 1983 61: "CHANGE_IN_SERVING_NODE", 1984 70: "CHANGE_IN_USER_CSG_INFORMATION", 1985 71: "CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION", # noqa: E501 1986 72: "CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION", # noqa: E501 1987 73: "CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA", # noqa: E501 1988 })] 1989 1990 1991class AVP_10415_872 (AVP_FL_V): 1992 name = 'Reporting-Reason' 1993 avpLen = 16 1994 fields_desc = [ 1995 AVP_FL_V, 1996 Enumerated( 1997 'val', 1998 None, 1999 { 2000 0: "THRESHOLD", 2001 1: "QHT", 2002 2: "FINAL", 2003 3: "QUOTA_EXHAUSTED", 2004 4: "VALIDITY_TIME", 2005 5: "OTHER_QUOTA_TYPE", 2006 6: "RATING_CONDITION_CHANGE", 2007 7: "FORCED_REAUTHORISATION", 2008 8: "POOL_EXHAUSTED", 2009 })] 2010 2011 2012class AVP_10415_882 (AVP_FL_V): 2013 name = 'Media-Initiator-Flag' 2014 avpLen = 16 2015 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "called party", 1: "calling party", 2: "unknown", })] # noqa: E501 2016 2017 2018class AVP_10415_883 (AVP_FL_V): 2019 name = 'PoC-Server-Role' 2020 avpLen = 16 2021 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Participating PoC Server", 1: "Controlling PoC Server", })] # noqa: E501 2022 2023 2024class AVP_10415_884 (AVP_FL_V): 2025 name = 'PoC-Session-Type' 2026 avpLen = 16 2027 fields_desc = [ 2028 AVP_FL_V, 2029 Enumerated( 2030 'val', 2031 None, 2032 { 2033 0: "1 to 1 PoC session", 2034 1: "Chat PoC group session", 2035 2: "Pre-arranged PoC group session", 2036 3: "Ad-hoc PoC group session", 2037 })] 2038 2039 2040class AVP_10415_899 (AVP_FL_V): 2041 name = 'Address-Type' 2042 avpLen = 16 2043 fields_desc = [ 2044 AVP_FL_V, 2045 Enumerated( 2046 'val', 2047 None, 2048 { 2049 0: "e-mail address", 2050 1: "MSISDN", 2051 2: "IPv4 Address", 2052 3: "IPv6 Address", 2053 4: "Numeric Shortcode", 2054 5: "Alphanumeric Shortcode", 2055 6: "Other", 2056 7: "IMSI", 2057 })] 2058 2059 2060class AVP_10415_902 (AVP_FL_V): 2061 name = 'MBMS-StartStop-Indication' 2062 avpLen = 16 2063 fields_desc = [ 2064 AVP_FL_V, Enumerated('val', None, {0: "START", 1: "STOP", 2: "UPDATE", })] # noqa: E501 2065 2066 2067class AVP_10415_906 (AVP_FL_V): 2068 name = 'MBMS-Service-Type' 2069 avpLen = 16 2070 fields_desc = [ 2071 AVP_FL_V, Enumerated('val', None, {0: "MULTICAST", 1: "BROADCAST", })] 2072 2073 2074class AVP_10415_907 (AVP_FL_V): 2075 name = 'MBMS-2G-3G-Indicator' 2076 avpLen = 16 2077 fields_desc = [ 2078 AVP_FL_V, Enumerated('val', None, {0: "2G", 1: "3G", 2: "2G-AND-3G", })] # noqa: E501 2079 2080 2081class AVP_10415_921 (AVP_FL_V): 2082 name = 'CN-IP-Multicast-Distribution' 2083 avpLen = 16 2084 fields_desc = [ 2085 AVP_FL_V, Enumerated('val', None, {0: "NO-IP-MULTICAST", 1: "IP-MULTICAST", })] # noqa: E501 2086 2087 2088class AVP_10415_922 (AVP_FL_V): 2089 name = 'MBMS-HC-Indicator' 2090 avpLen = 16 2091 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "uncompressed-header", 1: "compressed-header", })] # noqa: E501 2092 2093 2094class AVP_10415_1000 (AVP_FL_V): 2095 name = 'Bearer-Usage' 2096 avpLen = 16 2097 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "GENERAL", 1: "IMS SIGNALLING", 2: "DEDICATED", })] # noqa: E501 2098 2099 2100class AVP_10415_1006 (AVP_FL_V): 2101 name = 'Event-Trigger' 2102 avpLen = 16 2103 fields_desc = [ 2104 AVP_FL_V, 2105 Enumerated( 2106 'val', 2107 None, 2108 { 2109 0: "SGSN_CHANGE", 2110 1: "QOS_CHANGE", 2111 2: "RAT_CHANGE", 2112 3: "TFT_CHANGE", 2113 4: "PLMN_CHANGE", 2114 5: "LOSS_OF_BEARER", 2115 6: "RECOVERY_OF_BEARER", 2116 7: "IP-CAN_CHANGE", 2117 8: "GW-PCEF-MALFUNCTION", 2118 9: "RESOURCES_LIMITATION", 2119 10: "MAX_NR_BEARERS_REACHED", 2120 11: "QOS_CHANGE_EXCEEDING_AUTHORIZATION", 2121 12: "RAI_CHANGE", 2122 13: "USER_LOCATION_CHANGE", 2123 14: "NO_EVENT_TRIGGERS", 2124 15: "OUT_OF_CREDIT", 2125 16: "REALLOCATION_OF_CREDIT", 2126 17: "REVALIDATION_TIMEOUT", 2127 18: "UE_IP_ADDRESS_ALLOCATE", 2128 19: "UE_IP_ADDRESS_RELEASE", 2129 20: "DEFAULT_EPS_BEARER_QOS_CHANGE", 2130 21: "AN_GW_CHANGE", 2131 22: "SUCCESSFUL_RESOURCE_ALLOCATION", 2132 23: "RESOURCE_MODIFICATION_REQUEST", 2133 24: "PGW_TRACE_CONTROL", 2134 25: "UE_TIME_ZONE_CHANGE", 2135 26: "TAI_CHANGE", 2136 27: "ECGI_CHANGE", 2137 28: "CHARGING_CORRELATION_EXCHANGE", 2138 29: "APN-AMBR_MODIFICATION_FAILURE", 2139 30: "USER_CSG_INFORMATION_CHANGE", 2140 33: "USAGE_REPORT", 2141 34: "DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE", 2142 35: "USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE", 2143 36: "USER_CSG_ HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE", 2144 37: "ROUTING_RULE_CHANGE", 2145 38: "MAX_MBR_APN_AMBR_CHANGE", 2146 39: "APPLICATION_START", 2147 40: "APPLICATION_STOP", 2148 41: "ADC_REVALIDATION_TIMEOUT", 2149 42: "CS_TO_PS_HANDOVER", 2150 43: "UE_LOCAL_IP_ADDRESS_CHANGE", 2151 45: "ACCESS_NETWORK_INFO_REPORT", 2152 100: "TIME_CHANGE", 2153 1000: "TFT DELETED", 2154 1001: "LOSS OF BEARER", 2155 1002: "RECOVERY OF BEARER", 2156 1003: "POLICY ENFORCEMENT FAILED", 2157 })] 2158 2159 2160class AVP_10415_1007 (AVP_FL_V): 2161 name = 'Metering-Method' 2162 avpLen = 16 2163 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "DURATION", 1: "VOLUME", 2: "DURATION_VOLUME", })] # noqa: E501 2164 2165 2166class AVP_10415_1008 (AVP_FL_V): 2167 name = 'Offline' 2168 avpLen = 16 2169 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "DISABLE_OFFLINE", 1: "ENABLE_OFFLINE", })] # noqa: E501 2170 2171 2172class AVP_10415_1009 (AVP_FL_V): 2173 name = 'Online' 2174 avpLen = 16 2175 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "DISABLE_ONLINE", 1: "ENABLE_ONLINE", })] # noqa: E501 2176 2177 2178class AVP_10415_1011 (AVP_FL_V): 2179 name = 'Reporting-Level' 2180 avpLen = 16 2181 fields_desc = [ 2182 AVP_FL_V, Enumerated('val', None, { 2183 0: "SERVICE_IDENTIFIER_LEVEL", 1: "RATING_GROUP_LEVEL", 2: "SPONSORED_CONNECTIVITY_LEVEL", })] # noqa: E501 2184 2185 2186class AVP_10415_1015 (AVP_FL_V): 2187 name = 'PDP-Session-Operation' 2188 avpLen = 16 2189 fields_desc = [ 2190 AVP_FL_V, Enumerated('val', None, {0: "PDP-SESSION-TERMINATION", })] 2191 2192 2193class AVP_10415_1019 (AVP_FL_V): 2194 name = 'PCC-Rule-Status' 2195 avpLen = 16 2196 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "ACTIVE", 1: "INACTIVE", 2: "TEMPORARY_INACTIVE", })] # noqa: E501 2197 2198 2199class AVP_10415_1021 (AVP_FL_V): 2200 name = 'Bearer-Operation' 2201 avpLen = 16 2202 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "TERMINATION", 1: "ESTABLISHMENT", 2: "MODIFICATION", })] # noqa: E501 2203 2204 2205class AVP_10415_1023 (AVP_FL_V): 2206 name = 'Bearer-Control-Mode' 2207 avpLen = 16 2208 fields_desc = [ 2209 AVP_FL_V, Enumerated('val', None, {0: "UE_ONLY", 1: "RESERVED", 2: "UE_NW", })] # noqa: E501 2210 2211 2212class AVP_10415_1024 (AVP_FL_V): 2213 name = 'Network-Request-Support' 2214 avpLen = 16 2215 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "NETWORK_REQUEST NOT SUPPORTED", 1: "NETWORK_REQUEST SUPPORTED", })] # noqa: E501 2216 2217 2218class AVP_10415_1027 (AVP_FL_V): 2219 name = 'IP-CAN-Type' 2220 avpLen = 16 2221 fields_desc = [AVP_FL_V, 2222 Enumerated('val', 2223 None, 2224 {0: "3GPP-GPRS", 2225 1: "DOCSIS", 2226 2: "xDSL", 2227 3: "WiMAX", 2228 4: "3GPP2", 2229 5: "3GPP-EPS", 2230 6: "Non-3GPP-EPS", 2231 })] 2232 2233 2234class AVP_10415_1028 (AVP_FL_V): 2235 name = 'QoS-Class-Identifier' 2236 avpLen = 16 2237 fields_desc = [ 2238 AVP_FL_V, 2239 Enumerated( 2240 'val', 2241 None, 2242 { 2243 1: "QCI_1", 2244 2: "QCI_2", 2245 3: "QCI_3", 2246 4: "QCI_4", 2247 5: "QCI_5", 2248 6: "QCI_6", 2249 7: "QCI_7", 2250 8: "QCI_8", 2251 9: "QCI_9", 2252 })] 2253 2254 2255class AVP_10415_1032 (AVP_FL_V): 2256 name = 'RAT-Type' 2257 avpLen = 16 2258 fields_desc = [AVP_FL_V, 2259 Enumerated('val', 2260 None, 2261 {0: "WLAN", 2262 1: "VIRTUAL", 2263 1000: "UTRAN", 2264 1001: "GERAN", 2265 1002: "GAN", 2266 1003: "HSPA_EVOLUTION", 2267 1004: "EUTRAN", 2268 2000: "CDMA2000_1X", 2269 2001: "HRPD", 2270 2002: "UMB", 2271 2003: "EHRPD", 2272 })] 2273 2274 2275class AVP_10415_1045 (AVP_FL_V): 2276 name = 'Session-Release-Cause' 2277 avpLen = 16 2278 fields_desc = [ 2279 AVP_FL_V, Enumerated('val', None, { 2280 0: "UNSPECIFIED_REASON", 1: "UE_SUBSCRIPTION_REASON", 2: "INSUFFICIENT_SERVER_RESOURCES", })] # noqa: E501 2281 2282 2283class AVP_10415_1047 (AVP_FL_V): 2284 name = 'Pre-emption-Capability' 2285 avpLen = 16 2286 fields_desc = [ 2287 AVP_FL_V, Enumerated('val', None, { 2288 0: "PRE-EMPTION_CAPABILITY_ENABLED", 1: "PRE-EMPTION_CAPABILITY_DISABLED", })] # noqa: E501 2289 2290 2291class AVP_10415_1048 (AVP_FL_V): 2292 name = 'Pre-emption-Vulnerability' 2293 avpLen = 16 2294 fields_desc = [ 2295 AVP_FL_V, Enumerated('val', None, { 2296 0: "PRE-EMPTION_VULNERABILITY_ENABLED", 1: "PRE-EMPTION_VULNERABILITY_DISABLED", })] # noqa: E501 2297 2298 2299class AVP_10415_1062 (AVP_FL_V): 2300 name = 'Packet-Filter-Operation' 2301 avpLen = 16 2302 fields_desc = [ 2303 AVP_FL_V, Enumerated('val', None, { 2304 0: "DELETION", 1: "ADDITION", 2: "MODIFICATION", })] 2305 2306 2307class AVP_10415_1063 (AVP_FL_V): 2308 name = 'Resource-Allocation-Notification' 2309 avpLen = 16 2310 fields_desc = [ 2311 AVP_FL_V, Enumerated('val', None, {0: "ENABLE_NOTIFICATION", })] 2312 2313 2314class AVP_10415_1068 (AVP_FL_V): 2315 name = 'Usage-Monitoring-Level' 2316 avpLen = 16 2317 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "SESSION_LEVEL", 1: "PCC_RULE_LEVEL", 2: "ADC_RULE_LEVEL", })] # noqa: E501 2318 2319 2320class AVP_10415_1069 (AVP_FL_V): 2321 name = 'Usage-Monitoring-Report' 2322 avpLen = 16 2323 fields_desc = [ 2324 AVP_FL_V, Enumerated('val', None, {0: "USAGE_MONITORING_REPORT_REQUIRED", })] # noqa: E501 2325 2326 2327class AVP_10415_1070 (AVP_FL_V): 2328 name = 'Usage-Monitoring-Support' 2329 avpLen = 16 2330 fields_desc = [ 2331 AVP_FL_V, Enumerated('val', None, {0: "USAGE_MONITORING_DISABLED", })] 2332 2333 2334class AVP_10415_1071 (AVP_FL_V): 2335 name = 'CSG-Information-Reporting' 2336 avpLen = 16 2337 fields_desc = [ 2338 AVP_FL_V, 2339 Enumerated( 2340 'val', 2341 None, 2342 { 2343 0: "CHANGE_CSG_CELL", 2344 1: "CHANGE_CSG_SUBSCRIBED_HYBRID_CELL", 2345 2: "CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELL", 2346 })] 2347 2348 2349class AVP_10415_1072 (AVP_FL_V): 2350 name = 'Packet-Filter-Usage' 2351 avpLen = 16 2352 fields_desc = [ 2353 AVP_FL_V, Enumerated('val', None, {1: "SEND_TO_UE", })] 2354 2355 2356class AVP_10415_1073 (AVP_FL_V): 2357 name = 'Charging-Correlation-Indicator' 2358 avpLen = 16 2359 fields_desc = [ 2360 AVP_FL_V, Enumerated('val', None, {0: "CHARGING_IDENTIFIER_REQUIRED", })] # noqa: E501 2361 2362 2363class AVP_10415_1080 (AVP_FL_V): 2364 name = 'Flow-Direction' 2365 avpLen = 16 2366 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "UNSPECIFIED", 1: "DOWNLINK", 2: "UPLINK", 3: "BIDIRECTIONAL", })] # noqa: E501 2367 2368 2369class AVP_10415_1086 (AVP_FL_V): 2370 name = 'Redirect-Support' 2371 avpLen = 16 2372 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "REDIRECTION_DISABLED", 1: "REDIRECTION_ENABLED", })] # noqa: E501 2373 2374 2375class AVP_10415_1099 (AVP_FL_V): 2376 name = 'PS-to-CS-Session-Continuity' 2377 avpLen = 16 2378 fields_desc = [ 2379 AVP_FL_V, Enumerated('val', None, {0: "VIDEO_PS2CS_CONT_CANDIDATE", })] 2380 2381 2382class AVP_10415_1204 (AVP_FL_V): 2383 name = 'Type-Number' 2384 avpLen = 16 2385 fields_desc = [ 2386 AVP_FL_V, Enumerated('val', None, {0: "TBC", })] 2387 2388 2389class AVP_10415_1208 (AVP_FL_V): 2390 name = 'Addressee-Type' 2391 avpLen = 16 2392 fields_desc = [ 2393 AVP_FL_V, Enumerated('val', None, {0: "TO ", 1: "CC ", 2: "BCC", })] 2394 2395 2396class AVP_10415_1209 (AVP_FL_V): 2397 name = 'Priority' 2398 avpLen = 16 2399 fields_desc = [ 2400 AVP_FL_V, Enumerated('val', None, { 2401 0: "Low", 1: "Normal", 2: "High", })] 2402 2403 2404class AVP_10415_1211 (AVP_FL_V): 2405 name = 'Message-Type' 2406 avpLen = 16 2407 fields_desc = [ 2408 AVP_FL_V, 2409 Enumerated( 2410 'val', 2411 None, 2412 { 2413 1: "m-send-req", 2414 2: "m-send-conf", 2415 3: "m-notification-ind ", 2416 4: "m-notifyresp-ind ", 2417 5: "m-retrieve-conf ", 2418 6: "m-acknowledge-ind ", 2419 7: "m-delivery-ind ", 2420 8: "m-read-rec-ind ", 2421 9: "m-read-orig-ind", 2422 10: "m-forward-req ", 2423 11: "m-forward-conf ", 2424 12: "m-mbox-store-conf", 2425 13: "m-mbox-view-conf ", 2426 14: "m-mbox-upload-conf ", 2427 15: "m-mbox-delete-conf ", 2428 })] 2429 2430 2431class AVP_10415_1214 (AVP_FL_V): 2432 name = 'Class-Identifier' 2433 avpLen = 16 2434 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Personal", 1: "Advertisement", 2: "Informational", 3: "Auto", })] # noqa: E501 2435 2436 2437class AVP_10415_1216 (AVP_FL_V): 2438 name = 'Delivery-Report-Requested' 2439 avpLen = 16 2440 fields_desc = [ 2441 AVP_FL_V, Enumerated('val', None, {0: "No", 1: "Yes", })] 2442 2443 2444class AVP_10415_1217 (AVP_FL_V): 2445 name = 'Adaptations' 2446 avpLen = 16 2447 fields_desc = [ 2448 AVP_FL_V, Enumerated('val', None, {0: "Yes", 1: "No", })] 2449 2450 2451class AVP_10415_1220 (AVP_FL_V): 2452 name = 'Content-Class' 2453 avpLen = 16 2454 fields_desc = [ 2455 AVP_FL_V, 2456 Enumerated( 2457 'val', 2458 None, 2459 { 2460 0: "text ", 2461 1: "image-basic ", 2462 2: "image-rich ", 2463 3: "video-basic", 2464 4: "video-rich ", 2465 5: "megapixel ", 2466 6: "content-basic ", 2467 7: "content-rich ", 2468 })] 2469 2470 2471class AVP_10415_1221 (AVP_FL_V): 2472 name = 'DRM-Content' 2473 avpLen = 16 2474 fields_desc = [ 2475 AVP_FL_V, Enumerated('val', None, {0: "No", 1: "Yes", })] 2476 2477 2478class AVP_10415_1222 (AVP_FL_V): 2479 name = 'Read-Reply-Report-Requested' 2480 avpLen = 16 2481 fields_desc = [ 2482 AVP_FL_V, Enumerated('val', None, {0: "No", 1: "Yes", })] 2483 2484 2485class AVP_10415_1224 (AVP_FL_V): 2486 name = 'File-Repair-Supported' 2487 avpLen = 16 2488 fields_desc = [ 2489 AVP_FL_V, Enumerated('val', None, { 2490 0: "Forwarding not pending", 1: "Forwarding pending", 2: "NOT_SUPPORTED", })] # noqa: E501 2491 2492 2493class AVP_10415_1225 (AVP_FL_V): 2494 name = 'MBMS-User-Service-Type' 2495 avpLen = 16 2496 fields_desc = [ 2497 AVP_FL_V, Enumerated('val', None, {1: "DOWNLOAD", 2: "STREAMING", })] 2498 2499 2500class AVP_10415_1247 (AVP_FL_V): 2501 name = 'PDP-Context-Type' 2502 avpLen = 16 2503 fields_desc = [ 2504 AVP_FL_V, Enumerated('val', None, {0: "Primary", 1: "Secondary", })] 2505 2506 2507class AVP_10415_1248 (AVP_FL_V): 2508 name = 'MMBox-Storage-Requested' 2509 avpLen = 16 2510 fields_desc = [ 2511 AVP_FL_V, Enumerated('val', None, {0: "No", 1: "Yes", })] 2512 2513 2514class AVP_10415_1254 (AVP_FL_V): 2515 name = 'PoC-User-Role-info-Units' 2516 avpLen = 16 2517 fields_desc = [ 2518 AVP_FL_V, Enumerated('val', None, { 2519 1: "Moderator", 2: "Dispatcher", 3: "Session-Owner", 4: "Session-Participant", })] # noqa: E501 2520 2521 2522class AVP_10415_1259 (AVP_FL_V): 2523 name = 'Participant-Access-Priority' 2524 avpLen = 16 2525 fields_desc = [ 2526 AVP_FL_V, 2527 Enumerated( 2528 'val', 2529 None, 2530 { 2531 1: "Pre-emptive priority: ", 2532 2: "High priority: Lower than Pre-emptive priority", 2533 3: "Normal priority: Normal level. Lower than High priority", 2534 4: "Low priority: Lowest level priority", 2535 })] 2536 2537 2538class AVP_10415_1261 (AVP_FL_V): 2539 name = 'PoC-Change-Condition' 2540 avpLen = 16 2541 fields_desc = [ 2542 AVP_FL_V, 2543 Enumerated( 2544 'val', 2545 None, 2546 { 2547 0: "ServiceChange", 2548 1: "VolumeLimit", 2549 2: "TimeLimit", 2550 3: "NumberofTalkBurstLimit", 2551 4: "NumberofActiveParticipants", 2552 })] 2553 2554 2555class AVP_10415_1268 (AVP_FL_V): 2556 name = 'Envelope-Reporting' 2557 avpLen = 16 2558 fields_desc = [ 2559 AVP_FL_V, 2560 Enumerated( 2561 'val', 2562 None, 2563 { 2564 0: "DO_NOT_REPORT_ENVELOPES", 2565 1: "REPORT_ENVELOPES", 2566 2: "REPORT_ENVELOPES_WITH_VOLUME", 2567 3: "REPORT_ENVELOPES_WITH_EVENTS", 2568 4: "REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTS", 2569 })] 2570 2571 2572class AVP_10415_1271 (AVP_FL_V): 2573 name = 'Time-Quota-Type' 2574 avpLen = 16 2575 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "DISCRETE_TIME_PERIOD", 1: "CONTINUOUS_TIME_PERIOD", })] # noqa: E501 2576 2577 2578class AVP_10415_1277 (AVP_FL_V): 2579 name = 'PoC-Session-Initiation-Type' 2580 avpLen = 16 2581 fields_desc = [ 2582 AVP_FL_V, Enumerated('val', None, {0: "Pre-established", 1: "On-demand", })] # noqa: E501 2583 2584 2585class AVP_10415_1279 (AVP_FL_V): 2586 name = 'User-Participating-Type' 2587 avpLen = 16 2588 fields_desc = [ 2589 AVP_FL_V, Enumerated('val', None, { 2590 0: "Normal", 1: "NW PoC Box", 2: "UE PoC Box", })] 2591 2592 2593class AVP_10415_1417 (AVP_FL_V): 2594 name = 'Network-Access-Mode' 2595 avpLen = 16 2596 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "PACKET_AND_CIRCUIT", 1: "Reserved", 2: "ONLY_PACKET", })] # noqa: E501 2597 2598 2599class AVP_10415_1420 (AVP_FL_V): 2600 name = 'Cancellation-Type' 2601 avpLen = 16 2602 fields_desc = [ 2603 AVP_FL_V, 2604 Enumerated( 2605 'val', 2606 None, 2607 { 2608 0: "MME_UPDATE_PROCEDURE", 2609 1: "SGSN_UPDATE_PROCEDURE", 2610 2: "SUBSCRIPTION_WITHDRAWAL", 2611 3: "UPDATE_PROCEDURE_IWF", 2612 4: "INITIAL_ATTACH_PROCEDURE", 2613 })] 2614 2615 2616class AVP_10415_1424 (AVP_FL_V): 2617 name = 'Subscriber-Status' 2618 avpLen = 16 2619 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "SERVICE_GRANTED", 1: "OPERATOR_DETERMINED_BARRING", })] # noqa: E501 2620 2621 2622class AVP_10415_1428 (AVP_FL_V): 2623 name = 'All-APN-Configurations-Included-Indicator' 2624 avpLen = 16 2625 fields_desc = [ 2626 AVP_FL_V, Enumerated('val', None, {0: "ALL_APN_CONFIGURATIONS_INCLUDED", })] # noqa: E501 2627 2628 2629class AVP_10415_1432 (AVP_FL_V): 2630 name = 'VPLMN-Dynamic-Address-Allowed' 2631 avpLen = 16 2632 fields_desc = [ 2633 AVP_FL_V, Enumerated('val', None, {0: "NOTALLOWED", 1: "ALLOWED", })] 2634 2635 2636class AVP_10415_1434 (AVP_FL_V): 2637 name = 'Alert-Reason' 2638 avpLen = 16 2639 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "UE_PRESENT", 1: "UE_MEMORY_AVAILABLE", })] # noqa: E501 2640 2641 2642class AVP_10415_1438 (AVP_FL_V): 2643 name = 'PDN-GW-Allocation-Type' 2644 avpLen = 16 2645 fields_desc = [ 2646 AVP_FL_V, Enumerated('val', None, {0: "STATIC", 1: "DYNAMIC", })] 2647 2648 2649class AVP_10415_1445 (AVP_FL_V): 2650 name = 'Equipment-Status' 2651 avpLen = 16 2652 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "WHITELISTED", 1: "BLACKLISTED", 2: "GREYLISTED", })] # noqa: E501 2653 2654 2655class AVP_10415_1456 (AVP_FL_V): 2656 name = 'PDN-Type' 2657 avpLen = 16 2658 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "IPv4", 1: "IPv6", 2: "IPv4v6", 3: "IPv4_OR_IPv6", })] # noqa: E501 2659 2660 2661class AVP_10415_1457 (AVP_FL_V): 2662 name = 'Roaming-Restricted-Due-To-Unsupported-Feature' 2663 avpLen = 16 2664 fields_desc = [ 2665 AVP_FL_V, Enumerated('val', None, {0: "Roaming-Restricted-Due-To-Unsupported-Feature", })] # noqa: E501 2666 2667 2668class AVP_10415_1462 (AVP_FL_V): 2669 name = 'Trace-Depth' 2670 avpLen = 16 2671 fields_desc = [AVP_FL_V, 2672 Enumerated('val', 2673 None, 2674 {0: "Minimum", 2675 1: "Medium", 2676 2: "Maximum", 2677 3: "MinimumWithoutVendorSpecificExtension", 2678 4: "MediumWithoutVendorSpecificExtension", 2679 5: "MaximumWithoutVendorSpecificExtension", 2680 })] 2681 2682 2683class AVP_10415_1468 (AVP_FL_V): 2684 name = 'Complete-Data-List-Included-Indicator' 2685 avpLen = 16 2686 fields_desc = [ 2687 AVP_FL_V, Enumerated('val', None, {0: "ALL_PDP_CONTEXTS_INCLUDED", })] 2688 2689 2690class AVP_10415_1478 (AVP_FL_V): 2691 name = 'Notification-To-UE-User' 2692 avpLen = 16 2693 fields_desc = [ 2694 AVP_FL_V, 2695 Enumerated( 2696 'val', 2697 None, 2698 { 2699 0: "NOTIFY_LOCATION_ALLOWED", 2700 1: "NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSE", 2701 2: "NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSE", 2702 3: "LOCATION_NOT_ALLOWED", 2703 })] 2704 2705 2706class AVP_10415_1481 (AVP_FL_V): 2707 name = 'GMLC-Restriction' 2708 avpLen = 16 2709 fields_desc = [ 2710 AVP_FL_V, Enumerated('val', None, {0: "GMLC_LIST", 1: "HOME_COUNTRY", })] # noqa: E501 2711 2712 2713class AVP_10415_1482 (AVP_FL_V): 2714 name = 'PLMN-Client' 2715 avpLen = 16 2716 fields_desc = [AVP_FL_V, 2717 Enumerated('val', 2718 None, 2719 {0: "BROADCAST_SERVICE", 2720 1: "O_AND_M_HPLMN", 2721 2: "O_AND_M_VPLMN", 2722 3: "ANONYMOUS_LOCATION", 2723 4: "TARGET_UE_SUBSCRIBED_SERVICE", 2724 })] 2725 2726 2727class AVP_10415_1491 (AVP_FL_V): 2728 name = 'ICS-Indicator' 2729 avpLen = 16 2730 fields_desc = [ 2731 AVP_FL_V, Enumerated('val', None, {0: "FALSE", 1: "TRUE", })] 2732 2733 2734class AVP_10415_1492 (AVP_FL_V): 2735 name = 'IMS-Voice-Over-PS-Sessions-Supported' 2736 avpLen = 16 2737 fields_desc = [ 2738 AVP_FL_V, Enumerated('val', None, {0: "NOT_SUPPORTED", 1: "SUPPORTED", })] # noqa: E501 2739 2740 2741class AVP_10415_1493 (AVP_FL_V): 2742 name = 'Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions' 2743 avpLen = 16 2744 fields_desc = [ 2745 AVP_FL_V, Enumerated('val', None, {0: "NOT_SUPPORTED", 1: "SUPPORTED", })] # noqa: E501 2746 2747 2748class AVP_10415_1499 (AVP_FL_V): 2749 name = 'User-State' 2750 avpLen = 16 2751 fields_desc = [AVP_FL_V, 2752 Enumerated('val', 2753 None, 2754 {0: "DETACHED", 2755 1: "ATTACHED_NOT_REACHABLE_FOR_PAGING", 2756 2: "ATTACHED_REACHABLE_FOR_PAGING", 2757 3: "CONNECTED_NOT_REACHABLE_FOR_PAGING", 2758 4: "CONNECTED_REACHABLE_FOR_PAGING", 2759 5: "NETWORK_DETERMINED_NOT_REACHABLE", 2760 })] 2761 2762 2763class AVP_10415_1501 (AVP_FL_V): 2764 name = 'Non-3GPP-IP-Access' 2765 avpLen = 16 2766 fields_desc = [ 2767 AVP_FL_V, Enumerated('val', None, { 2768 0: "NON_3GPP_SUBSCRIPTION_ALLOWED", 1: "NON_3GPP_SUBSCRIPTION_BARRED", })] # noqa: E501 2769 2770 2771class AVP_10415_1502 (AVP_FL_V): 2772 name = 'Non-3GPP-IP-Access-APN' 2773 avpLen = 16 2774 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "NON_3GPP_APNS_ENABLE", 1: "NON_3GPP_APNS_DISABLE", })] # noqa: E501 2775 2776 2777class AVP_10415_1503 (AVP_FL_V): 2778 name = 'AN-Trusted' 2779 avpLen = 16 2780 fields_desc = [ 2781 AVP_FL_V, Enumerated('val', None, {0: "TRUSTED", 1: "UNTRUSTED", })] 2782 2783 2784class AVP_10415_1515 (AVP_FL_V): 2785 name = 'Trust-Relationship-Update' 2786 avpLen = 16 2787 fields_desc = [ 2788 AVP_FL_V, Enumerated('val', None, {0: "TBC", })] 2789 2790 2791class AVP_10415_1519 (AVP_FL_V): 2792 name = 'Transport-Access-Type' 2793 avpLen = 16 2794 fields_desc = [ 2795 AVP_FL_V, Enumerated('val', None, {0: "BBF", })] 2796 2797 2798class AVP_10415_1610 (AVP_FL_V): 2799 name = 'Current-Location-Retrieved' 2800 avpLen = 16 2801 fields_desc = [ 2802 AVP_FL_V, Enumerated('val', None, {0: "ACTIVE-LOCATION-RETRIEVAL", })] 2803 2804 2805class AVP_10415_1613 (AVP_FL_V): 2806 name = 'SIPTO-Permission' 2807 avpLen = 16 2808 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "SIPTO_ALLOWED", 1: "SIPTO_NOTALLOWED", })] # noqa: E501 2809 2810 2811class AVP_10415_1614 (AVP_FL_V): 2812 name = 'Error-Diagnostic' 2813 avpLen = 16 2814 fields_desc = [ 2815 AVP_FL_V, 2816 Enumerated( 2817 'val', 2818 None, 2819 { 2820 0: "GPRS_DATA_SUBSCRIBED", 2821 1: "NO_GPRS_DATA_SUBSCRIBED", 2822 2: "ODB-ALL-APN", 2823 3: "ODB-HPLMN-APN", 2824 4: "ODB-VPLMN-APN", 2825 })] 2826 2827 2828class AVP_10415_1615 (AVP_FL_V): 2829 name = 'UE-SRVCC-Capability' 2830 avpLen = 16 2831 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "UE-SRVCC-NOT-SUPPORTED", 1: "UE-SRVCC-SUPPORTED", })] # noqa: E501 2832 2833 2834class AVP_10415_1617 (AVP_FL_V): 2835 name = 'VPLMN-LIPA-Allowed' 2836 avpLen = 16 2837 fields_desc = [ 2838 AVP_FL_V, Enumerated('val', None, {0: "LIPA-NOTALLOWED", 1: "LIPA-ALLOWED", })] # noqa: E501 2839 2840 2841class AVP_10415_1618 (AVP_FL_V): 2842 name = 'LIPA-Permission' 2843 avpLen = 16 2844 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "LIPA-PROHIBITED", 1: "LIPA-ONLY", 2: "LIPA-CONDITIONAL", })] # noqa: E501 2845 2846 2847class AVP_10415_1623 (AVP_FL_V): 2848 name = 'Job-Type' 2849 avpLen = 16 2850 fields_desc = [AVP_FL_V, 2851 Enumerated('val', 2852 None, 2853 {0: "Immediate-MDT-only", 2854 1: "Logged-MDT-only", 2855 2: "Trace-only", 2856 3: "Immediate-MDT-and-Trace", 2857 4: "RLF-reports-only", 2858 })] 2859 2860 2861class AVP_10415_1627 (AVP_FL_V): 2862 name = 'Report-Interval' 2863 avpLen = 16 2864 fields_desc = [ 2865 AVP_FL_V, 2866 Enumerated( 2867 'val', 2868 None, 2869 { 2870 0: "UMTS_250_ms", 2871 1: "UMTS_500_ms", 2872 2: "UMTS_1000_ms", 2873 3: "UMTS_2000_ms", 2874 4: "UMTS_3000_ms", 2875 5: "UMTS_4000_ms", 2876 6: "UMTS_6000_ms", 2877 7: "UMTS_8000_ms", 2878 8: "UMTS_12000_ms", 2879 9: "UMTS_16000_ms", 2880 10: "UMTS_20000_ms", 2881 11: "UMTS_24000_ms", 2882 12: "UMTS_28000_ms", 2883 13: "UMTS_32000_ms", 2884 14: "UMTS_64000_ms", 2885 15: "LTE_120_ms", 2886 16: "LTE_240_ms", 2887 17: "LTE_480_ms", 2888 18: "LTE_640_ms", 2889 19: "LTE_1024_ms", 2890 20: "LTE_2048_ms", 2891 21: "LTE_5120_ms", 2892 22: "LTE_10240_ms", 2893 23: "LTE_60000_ms", 2894 24: "LTE_360000_ms", 2895 25: "LTE_720000_ms", 2896 26: "LTE_1800000_ms", 2897 27: "LTE_3600000_ms", 2898 })] 2899 2900 2901class AVP_10415_1628 (AVP_FL_V): 2902 name = 'Report-Amount' 2903 avpLen = 16 2904 fields_desc = [ 2905 AVP_FL_V, Enumerated('val', None, { 2906 0: "1", 1: "2", 2: "4", 3: "8", 4: "16", 5: "32", 6: "64", 7: "infinity", })] # noqa: E501 2907 2908 2909class AVP_10415_1631 (AVP_FL_V): 2910 name = 'Logging-Interval' 2911 avpLen = 16 2912 fields_desc = [ 2913 AVP_FL_V, 2914 Enumerated( 2915 'val', 2916 None, 2917 { 2918 0: "1.28", 2919 1: "2.56", 2920 2: "5.12", 2921 3: "10.24", 2922 4: "20.48", 2923 5: "30.72", 2924 6: "40.96", 2925 7: "61.44", 2926 })] 2927 2928 2929class AVP_10415_1632 (AVP_FL_V): 2930 name = 'Logging-Duration' 2931 avpLen = 16 2932 fields_desc = [ 2933 AVP_FL_V, Enumerated('val', None, { 2934 0: "600_sec", 1: "1200_sec", 2: "2400_sec", 3: "3600_sec", 4: "5400_sec", 5: "7200_sec", })] # noqa: E501 2935 2936 2937class AVP_10415_1633 (AVP_FL_V): 2938 name = 'Relay-Node-Indicator' 2939 avpLen = 16 2940 fields_desc = [ 2941 AVP_FL_V, Enumerated('val', None, {0: "NOT_RELAY_NODE", 1: "RELAY_NODE", })] # noqa: E501 2942 2943 2944class AVP_10415_1634 (AVP_FL_V): 2945 name = 'MDT-User-Consent' 2946 avpLen = 16 2947 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "CONSENT_NOT_GIVEN", 1: "CONSENT_GIVEN", })] # noqa: E501 2948 2949 2950class AVP_10415_1636 (AVP_FL_V): 2951 name = 'Subscribed-VSRVCC' 2952 avpLen = 16 2953 fields_desc = [ 2954 AVP_FL_V, Enumerated('val', None, {0: "VSRVCC_SUBSCRIBED", })] 2955 2956 2957class AVP_10415_1648 (AVP_FL_V): 2958 name = 'SMS-Register-Request' 2959 avpLen = 16 2960 fields_desc = [ 2961 AVP_FL_V, Enumerated('val', None, { 2962 0: "SMS_REGISTRATION_REQUIRED", 1: "SMS_REGISTRATION_NOT_PREFERRED", 2: "NO_PREFERENCE", })] # noqa: E501 2963 2964 2965class AVP_10415_1650 (AVP_FL_V): 2966 name = 'Daylight-Saving-Time' 2967 avpLen = 16 2968 fields_desc = [ 2969 AVP_FL_V, Enumerated('val', None, { 2970 0: "NO_ADJUSTMENT", 1: "PLUS_ONE_HOUR_ADJUSTMENT", 2: "PLUS_TWO_HOURS_ADJUSTMENT", })] # noqa: E501 2971 2972 2973class AVP_10415_2006 (AVP_FL_V): 2974 name = 'Interface-Type' 2975 avpLen = 16 2976 fields_desc = [ 2977 AVP_FL_V, 2978 Enumerated( 2979 'val', 2980 None, 2981 { 2982 0: "Unknown", 2983 1: "MOBILE_ORIGINATING", 2984 2: "MOBILE_TERMINATING", 2985 3: "APPLICATION_ORIGINATING", 2986 4: "APPLICATION_TERMINATION", 2987 })] 2988 2989 2990class AVP_10415_2007 (AVP_FL_V): 2991 name = 'SM-Message-Type' 2992 avpLen = 16 2993 fields_desc = [ 2994 AVP_FL_V, Enumerated('val', None, {0: "SUBMISSION", })] 2995 2996 2997class AVP_10415_2011 (AVP_FL_V): 2998 name = 'Reply-Path-Requested' 2999 avpLen = 16 3000 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "No Reply Path Set", 1: "Reply path Set", })] # noqa: E501 3001 3002 3003class AVP_10415_2016 (AVP_FL_V): 3004 name = 'SMS-Node' 3005 avpLen = 16 3006 fields_desc = [ 3007 AVP_FL_V, Enumerated('val', None, { 3008 0: "SMS Router", 1: "IP-SM-GW", 2: "SMS Router and IP-SM-GW", 3: "SMS-SC", })] # noqa: E501 3009 3010 3011class AVP_10415_2025 (AVP_FL_V): 3012 name = 'PoC-Event-Type' 3013 avpLen = 16 3014 fields_desc = [ 3015 AVP_FL_V, 3016 Enumerated( 3017 'val', 3018 None, 3019 { 3020 0: "Normal;", 3021 1: "Instant Ppersonal Aalert event;", 3022 2: "PoC Group Advertisement event;", 3023 3: "Early Ssession Setting-up event;", 3024 4: "PoC Talk Burst", 3025 })] 3026 3027 3028class AVP_10415_2029 (AVP_FL_V): 3029 name = 'SM-Service-Type' 3030 avpLen = 16 3031 fields_desc = [ 3032 AVP_FL_V, 3033 Enumerated( 3034 'val', 3035 None, 3036 { 3037 0: "VAS4SMS Short Message content processing", 3038 1: "VAS4SMS Short Message forwarding", 3039 2: "VAS4SMS Short Message Forwarding multiple subscriptions ", 3040 3: "VAS4SMS Short Message filtering ", 3041 4: "VAS4SMS Short Message receipt", 3042 5: "VAS4SMS Short Message Network Storage ", 3043 6: "VAS4SMS Short Message to multiple destinations", 3044 7: "VAS4SMS Short Message Virtual Private Network (VPN)", 3045 8: "VAS4SMS Short Message Auto Reply", 3046 9: "VAS4SMS Short Message Personal Signature", 3047 10: "VAS4SMS Short Message Deferred Delivery ", 3048 })] 3049 3050 3051class AVP_10415_2033 (AVP_FL_V): 3052 name = 'Subscriber-Role' 3053 avpLen = 16 3054 fields_desc = [ 3055 AVP_FL_V, Enumerated('val', None, {0: "Originating", 1: "Terminating", })] # noqa: E501 3056 3057 3058class AVP_10415_2036 (AVP_FL_V): 3059 name = 'SDP-Type' 3060 avpLen = 16 3061 fields_desc = [ 3062 AVP_FL_V, Enumerated('val', None, {0: "SDP Offer", 1: "SDP Answer", })] 3063 3064 3065class AVP_10415_2047 (AVP_FL_V): 3066 name = 'Serving-Node-Type' 3067 avpLen = 16 3068 fields_desc = [ 3069 AVP_FL_V, Enumerated('val', None, { 3070 0: "SGSN", 1: "PMIPSGW", 2: "GTPSGW", 3: "ePDG", 4: "hSGW", 5: "MME", 6: "TWAN", })] # noqa: E501 3071 3072 3073class AVP_10415_2049 (AVP_FL_V): 3074 name = 'Participant-Action-Type' 3075 avpLen = 16 3076 fields_desc = [ 3077 AVP_FL_V, Enumerated('val', None, { 3078 0: "CREATE_CONF", 1: "JOIN_CONF", 2: "INVITE_INTO_CONF", 3: "QUIT_CONF", })] # noqa: E501 3079 3080 3081class AVP_10415_2051 (AVP_FL_V): 3082 name = 'Dynamic-Address-Flag' 3083 avpLen = 16 3084 fields_desc = [ 3085 AVP_FL_V, Enumerated('val', None, {0: "Static", 1: "Dynamic", })] 3086 3087 3088class AVP_10415_2065 (AVP_FL_V): 3089 name = 'SGW-Change' 3090 avpLen = 16 3091 fields_desc = [ 3092 AVP_FL_V, Enumerated('val', None, {0: "ACR_Start_NOT_due_to_SGW_Change", })] # noqa: E501 3093 3094 3095class AVP_10415_2066 (AVP_FL_V): 3096 name = 'Charging-Characteristics-Selection-Mode' 3097 avpLen = 16 3098 fields_desc = [ 3099 AVP_FL_V, 3100 Enumerated( 3101 'val', 3102 None, 3103 { 3104 0: "Serving-Node-Supplied", 3105 1: "Subscription-specific", 3106 2: "APN-specific", 3107 3: "Home-Default", 3108 4: "Roaming-Default", 3109 5: "Visiting-Default", 3110 })] 3111 3112 3113class AVP_10415_2068 (AVP_FL_V): 3114 name = 'Dynamic-Address-Flag-Extension' 3115 avpLen = 16 3116 fields_desc = [ 3117 AVP_FL_V, Enumerated('val', None, {0: "Static", 1: "Dynamic", })] 3118 3119 3120class AVP_10415_2118 (AVP_FL_V): 3121 name = 'Charge-Reason-Code' 3122 avpLen = 16 3123 fields_desc = [ 3124 AVP_FL_V, 3125 Enumerated( 3126 'val', 3127 None, 3128 { 3129 0: "UNKNOWN", 3130 1: "USAGE", 3131 2: "COMMUNICATION-ATTEMPT-CHARGE", 3132 3: "SETUP-CHARGE", 3133 4: "ADD-ON-CHARGE", 3134 })] 3135 3136 3137class AVP_10415_2203 (AVP_FL_V): 3138 name = 'Subsession-Operation' 3139 avpLen = 16 3140 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "TERMINATION", 1: "ESTABLISHMENT", 2: "MODIFICATION", })] # noqa: E501 3141 3142 3143class AVP_10415_2204 (AVP_FL_V): 3144 name = 'Multiple-BBERF-Action' 3145 avpLen = 16 3146 fields_desc = [ 3147 AVP_FL_V, Enumerated('val', None, {0: "ESTABLISHMENT", 1: "TERMINATION", })] # noqa: E501 3148 3149 3150class AVP_10415_2206 (AVP_FL_V): 3151 name = 'DRA-Deployment' 3152 avpLen = 16 3153 fields_desc = [ 3154 AVP_FL_V, Enumerated('val', None, {0: "DRA_Deployed", })] 3155 3156 3157class AVP_10415_2208 (AVP_FL_V): 3158 name = 'DRA-Binding' 3159 avpLen = 16 3160 fields_desc = [ 3161 AVP_FL_V, Enumerated('val', None, {0: "DRA_BINDING_DELETION", })] 3162 3163 3164class AVP_10415_2303 (AVP_FL_V): 3165 name = 'Online-Charging-Flag' 3166 avpLen = 16 3167 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "ECF address not provided", 1: "ECF address provided", })] # noqa: E501 3168 3169 3170class AVP_10415_2308 (AVP_FL_V): 3171 name = 'IMSI-Unauthenticated-Flag' 3172 avpLen = 16 3173 fields_desc = [ 3174 AVP_FL_V, Enumerated('val', None, {0: "Authenticated", 1: "Unauthenticated", })] # noqa: E501 3175 3176 3177class AVP_10415_2310 (AVP_FL_V): 3178 name = 'AoC-Format' 3179 avpLen = 16 3180 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "MONETARY", 1: "NON_MONETARY", 2: "CAI", })] # noqa: E501 3181 3182 3183class AVP_10415_2312 (AVP_FL_V): 3184 name = 'AoC-Service-Obligatory-Type' 3185 avpLen = 16 3186 fields_desc = [ 3187 AVP_FL_V, Enumerated('val', None, {0: "NON_BINDING", 1: "BINDING", })] 3188 3189 3190class AVP_10415_2313 (AVP_FL_V): 3191 name = 'AoC-Service-Type' 3192 avpLen = 16 3193 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "NONE", 1: "AOC-S", 2: "AOC-D", 3: "AOC-E", })] # noqa: E501 3194 3195 3196class AVP_10415_2317 (AVP_FL_V): 3197 name = 'CSG-Access-Mode' 3198 avpLen = 16 3199 fields_desc = [ 3200 AVP_FL_V, Enumerated('val', None, {0: "Closed mode", 1: "Hybrid Mode", })] # noqa: E501 3201 3202 3203class AVP_10415_2318 (AVP_FL_V): 3204 name = 'CSG-Membership-Indication' 3205 avpLen = 16 3206 fields_desc = [ 3207 AVP_FL_V, Enumerated('val', None, {0: "Not CSG member", 1: "CSG Member ", })] # noqa: E501 3208 3209 3210class AVP_10415_2322 (AVP_FL_V): 3211 name = 'IMS-Emergency-Indicator' 3212 avpLen = 16 3213 fields_desc = [ 3214 AVP_FL_V, Enumerated('val', None, {0: "Non Emergency", 1: "Emergency", })] # noqa: E501 3215 3216 3217class AVP_10415_2323 (AVP_FL_V): 3218 name = 'MBMS-Charged-Party' 3219 avpLen = 16 3220 fields_desc = [ 3221 AVP_FL_V, Enumerated('val', None, {0: "Content Provider", 1: "Subscriber", })] # noqa: E501 3222 3223 3224class AVP_10415_2500 (AVP_FL_V): 3225 name = 'SLg-Location-Type' 3226 avpLen = 16 3227 fields_desc = [ 3228 AVP_FL_V, 3229 Enumerated( 3230 'val', 3231 None, 3232 { 3233 0: "CURRENT_LOCATION", 3234 1: "CURRENT_OR_LAST_KNOWN_LOCATION", 3235 2: "INITIAL_LOCATION", 3236 3: "ACTIVATE_DEFERRED_LOCATION", 3237 4: "CANCEL_DEFERRED_LOCATION", 3238 5: "NOTIFICATION_VERIFICATION_ONLY", 3239 })] 3240 3241 3242class AVP_10415_2507 (AVP_FL_V): 3243 name = 'Vertical-Requested' 3244 avpLen = 16 3245 fields_desc = [ 3246 AVP_FL_V, Enumerated('val', None, { 3247 0: "VERTICAL_COORDINATE_IS_NOT REQUESTED", 1: "VERTICAL_COORDINATE_IS_REQUESTED", })] # noqa: E501 3248 3249 3250class AVP_10415_2508 (AVP_FL_V): 3251 name = 'Velocity-Requested' 3252 avpLen = 16 3253 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "VELOCITY_IS_NOT_REQUESTED", 1: "BEST VELOCITY_IS_REQUESTED", })] # noqa: E501 3254 3255 3256class AVP_10415_2509 (AVP_FL_V): 3257 name = 'Response-Time' 3258 avpLen = 16 3259 fields_desc = [ 3260 AVP_FL_V, Enumerated('val', None, {0: "LOW_DELAY", 1: "DELAY_TOLERANT", })] # noqa: E501 3261 3262 3263class AVP_10415_2512 (AVP_FL_V): 3264 name = 'LCS-Privacy-Check' 3265 avpLen = 16 3266 fields_desc = [ 3267 AVP_FL_V, 3268 Enumerated( 3269 'val', 3270 None, 3271 { 3272 0: "ALLOWED_WITHOUT_NOTIFICATION", 3273 1: "ALLOWED_WITH_NOTIFICATION", 3274 2: "ALLOWED_IF_NO_RESPONSE", 3275 3: "RESTRICTED_IF_NO_RESPONSE", 3276 4: "NOT_ALLOWED", 3277 })] 3278 3279 3280class AVP_10415_2513 (AVP_FL_V): 3281 name = 'Accuracy-Fulfilment-Indicator' 3282 avpLen = 16 3283 fields_desc = [ 3284 AVP_FL_V, Enumerated('val', None, { 3285 0: "REQUESTED_ACCURACY_FULFILLED", 1: "REQUESTED_ACCURACY_NOT_FULFILLED", })] # noqa: E501 3286 3287 3288class AVP_10415_2518 (AVP_FL_V): 3289 name = 'Location-Event' 3290 avpLen = 16 3291 fields_desc = [ 3292 AVP_FL_V, 3293 Enumerated( 3294 'val', 3295 None, 3296 { 3297 0: "EMERGENCY_CALL_ORIGINATION", 3298 1: "EMERGENCY_CALL_RELEASE", 3299 2: "MO_LR", 3300 3: "EMERGENCY_CALL_HANDOVER", 3301 })] 3302 3303 3304class AVP_10415_2519 (AVP_FL_V): 3305 name = 'Pseudonym-Indicator' 3306 avpLen = 16 3307 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "PSEUDONYM_NOT_REQUESTED", 1: "PSEUDONYM_REQUESTED", })] # noqa: E501 3308 3309 3310class AVP_10415_2523 (AVP_FL_V): 3311 name = 'LCS-QoS-Class' 3312 avpLen = 16 3313 fields_desc = [ 3314 AVP_FL_V, Enumerated('val', None, {0: "ASSURED", 1: "BEST EFFORT", })] 3315 3316 3317class AVP_10415_2538 (AVP_FL_V): 3318 name = 'Occurrence-Info' 3319 avpLen = 16 3320 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "ONE_TIME_EVENT", 1: "MULTIPLE_TIME_EVENT", })] # noqa: E501 3321 3322 3323class AVP_10415_2550 (AVP_FL_V): 3324 name = 'Periodic-Location-Support-Indicator' 3325 avpLen = 16 3326 fields_desc = [ 3327 AVP_FL_V, Enumerated('val', None, {0: "NOT_SUPPORTED", 1: "SUPPORTED", })] # noqa: E501 3328 3329 3330class AVP_10415_2551 (AVP_FL_V): 3331 name = 'Prioritized-List-Indicator' 3332 avpLen = 16 3333 fields_desc = [ 3334 AVP_FL_V, Enumerated('val', None, {0: "NOT_PRIORITIZED", 1: "PRIORITIZED", })] # noqa: E501 3335 3336 3337class AVP_10415_2602 (AVP_FL_V): 3338 name = 'Low-Priority-Indicator' 3339 avpLen = 16 3340 fields_desc = [ 3341 AVP_FL_V, Enumerated('val', None, {0: "NO", })] 3342 3343 3344class AVP_10415_2604 (AVP_FL_V): 3345 name = 'Local-GW-Inserted-Indication' 3346 avpLen = 16 3347 fields_desc = [ 3348 AVP_FL_V, Enumerated('val', None, { 3349 0: "Local GW Not Inserted", 1: "Local GW Inserted", })] 3350 3351 3352class AVP_10415_2605 (AVP_FL_V): 3353 name = 'Transcoder-Inserted-Indication' 3354 avpLen = 16 3355 fields_desc = [ 3356 AVP_FL_V, Enumerated('val', None, { 3357 0: "Transcoder Not Inserted", 1: "Transcoder Inserted", })] 3358 3359 3360class AVP_10415_2702 (AVP_FL_V): 3361 name = 'AS-Code' 3362 avpLen = 16 3363 fields_desc = [ 3364 AVP_FL_V, Enumerated('val', None, { 3365 0: "4xx;", 1: "5xx;", 2: "Timeout", })] 3366 3367 3368class AVP_10415_2704 (AVP_FL_V): 3369 name = 'NNI-Type' 3370 avpLen = 16 3371 fields_desc = [ 3372 AVP_FL_V, Enumerated('val', None, { 3373 0: "non-roaming", 1: "roaming without loopback", 2: "roaming with loopback", })] # noqa: E501 3374 3375 3376class AVP_10415_2706 (AVP_FL_V): 3377 name = 'Relationship-Mode' 3378 avpLen = 16 3379 fields_desc = [ 3380 AVP_FL_V, Enumerated('val', None, {0: "trusted", 1: "non-trusted", })] 3381 3382 3383class AVP_10415_2707 (AVP_FL_V): 3384 name = 'Session-Direction' 3385 avpLen = 16 3386 fields_desc = [ 3387 AVP_FL_V, Enumerated('val', None, {0: "inbound", })] 3388 3389 3390class AVP_10415_2710 (AVP_FL_V): 3391 name = 'Access-Transfer-Type' 3392 avpLen = 16 3393 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "PS to CS Transfer", 1: "CS to PS Transfer", })] # noqa: E501 3394 3395 3396class AVP_10415_2717 (AVP_FL_V): 3397 name = 'TAD-Identifier' 3398 avpLen = 16 3399 fields_desc = [ 3400 AVP_FL_V, Enumerated('val', None, {0: "CS", 1: "PS", })] 3401 3402 3403class AVP_10415_2809 (AVP_FL_V): 3404 name = 'Mute-Notification' 3405 avpLen = 16 3406 fields_desc = [ 3407 AVP_FL_V, Enumerated('val', None, {0: "MUTE_REQUIRED", })] 3408 3409 3410class AVP_10415_2811 (AVP_FL_V): 3411 name = 'AN-GW-Status' 3412 avpLen = 16 3413 fields_desc = [ 3414 AVP_FL_V, Enumerated('val', None, {0: "AN_GW_FAILED", })] 3415 3416 3417class AVP_10415_2904 (AVP_FL_V): 3418 name = 'SL-Request-Type' 3419 avpLen = 16 3420 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "INITIAL_REQUEST", 1: "INTERMEDIATE_REQUEST", })] # noqa: E501 3421 3422 3423class AVP_10415_3407 (AVP_FL_V): 3424 name = 'SM-Device-Trigger-Indicator' 3425 avpLen = 16 3426 fields_desc = [ 3427 AVP_FL_V, Enumerated('val', None, {0: "Not DeviceTrigger ", 1: "Device Trigger", })] # noqa: E501 3428 3429 3430class AVP_10415_3415 (AVP_FL_V): 3431 name = 'Forwarding-Pending' 3432 avpLen = 16 3433 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Forwarding not pending", 1: "Forwarding pending", })] # noqa: E501 3434 3435 3436class AVP_10415_3421 (AVP_FL_V): 3437 name = 'CN-Operator-Selection-Entity' 3438 avpLen = 16 3439 fields_desc = [ 3440 AVP_FL_V, 3441 Enumerated( 3442 'val', 3443 None, 3444 { 3445 0: "The Serving Network has been selected by the UE", 3446 1: "The Serving Network has been selected by the network", 3447 })] 3448 3449 3450class AVP_10415_3428 (AVP_FL_V): 3451 name = 'Coverage-Status' 3452 avpLen = 16 3453 fields_desc = [ 3454 AVP_FL_V, Enumerated('val', None, {0: "Out of coverage", 1: "In coverage", })] # noqa: E501 3455 3456 3457class AVP_10415_3438 (AVP_FL_V): 3458 name = 'Role-Of-ProSe-Function' 3459 avpLen = 16 3460 fields_desc = [ 3461 AVP_FL_V, Enumerated('val', None, {0: "HPLMN", 1: "VPLMN", })] 3462 3463 3464class AVP_10415_3442 (AVP_FL_V): 3465 name = 'ProSe-Direct-Discovery-Model' 3466 avpLen = 16 3467 fields_desc = [ 3468 AVP_FL_V, Enumerated('val', None, {0: "Model A", 1: "Model B", })] 3469 3470 3471class AVP_10415_3443 (AVP_FL_V): 3472 name = 'ProSe-Event-Type' 3473 avpLen = 16 3474 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Announcing", 1: "Monitoring", 2: "Match Report", })] # noqa: E501 3475 3476 3477class AVP_10415_3445 (AVP_FL_V): 3478 name = 'ProSe-Functionality' 3479 avpLen = 16 3480 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Direct discovery", 1: "EPC-level discovery", })] # noqa: E501 3481 3482 3483class AVP_10415_3448 (AVP_FL_V): 3484 name = 'ProSe-Range-Class' 3485 avpLen = 16 3486 fields_desc = [ 3487 AVP_FL_V, Enumerated('val', None, { 3488 0: "Reserved", 1: "50 m", 2: "100 m", 3: "200 m", 4: "500 m", 5: "1000 m", })] # noqa: E501 3489 3490 3491class AVP_10415_3449 (AVP_FL_V): 3492 name = 'ProSe-Reason-For-Cancellation' 3493 avpLen = 16 3494 fields_desc = [ 3495 AVP_FL_V, Enumerated('val', None, { 3496 0: "Proximity Alert sent", 1: "Time expired with no renewal", })] 3497 3498 3499class AVP_10415_3451 (AVP_FL_V): 3500 name = 'ProSe-Role-Of-UE' 3501 avpLen = 16 3502 fields_desc = [AVP_FL_V, Enumerated('val', None, {0: "Announcing UE", 1: "Monitoring UE", 2: "Requestor UE", })] # noqa: E501 3503 3504 3505class AVP_10415_3454 (AVP_FL_V): 3506 name = 'Proximity-Alert-Indication' 3507 avpLen = 16 3508 fields_desc = [ 3509 AVP_FL_V, Enumerated('val', None, {0: "Alert", 1: "No Alert", })] 3510 3511 3512# Remaining AVPs (which do not need to be declared as classes) 3513############################################################## 3514 3515# In AvpDefDict dictionary, the first level key is the 'AVP vendor' and the second level key is the 'AVP code' # noqa: E501 3516# Each tuple then defines the AVP name, the Scapy class and the default flags 3517AvpDefDict = { 3518 0: { 3519 1: ('User-Name', AVPNV_StrLenField, 64), 3520 2: ('User-Password', AVPNV_OctetString, 64), 3521 5: ('NAS-Port', AVPNV_Unsigned32, 64), 3522 6: ('Service-Type', AVP_0_6, 64), 3523 7: ('Framed-Protocol', AVP_0_7, 64), 3524 9: ('Framed-IP-Netmask', AVPNV_OctetString, 64), 3525 10: ('Framed-Routing', AVP_0_10, 64), 3526 11: ('Filter-Id', AVPNV_StrLenField, 64), 3527 12: ('Framed-MTU', AVPNV_Unsigned32, 64), 3528 13: ('Framed-Compression', AVP_0_13, 64), 3529 15: ('Login-Service', AVP_0_15, 64), 3530 16: ('Login-TCP-Port', AVPNV_Unsigned32, 64), 3531 18: ('Reply-Message', AVPNV_StrLenField, 64), 3532 19: ('Callback-Number', AVPNV_StrLenField, 64), 3533 20: ('Callback-Id', AVPNV_StrLenField, 64), 3534 22: ('Framed-Route', AVPNV_StrLenField, 64), 3535 23: ('Framed-IPX-Network', AVPNV_Unsigned32, 64), 3536 25: ('Class', AVPNV_OctetString, 64), 3537 27: ('Session-Timeout', AVPNV_Unsigned32, 64), 3538 28: ('Idle-Timeout', AVPNV_Unsigned32, 64), 3539 30: ('Called-Station-Id', AVPNV_StrLenField, 64), 3540 31: ('Calling-Station-Id', AVPNV_StrLenField, 64), 3541 33: ('Proxy-State', AVPNV_OctetString, 64), 3542 34: ('Login-LAT-Service', AVPNV_OctetString, 64), 3543 35: ('Login-LAT-Node', AVPNV_OctetString, 64), 3544 36: ('Login-LAT-Group', AVPNV_OctetString, 64), 3545 37: ('Framed-Appletalk-Link', AVPNV_Unsigned32, 64), 3546 38: ('Framed-Appletalk-Network', AVPNV_Unsigned32, 64), 3547 39: ('Framed-Appletalk-Zone', AVPNV_OctetString, 64), 3548 41: ('Acct-Delay-Time', AVPNV_Unsigned32, 64), 3549 44: ('Acct-Session-Id', AVPNV_OctetString, 64), 3550 45: ('Acct-Authentic', AVP_0_45, 64), 3551 46: ('Acct-Session-Time', AVPNV_Unsigned32, 64), 3552 50: ('Acct-Multi-Session-Id', AVPNV_StrLenField, 64), 3553 51: ('Acct-Link-Count', AVPNV_Unsigned32, 64), 3554 55: ('Event-Timestamp', AVPNV_Time, 64), 3555 60: ('CHAP-Challenge', AVPNV_OctetString, 64), 3556 61: ('NAS-Port-Type', AVP_0_61, 64), 3557 62: ('Port-Limit', AVPNV_Unsigned32, 64), 3558 63: ('Login-LAT-Port', AVPNV_OctetString, 64), 3559 64: ('Tunnel-Type', AVP_0_64, 64), 3560 65: ('Tunnel-Medium-Type', AVP_0_65, 64), 3561 66: ('Tunnel-Client-Endpoint', AVPNV_StrLenField, 64), 3562 67: ('Tunnel-Server-Endpoint', AVPNV_StrLenField, 64), 3563 68: ('Acct-Tunnel-Connection', AVPNV_OctetString, 64), 3564 69: ('Tunnel-Password', AVPNV_OctetString, 64), 3565 70: ('ARAP-Password', AVPNV_OctetString, 64), 3566 71: ('ARAP-Features', AVPNV_OctetString, 64), 3567 72: ('ARAP-Zone-Access', AVP_0_72, 64), 3568 73: ('ARAP-Security', AVPNV_Unsigned32, 64), 3569 74: ('ARAP-Security-Data', AVPNV_OctetString, 64), 3570 75: ('Password-Retry', AVPNV_Unsigned32, 64), 3571 76: ('Prompt', AVP_0_76, 64), 3572 77: ('Connect-Info', AVPNV_StrLenField, 64), 3573 78: ('Configuration-Token', AVPNV_OctetString, 64), 3574 81: ('Tunnel-Private-Group-Id', AVPNV_OctetString, 64), 3575 82: ('Tunnel-Assignment-Id', AVPNV_OctetString, 64), 3576 83: ('Tunnel-Preference', AVPNV_Unsigned32, 64), 3577 84: ('ARAP-Challenge-Response', AVPNV_OctetString, 64), 3578 85: ('Acct-Interim-Interval', AVPNV_Unsigned32, 64), 3579 86: ('Acct-Tunnel-Packets-Lost', AVPNV_Unsigned32, 64), 3580 87: ('NAS-Port-Id', AVPNV_StrLenField, 64), 3581 88: ('Framed-Pool', AVPNV_OctetString, 64), 3582 89: ('Chargeable-User-Identity', AVPNV_OctetString, 64), 3583 90: ('Tunnel-Client-Auth-Id', AVPNV_StrLenField, 64), 3584 91: ('Tunnel-Server-Auth-Id', AVPNV_StrLenField, 64), 3585 94: ('Originating-Line-Info', AVPNV_OctetString, 64), 3586 96: ('Framed-Interface-Id', AVPNV_Unsigned64, 64), 3587 97: ('Framed-IPv6-Prefix', AVPNV_OctetString, 64), 3588 99: ('Framed-IPv6-Route', AVPNV_StrLenField, 64), 3589 100: ('Framed-IPv6-Pool', AVPNV_OctetString, 64), 3590 102: ('EAP-Key-Name', AVPNV_OctetString, 64), 3591 104: ('Digest-Realm', AVPNV_StrLenField, 64), 3592 110: ('Digest-Qop', AVPNV_StrLenField, 64), 3593 111: ('Digest-Algorithm', AVPNV_StrLenField, 64), 3594 121: ('Digest-HA1', AVPNV_OctetString, 64), 3595 124: ('MIP6-Feature-Vector', AVPNV_Unsigned64, 64), 3596 125: ('MIP6-Home-Link-Prefix', AVPNV_OctetString, 64), 3597 257: ('Host-IP-Address', AVPNV_Address, 64), 3598 258: ('Auth-Application-Id', AVP_0_258, 64), 3599 259: ('Acct-Application-Id', AVPNV_Unsigned32, 64), 3600 260: ('Vendor-Specific-Application-Id', AVPNV_Grouped, 64), 3601 261: ('Redirect-Host-Usage', AVP_0_261, 64), 3602 262: ('Redirect-Max-Cache-Time', AVPNV_Unsigned32, 64), 3603 263: ('Session-Id', AVPNV_StrLenField, 64), 3604 264: ('Origin-Host', AVPNV_StrLenField, 64), 3605 265: ('Supported-Vendor-Id', AVPNV_Unsigned32, 64), 3606 266: ('Vendor-Id', AVP_0_266, 64), 3607 267: ('Firmware-Revision', AVPNV_Unsigned32, 0), 3608 268: ('Result-Code', AVP_0_268, 64), 3609 269: ('Product-Name', AVPNV_StrLenField, 0), 3610 270: ('Session-Binding', AVPNV_Unsigned32, 64), 3611 271: ('Session-Server-Failover', AVP_0_271, 64), 3612 272: ('Multi-Round-Time-Out', AVPNV_Unsigned32, 64), 3613 273: ('Disconnect-Cause', AVP_0_273, 64), 3614 274: ('Auth-Request-Type', AVP_0_274, 64), 3615 276: ('Auth-Grace-Period', AVPNV_Unsigned32, 64), 3616 277: ('Auth-Session-State', AVP_0_277, 64), 3617 278: ('Origin-State-Id', AVPNV_Unsigned32, 64), 3618 279: ('Failed-AVP', AVPNV_Grouped, 64), 3619 280: ('Proxy-Host', AVPNV_StrLenField, 64), 3620 281: ('Error-Message', AVPNV_StrLenField, 0), 3621 282: ('Route-Record', AVPNV_StrLenField, 64), 3622 283: ('Destination-Realm', AVPNV_StrLenField, 64), 3623 284: ('Proxy-Info', AVPNV_Grouped, 64), 3624 285: ('Re-Auth-Request-Type', AVP_0_285, 64), 3625 287: ('Accounting-Sub-Session-Id', AVPNV_Unsigned64, 64), 3626 291: ('Authorization-Lifetime', AVPNV_Unsigned32, 64), 3627 292: ('Redirect-Host', AVPNV_StrLenField, 64), 3628 293: ('Destination-Host', AVPNV_StrLenField, 64), 3629 294: ('Error-Reporting-Host', AVPNV_StrLenField, 0), 3630 295: ('Termination-Cause', AVP_0_295, 64), 3631 296: ('Origin-Realm', AVPNV_StrLenField, 64), 3632 297: ('Experimental-Result', AVPNV_Grouped, 64), 3633 298: ('Experimental-Result-Code', AVP_0_298, 64), 3634 299: ('Inband-Security-Id', AVPNV_Unsigned32, 64), 3635 318: ('MIP-FA-to-HA-SPI', AVPNV_Unsigned32, 64), 3636 319: ('MIP-FA-to-MN-SPI', AVPNV_Unsigned32, 64), 3637 320: ('MIP-Reg-Request', AVPNV_OctetString, 64), 3638 321: ('MIP-Reg-Reply', AVPNV_OctetString, 64), 3639 322: ('MIP-MN-AAA-Auth', AVPNV_Grouped, 64), 3640 323: ('MIP-HA-to-FA-SPI', AVPNV_Unsigned32, 64), 3641 325: ('MIP-MN-to-FA-MSA', AVPNV_Grouped, 64), 3642 326: ('MIP-FA-to-MN-MSA', AVPNV_Grouped, 64), 3643 328: ('MIP-FA-to-HA-MSA', AVPNV_Grouped, 64), 3644 329: ('MIP-HA-to-FA-MSA', AVPNV_Grouped, 64), 3645 331: ('MIP-MN-to-HA-MSA', AVPNV_Grouped, 64), 3646 332: ('MIP-HA-to-MN-MSA', AVPNV_Grouped, 64), 3647 333: ('MIP-Mobile-Node-Address', AVPNV_Address, 64), 3648 334: ('MIP-Home-Agent-Address', AVPNV_Address, 64), 3649 335: ('MIP-Nonce', AVPNV_OctetString, 64), 3650 336: ('MIP-Candidate-Home-Agent-Host', AVPNV_StrLenField, 64), 3651 337: ('MIP-Feature-Vector', AVPNV_Unsigned32, 64), 3652 338: ('MIP-Auth-Input-Data-Length', AVPNV_Unsigned32, 64), 3653 339: ('MIP-Authenticator-Length', AVPNV_Unsigned32, 64), 3654 340: ('MIP-Authenticator-Offset', AVPNV_Unsigned32, 64), 3655 341: ('MIP-MN-AAA-SPI', AVPNV_Unsigned32, 64), 3656 342: ('MIP-Filter-Rule', AVPNV_IPFilterRule, 64), 3657 343: ('MIP-Session-Key', AVPNV_OctetString, 64), 3658 344: ('MIP-FA-Challenge', AVPNV_OctetString, 64), 3659 345: ('MIP-Algorithm-Type', AVP_0_345, 64), 3660 346: ('MIP-Replay-Mode', AVP_0_346, 64), 3661 347: ('MIP-Originating-Foreign-AAA', AVPNV_Grouped, 64), 3662 348: ('MIP-Home-Agent-Host', AVPNV_StrLenField, 64), 3663 363: ('Accounting-Input-Octets', AVPNV_Unsigned64, 64), 3664 364: ('Accounting-Output-Octets', AVPNV_Unsigned64, 64), 3665 365: ('Accounting-Input-Packets', AVPNV_Unsigned64, 64), 3666 366: ('Accounting-Output-Packets', AVPNV_Unsigned64, 64), 3667 367: ('MIP-MSA-Lifetime', AVPNV_Unsigned32, 64), 3668 368: ('SIP-Accounting-Information', AVPNV_Grouped, 64), 3669 369: ('SIP-Accounting-Server-URI', AVPNV_StrLenField, 64), 3670 370: ('SIP-Credit-Control-Server-URI', AVPNV_StrLenField, 64), 3671 371: ('SIP-Server-URI', AVPNV_StrLenField, 64), 3672 372: ('SIP-Server-Capabilities', AVPNV_Grouped, 64), 3673 373: ('SIP-Mandatory-Capability', AVPNV_Unsigned32, 64), 3674 374: ('SIP-Optional-Capability', AVPNV_Unsigned32, 64), 3675 375: ('SIP-Server-Assignment-Type', AVP_0_375, 64), 3676 376: ('SIP-Auth-Data-Item', AVPNV_Grouped, 64), 3677 377: ('SIP-Authentication-Scheme', AVP_0_377, 64), 3678 378: ('SIP-Item-Number', AVPNV_Unsigned32, 64), 3679 379: ('SIP-Authenticate', AVPNV_Grouped, 64), 3680 380: ('SIP-Authorization', AVPNV_Grouped, 64), 3681 381: ('SIP-Authentication-Info', AVPNV_Grouped, 64), 3682 382: ('SIP-Number-Auth-Items', AVPNV_Unsigned32, 64), 3683 383: ('SIP-Deregistration-Reason', AVPNV_Grouped, 64), 3684 384: ('SIP-Reason-Code', AVP_0_384, 64), 3685 385: ('SIP-Reason-Info', AVPNV_StrLenField, 64), 3686 386: ('SIP-Visited-Network-Id', AVPNV_StrLenField, 64), 3687 387: ('SIP-User-Authorization-Type', AVP_0_387, 64), 3688 388: ('SIP-Supported-User-Data-Type', AVPNV_StrLenField, 64), 3689 389: ('SIP-User-Data', AVPNV_Grouped, 64), 3690 390: ('SIP-User-Data-Type', AVPNV_StrLenField, 64), 3691 391: ('SIP-User-Data-Contents', AVPNV_OctetString, 64), 3692 392: ('SIP-User-Data-Already-Available', AVP_0_392, 64), 3693 393: ('SIP-Method', AVPNV_StrLenField, 64), 3694 400: ('NAS-Filter-Rule', AVPNV_IPFilterRule, 64), 3695 401: ('Tunneling', AVPNV_Grouped, 64), 3696 402: ('CHAP-Auth', AVPNV_Grouped, 64), 3697 403: ('CHAP-Algorithm', AVP_0_403, 64), 3698 404: ('CHAP-Ident', AVPNV_OctetString, 64), 3699 405: ('CHAP-Response', AVPNV_OctetString, 64), 3700 406: ('Accounting-Auth-Method', AVP_0_406, 64), 3701 407: ('QoS-Filter-Rule', AVPNV_QoSFilterRule, 64), 3702 411: ('CC-Correlation-Id', AVPNV_OctetString, 0), 3703 412: ('CC-Input-Octets', AVPNV_Unsigned64, 64), 3704 413: ('CC-Money', AVPNV_Grouped, 64), 3705 414: ('CC-Output-Octets', AVPNV_Unsigned64, 64), 3706 415: ('CC-Request-Number', AVPNV_Unsigned32, 64), 3707 416: ('CC-Request-Type', AVP_0_416, 64), 3708 417: ('CC-Service-Specific-Units', AVPNV_Unsigned64, 64), 3709 418: ('CC-Session-Failover', AVP_0_418, 64), 3710 419: ('CC-Sub-Session-Id', AVPNV_Unsigned64, 64), 3711 420: ('CC-Time', AVPNV_Unsigned32, 64), 3712 421: ('CC-Total-Octets', AVPNV_Unsigned64, 64), 3713 422: ('Check-Balance-Result', AVP_0_422, 64), 3714 423: ('Cost-Information', AVPNV_Grouped, 64), 3715 424: ('Cost-Unit', AVPNV_StrLenField, 64), 3716 425: ('Currency-Code', AVPNV_Unsigned32, 64), 3717 426: ('Credit-Control', AVP_0_426, 64), 3718 427: ('Credit-Control-Failure-Handling', AVP_0_427, 64), 3719 428: ('Direct-Debiting-Failure-Handling', AVP_0_428, 64), 3720 429: ('Exponent', AVPNV_Integer32, 64), 3721 430: ('Final-Unit-Indication', AVPNV_Grouped, 64), 3722 431: ('Granted-Service-Unit', AVPNV_Grouped, 64), 3723 432: ('Rating-Group', AVPNV_Unsigned32, 64), 3724 433: ('Redirect-Address-Type', AVP_0_433, 64), 3725 434: ('Redirect-Server', AVPNV_Grouped, 64), 3726 435: ('Redirect-Server-Address', AVPNV_StrLenField, 64), 3727 436: ('Requested-Action', AVP_0_436, 64), 3728 437: ('Requested-Service-Unit', AVPNV_Grouped, 64), 3729 438: ('Restriction-Filter-Rule', AVPNV_IPFilterRule, 64), 3730 439: ('Service-Identifier', AVPNV_Unsigned32, 64), 3731 440: ('Service-Parameter-Info', AVPNV_Grouped, 0), 3732 441: ('Service-Parameter-Type', AVPNV_Unsigned32, 0), 3733 442: ('Service-Parameter-Value', AVPNV_OctetString, 0), 3734 443: ('Subscription-Id', AVPNV_Grouped, 64), 3735 444: ('Subscription-Id-Data', AVPNV_StrLenField, 64), 3736 445: ('Unit-Value', AVPNV_Grouped, 64), 3737 446: ('Used-Service-Unit', AVPNV_Grouped, 64), 3738 447: ('Value-Digits', AVPNV_Integer64, 64), 3739 448: ('Validity-Time', AVPNV_Unsigned32, 64), 3740 449: ('Final-Unit-Action', AVP_0_449, 64), 3741 450: ('Subscription-Id-Type', AVP_0_450, 64), 3742 451: ('Tariff-Time-Change', AVPNV_Time, 64), 3743 452: ('Tariff-Change-Usage', AVP_0_452, 64), 3744 453: ('G-S-U-Pool-Identifier', AVPNV_Unsigned32, 64), 3745 454: ('CC-Unit-Type', AVP_0_454, 64), 3746 455: ('Multiple-Services-Indicator', AVP_0_455, 64), 3747 456: ('Multiple-Services-Credit-Control', AVPNV_Grouped, 64), 3748 457: ('G-S-U-Pool-Reference', AVPNV_Grouped, 64), 3749 458: ('User-Equipment-Info', AVPNV_Grouped, 0), 3750 459: ('User-Equipment-Info-Type', AVP_0_459, 0), 3751 460: ('User-Equipment-Info-Value', AVPNV_OctetString, 0), 3752 461: ('Service-Context-Id', AVPNV_StrLenField, 64), 3753 462: ('EAP-Payload', AVPNV_OctetString, 64), 3754 463: ('EAP-Reissued-Payload', AVPNV_OctetString, 64), 3755 464: ('EAP-Master-Session-Key', AVPNV_OctetString, 64), 3756 465: ('Accounting-EAP-Auth-Method', AVPNV_Unsigned64, 64), 3757 480: ('Accounting-Record-Type', AVP_0_480, 64), 3758 483: ('Accounting-Realtime-Required', AVP_0_483, 64), 3759 485: ('Accounting-Record-Number', AVPNV_Unsigned32, 64), 3760 486: ('MIP6-Agent-Info', AVPNV_Grouped, 64), 3761 487: ('MIP-Careof-Address', AVPNV_Address, 64), 3762 488: ('MIP-Authenticator', AVPNV_OctetString, 64), 3763 489: ('MIP-MAC-Mobility-Data', AVPNV_OctetString, 64), 3764 490: ('MIP-Timestamp', AVPNV_OctetString, 64), 3765 491: ('MIP-MN-HA-SPI', AVPNV_Unsigned32, 64), 3766 492: ('MIP-MN-HA-MSA', AVPNV_Grouped, 64), 3767 493: ('Service-Selection', AVPNV_StrLenField, 64), 3768 494: ('MIP6-Auth-Mode', AVP_0_494, 64), 3769 506: ('Mobile-Node-Identifier', AVPNV_StrLenField, 64), 3770 508: ('QoS-Resources', AVPNV_Grouped, 64), 3771 509: ('Filter-Rule', AVPNV_Grouped, 64), 3772 510: ('Filter-Rule-Precedence', AVPNV_Unsigned32, 64), 3773 511: ('Classifier', AVPNV_Grouped, 64), 3774 512: ('Classifier-ID', AVPNV_OctetString, 64), 3775 513: ('Protocol', AVP_0_513, 64), 3776 514: ('Direction', AVP_0_514, 64), 3777 515: ('From-Spec', AVPNV_Grouped, 64), 3778 516: ('To-Spec', AVPNV_Grouped, 64), 3779 517: ('Negated', AVP_0_517, 64), 3780 518: ('IP-Address', AVPNV_Address, 64), 3781 519: ('IP-Address-Range', AVPNV_Grouped, 64), 3782 520: ('IP-Address-Start', AVPNV_Address, 64), 3783 521: ('IP-Address-End', AVPNV_Address, 64), 3784 522: ('IP-Address-Mask', AVPNV_Grouped, 64), 3785 523: ('IP-Mask-Bit-Mask-Width', AVPNV_Unsigned32, 64), 3786 524: ('MAC-Address', AVPNV_OctetString, 64), 3787 525: ('MAC-Address-Mask', AVPNV_Grouped, 64), 3788 526: ('MAC-Address-Mask-Pattern', AVPNV_OctetString, 64), 3789 527: ('EUI64-Address', AVPNV_OctetString, 64), 3790 528: ('EUI64-Address-Mask', AVPNV_Grouped, 64), 3791 529: ('EUI64-Address-Mask-Pattern', AVPNV_OctetString, 64), 3792 530: ('Port', AVPNV_Integer32, 64), 3793 531: ('Port-Range', AVPNV_Grouped, 64), 3794 532: ('Port-Start', AVPNV_Integer32, 64), 3795 533: ('Port-End', AVPNV_Integer32, 64), 3796 534: ('Use-Assigned-Address', AVP_0_534, 64), 3797 535: ('Diffserv-Code-Point', AVP_0_535, 64), 3798 536: ('Fragmentation-Flag', AVP_0_536, 64), 3799 537: ('IP-Option', AVPNV_Grouped, 64), 3800 538: ('IP-Option-Type', AVP_0_538, 64), 3801 539: ('IP-Option-Value', AVPNV_OctetString, 64), 3802 540: ('TCP-Option', AVPNV_Grouped, 64), 3803 541: ('TCP-Option-Type', AVP_0_541, 64), 3804 542: ('TCP-Option-Value', AVPNV_OctetString, 64), 3805 543: ('TCP-Flags', AVPNV_Grouped, 64), 3806 544: ('TCP-Flag-Type', AVPNV_Unsigned32, 64), 3807 545: ('ICMP-Type', AVPNV_Grouped, 64), 3808 546: ('ICMP-Type-Number', AVP_0_546, 64), 3809 547: ('ICMP-Code', AVP_0_547, 64), 3810 548: ('ETH-Option', AVPNV_Grouped, 64), 3811 549: ('ETH-Proto-Type', AVPNV_Grouped, 64), 3812 550: ('ETH-Ether-Type', AVPNV_OctetString, 64), 3813 551: ('ETH-SAP', AVPNV_OctetString, 64), 3814 552: ('VLAN-ID-Range', AVPNV_Grouped, 64), 3815 553: ('S-VID-Start', AVPNV_Unsigned32, 64), 3816 554: ('S-VID-End', AVPNV_Unsigned32, 64), 3817 555: ('C-VID-Start', AVPNV_Unsigned32, 64), 3818 556: ('C-VID-End', AVPNV_Unsigned32, 64), 3819 557: ('User-Priority-Range', AVPNV_Grouped, 64), 3820 558: ('Low-User-Priority', AVPNV_Unsigned32, 64), 3821 559: ('High-User-Priority', AVPNV_Unsigned32, 64), 3822 560: ('Time-Of-Day-Condition', AVPNV_Grouped, 64), 3823 561: ('Time-Of-Day-Start', AVPNV_Unsigned32, 64), 3824 562: ('Time-Of-Day-End', AVPNV_Unsigned32, 64), 3825 563: ('Day-Of-Week-Mask', AVPNV_Unsigned32, 64), 3826 564: ('Day-Of-Month-Mask', AVPNV_Unsigned32, 64), 3827 565: ('Month-Of-Year-Mask', AVPNV_Unsigned32, 64), 3828 566: ('Absolute-Start-Time', AVPNV_Time, 64), 3829 567: ('Absolute-Start-Fractional-Seconds', AVPNV_Unsigned32, 64), 3830 568: ('Absolute-End-Time', AVPNV_Time, 64), 3831 569: ('Absolute-End-Fractional-Seconds', AVPNV_Unsigned32, 64), 3832 570: ('Timezone-Flag', AVP_0_570, 64), 3833 571: ('Timezone-Offset', AVPNV_Integer32, 64), 3834 572: ('Treatment-Action', AVPNV_Grouped, 64), 3835 573: ('QoS-Profile-Id', AVPNV_Unsigned32, 64), 3836 574: ('QoS-Profile-Template', AVPNV_Grouped, 64), 3837 575: ('QoS-Semantics', AVP_0_575, 64), 3838 576: ('QoS-Parameters', AVPNV_Grouped, 64), 3839 577: ('Excess-Treatment', AVPNV_Grouped, 64), 3840 578: ('QoS-Capability', AVPNV_Grouped, 64), 3841 618: ('ERP-RK-Request', AVPNV_Grouped, 64), 3842 619: ('ERP-Realm', AVPNV_StrLenField, 64), 3843 }, 3844 10415: { 3845 13: ('3GPP-Charging-Characteristics', AVPV_StrLenField, 192), 3846 318: ('3GPP-AAA-Server-Name', AVPV_StrLenField, 192), 3847 500: ('Abort-Cause', AVP_10415_500, 192), 3848 501: ('Access-Network-Charging-Address', AVPV_Address, 192), 3849 502: ('Access-Network-Charging-Identifier', AVPV_Grouped, 192), 3850 503: ('Access-Network-Charging-Identifier-Value', AVPV_OctetString, 192), # noqa: E501 3851 504: ('AF-Application-Identifier', AVPV_OctetString, 192), 3852 505: ('AF-Charging-Identifier', AVPV_OctetString, 192), 3853 506: ('Authorization-Token', AVPV_OctetString, 192), 3854 507: ('Flow-Description', AVPV_IPFilterRule, 192), 3855 508: ('Flow-Grouping', AVPV_Grouped, 192), 3856 509: ('Flow-Number', AVPV_Unsigned32, 192), 3857 510: ('Flows', AVPV_Grouped, 192), 3858 511: ('Flow-Status', AVP_10415_511, 192), 3859 512: ('Flow-Usage', AVP_10415_512, 192), 3860 513: ('Specific-Action', AVP_10415_513, 192), 3861 515: ('Max-Requested-Bandwidth-DL', AVPV_Unsigned32, 192), 3862 516: ('Max-Requested-Bandwidth-UL', AVPV_Unsigned32, 192), 3863 517: ('Media-Component-Description', AVPV_Grouped, 192), 3864 518: ('Media-Component-Number', AVPV_Unsigned32, 192), 3865 519: ('Media-Sub-Component', AVPV_Grouped, 192), 3866 520: ('Media-Type', AVP_10415_520, 192), 3867 521: ('RR-Bandwidth', AVPV_Unsigned32, 192), 3868 522: ('RS-Bandwidth', AVPV_Unsigned32, 192), 3869 523: ('SIP-Forking-Indication', AVP_10415_523, 192), 3870 525: ('Service-URN', AVPV_OctetString, 192), 3871 526: ('Acceptable-Service-Info', AVPV_Grouped, 192), 3872 527: ('Service-Info-Status', AVP_10415_527, 192), 3873 528: ('MPS-Identifier', AVPV_OctetString, 128), 3874 529: ('AF-Signalling-Protocol', AVP_10415_529, 128), 3875 531: ('Sponsor-Identity', AVPV_StrLenField, 128), 3876 532: ('Application-Service-Provider-Identity', AVPV_StrLenField, 128), 3877 533: ('Rx-Request-Type', AVP_10415_533, 128), 3878 534: ('Min-Requested-Bandwidth-DL', AVPV_Unsigned32, 128), 3879 535: ('Min-Requested-Bandwidth-UL', AVPV_Unsigned32, 128), 3880 536: ('Required-Access-Info', AVP_10415_536, 128), 3881 537: ('IP-Domain-Id', AVPV_OctetString, 128), 3882 538: ('GCS-Identifier', AVPV_OctetString, 128), 3883 539: ('Sharing-Key-DL', AVPV_Unsigned32, 128), 3884 540: ('Sharing-Key-UL', AVPV_Unsigned32, 128), 3885 541: ('Retry-Interval', AVPV_Unsigned32, 128), 3886 600: ('Visited-Network-Identifier', AVPV_OctetString, 192), 3887 601: ('Public-Identity', AVPV_StrLenField, 192), 3888 602: ('Server-Name', AVPV_StrLenField, 192), 3889 603: ('Server-Capabilities', AVPV_Grouped, 192), 3890 604: ('Mandatory-Capability', AVPV_Unsigned32, 192), 3891 605: ('Optional-Capability', AVPV_Unsigned32, 192), 3892 606: ('User-Data', AVPV_OctetString, 192), 3893 607: ('SIP-Number-Auth-Items', AVPV_Unsigned32, 192), 3894 608: ('SIP-Authentication-Scheme', AVPV_StrLenField, 192), 3895 609: ('SIP-Authenticate', AVPV_OctetString, 192), 3896 610: ('SIP-Authorization', AVPV_OctetString, 192), 3897 611: ('SIP-Authentication-Context', AVPV_OctetString, 192), 3898 612: ('SIP-Auth-Data-Item', AVPV_Grouped, 192), 3899 613: ('SIP-Item-Number', AVPV_Unsigned32, 192), 3900 614: ('Server-Assignment-Type', AVP_10415_614, 192), 3901 615: ('Deregistration-Reason', AVPV_Grouped, 192), 3902 616: ('Reason-Code', AVP_10415_616, 192), 3903 617: ('Reason-Info', AVPV_StrLenField, 192), 3904 618: ('Charging-Information', AVPV_Grouped, 192), 3905 619: ('Primary-Event-Charging-Function-Name', AVPV_StrLenField, 192), 3906 620: ('Secondary-Event-Charging-Function-Name', AVPV_StrLenField, 192), 3907 621: ('Primary-Charging-Collection-Function-Name', AVPV_StrLenField, 192), # noqa: E501 3908 622: ('Secondary-Charging-Collection-Function-Name', AVPV_StrLenField, 192), # noqa: E501 3909 623: ('User-Authorization-Type', AVP_10415_623, 192), 3910 624: ('User-Data-Already-Available', AVP_10415_624, 192), 3911 625: ('Confidentiality-Key', AVPV_OctetString, 192), 3912 626: ('Integrity-Key', AVPV_OctetString, 192), 3913 628: ('Supported-Features', AVPV_Grouped, 128), 3914 629: ('Feature-List-ID', AVPV_Unsigned32, 128), 3915 630: ('Feature-List', AVP_10415_630, 128), 3916 631: ('Supported-Applications', AVPV_Grouped, 128), 3917 632: ('Associated-Identities', AVPV_Grouped, 128), 3918 633: ('Originating-Request', AVP_10415_633, 192), 3919 634: ('Wildcarded-Public-Identity', AVPV_StrLenField, 128), 3920 635: ('SIP-Digest-Authenticate', AVPV_Grouped, 128), 3921 636: ('Wildcarded-IMPU', AVPV_StrLenField, 128), 3922 637: ('UAR-Flags', AVPV_Unsigned32, 128), 3923 638: ('Loose-Route-Indication', AVP_10415_638, 128), 3924 639: ('SCSCF-Restoration-Info', AVPV_Grouped, 128), 3925 640: ('Path', AVPV_OctetString, 128), 3926 641: ('Contact', AVPV_OctetString, 128), 3927 642: ('Subscription-Info', AVPV_Grouped, 128), 3928 643: ('Call-ID-SIP-Header', AVPV_OctetString, 128), 3929 644: ('From-SIP-Header', AVPV_OctetString, 128), 3930 645: ('To-SIP-Header', AVPV_OctetString, 128), 3931 646: ('Record-Route', AVPV_OctetString, 128), 3932 647: ('Associated-Registered-Identities', AVPV_Grouped, 128), 3933 648: ('Multiple-Registration-Indication', AVP_10415_648, 128), 3934 649: ('Restoration-Info', AVPV_Grouped, 128), 3935 650: ('Session-Priority', AVP_10415_650, 128), 3936 651: ('Identity-with-Emergency-Registration', AVPV_Grouped, 128), 3937 652: ('Priviledged-Sender-Indication', AVP_10415_652, 128), 3938 653: ('LIA-Flags', AVPV_Unsigned32, 128), 3939 654: ('Initial-CSeq-Sequence-Number', AVPV_Unsigned32, 128), 3940 655: ('SAR-Flags', AVPV_Unsigned32, 128), 3941 700: ('User-Identity', AVPV_Grouped, 192), 3942 701: ('MSISDN', AVP_10415_701, 192), 3943 702: ('User-Data', AVPV_OctetString, 192), 3944 703: ('Data-Reference', AVP_10415_703, 192), 3945 704: ('Service-Indication', AVPV_OctetString, 192), 3946 705: ('Subs-Req-Type', AVP_10415_705, 192), 3947 706: ('Requested-Domain', AVP_10415_706, 192), 3948 707: ('Current-Location', AVP_10415_707, 192), 3949 708: ('Identity-Set', AVP_10415_708, 128), 3950 709: ('Expiry-Time', AVPV_Time, 128), 3951 710: ('Send-Data-Indication', AVP_10415_710, 128), 3952 711: ('DSAI-Tag', AVPV_OctetString, 192), 3953 712: ('One-Time-Notification', AVP_10415_712, 128), 3954 713: ('Requested-Nodes', AVPV_Unsigned32, 128), 3955 714: ('Serving-Node-Indication', AVP_10415_714, 128), 3956 715: ('Repository-Data-ID', AVPV_Grouped, 128), 3957 716: ('Sequence-Number', AVPV_Unsigned32, 128), 3958 717: ('Pre-paging-Supported', AVP_10415_717, 128), 3959 718: ('Local-Time-Zone-Indication', AVP_10415_718, 128), 3960 719: ('UDR-Flags', AVPV_Unsigned32, 128), 3961 720: ('Call-Reference-Info', AVPV_Grouped, 128), 3962 721: ('Call-Reference-Number', AVPV_OctetString, 128), 3963 722: ('AS-Number', AVPV_OctetString, 128), 3964 823: ('Event-Type', AVPV_Grouped, 192), 3965 824: ('SIP-Method', AVPV_StrLenField, 192), 3966 825: ('Event', AVPV_StrLenField, 192), 3967 826: ('Content-Type', AVPV_StrLenField, 192), 3968 827: ('Content-Length', AVPV_Unsigned32, 192), 3969 828: ('Content-Disposition', AVPV_StrLenField, 192), 3970 829: ('Role-Of-Node', AVP_10415_829, 192), 3971 830: ('Session-Id', AVPV_StrLenField, 192), 3972 831: ('Calling-Party-Address', AVPV_StrLenField, 192), 3973 832: ('Called-Party-Address', AVPV_StrLenField, 192), 3974 833: ('Time-Stamps', AVPV_Grouped, 192), 3975 834: ('SIP-Request-Timestamp', AVPV_Time, 192), 3976 835: ('SIP-Response-Timestamp', AVPV_Time, 192), 3977 836: ('Application-Server', AVPV_StrLenField, 192), 3978 837: ('Application-provided-called-party-address', AVPV_StrLenField, 192), # noqa: E501 3979 838: ('Inter-Operator-Identifier', AVPV_Grouped, 192), 3980 839: ('Originating-IOI', AVPV_StrLenField, 192), 3981 840: ('Terminating-IOI', AVPV_StrLenField, 192), 3982 841: ('IMS-Charging-Identifier', AVPV_StrLenField, 192), 3983 842: ('SDP-Session-Description', AVPV_StrLenField, 192), 3984 843: ('SDP-Media-Component', AVPV_Grouped, 192), 3985 844: ('SDP-Media-Name', AVPV_StrLenField, 192), 3986 845: ('SDP-Media-Description', AVPV_StrLenField, 192), 3987 846: ('CG-Address', AVPV_Address, 192), 3988 847: ('GGSN-Address', AVPV_Address, 192), 3989 848: ('Served-Party-IP-Address', AVPV_Address, 192), 3990 849: ('Authorised-QoS', AVPV_StrLenField, 192), 3991 850: ('Application-Server-Information', AVPV_Grouped, 192), 3992 851: ('Trunk-Group-Id', AVPV_Grouped, 192), 3993 852: ('Incoming-Trunk-Group-Id', AVPV_StrLenField, 192), 3994 853: ('Outgoing-Trunk-Group-Id', AVPV_StrLenField, 192), 3995 854: ('Bearer-Service', AVPV_OctetString, 192), 3996 855: ('Service-Id', AVPV_StrLenField, 192), 3997 856: ('Associated-URI', AVPV_StrLenField, 192), 3998 857: ('Charged-Party', AVPV_StrLenField, 192), 3999 858: ('PoC-Controlling-Address', AVPV_StrLenField, 192), 4000 859: ('PoC-Group-Name', AVPV_StrLenField, 192), 4001 861: ('Cause-Code', AVPV_Integer32, 192), 4002 862: ('Node-Functionality', AVP_10415_862, 192), 4003 864: ('Originator', AVP_10415_864, 192), 4004 865: ('PS-Furnish-Charging-Information', AVPV_Grouped, 192), 4005 866: ('PS-Free-Format-Data', AVPV_OctetString, 192), 4006 867: ('PS-Append-Free-Format-Data', AVP_10415_867, 192), 4007 868: ('Time-Quota-Threshold', AVPV_Unsigned32, 192), 4008 869: ('Volume-Quota-Threshold', AVPV_Unsigned32, 192), 4009 870: ('Trigger-Type', AVP_10415_870, 192), 4010 871: ('Quota-Holding-Time', AVPV_Unsigned32, 192), 4011 872: ('Reporting-Reason', AVP_10415_872, 192), 4012 873: ('Service-Information', AVPV_Grouped, 192), 4013 874: ('PS-Information', AVPV_Grouped, 192), 4014 876: ('IMS-Information', AVPV_Grouped, 192), 4015 877: ('MMS-Information', AVPV_Grouped, 192), 4016 878: ('LCS-Information', AVPV_Grouped, 192), 4017 879: ('PoC-Information', AVPV_Grouped, 192), 4018 880: ('MBMS-Information', AVPV_Grouped, 192), 4019 881: ('Quota-Consumption-Time', AVPV_Unsigned32, 192), 4020 882: ('Media-Initiator-Flag', AVP_10415_882, 192), 4021 883: ('PoC-Server-Role', AVP_10415_883, 192), 4022 884: ('PoC-Session-Type', AVP_10415_884, 192), 4023 885: ('Number-Of-Participants', AVPV_Unsigned32, 192), 4024 887: ('Participants-Involved', AVPV_StrLenField, 192), 4025 888: ('Expires', AVPV_Unsigned32, 192), 4026 889: ('Message-Body', AVPV_Grouped, 192), 4027 897: ('Address-Data', AVPV_StrLenField, 192), 4028 898: ('Address-Domain', AVPV_Grouped, 192), 4029 899: ('Address-Type', AVP_10415_899, 192), 4030 900: ('TMGI', AVPV_OctetString, 192), 4031 901: ('Required-MBMS-Bearer-Capabilities', AVPV_StrLenField, 192), 4032 902: ('MBMS-StartStop-Indication', AVP_10415_902, 192), 4033 903: ('MBMS-Service-Area', AVPV_OctetString, 192), 4034 904: ('MBMS-Session-Duration', AVPV_OctetString, 192), 4035 905: ('Alternative-APN', AVPV_StrLenField, 192), 4036 906: ('MBMS-Service-Type', AVP_10415_906, 192), 4037 907: ('MBMS-2G-3G-Indicator', AVP_10415_907, 192), 4038 909: ('RAI', AVPV_StrLenField, 192), 4039 910: ('Additional-MBMS-Trace-Info', AVPV_OctetString, 192), 4040 911: ('MBMS-Time-To-Data-Transfer', AVPV_OctetString, 192), 4041 920: ('MBMS-Flow-Identifier', AVPV_OctetString, 192), 4042 921: ('CN-IP-Multicast-Distribution', AVP_10415_921, 192), 4043 922: ('MBMS-HC-Indicator', AVP_10415_922, 192), 4044 1000: ('Bearer-Usage', AVP_10415_1000, 192), 4045 1001: ('Charging-Rule-Install', AVPV_Grouped, 192), 4046 1002: ('Charging-Rule-Remove', AVPV_Grouped, 192), 4047 1003: ('Charging-Rule-Definition', AVPV_Grouped, 192), 4048 1004: ('Charging-Rule-Base-Name', AVPV_StrLenField, 192), 4049 1005: ('Charging-Rule-Name', AVPV_OctetString, 192), 4050 1006: ('Event-Trigger', AVP_10415_1006, 192), 4051 1007: ('Metering-Method', AVP_10415_1007, 192), 4052 1008: ('Offline', AVP_10415_1008, 192), 4053 1009: ('Online', AVP_10415_1009, 192), 4054 1010: ('Precedence', AVPV_Unsigned32, 192), 4055 1011: ('Reporting-Level', AVP_10415_1011, 192), 4056 1012: ('TFT-Filter', AVPV_IPFilterRule, 192), 4057 1013: ('TFT-Packet-Filter-Information', AVPV_Grouped, 192), 4058 1014: ('ToS-Traffic-Class', AVPV_OctetString, 192), 4059 1015: ('PDP-Session-Operation', AVP_10415_1015, 192), 4060 1018: ('Charging-Rule-Report', AVPV_Grouped, 192), 4061 1019: ('PCC-Rule-Status', AVP_10415_1019, 192), 4062 1020: ('Bearer-Identifier', AVPV_OctetString, 192), 4063 1021: ('Bearer-Operation', AVP_10415_1021, 192), 4064 1022: ('Access-Network-Charging-Identifier-Gx', AVPV_Grouped, 192), 4065 1023: ('Bearer-Control-Mode', AVP_10415_1023, 192), 4066 1024: ('Network-Request-Support', AVP_10415_1024, 192), 4067 1025: ('Guaranteed-Bitrate-DL', AVPV_Unsigned32, 192), 4068 1026: ('Guaranteed-Bitrate-UL', AVPV_Unsigned32, 192), 4069 1027: ('IP-CAN-Type', AVP_10415_1027, 192), 4070 1028: ('QoS-Class-Identifier', AVP_10415_1028, 192), 4071 1032: ('RAT-Type', AVP_10415_1032, 128), 4072 1033: ('Event-Report-Indication', AVPV_Grouped, 128), 4073 1034: ('Allocation-Retention-Priority', AVPV_Grouped, 128), 4074 1035: ('CoA-IP-Address', AVPV_Address, 128), 4075 1036: ('Tunnel-Header-Filter', AVPV_IPFilterRule, 128), 4076 1037: ('Tunnel-Header-Length', AVPV_Unsigned32, 128), 4077 1038: ('Tunnel-Information', AVPV_Grouped, 128), 4078 1039: ('CoA-Information', AVPV_Grouped, 128), 4079 1040: ('APN-Aggregate-Max-Bitrate-DL', AVPV_Unsigned32, 128), 4080 1041: ('APN-Aggregate-Max-Bitrate-UL', AVPV_Unsigned32, 128), 4081 1042: ('Revalidation-Time', AVPV_Time, 192), 4082 1043: ('Rule-Activation-Time', AVPV_Time, 192), 4083 1044: ('Rule-Deactivation-Time', AVPV_Time, 192), 4084 1045: ('Session-Release-Cause', AVP_10415_1045, 192), 4085 1046: ('Priority-Level', AVPV_Unsigned32, 128), 4086 1047: ('Pre-emption-Capability', AVP_10415_1047, 128), 4087 1048: ('Pre-emption-Vulnerability', AVP_10415_1048, 128), 4088 1049: ('Default-EPS-Bearer-QoS', AVPV_Grouped, 128), 4089 1050: ('AN-GW-Address', AVPV_Address, 128), 4090 1056: ('Security-Parameter-Index', AVPV_OctetString, 128), 4091 1057: ('Flow-Label', AVPV_OctetString, 128), 4092 1058: ('Flow-Information', AVPV_Grouped, 128), 4093 1059: ('Packet-Filter-Content', AVPV_IPFilterRule, 128), 4094 1060: ('Packet-Filter-Identifier', AVPV_OctetString, 128), 4095 1061: ('Packet-Filter-Information', AVPV_Grouped, 128), 4096 1062: ('Packet-Filter-Operation', AVP_10415_1062, 128), 4097 1063: ('Resource-Allocation-Notification', AVP_10415_1063, 128), 4098 1065: ('PDN-Connection-ID', AVPV_OctetString, 128), 4099 1066: ('Monitoring-Key', AVPV_OctetString, 128), 4100 1067: ('Usage-Monitoring-Information', AVPV_Grouped, 128), 4101 1068: ('Usage-Monitoring-Level', AVP_10415_1068, 128), 4102 1069: ('Usage-Monitoring-Report', AVP_10415_1069, 128), 4103 1070: ('Usage-Monitoring-Support', AVP_10415_1070, 128), 4104 1071: ('CSG-Information-Reporting', AVP_10415_1071, 128), 4105 1072: ('Packet-Filter-Usage', AVP_10415_1072, 128), 4106 1073: ('Charging-Correlation-Indicator', AVP_10415_1073, 128), 4107 1075: ('Routing-Rule-Remove', AVPV_Grouped, 128), 4108 1076: ('Routing-Rule-Definition', AVPV_Grouped, 128), 4109 1077: ('Routing-Rule-Identifier', AVPV_OctetString, 128), 4110 1078: ('Routing-Filter', AVPV_Grouped, 128), 4111 1079: ('Routing-IP-Address', AVPV_Address, 128), 4112 1080: ('Flow-Direction', AVP_10415_1080, 128), 4113 1082: ('Credit-Management-Status', AVPV_Unsigned32, 128), 4114 1085: ('Redirect-Information', AVPV_Grouped, 128), 4115 1086: ('Redirect-Support', AVP_10415_1086, 128), 4116 1087: ('TDF-Information', AVPV_Grouped, 128), 4117 1088: ('TDF-Application-Identifier', AVPV_OctetString, 128), 4118 1089: ('TDF-Destination-Host', AVPV_StrLenField, 128), 4119 1090: ('TDF-Destination-Realm', AVPV_StrLenField, 128), 4120 1091: ('TDF-IP-Address', AVPV_Address, 128), 4121 1098: ('Application-Detection-Information', AVPV_Grouped, 128), 4122 1099: ('PS-to-CS-Session-Continuity', AVP_10415_1099, 128), 4123 1200: ('Domain-Name', AVPV_StrLenField, 192), 4124 1203: ('MM-Content-Type', AVPV_Grouped, 192), 4125 1204: ('Type-Number', AVP_10415_1204, 192), 4126 1205: ('Additional-Type-Information', AVPV_StrLenField, 192), 4127 1206: ('Content-Size', AVPV_Unsigned32, 192), 4128 1207: ('Additional-Content-Information', AVPV_Grouped, 192), 4129 1208: ('Addressee-Type', AVP_10415_1208, 192), 4130 1209: ('Priority', AVP_10415_1209, 192), 4131 1211: ('Message-Type', AVP_10415_1211, 192), 4132 1212: ('Message-Size', AVPV_Unsigned32, 192), 4133 1213: ('Message-Class', AVPV_Grouped, 192), 4134 1214: ('Class-Identifier', AVP_10415_1214, 192), 4135 1215: ('Token-Text', AVPV_StrLenField, 192), 4136 1216: ('Delivery-Report-Requested', AVP_10415_1216, 192), 4137 1217: ('Adaptations', AVP_10415_1217, 192), 4138 1218: ('Applic-ID', AVPV_StrLenField, 192), 4139 1219: ('Aux-Applic-Info', AVPV_StrLenField, 192), 4140 1220: ('Content-Class', AVP_10415_1220, 192), 4141 1221: ('DRM-Content', AVP_10415_1221, 192), 4142 1222: ('Read-Reply-Report-Requested', AVP_10415_1222, 192), 4143 1223: ('Reply-Applic-ID', AVPV_StrLenField, 192), 4144 1224: ('File-Repair-Supported', AVP_10415_1224, 192), 4145 1225: ('MBMS-User-Service-Type', AVP_10415_1225, 192), 4146 1226: ('Unit-Quota-Threshold', AVPV_Unsigned32, 192), 4147 1227: ('PDP-Address', AVPV_Address, 192), 4148 1228: ('SGSN-Address', AVPV_Address, 192), 4149 1229: ('PoC-Session-Id', AVPV_StrLenField, 192), 4150 1230: ('Deferred-Location-Event-Type', AVPV_StrLenField, 192), 4151 1231: ('LCS-APN', AVPV_StrLenField, 192), 4152 1245: ('Positioning-Data', AVPV_StrLenField, 192), 4153 1247: ('PDP-Context-Type', AVP_10415_1247, 192), 4154 1248: ('MMBox-Storage-Requested', AVP_10415_1248, 192), 4155 1250: ('Called-Asserted-Identity', AVPV_StrLenField, 192), 4156 1251: ('Requested-Party-Address', AVPV_StrLenField, 192), 4157 1252: ('PoC-User-Role', AVPV_Grouped, 192), 4158 1253: ('PoC-User-Role-IDs', AVPV_StrLenField, 192), 4159 1254: ('PoC-User-Role-info-Units', AVP_10415_1254, 192), 4160 1255: ('Talk-Burst-Exchange', AVPV_Grouped, 192), 4161 1258: ('Event-Charging-TimeStamp', AVPV_Time, 192), 4162 1259: ('Participant-Access-Priority', AVP_10415_1259, 192), 4163 1260: ('Participant-Group', AVPV_Grouped, 192), 4164 1261: ('PoC-Change-Condition', AVP_10415_1261, 192), 4165 1262: ('PoC-Change-Time', AVPV_Time, 192), 4166 1263: ('Access-Network-Information', AVPV_OctetString, 192), 4167 1264: ('Trigger', AVPV_Grouped, 192), 4168 1265: ('Base-Time-Interval', AVPV_Unsigned32, 192), 4169 1266: ('Envelope', AVPV_Grouped, 192), 4170 1267: ('Envelope-End-Time', AVPV_Time, 192), 4171 1268: ('Envelope-Reporting', AVP_10415_1268, 192), 4172 1269: ('Envelope-Start-Time', AVPV_Time, 192), 4173 1270: ('Time-Quota-Mechanism', AVPV_Grouped, 192), 4174 1271: ('Time-Quota-Type', AVP_10415_1271, 192), 4175 1272: ('Early-Media-Description', AVPV_Grouped, 192), 4176 1273: ('SDP-TimeStamps', AVPV_Grouped, 192), 4177 1274: ('SDP-Offer-Timestamp', AVPV_Time, 192), 4178 1275: ('SDP-Answer-Timestamp', AVPV_Time, 192), 4179 1276: ('AF-Correlation-Information', AVPV_Grouped, 192), 4180 1277: ('PoC-Session-Initiation-Type', AVP_10415_1277, 192), 4181 1278: ('Offline-Charging', AVPV_Grouped, 192), 4182 1279: ('User-Participating-Type', AVP_10415_1279, 192), 4183 1281: ('IMS-Communication-Service-Identifier', AVPV_StrLenField, 192), 4184 1282: ('Number-Of-Received-Talk-Bursts', AVPV_Unsigned32, 192), 4185 1283: ('Number-Of-Talk-Bursts', AVPV_Unsigned32, 192), 4186 1284: ('Received-Talk-Burst-Time', AVPV_Unsigned32, 192), 4187 1285: ('Received-Talk-Burst-Volume', AVPV_Unsigned32, 192), 4188 1286: ('Talk-Burst-Time', AVPV_Unsigned32, 192), 4189 1287: ('Talk-Burst-Volume', AVPV_Unsigned32, 192), 4190 1288: ('Media-Initiator-Party', AVPV_StrLenField, 192), 4191 1400: ('Subscription-Data', AVPV_Grouped, 192), 4192 1401: ('Terminal-Information', AVPV_Grouped, 192), 4193 1402: ('IMEI', AVPV_StrLenField, 192), 4194 1403: ('Software-Version', AVPV_StrLenField, 192), 4195 1404: ('QoS-Subscribed', AVPV_OctetString, 192), 4196 1405: ('ULR-Flags', AVPV_Unsigned32, 192), 4197 1406: ('ULA-Flags', AVPV_Unsigned32, 192), 4198 1407: ('Visited-PLMN-Id', AVPV_OctetString, 192), 4199 1408: ('Requested-EUTRAN-Authentication-Info', AVPV_Grouped, 192), 4200 1409: ('GERAN-Authentication-Info', AVPV_Grouped, 192), 4201 1410: ('Number-Of-Requested-Vectors', AVPV_Unsigned32, 192), 4202 1411: ('Re-Synchronization-Info', AVPV_OctetString, 192), 4203 1412: ('Immediate-Response-Preferred', AVPV_Unsigned32, 192), 4204 1413: ('Authentication-Info', AVPV_Grouped, 192), 4205 1414: ('E-UTRAN-Vector', AVPV_Grouped, 192), 4206 1415: ('UTRAN-Vector', AVPV_Grouped, 192), 4207 1416: ('GERAN-Vector', AVPV_Grouped, 192), 4208 1417: ('Network-Access-Mode', AVP_10415_1417, 192), 4209 1418: ('HPLMN-ODB', AVPV_Unsigned32, 192), 4210 1419: ('Item-Number', AVPV_Unsigned32, 192), 4211 1420: ('Cancellation-Type', AVP_10415_1420, 192), 4212 1421: ('DSR-Flags', AVPV_Unsigned32, 192), 4213 1422: ('DSA-Flags', AVPV_Unsigned32, 192), 4214 1423: ('Context-Identifier', AVPV_Unsigned32, 192), 4215 1424: ('Subscriber-Status', AVP_10415_1424, 192), 4216 1425: ('Operator-Determined-Barring', AVPV_Unsigned32, 192), 4217 1426: ('Access-Restriction-Data', AVPV_Unsigned32, 192), 4218 1427: ('APN-OI-Replacement', AVPV_StrLenField, 192), 4219 1428: ('All-APN-Configurations-Included-Indicator', AVP_10415_1428, 192), # noqa: E501 4220 1429: ('APN-Configuration-Profile', AVPV_Grouped, 192), 4221 1430: ('APN-Configuration', AVPV_Grouped, 192), 4222 1431: ('EPS-Subscribed-QoS-Profile', AVPV_Grouped, 192), 4223 1432: ('VPLMN-Dynamic-Address-Allowed', AVP_10415_1432, 192), 4224 1433: ('STN-SR', AVPV_OctetString, 192), 4225 1434: ('Alert-Reason', AVP_10415_1434, 192), 4226 1435: ('AMBR', AVPV_Grouped, 192), 4227 1437: ('CSG-Id', AVPV_Unsigned32, 192), 4228 1438: ('PDN-GW-Allocation-Type', AVP_10415_1438, 192), 4229 1439: ('Expiration-Date', AVPV_Time, 192), 4230 1440: ('RAT-Frequency-Selection-Priority-ID', AVPV_Unsigned32, 192), 4231 1441: ('IDA-Flags', AVPV_Unsigned32, 192), 4232 1442: ('PUA-Flags', AVPV_Unsigned32, 192), 4233 1443: ('NOR-Flags', AVPV_Unsigned32, 192), 4234 1444: ('User-Id', AVPV_StrLenField, 128), 4235 1445: ('Equipment-Status', AVP_10415_1445, 192), 4236 1446: ('Regional-Subscription-Zone-Code', AVPV_OctetString, 192), 4237 1447: ('RAND', AVPV_OctetString, 192), 4238 1448: ('XRES', AVPV_OctetString, 192), 4239 1449: ('AUTN', AVPV_OctetString, 192), 4240 1450: ('KASME', AVPV_OctetString, 192), 4241 1452: ('Trace-Collection-Entity', AVPV_Address, 192), 4242 1453: ('Kc', AVPV_OctetString, 192), 4243 1454: ('SRES', AVPV_OctetString, 192), 4244 1456: ('PDN-Type', AVP_10415_1456, 192), 4245 1457: ('Roaming-Restricted-Due-To-Unsupported-Feature', AVP_10415_1457, 192), # noqa: E501 4246 1458: ('Trace-Data', AVPV_Grouped, 192), 4247 1459: ('Trace-Reference', AVPV_OctetString, 192), 4248 1462: ('Trace-Depth', AVP_10415_1462, 192), 4249 1463: ('Trace-NE-Type-List', AVPV_OctetString, 192), 4250 1464: ('Trace-Interface-List', AVPV_OctetString, 192), 4251 1465: ('Trace-Event-List', AVPV_OctetString, 192), 4252 1466: ('OMC-Id', AVPV_OctetString, 192), 4253 1467: ('GPRS-Subscription-Data', AVPV_Grouped, 192), 4254 1468: ('Complete-Data-List-Included-Indicator', AVP_10415_1468, 192), 4255 1469: ('PDP-Context', AVPV_Grouped, 192), 4256 1470: ('PDP-Type', AVPV_OctetString, 192), 4257 1471: ('3GPP2-MEID', AVPV_OctetString, 192), 4258 1472: ('Specific-APN-Info', AVPV_Grouped, 192), 4259 1473: ('LCS-Info', AVPV_Grouped, 192), 4260 1474: ('GMLC-Number', AVPV_OctetString, 192), 4261 1475: ('LCS-PrivacyException', AVPV_Grouped, 192), 4262 1476: ('SS-Code', AVPV_OctetString, 192), 4263 1477: ('SS-Status', AVPV_OctetString, 192), 4264 1478: ('Notification-To-UE-User', AVP_10415_1478, 192), 4265 1479: ('External-Client', AVPV_Grouped, 192), 4266 1480: ('Client-Identity', AVPV_OctetString, 192), 4267 1481: ('GMLC-Restriction', AVP_10415_1481, 192), 4268 1482: ('PLMN-Client', AVP_10415_1482, 192), 4269 1483: ('Service-Type', AVPV_Grouped, 192), 4270 1484: ('ServiceTypeIdentity', AVPV_Unsigned32, 192), 4271 1485: ('MO-LR', AVPV_Grouped, 192), 4272 1486: ('Teleservice-List', AVPV_Grouped, 192), 4273 1487: ('TS-Code', AVPV_OctetString, 192), 4274 1488: ('Call-Barring-Info', AVPV_Grouped, 192), 4275 1489: ('SGSN-Number', AVPV_OctetString, 192), 4276 1490: ('IDR-Flags', AVPV_Unsigned32, 192), 4277 1491: ('ICS-Indicator', AVP_10415_1491, 128), 4278 1492: ('IMS-Voice-Over-PS-Sessions-Supported', AVP_10415_1492, 128), 4279 1493: ('Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions', AVP_10415_1493, 128), # noqa: E501 4280 1494: ('Last-UE-Activity-Time', AVPV_Time, 128), 4281 1495: ('EPS-User-State', AVPV_Grouped, 128), 4282 1496: ('EPS-Location-Information', AVPV_Grouped, 128), 4283 1497: ('MME-User-State', AVPV_Grouped, 128), 4284 1498: ('SGSN-User-State', AVPV_Grouped, 128), 4285 1499: ('User-State', AVP_10415_1499, 128), 4286 1500: ('Non-3GPP-User-Data', AVPV_Grouped, 192), 4287 1501: ('Non-3GPP-IP-Access', AVP_10415_1501, 192), 4288 1502: ('Non-3GPP-IP-Access-APN', AVP_10415_1502, 192), 4289 1503: ('AN-Trusted', AVP_10415_1503, 192), 4290 1504: ('ANID', AVPV_StrLenField, 192), 4291 1505: ('Trace-Info', AVPV_Grouped, 128), 4292 1506: ('MIP-FA-RK', AVPV_OctetString, 192), 4293 1507: ('MIP-FA-RK-SPI', AVPV_Unsigned32, 192), 4294 1508: ('PPR-Flags', AVPV_Unsigned32, 128), 4295 1509: ('WLAN-Identifier', AVPV_Grouped, 128), 4296 1510: ('TWAN-Access-Info', AVPV_Grouped, 128), 4297 1511: ('Access-Authorization-Flags', AVPV_Unsigned32, 128), 4298 1512: ('TWAN-Default-APN-Context-Id', AVPV_Unsigned32, 128), 4299 1515: ('Trust-Relationship-Update', AVP_10415_1515, 128), 4300 1516: ('Full-Network-Name', AVPV_OctetString, 128), 4301 1517: ('Short-Network-Name', AVPV_OctetString, 128), 4302 1518: ('AAA-Failure-Indication', AVPV_Unsigned32, 128), 4303 1519: ('Transport-Access-Type', AVP_10415_1519, 128), 4304 1520: ('DER-Flags', AVPV_Unsigned32, 128), 4305 1521: ('DEA-Flags', AVPV_Unsigned32, 128), 4306 1522: ('RAR-Flags', AVPV_Unsigned32, 128), 4307 1523: ('DER-S6b-Flags', AVPV_Unsigned32, 128), 4308 1524: ('SSID', AVPV_StrLenField, 128), 4309 1525: ('HESSID', AVPV_StrLenField, 128), 4310 1526: ('Access-Network-Info', AVPV_Grouped, 128), 4311 1527: ('TWAN-Connection-Mode', AVPV_Unsigned32, 128), 4312 1528: ('TWAN-Connectivity-Parameters', AVPV_Grouped, 128), 4313 1529: ('Connectivity-Flags', AVPV_Unsigned32, 128), 4314 1530: ('TWAN-PCO', AVPV_OctetString, 128), 4315 1531: ('TWAG-CP-Address', AVPV_Address, 128), 4316 1532: ('TWAG-UP-Address', AVPV_StrLenField, 128), 4317 1533: ('TWAN-S2a-Failure-Cause', AVPV_Unsigned32, 128), 4318 1534: ('SM-Back-Off-Timer', AVPV_Unsigned32, 128), 4319 1535: ('WLCP-Key', AVPV_OctetString, 128), 4320 1600: ('Information', AVPV_Grouped, 128), 4321 1601: ('SGSN-Location-Information', AVPV_Grouped, 128), 4322 1602: ('E-UTRAN-Cell-Global-Identity', AVPV_OctetString, 128), 4323 1603: ('Tracking-Area-Identity', AVPV_OctetString, 128), 4324 1604: ('Cell-Global-Identity', AVPV_OctetString, 128), 4325 1605: ('Routing-Area-Identity', AVPV_OctetString, 128), 4326 1606: ('Location-Area-Identity', AVPV_OctetString, 128), 4327 1607: ('Service-Area-Identity', AVPV_OctetString, 128), 4328 1608: ('Geographical-Information', AVPV_OctetString, 128), 4329 1609: ('Geodetic-Information', AVPV_OctetString, 128), 4330 1610: ('Current-Location-Retrieved', AVP_10415_1610, 128), 4331 1611: ('Age-Of-Location-Information', AVPV_Unsigned32, 128), 4332 1612: ('Active-APN', AVPV_Grouped, 128), 4333 1613: ('SIPTO-Permission', AVP_10415_1613, 128), 4334 1614: ('Error-Diagnostic', AVP_10415_1614, 128), 4335 1615: ('UE-SRVCC-Capability', AVP_10415_1615, 128), 4336 1616: ('MPS-Priority', AVPV_Unsigned32, 128), 4337 1617: ('VPLMN-LIPA-Allowed', AVP_10415_1617, 128), 4338 1618: ('LIPA-Permission', AVP_10415_1618, 128), 4339 1619: ('Subscribed-Periodic-RAU-TAU-Timer', AVPV_Unsigned32, 128), 4340 1621: ('Ext-PDP-Address', AVPV_Address, 128), 4341 1622: ('MDT-Configuration', AVPV_Grouped, 128), 4342 1623: ('Job-Type', AVP_10415_1623, 128), 4343 1624: ('Area-Scope', AVPV_Grouped, 128), 4344 1625: ('List-Of-Measurements', AVPV_Unsigned32, 128), 4345 1626: ('Reporting-Trigger', AVPV_Unsigned32, 128), 4346 1627: ('Report-Interval', AVP_10415_1627, 128), 4347 1628: ('Report-Amount', AVP_10415_1628, 128), 4348 1629: ('Event-Threshold-RSRP', AVPV_Unsigned32, 128), 4349 1631: ('Logging-Interval', AVP_10415_1631, 128), 4350 1632: ('Logging-Duration', AVP_10415_1632, 128), 4351 1633: ('Relay-Node-Indicator', AVP_10415_1633, 128), 4352 1634: ('MDT-User-Consent', AVP_10415_1634, 128), 4353 1635: ('PUR-Flags', AVPV_Unsigned32, 128), 4354 1636: ('Subscribed-VSRVCC', AVP_10415_1636, 128), 4355 1638: ('CLR-Flags', AVPV_Unsigned32, 128), 4356 1639: ('UVR-Flags', AVPV_Unsigned32, 192), 4357 1640: ('UVA-Flags', AVPV_Unsigned32, 192), 4358 1641: ('VPLMN-CSG-Subscription-Data', AVPV_Grouped, 192), 4359 1642: ('Time-Zone', AVPV_StrLenField, 128), 4360 1643: ('A-MSISDN', AVP_10415_1643, 128), 4361 1645: ('MME-Number-for-MT-SMS', AVPV_OctetString, 128), 4362 1648: ('SMS-Register-Request', AVP_10415_1648, 128), 4363 1649: ('Local-Time-Zone', AVPV_Grouped, 128), 4364 1650: ('Daylight-Saving-Time', AVP_10415_1650, 128), 4365 1654: ('Subscription-Data-Flags', AVPV_Unsigned32, 128), 4366 1659: ('Positioning-Method', AVPV_OctetString, 128), 4367 1660: ('Measurement-Quantity', AVPV_OctetString, 128), 4368 1661: ('Event-Threshold-Event-1F', AVPV_Integer32, 128), 4369 1662: ('Event-Threshold-Event-1I', AVPV_Integer32, 128), 4370 1663: ('Restoration-Priority', AVPV_Unsigned32, 128), 4371 1664: ('SGs-MME-Identity', AVPV_StrLenField, 128), 4372 1665: ('SIPTO-Local-Network-Permission', AVPV_Unsigned32, 128), 4373 1666: ('Coupled-Node-Diameter-ID', AVPV_StrLenField, 128), 4374 1667: ('WLAN-offloadability', AVPV_Grouped, 128), 4375 1668: ('WLAN-offloadability-EUTRAN', AVPV_Unsigned32, 128), 4376 1669: ('WLAN-offloadability-UTRAN', AVPV_Unsigned32, 128), 4377 1670: ('Reset-ID', AVPV_OctetString, 128), 4378 1671: ('MDT-Allowed-PLMN-Id', AVPV_OctetString, 128), 4379 2000: ('SMS-Information', AVPV_Grouped, 192), 4380 2001: ('Data-Coding-Scheme', AVPV_Integer32, 192), 4381 2002: ('Destination-Interface', AVPV_Grouped, 192), 4382 2003: ('Interface-Id', AVPV_StrLenField, 192), 4383 2004: ('Interface-Port', AVPV_StrLenField, 192), 4384 2005: ('Interface-Text', AVPV_StrLenField, 192), 4385 2006: ('Interface-Type', AVP_10415_2006, 192), 4386 2007: ('SM-Message-Type', AVP_10415_2007, 192), 4387 2008: ('Originator-SCCP-Address', AVPV_Address, 192), 4388 2009: ('Originator-Interface', AVPV_Grouped, 192), 4389 2010: ('Recipient-SCCP-Address', AVPV_Address, 192), 4390 2011: ('Reply-Path-Requested', AVP_10415_2011, 192), 4391 2012: ('SM-Discharge-Time', AVPV_Time, 192), 4392 2013: ('SM-Protocol-ID', AVPV_OctetString, 192), 4393 2015: ('SM-User-Data-Header', AVPV_OctetString, 192), 4394 2016: ('SMS-Node', AVP_10415_2016, 192), 4395 2018: ('Client-Address', AVPV_Address, 192), 4396 2019: ('Number-Of-Messages-Sent', AVPV_Unsigned32, 192), 4397 2021: ('Remaining-Balance', AVPV_Grouped, 192), 4398 2022: ('Refund-Information', AVPV_OctetString, 192), 4399 2023: ('Carrier-Select-Routing-Information', AVPV_StrLenField, 192), 4400 2024: ('Number-Portability-Routing-Information', AVPV_StrLenField, 192), # noqa: E501 4401 2025: ('PoC-Event-Type', AVP_10415_2025, 192), 4402 2026: ('Recipient-Info', AVPV_Grouped, 192), 4403 2027: ('Originator-Received-Address', AVPV_Grouped, 192), 4404 2028: ('Recipient-Received-Address', AVPV_Grouped, 192), 4405 2029: ('SM-Service-Type', AVP_10415_2029, 192), 4406 2030: ('MMTel-Information', AVPV_Grouped, 192), 4407 2031: ('MMTel-SService-Type', AVPV_Unsigned32, 192), 4408 2032: ('Service-Mode', AVPV_Unsigned32, 192), 4409 2033: ('Subscriber-Role', AVP_10415_2033, 192), 4410 2034: ('Number-Of-Diversions', AVPV_Unsigned32, 192), 4411 2035: ('Associated-Party-Address', AVPV_StrLenField, 192), 4412 2036: ('SDP-Type', AVP_10415_2036, 192), 4413 2037: ('Change-Condition', AVPV_Integer32, 192), 4414 2038: ('Change-Time', AVPV_Time, 192), 4415 2039: ('Diagnostics', AVPV_Integer32, 192), 4416 2040: ('Service-Data-Container', AVPV_Grouped, 192), 4417 2041: ('Start-Time', AVPV_Time, 192), 4418 2042: ('Stop-Time', AVPV_Time, 192), 4419 2043: ('Time-First-Usage', AVPV_Time, 192), 4420 2044: ('Time-Last-Usage', AVPV_Time, 192), 4421 2045: ('Time-Usage', AVPV_Unsigned32, 192), 4422 2046: ('Traffic-Data-Volumes', AVPV_Grouped, 192), 4423 2047: ('Serving-Node-Type', AVP_10415_2047, 192), 4424 2048: ('Supplementary-Service', AVPV_Grouped, 192), 4425 2049: ('Participant-Action-Type', AVP_10415_2049, 192), 4426 2050: ('PDN-Connection-Charging-ID', AVPV_Unsigned32, 192), 4427 2051: ('Dynamic-Address-Flag', AVP_10415_2051, 192), 4428 2052: ('Accumulated-Cost', AVPV_Grouped, 192), 4429 2053: ('AoC-Cost-Information', AVPV_Grouped, 192), 4430 2056: ('Current-Tariff', AVPV_Grouped, 192), 4431 2058: ('Rate-Element', AVPV_Grouped, 192), 4432 2059: ('Scale-Factor', AVPV_Grouped, 192), 4433 2060: ('Tariff-Information', AVPV_Grouped, 192), 4434 2061: ('Unit-Cost', AVPV_Grouped, 192), 4435 2062: ('Incremental-Cost', AVPV_Grouped, 192), 4436 2063: ('Local-Sequence-Number', AVPV_Unsigned32, 192), 4437 2064: ('Node-Id', AVPV_StrLenField, 192), 4438 2065: ('SGW-Change', AVP_10415_2065, 192), 4439 2066: ('Charging-Characteristics-Selection-Mode', AVP_10415_2066, 192), 4440 2067: ('SGW-Address', AVPV_Address, 192), 4441 2068: ('Dynamic-Address-Flag-Extension', AVP_10415_2068, 192), 4442 2118: ('Charge-Reason-Code', AVP_10415_2118, 192), 4443 2200: ('Subsession-Decision-Info', AVPV_Grouped, 192), 4444 2201: ('Subsession-Enforcement-Info', AVPV_Grouped, 192), 4445 2202: ('Subsession-Id', AVPV_Unsigned32, 192), 4446 2203: ('Subsession-Operation', AVP_10415_2203, 192), 4447 2204: ('Multiple-BBERF-Action', AVP_10415_2204, 192), 4448 2206: ('DRA-Deployment', AVP_10415_2206, 128), 4449 2208: ('DRA-Binding', AVP_10415_2208, 128), 4450 2301: ('SIP-Request-Timestamp-Fraction', AVPV_Unsigned32, 192), 4451 2302: ('SIP-Response-Timestamp-Fraction', AVPV_Unsigned32, 192), 4452 2303: ('Online-Charging-Flag', AVP_10415_2303, 192), 4453 2304: ('CUG-Information', AVPV_OctetString, 192), 4454 2305: ('Real-Time-Tariff-Information', AVPV_Grouped, 192), 4455 2306: ('Tariff-XML', AVPV_StrLenField, 192), 4456 2307: ('MBMS-GW-Address', AVPV_Address, 192), 4457 2308: ('IMSI-Unauthenticated-Flag', AVP_10415_2308, 192), 4458 2309: ('Account-Expiration', AVPV_Time, 192), 4459 2310: ('AoC-Format', AVP_10415_2310, 192), 4460 2311: ('AoC-Service', AVPV_Grouped, 192), 4461 2312: ('AoC-Service-Obligatory-Type', AVP_10415_2312, 192), 4462 2313: ('AoC-Service-Type', AVP_10415_2313, 192), 4463 2314: ('AoC-Subscription-Information', AVPV_Grouped, 192), 4464 2315: ('Preferred-AoC-Currency', AVPV_Unsigned32, 192), 4465 2317: ('CSG-Access-Mode', AVP_10415_2317, 192), 4466 2318: ('CSG-Membership-Indication', AVP_10415_2318, 192), 4467 2319: ('User-CSG-Information', AVPV_Grouped, 192), 4468 2320: ('Outgoing-Session-Id', AVPV_StrLenField, 192), 4469 2321: ('Initial-IMS-Charging-Identifier', AVPV_StrLenField, 192), 4470 2322: ('IMS-Emergency-Indicator', AVP_10415_2322, 192), 4471 2323: ('MBMS-Charged-Party', AVP_10415_2323, 192), 4472 2400: ('LMSI', AVPV_OctetString, 192), 4473 2401: ('Serving-Node', AVPV_Grouped, 192), 4474 2402: ('MME-Name', AVPV_StrLenField, 192), 4475 2403: ('MSC-Number', AVPV_OctetString, 192), 4476 2404: ('LCS-Capabilities-Sets', AVPV_Unsigned32, 192), 4477 2405: ('GMLC-Address', AVPV_Address, 192), 4478 2406: ('Additional-Serving-Node', AVPV_Grouped, 192), 4479 2407: ('PPR-Address', AVPV_Address, 192), 4480 2408: ('MME-Realm', AVPV_StrLenField, 128), 4481 2409: ('SGSN-Name', AVPV_StrLenField, 128), 4482 2410: ('SGSN-Realm', AVPV_StrLenField, 128), 4483 2411: ('RIA-Flags', AVPV_Unsigned32, 128), 4484 2500: ('SLg-Location-Type', AVP_10415_2500, 192), 4485 2501: ('LCS-EPS-Client-Name', AVPV_Grouped, 192), 4486 2502: ('LCS-Requestor-Name', AVPV_Grouped, 192), 4487 2503: ('LCS-Priority', AVPV_Unsigned32, 192), 4488 2504: ('LCS-QoS', AVPV_Grouped, 192), 4489 2505: ('Horizontal-Accuracy', AVPV_Unsigned32, 192), 4490 2506: ('Vertical-Accuracy', AVPV_Unsigned32, 192), 4491 2507: ('Vertical-Requested', AVP_10415_2507, 192), 4492 2508: ('Velocity-Requested', AVP_10415_2508, 192), 4493 2509: ('Response-Time', AVP_10415_2509, 192), 4494 2510: ('Supported-GAD-Shapes', AVPV_Unsigned32, 192), 4495 2511: ('LCS-Codeword', AVPV_StrLenField, 192), 4496 2512: ('LCS-Privacy-Check', AVP_10415_2512, 192), 4497 2513: ('Accuracy-Fulfilment-Indicator', AVP_10415_2513, 192), 4498 2514: ('Age-Of-Location-Estimate', AVPV_Unsigned32, 192), 4499 2515: ('Velocity-Estimate', AVPV_OctetString, 192), 4500 2516: ('EUTRAN-Positioning-Data', AVPV_OctetString, 192), 4501 2517: ('ECGI', AVPV_OctetString, 192), 4502 2518: ('Location-Event', AVP_10415_2518, 192), 4503 2519: ('Pseudonym-Indicator', AVP_10415_2519, 192), 4504 2520: ('LCS-Service-Type-ID', AVPV_Unsigned32, 192), 4505 2523: ('LCS-QoS-Class', AVP_10415_2523, 192), 4506 2524: ('GERAN-Positioning-Info', AVPV_Grouped, 128), 4507 2525: ('GERAN-Positioning-Data', AVPV_OctetString, 128), 4508 2526: ('GERAN-GANSS-Positioning-Data', AVPV_OctetString, 128), 4509 2527: ('UTRAN-Positioning-Info', AVPV_Grouped, 128), 4510 2528: ('UTRAN-Positioning-Data', AVPV_OctetString, 128), 4511 2529: ('UTRAN-GANSS-Positioning-Data', AVPV_OctetString, 128), 4512 2530: ('LRR-Flags', AVPV_Unsigned32, 128), 4513 2531: ('LCS-Reference-Number', AVPV_OctetString, 128), 4514 2532: ('Deferred-Location-Type', AVPV_Unsigned32, 128), 4515 2533: ('Area-Event-Info', AVPV_Grouped, 128), 4516 2534: ('Area-Definition', AVPV_Grouped, 128), 4517 2535: ('Area', AVPV_Grouped, 128), 4518 2536: ('Area-Type', AVPV_Unsigned32, 128), 4519 2537: ('Area-Identification', AVPV_Grouped, 128), 4520 2538: ('Occurrence-Info', AVP_10415_2538, 128), 4521 2539: ('Interval-Time', AVPV_Unsigned32, 128), 4522 2540: ('Periodic-LDR-Information', AVPV_Grouped, 128), 4523 2541: ('Reporting-Amount', AVPV_Unsigned32, 128), 4524 2542: ('Reporting-Interval', AVPV_Unsigned32, 128), 4525 2543: ('Reporting-PLMN-List', AVPV_Grouped, 128), 4526 2544: ('PLMN-ID-List', AVPV_Grouped, 128), 4527 2545: ('PLR-Flags', AVPV_Unsigned32, 128), 4528 2546: ('PLA-Flags', AVPV_Unsigned32, 128), 4529 2547: ('Deferred-MT-LR-Data', AVPV_Grouped, 128), 4530 2548: ('Termination-Cause', AVPV_Unsigned32, 128), 4531 2549: ('LRA-Flags', AVPV_Unsigned32, 128), 4532 2550: ('Periodic-Location-Support-Indicator', AVP_10415_2550, 128), 4533 2551: ('Prioritized-List-Indicator', AVP_10415_2551, 128), 4534 2552: ('ESMLC-Cell-Info', AVPV_Grouped, 128), 4535 2553: ('Cell-Portion-ID', AVPV_Unsigned32, 128), 4536 2554: ('1xRTT-RCID', AVPV_OctetString, 128), 4537 2601: ('IMS-Application-Reference-Identifier', AVPV_StrLenField, 192), 4538 2602: ('Low-Priority-Indicator', AVP_10415_2602, 192), 4539 2604: ('Local-GW-Inserted-Indication', AVP_10415_2604, 192), 4540 2605: ('Transcoder-Inserted-Indication', AVP_10415_2605, 192), 4541 2606: ('PDP-Address-Prefix-Length', AVPV_Unsigned32, 192), 4542 2701: ('Transit-IOI-List', AVPV_StrLenField, 192), 4543 2702: ('AS-Code', AVP_10415_2702, 192), 4544 2704: ('NNI-Type', AVP_10415_2704, 192), 4545 2705: ('Neighbour-Node-Address', AVPV_Address, 192), 4546 2706: ('Relationship-Mode', AVP_10415_2706, 192), 4547 2707: ('Session-Direction', AVP_10415_2707, 192), 4548 2708: ('From-Address', AVPV_StrLenField, 192), 4549 2709: ('Access-Transfer-Information', AVPV_Grouped, 192), 4550 2710: ('Access-Transfer-Type', AVP_10415_2710, 192), 4551 2711: ('Related-IMS-Charging-Identifier', AVPV_StrLenField, 192), 4552 2712: ('Related-IMS-Charging-Identifier-Node', AVPV_Address, 192), 4553 2713: ('IMS-Visited-Network-Identifier', AVPV_StrLenField, 192), 4554 2714: ('TWAN-User-Location-Info', AVPV_Grouped, 192), 4555 2716: ('BSSID', AVPV_StrLenField, 192), 4556 2717: ('TAD-Identifier', AVP_10415_2717, 192), 4557 2802: ('TDF-Application-Instance-Identifier', AVPV_OctetString, 128), 4558 2804: ('HeNB-Local-IP-Address', AVPV_Address, 128), 4559 2805: ('UE-Local-IP-Address', AVPV_Address, 128), 4560 2806: ('UDP-Source-Port', AVPV_Unsigned32, 128), 4561 2809: ('Mute-Notification', AVP_10415_2809, 128), 4562 2810: ('Monitoring-Time', AVPV_Time, 128), 4563 2811: ('AN-GW-Status', AVP_10415_2811, 128), 4564 2812: ('User-Location-Info-Time', AVPV_Time, 128), 4565 2816: ('Default-QoS-Information', AVPV_Grouped, 128), 4566 2817: ('Default-QoS-Name', AVPV_StrLenField, 128), 4567 2818: ('Conditional-APN-Aggregate-Max-Bitrate', AVPV_Grouped, 128), 4568 2819: ('RAN-NAS-Release-Cause', AVPV_OctetString, 128), 4569 2820: ('Presence-Reporting-Area-Elements-List', AVPV_OctetString, 128), 4570 2821: ('Presence-Reporting-Area-Identifier', AVPV_OctetString, 128), 4571 2822: ('Presence-Reporting-Area-Information', AVPV_Grouped, 128), 4572 2823: ('Presence-Reporting-Area-Status', AVPV_Unsigned32, 128), 4573 2824: ('NetLoc-Access-Support', AVPV_Unsigned32, 128), 4574 2825: ('Fixed-User-Location-Info', AVPV_Grouped, 128), 4575 2826: ('PCSCF-Restoration-Indication', AVPV_Unsigned32, 128), 4576 2827: ('IP-CAN-Session-Charging-Scope', AVPV_Unsigned32, 128), 4577 2828: ('Monitoring-Flags', AVPV_Unsigned32, 128), 4578 2901: ('Policy-Counter-Identifier', AVPV_StrLenField, 192), 4579 2902: ('Policy-Counter-Status', AVPV_StrLenField, 192), 4580 2903: ('Policy-Counter-Status-Report', AVPV_Grouped, 192), 4581 2904: ('SL-Request-Type', AVP_10415_2904, 192), 4582 2905: ('Pending-Policy-Counter-Information', AVPV_Grouped, 192), 4583 2906: ('Pending-Policy-Counter-Change-Time', AVPV_Time, 192), 4584 3401: ('Reason-Header', AVPV_StrLenField, 192), 4585 3402: ('Instance-Id', AVPV_StrLenField, 192), 4586 3403: ('Route-Header-Received', AVPV_StrLenField, 192), 4587 3404: ('Route-Header-Transmitted', AVPV_StrLenField, 192), 4588 3405: ('SM-Device-Trigger-Information', AVPV_Grouped, 192), 4589 3406: ('MTC-IWF-Address', AVPV_Address, 192), 4590 3407: ('SM-Device-Trigger-Indicator', AVP_10415_3407, 192), 4591 3408: ('SM-Sequence-Number', AVPV_Unsigned32, 192), 4592 3409: ('SMS-Result', AVPV_Unsigned32, 192), 4593 3410: ('VCS-Information', AVPV_Grouped, 192), 4594 3411: ('Basic-Service-Code', AVPV_Grouped, 192), 4595 3412: ('Bearer-Capability', AVPV_OctetString, 192), 4596 3413: ('Teleservice', AVPV_OctetString, 192), 4597 3414: ('ISUP-Location-Number', AVPV_OctetString, 192), 4598 3415: ('Forwarding-Pending', AVP_10415_3415, 192), 4599 3416: ('ISUP-Cause', AVPV_Grouped, 192), 4600 3417: ('MSC-Address', AVPV_OctetString, 192), 4601 3418: ('Network-Call-Reference-Number', AVPV_OctetString, 192), 4602 3419: ('Start-of-Charging', AVPV_Time, 192), 4603 3420: ('VLR-Number', AVPV_OctetString, 192), 4604 3421: ('CN-Operator-Selection-Entity', AVP_10415_3421, 192), 4605 3422: ('ISUP-Cause-Diagnostics', AVPV_OctetString, 192), 4606 3423: ('ISUP-Cause-Location', AVPV_Unsigned32, 192), 4607 3424: ('ISUP-Cause-Value', AVPV_Unsigned32, 192), 4608 3425: ('ePDG-Address', AVPV_Address, 192), 4609 3428: ('Coverage-Status', AVP_10415_3428, 192), 4610 3429: ('Layer-2-Group-ID', AVPV_StrLenField, 192), 4611 3430: ('Monitored-PLMN-Identifier', AVPV_StrLenField, 192), 4612 3431: ('Monitoring-UE-HPLMN-Identifier', AVPV_StrLenField, 192), 4613 3432: ('Monitoring-UE-Identifier', AVPV_StrLenField, 192), 4614 3433: ('Monitoring-UE-VPLMN-Identifier', AVPV_StrLenField, 192), 4615 3434: ('PC3-Control-Protocol-Cause', AVPV_Integer32, 192), 4616 3435: ('PC3-EPC-Control-Protocol-Cause', AVPV_Integer32, 192), 4617 3436: ('Requested-PLMN-Identifier', AVPV_StrLenField, 192), 4618 3437: ('Requestor-PLMN-Identifier', AVPV_StrLenField, 192), 4619 3438: ('Role-Of-ProSe-Function', AVP_10415_3438, 192), 4620 3439: ('Usage-Information-Report-Sequence-Number', AVPV_Integer32, 192), # noqa: E501 4621 3440: ('ProSe-3rd-Party-Application-ID', AVPV_StrLenField, 192), 4622 3441: ('ProSe-Direct-Communication-Data-Container', AVPV_Grouped, 192), 4623 3442: ('ProSe-Direct-Discovery-Model', AVP_10415_3442, 192), 4624 3443: ('ProSe-Event-Type', AVP_10415_3443, 192), 4625 3444: ('ProSe-Function-IP-Address', AVPV_Address, 192), 4626 3445: ('ProSe-Functionality', AVP_10415_3445, 192), 4627 3446: ('ProSe-Group-IP-Multicast-Address', AVPV_Address, 192), 4628 3447: ('ProSe-Information', AVPV_Grouped, 192), 4629 3448: ('ProSe-Range-Class', AVP_10415_3448, 192), 4630 3449: ('ProSe-Reason-For-Cancellation', AVP_10415_3449, 192), 4631 3450: ('ProSe-Request-Timestamp', AVPV_Time, 192), 4632 3451: ('ProSe-Role-Of-UE', AVP_10415_3451, 192), 4633 3452: ('ProSe-Source-IP-Address', AVPV_Address, 192), 4634 3453: ('ProSe-UE-ID', AVPV_StrLenField, 192), 4635 3454: ('Proximity-Alert-Indication', AVP_10415_3454, 192), 4636 3455: ('Proximity-Alert-Timestamp', AVPV_Time, 192), 4637 3456: ('Proximity-Cancellation-Timestamp', AVPV_Time, 192), 4638 3457: ('ProSe-Function-PLMN-Identifier', AVPV_StrLenField, 192), 4639 }, 4640} 4641 4642 4643##################################################################### 4644##################################################################### 4645# 4646# Diameter commands classes and definitions 4647# 4648##################################################################### 4649##################################################################### 4650 4651# Version + message length + flags + code + Application-ID + Hop-by-Hop ID 4652# + End-to-End ID 4653DR_Header_Length = 20 4654DR_Flags_List = ["x", "x", "x", "x", "T", "E", "P", "R"] 4655 4656# The Diameter commands definition fields meaning: 4657# 2nd: the 2 letters prefix for both requests and answers 4658# 3rd: dictionary of Request/Answer command flags for each supported application ID. Each dictionary key is one of the # noqa: E501 4659# supported application ID and each value is a tuple defining the request 4660# flag and then the answer flag 4661DR_cmd_def = { 4662 257: ('Capabilities-Exchange', 'CE', {0: (128, 0)}), 4663 258: ('Re-Auth', 'RA', {0: (192, 64), 1: (192, 64), 16777250: (192, 64), 16777272: (192, 64), 16777264: (192, 64)}), # noqa: E501 4664 260: ('AA-Mobile-Node', 'AM', {2: (192, 64)}), 4665 262: ('Home-Agent-MIP', 'HA', {2: (192, 64)}), 4666 265: ('AA', 'AA', {16777272: (192, 64), 1: (192, 64), 16777250: (192, 64), 16777264: (192, 64)}), # noqa: E501 4667 268: ('Diameter-EAP', 'DE', {16777272: (192, 64), 16777264: (192, 64), 16777250: (192, 64), 5: (192, 64), 7: (192, 64)}), # noqa: E501 4668 271: ('Accounting', 'AC', {0: (192, 64), 1: (192, 64)}), 4669 272: ('Credit-Control', 'CC', {4: (192, 64)}), 4670 274: ('Abort-Session', 'AS', {0: (192, 64), 1: (192, 64), 16777250: (192, 64), 16777272: (192, 64), 16777264: (192, 64)}), # noqa: E501 4671 275: ('Session-Termination', 'ST', {0: (192, 64), 1: (192, 64), 16777250: (192, 64), 16777264: (192, 64), 16777272: (192, 64)}), # noqa: E501 4672 280: ('Device-Watchdog', 'DW', {0: (128, 0)}), 4673 282: ('Disconnect-Peer', 'DP', {0: (128, 0)}), 4674 283: ('User-Authorization', 'UA', {6: (192, 64)}), 4675 284: ('Server-Assignment', 'SA', {6: (192, 64)}), 4676 285: ('Location-Info', 'LI', {6: (192, 64)}), 4677 286: ('Multimedia-Auth', 'MA', {6: (192, 64)}), 4678 287: ('Registration-Termination', 'RT', {6: (192, 64)}), 4679 288: ('Push-Profile', 'PP', {6: (192, 64)}), 4680 300: ('User-Authorization', 'UA', {16777216: (192, 64)}), 4681 301: ('Server-Assignment', 'SA', {16777216: (192, 64), 16777265: (192, 64)}), # noqa: E501 4682 302: ('Location-Info', 'LI', {16777216: (192, 64)}), 4683 303: ('Multimedia-Auth', 'MA', {16777216: (192, 64), 16777265: (192, 64)}), 4684 304: ('Registration-Termination', 'RT', {16777216: (192, 64), 16777265: (192, 64)}), # noqa: E501 4685 305: ('Push-Profile', 'PP', {16777216: (192, 64), 16777265: (128, 64)}), 4686 306: ('User-Data', 'UD', {16777217: (192, 64)}), 4687 307: ('Profile-Update', 'PU', {16777217: (192, 64)}), 4688 308: ('Subscribe-Notifications', 'SN', {16777217: (192, 64)}), 4689 309: ('Push-Notification', 'PN', {16777217: (192, 64)}), 4690 316: ('Update-Location', 'UL', {16777251: (192, 64)}), 4691 317: ('Cancel-Location', 'CL', {16777251: (192, 64)}), 4692 318: ('Authentication-Information', 'AI', {16777251: (192, 64)}), 4693 319: ('Insert-Subscriber-Data', 'ID', {16777251: (192, 64)}), 4694 320: ('Delete-Subscriber-Data', 'DS', {16777251: (192, 64)}), 4695 321: ('Purge-UE', 'PU', {16777251: (192, 64)}), 4696 322: ('Reset', 'RS', {16777251: (192, 64)}), 4697 323: ('Notify', 'NO', {16777251: (192, 64)}), 4698 324: ('ME-Identity-Check', 'EC', {16777252: (192, 64)}), 4699 325: ('MIP6', 'MI', {8: (192, 64)}), 4700 8388620: ('Provide-Location', 'PL', {16777255: (192, 64)}), 4701 8388621: ('Location-Report', 'LR', {16777255: (192, 64)}), 4702 8388622: ('LCS-Routing-Info', 'RI', {16777291: (192, 64)}), 4703 8388635: ('Spending-Limit', 'SL', {16777255: (192, 64)}), 4704 8388636: ('Spending-Status-Notification', 'SN', {16777255: (192, 64)}), 4705 8388638: ('Update-VCSG-Location', 'UV', {16777308: (192, 64)}), 4706 8388642: ('Cancel-VCSG-Location', 'CV', {16777308: (192, 64)}), 4707} 4708 4709# Generic class + commands builder 4710####################################### 4711 4712 4713class DiamG (Packet): 4714 """ Generic class defining all the Diameter fields""" 4715 name = "Diameter" 4716 fields_desc = [ 4717 # Protocol version field, 1 byte, default value = 1 4718 XByteField("version", 1), 4719 I3FieldLenField( 4720 "drLen", 4721 None, 4722 length_of="avpList", 4723 adjust=lambda p, 4724 x:x + 4725 DR_Header_Length), 4726 DRFlags("drFlags", None, 8, DR_Flags_List), 4727 # Command Code, 3 bytes, no default 4728 DRCode("drCode", None, DR_cmd_def), 4729 # Application ID, 4 bytes, no default 4730 IntEnumField("drAppId", None, AppIDsEnum), 4731 # Hop-by-Hop Identifier, 4 bytes 4732 XIntField("drHbHId", 0), 4733 # End-to-end Identifier, 4 bytes 4734 XIntField("drEtEId", 0), 4735 PacketListField( 4736 "avpList", 4737 [], 4738 GuessAvpType, 4739 length_from=lambda pkt:pkt.drLen - 4740 DR_Header_Length), 4741 ] 4742 4743 4744def getCmdParams(cmd, request, **fields): 4745 """Update or fill the fields parameters depending on command code. Both cmd and drAppId can be provided # noqa: E501 4746 in string or int format.""" 4747 drCode = None 4748 params = None 4749 drAppId = None 4750 # Fetch the parameters if cmd is found in dict 4751 if isinstance(cmd, int): 4752 drCode = cmd # Enable to craft commands with non standard code 4753 if cmd in DR_cmd_def: 4754 params = DR_cmd_def[drCode] 4755 else: 4756 params = ('Unknown', 'UK', {0: (128, 0)}) 4757 warning( 4758 'No Diameter command with code %d found in DR_cmd_def dictionary' % # noqa: E501 4759 cmd) 4760 else: # Assume command is a string 4761 if len(cmd) > 3: # Assume full command name given 4762 fpos = 0 4763 else: # Assume abbreviated name is given and take only the first two letters # noqa: E501 4764 cmd = cmd[:2] 4765 fpos = 1 4766 for k, f in DR_cmd_def.items(): 4767 if f[fpos][:len( 4768 cmd)] == cmd: # Accept only a prefix of the full name 4769 drCode = k 4770 params = f 4771 break 4772 if not drCode: 4773 warning( 4774 'Diameter command with name %s not found in DR_cmd_def dictionary.' % # noqa: E501 4775 cmd) 4776 return (fields, 'Unknown') 4777 # The drCode is set/overridden in any case 4778 fields['drCode'] = drCode 4779 # Processing of drAppId 4780 if 'drAppId' in fields: 4781 val = fields['drAppId'] 4782 if isinstance(val, str): # Translate into application Id code 4783 found = False 4784 for k, v in six.iteritems(AppIDsEnum): 4785 if v.find(val) != -1: 4786 drAppId = k 4787 fields['drAppId'] = drAppId 4788 found = True 4789 break 4790 if not found: 4791 del(fields['drAppId']) 4792 warning( 4793 'Application ID with name %s not found in AppIDsEnum dictionary.' % # noqa: E501 4794 val) 4795 return (fields, 'Unknown') 4796 else: # Assume type is int 4797 drAppId = val 4798 else: # Application Id shall be taken from the params found based on cmd 4799 drAppId = next(iter(params[2])) # The first record is taken 4800 fields['drAppId'] = drAppId 4801 # Set the command name 4802 name = params[0] + '-Request' if request else params[0] + '-Answer' 4803 # Processing of flags (only if not provided manually) 4804 if 'drFlags' not in fields: 4805 if drAppId in params[2]: 4806 flags = params[2][drAppId] 4807 fields['drFlags'] = flags[0] if request else flags[1] 4808 return (fields, name) 4809 4810 4811def DiamReq(cmd, **fields): 4812 """Craft Diameter request commands""" 4813 upfields, name = getCmdParams(cmd, True, **fields) 4814 p = DiamG(**upfields) 4815 p.name = name 4816 return p 4817 4818 4819def DiamAns(cmd, **fields): 4820 """Craft Diameter answer commands""" 4821 upfields, name = getCmdParams(cmd, False, **fields) 4822 p = DiamG(**upfields) 4823 p.name = name 4824 return p 4825 4826# Binding 4827####################################### 4828 4829 4830bind_layers(TCP, DiamG, dport=3868) 4831bind_layers(TCP, DiamG, sport=3868) 4832bind_layers(SCTPChunkData, DiamG, dport=3868) 4833bind_layers(SCTPChunkData, DiamG, sport=3868) 4834bind_layers(SCTPChunkData, DiamG, proto_id=46) 4835bind_layers(SCTPChunkData, DiamG, proto_id=47) 4836