Changeset 1534:c83e60f28632 in freeDiameter
- Timestamp:
- Apr 20, 2020, 11:12:42 AM (4 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/dict_dcca_3gpp/dict_dcca_3gpp.c
r1532 r1534 98 98 99 99 struct local_rules_definition { 100 struct dict_avp_request avp_vendor_plus_name; 100 vendor_id_t vendor; 101 char * name; 101 102 enum rule_position position; 102 103 int min; … … 110 111 int __ar; \ 111 112 for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \ 113 struct dict_avp_request __avp = { \ 114 .avp_vendor = (_rulearray)[__ar].vendor, \ 115 .avp_name = (_rulearray)[__ar].name, \ 116 }; \ 112 117 struct dict_rule_data __data = { NULL, \ 113 118 (_rulearray)[__ar].position, \ … … 120 125 DICT_AVP, \ 121 126 AVP_BY_NAME_AND_VENDOR, \ 122 & (_rulearray)[__ar].avp_vendor_plus_name,\127 &__avp, \ 123 128 &__data.rule_avp, 0 ) ); \ 124 129 if ( !__data.rule_avp ) { \ 125 LOG_E( "AVP Not found: '%s'", (_rulearray)[__ar].avp_vendor_plus_name.avp_name);\130 LOG_E( "AVP Not found: '%s'", __avp.avp_name); \ 126 131 return ENOENT; \ 127 132 } \ 128 133 CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \ 129 134 { \ 130 LOG_E( "Error on rule with AVP '%s'", \ 131 (_rulearray)[__ar].avp_vendor_plus_name.avp_name); \ 135 LOG_E( "Error on rule with AVP '%s'", __avp.avp_name); \ 132 136 return EINVAL; \ 133 137 } ); \ … … 360 364 struct local_rules_definition rules[] = 361 365 { 362 { { .avp_vendor = 10415, .avp_name = "Priority-Level" },RULE_REQUIRED, -1, 1 },363 { { .avp_vendor = 10415, .avp_name = "Pre-emption-Capability" },RULE_OPTIONAL, -1, 1 },364 { { .avp_vendor = 10415, .avp_name = "Pre-emption-Vulnerability" },RULE_OPTIONAL, -1, 1 },366 { 10415, "Priority-Level", RULE_REQUIRED, -1, 1 }, 367 { 10415, "Pre-emption-Capability", RULE_OPTIONAL, -1, 1 }, 368 { 10415, "Pre-emption-Vulnerability", RULE_OPTIONAL, -1, 1 }, 365 369 }; 366 370 PARSE_loc_rules(rules, rule_avp); … … 375 379 struct local_rules_definition rules[] = 376 380 { 377 { { .avp_vendor = 10415, .avp_name = "QoS-Class-Identifier" },RULE_OPTIONAL, -1, 1 },378 { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-UL" },RULE_OPTIONAL, -1, 1 },379 { { .avp_vendor = 10415, .avp_name = "Max-Requested-Bandwidth-DL" },RULE_OPTIONAL, -1, 1 },380 { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-UL" },RULE_OPTIONAL, -1, 1 },381 { { .avp_vendor = 10415, .avp_name = "Guaranteed-Bitrate-DL" },RULE_OPTIONAL, -1, 1 },382 { { .avp_vendor = 10415, .avp_name = "Bearer-Identifier" },RULE_OPTIONAL, -1, 1 },383 { { .avp_vendor = 10415, .avp_name = "Allocation-Retention-Priority" },RULE_OPTIONAL, -1, 1 },384 { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-UL" },RULE_OPTIONAL, -1, 1 },385 { { .avp_vendor = 10415, .avp_name = "APN-Aggregate-Max-Bitrate-DL" },RULE_OPTIONAL, -1, 1 },381 { 10415, "QoS-Class-Identifier", RULE_OPTIONAL, -1, 1 }, 382 { 10415, "Max-Requested-Bandwidth-UL", RULE_OPTIONAL, -1, 1 }, 383 { 10415, "Max-Requested-Bandwidth-DL", RULE_OPTIONAL, -1, 1 }, 384 { 10415, "Guaranteed-Bitrate-UL", RULE_OPTIONAL, -1, 1 }, 385 { 10415, "Guaranteed-Bitrate-DL", RULE_OPTIONAL, -1, 1 }, 386 { 10415, "Bearer-Identifier", RULE_OPTIONAL, -1, 1 }, 387 { 10415, "Allocation-Retention-Priority", RULE_OPTIONAL, -1, 1 }, 388 { 10415, "APN-Aggregate-Max-Bitrate-UL", RULE_OPTIONAL, -1, 1 }, 389 { 10415, "APN-Aggregate-Max-Bitrate-DL", RULE_OPTIONAL, -1, 1 }, 386 390 }; 387 391 PARSE_loc_rules(rules, rule_avp); … … 396 400 struct local_rules_definition rules[] = 397 401 { 398 { { .avp_vendor = 10415, .avp_name = "AoC-Request-Type"},RULE_OPTIONAL, -1, 1 },399 { { .avp_vendor = 10415, .avp_name = "Service-Information"},RULE_OPTIONAL, -1, 1 },402 { 10415, "AoC-Request-Type", RULE_OPTIONAL, -1, 1 }, 403 { 10415, "Service-Information", RULE_OPTIONAL, -1, 1 }, 400 404 }; 401 405 PARSE_loc_rules(rules, ccr); … … 408 412 struct local_rules_definition rules[] = 409 413 { 410 { { .avp_vendor = 10415, .avp_name = "Low-Balance-Indication"},RULE_OPTIONAL, -1, 1 },411 { { .avp_vendor = 10415, .avp_name = "Remaining-Balance"},RULE_OPTIONAL, -1, 1 },412 { { .avp_vendor = 10415, .avp_name = "Service-Information"},RULE_OPTIONAL, -1, 1 },414 { 10415, "Low-Balance-Indication", RULE_OPTIONAL, -1, 1 }, 415 { 10415, "Remaining-Balance", RULE_OPTIONAL, -1, 1 }, 416 { 10415, "Service-Information", RULE_OPTIONAL, -1, 1 }, 413 417 }; 414 418 PARSE_loc_rules(rules, ccr); … … 423 427 struct local_rules_definition rules[] = 424 428 { 425 { { .avp_vendor = 10415, .avp_name = "Domain-Name" },RULE_OPTIONAL, -1, 1 },426 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC" },RULE_OPTIONAL, -1, 1 },429 { 10415, "Domain-Name", RULE_OPTIONAL, -1, 1 }, 430 { 10415, "3GPP-IMSI-MCC-MNC", RULE_OPTIONAL, -1, 1 }, 427 431 }; 428 432 PARSE_loc_rules(rules, rule_avp); … … 437 441 struct local_rules_definition rules[] = 438 442 { 439 { { .avp_vendor = 10415, .avp_name = "Application-Server" },RULE_REQUIRED, -1, 1 },440 { { .avp_vendor = 10415, .avp_name = "Application-Provided-Called-Party-Address" },RULE_OPTIONAL, -1, -1 },443 { 10415, "Application-Server", RULE_REQUIRED, -1, 1 }, 444 { 10415, "Application-Provided-Called-Party-Address", RULE_OPTIONAL, -1, -1 }, 441 445 }; 442 446 PARSE_loc_rules(rules, rule_avp); … … 451 455 struct local_rules_definition rules[] = 452 456 { 453 { { .avp_vendor = 10415, .avp_name = "Interface-Id" },RULE_OPTIONAL, -1, 1 },454 { { .avp_vendor = 10415, .avp_name = "Interface-Text" },RULE_OPTIONAL, -1, 1 },455 { { .avp_vendor = 10415, .avp_name = "Interface-Port" },RULE_OPTIONAL, -1, 1 },456 { { .avp_vendor = 10415, .avp_name = "Interface-Type" },RULE_OPTIONAL, -1, 1 },457 { 10415, "Interface-Id", RULE_OPTIONAL, -1, 1 }, 458 { 10415, "Interface-Text", RULE_OPTIONAL, -1, 1 }, 459 { 10415, "Interface-Port", RULE_OPTIONAL, -1, 1 }, 460 { 10415, "Interface-Type", RULE_OPTIONAL, -1, 1 }, 457 461 }; 458 462 PARSE_loc_rules(rules, rule_avp); … … 467 471 struct local_rules_definition rules[] = 468 472 { 469 { { .avp_vendor = 10415, .avp_name = "Envelope-Start-Time" },RULE_REQUIRED, -1, 1 },470 { { .avp_vendor = 10415, .avp_name = "Envelope-End-Time" },RULE_OPTIONAL, -1, 1 },471 { { .avp_vendor = 0, .avp_name = "CC-Total-Octets" },RULE_REQUIRED, -1, 1 },472 { { .avp_vendor = 0, .avp_name = "CC-Input-Octets" },RULE_OPTIONAL, -1, 1 },473 { { .avp_vendor = 0, .avp_name = "CC-Output-Octets" },RULE_OPTIONAL, -1, 1 },474 { { .avp_vendor = 0, .avp_name = "CC-Service-Specific-Units" },RULE_OPTIONAL, -1, 1 },473 { 10415, "Envelope-Start-Time", RULE_REQUIRED, -1, 1 }, 474 { 10415, "Envelope-End-Time", RULE_OPTIONAL, -1, 1 }, 475 { 0, "CC-Total-Octets", RULE_REQUIRED, -1, 1 }, 476 { 0, "CC-Input-Octets", RULE_OPTIONAL, -1, 1 }, 477 { 0, "CC-Output-Octets", RULE_OPTIONAL, -1, 1 }, 478 { 0, "CC-Service-Specific-Units", RULE_OPTIONAL, -1, 1 }, 475 479 }; 476 480 PARSE_loc_rules(rules, rule_avp); … … 485 489 struct local_rules_definition rules[] = 486 490 { 487 { { .avp_vendor = 10415, .avp_name = "SIP-Method" },RULE_OPTIONAL, -1, 1 },488 { { .avp_vendor = 10415, .avp_name = "Event" },RULE_OPTIONAL, -1, 1 },489 { { .avp_vendor = 10415, .avp_name = "Expires" },RULE_OPTIONAL, -1, 1 },491 { 10415, "SIP-Method", RULE_OPTIONAL, -1, 1 }, 492 { 10415, "Event", RULE_OPTIONAL, -1, 1 }, 493 { 10415, "Expires", RULE_OPTIONAL, -1, 1 }, 490 494 }; 491 495 PARSE_loc_rules(rules, rule_avp); … … 500 504 struct local_rules_definition rules[] = 501 505 { 502 { { .avp_vendor = 10415, .avp_name = "Event-Type" },RULE_OPTIONAL, -1, 1 },503 { { .avp_vendor = 10415, .avp_name = "Role-Of-Node" },RULE_OPTIONAL, -1, 1 },504 { { .avp_vendor = 10415, .avp_name = "Node-Functionality" },RULE_REQUIRED, -1, 1 },505 { { .avp_vendor = 10415, .avp_name = "User-Session-Id" },RULE_OPTIONAL, -1, 1 },506 { { .avp_vendor = 10415, .avp_name = "Outgoing-Session-Id" },RULE_OPTIONAL, -1, 1 },507 { { .avp_vendor = 10415, .avp_name = "Session-Priority" },RULE_OPTIONAL, -1, 1 },508 { { .avp_vendor = 10415, .avp_name = "Calling-Party-Address" },RULE_OPTIONAL, -1, -1 },509 { { .avp_vendor = 10415, .avp_name = "Called-Party-Address" },RULE_OPTIONAL, -1, 1 },510 { { .avp_vendor = 10415, .avp_name = "Called-Asserted-Identity" },RULE_OPTIONAL, -1, -1 },511 { { .avp_vendor = 10415, .avp_name = "Number-Portability-Routing-Information" },RULE_OPTIONAL, -1, 1 },512 { { .avp_vendor = 10415, .avp_name = "Carrier-Select-Routing-Information" },RULE_OPTIONAL, -1, 1 },513 { { .avp_vendor = 10415, .avp_name = "Alternate-Charged-Party-Address" },RULE_OPTIONAL, -1, 1 },514 { { .avp_vendor = 10415, .avp_name = "Requested-Party-Address" },RULE_OPTIONAL, -1, -1 },515 { { .avp_vendor = 10415, .avp_name = "Associated-URI" },RULE_OPTIONAL, -1, -1 },516 { { .avp_vendor = 10415, .avp_name = "Time-Stamps" },RULE_OPTIONAL, -1, 1 },517 { { .avp_vendor = 10415, .avp_name = "Application-Server-Information" },RULE_OPTIONAL, -1, -1 },518 { { .avp_vendor = 10415, .avp_name = "Inter-Operator-Identifier" },RULE_OPTIONAL, -1, -1 },519 { { .avp_vendor = 10415, .avp_name = "Transit-IOI-List" },RULE_OPTIONAL, -1, 1 },520 { { .avp_vendor = 10415, .avp_name = "IMS-Charging-Identifier" },RULE_OPTIONAL, -1, 1 },521 { { .avp_vendor = 10415, .avp_name = "SDP-Session-Description" },RULE_OPTIONAL, -1, -1 },522 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Component" },RULE_OPTIONAL, -1, -1 },523 { { .avp_vendor = 10415, .avp_name = "Served-Party-IP-Address" },RULE_OPTIONAL, -1, 1 },524 { { .avp_vendor = 10415, .avp_name = "Server-Capabilities" },RULE_OPTIONAL, -1, 1 },525 { { .avp_vendor = 10415, .avp_name = "Trunk-Group-Id" },RULE_OPTIONAL, -1, 1 },526 { { .avp_vendor = 10415, .avp_name = "Bearer-Service" },RULE_OPTIONAL, -1, 1 },527 { { .avp_vendor = 10415, .avp_name = "Service-Id" },RULE_OPTIONAL, -1, 1 },528 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info" },RULE_OPTIONAL, -1, -1 },529 { { .avp_vendor = 10415, .avp_name = "Message-Body" },RULE_OPTIONAL, -1, -1 },530 { { .avp_vendor = 10415, .avp_name = "Cause-Code" },RULE_OPTIONAL, -1, 1 },531 { { .avp_vendor = 10415, .avp_name = "Access-Network-Information" },RULE_OPTIONAL, -1, 1 },532 { { .avp_vendor = 10415, .avp_name = "Early-Media-Description" },RULE_OPTIONAL, -1, -1 },533 { { .avp_vendor = 10415, .avp_name = "IMS-Communication-Service-Identifier" },RULE_OPTIONAL, -1, 1 },534 { { .avp_vendor = 10415, .avp_name = "IMS-Application-Reference-Identifier" },RULE_OPTIONAL, -1, 1 },535 { { .avp_vendor = 10415, .avp_name = "Online-Charging-Flag" },RULE_OPTIONAL, -1, 1 },536 { { .avp_vendor = 10415, .avp_name = "Real-Time-Tariff-Information" },RULE_OPTIONAL, -1, 1 },537 { { .avp_vendor = 10415, .avp_name = "Account-Expiration" },RULE_OPTIONAL, -1, 1 },538 { { .avp_vendor = 10415, .avp_name = "Initial-IMS-Charging-Identifier" },RULE_OPTIONAL, -1, 1 },539 { { .avp_vendor = 10415, .avp_name = "NNI-Information" },RULE_OPTIONAL, -1, -1 },540 { { .avp_vendor = 10415, .avp_name = "From-Address" },RULE_OPTIONAL, -1, 1 },541 { { .avp_vendor = 10415, .avp_name = "IMS-Emergency-Indicator" },RULE_OPTIONAL, -1, 1 },542 { { .avp_vendor = 10415, .avp_name = "Access-Transfer-Information" },RULE_OPTIONAL, -1, -1 },506 { 10415, "Event-Type", RULE_OPTIONAL, -1, 1 }, 507 { 10415, "Role-Of-Node", RULE_OPTIONAL, -1, 1 }, 508 { 10415, "Node-Functionality", RULE_REQUIRED, -1, 1 }, 509 { 10415, "User-Session-Id", RULE_OPTIONAL, -1, 1 }, 510 { 10415, "Outgoing-Session-Id", RULE_OPTIONAL, -1, 1 }, 511 { 10415, "Session-Priority", RULE_OPTIONAL, -1, 1 }, 512 { 10415, "Calling-Party-Address", RULE_OPTIONAL, -1, -1 }, 513 { 10415, "Called-Party-Address", RULE_OPTIONAL, -1, 1 }, 514 { 10415, "Called-Asserted-Identity", RULE_OPTIONAL, -1, -1 }, 515 { 10415, "Number-Portability-Routing-Information", RULE_OPTIONAL, -1, 1 }, 516 { 10415, "Carrier-Select-Routing-Information", RULE_OPTIONAL, -1, 1 }, 517 { 10415, "Alternate-Charged-Party-Address", RULE_OPTIONAL, -1, 1 }, 518 { 10415, "Requested-Party-Address", RULE_OPTIONAL, -1, -1 }, 519 { 10415, "Associated-URI", RULE_OPTIONAL, -1, -1 }, 520 { 10415, "Time-Stamps", RULE_OPTIONAL, -1, 1 }, 521 { 10415, "Application-Server-Information", RULE_OPTIONAL, -1, -1 }, 522 { 10415, "Inter-Operator-Identifier", RULE_OPTIONAL, -1, -1 }, 523 { 10415, "Transit-IOI-List", RULE_OPTIONAL, -1, 1 }, 524 { 10415, "IMS-Charging-Identifier", RULE_OPTIONAL, -1, 1 }, 525 { 10415, "SDP-Session-Description", RULE_OPTIONAL, -1, -1 }, 526 { 10415, "SDP-Media-Component", RULE_OPTIONAL, -1, -1 }, 527 { 10415, "Served-Party-IP-Address", RULE_OPTIONAL, -1, 1 }, 528 { 10415, "Server-Capabilities", RULE_OPTIONAL, -1, 1 }, 529 { 10415, "Trunk-Group-Id", RULE_OPTIONAL, -1, 1 }, 530 { 10415, "Bearer-Service", RULE_OPTIONAL, -1, 1 }, 531 { 10415, "Service-Id", RULE_OPTIONAL, -1, 1 }, 532 { 10415, "Service-Specific-Info", RULE_OPTIONAL, -1, -1 }, 533 { 10415, "Message-Body", RULE_OPTIONAL, -1, -1 }, 534 { 10415, "Cause-Code", RULE_OPTIONAL, -1, 1 }, 535 { 10415, "Access-Network-Information", RULE_OPTIONAL, -1, 1 }, 536 { 10415, "Early-Media-Description", RULE_OPTIONAL, -1, -1 }, 537 { 10415, "IMS-Communication-Service-Identifier",RULE_OPTIONAL, -1, 1 }, 538 { 10415, "IMS-Application-Reference-Identifier",RULE_OPTIONAL, -1, 1 }, 539 { 10415, "Online-Charging-Flag", RULE_OPTIONAL, -1, 1 }, 540 { 10415, "Real-Time-Tariff-Information", RULE_OPTIONAL, -1, 1 }, 541 { 10415, "Account-Expiration", RULE_OPTIONAL, -1, 1 }, 542 { 10415, "Initial-IMS-Charging-Identifier", RULE_OPTIONAL, -1, 1 }, 543 { 10415, "NNI-Information", RULE_OPTIONAL, -1, -1 }, 544 { 10415, "From-Address", RULE_OPTIONAL, -1, 1 }, 545 { 10415, "IMS-Emergency-Indicator", RULE_OPTIONAL, -1, 1 }, 546 { 10415, "Access-Transfer-Information", RULE_OPTIONAL, -1, -1 }, 543 547 }; 544 548 PARSE_loc_rules(rules, rule_avp); … … 553 557 struct local_rules_definition rules[] = 554 558 { 555 { { .avp_vendor = 10415, .avp_name = "Class-Identifier" },RULE_OPTIONAL, -1, 1 },556 { { .avp_vendor = 10415, .avp_name = "Token-Text" },RULE_OPTIONAL, -1, 1 },559 { 10415, "Class-Identifier", RULE_OPTIONAL, -1, 1 }, 560 { 10415, "Token-Text", RULE_OPTIONAL, -1, 1 }, 557 561 }; 558 562 PARSE_loc_rules(rules, rule_avp); … … 567 571 struct local_rules_definition rules[] = 568 572 { 569 { { .avp_vendor = 10415, .avp_name = "Originator-Address" },RULE_OPTIONAL, -1, 1 },570 { { .avp_vendor = 10415, .avp_name = "Recipient-Address" },RULE_OPTIONAL, -1, -1 },571 { { .avp_vendor = 10415, .avp_name = "Submission-Time" },RULE_OPTIONAL, -1, 1 },572 { { .avp_vendor = 10415, .avp_name = "MM-Content-Type" },RULE_OPTIONAL, -1, 1 },573 { { .avp_vendor = 10415, .avp_name = "Priority" },RULE_OPTIONAL, -1, -1 },574 { { .avp_vendor = 10415, .avp_name = "Message-ID" },RULE_OPTIONAL, -1, 1 },575 { { .avp_vendor = 10415, .avp_name = "Message-Type" },RULE_OPTIONAL, -1, 1 },576 { { .avp_vendor = 10415, .avp_name = "Message-Size" },RULE_OPTIONAL, -1, 1 },577 { { .avp_vendor = 10415, .avp_name = "Message-Class" },RULE_OPTIONAL, -1, 1 },578 { { .avp_vendor = 10415, .avp_name = "Delivery-Report-Requested" },RULE_OPTIONAL, -1, 1 },579 { { .avp_vendor = 10415, .avp_name = "Read-Reply-Report-Requested" },RULE_OPTIONAL, -1, 1 },580 { { .avp_vendor = 10415, .avp_name = "MMBox-Storage-Requested" },RULE_OPTIONAL, -1, 1 },581 { { .avp_vendor = 10415, .avp_name = "Applic-ID" },RULE_OPTIONAL, -1, 1 },582 { { .avp_vendor = 10415, .avp_name = "Reply-Applic-ID" },RULE_OPTIONAL, -1, 1 },583 { { .avp_vendor = 10415, .avp_name = "Aux-Applic-Info" },RULE_OPTIONAL, -1, 1 },584 { { .avp_vendor = 10415, .avp_name = "Content-Class" },RULE_OPTIONAL, -1, 1 },585 { { .avp_vendor = 10415, .avp_name = "DRM-Content" },RULE_OPTIONAL, -1, 1 },586 { { .avp_vendor = 10415, .avp_name = "Adaptations" },RULE_OPTIONAL, -1, 1 },587 { { .avp_vendor = 10415, .avp_name = "VASP-ID" },RULE_OPTIONAL, -1, 1 },588 { { .avp_vendor = 10415, .avp_name = "VAS-ID" },RULE_OPTIONAL, -1, 1 },573 { 10415, "Originator-Address", RULE_OPTIONAL, -1, 1 }, 574 { 10415, "Recipient-Address", RULE_OPTIONAL, -1, -1 }, 575 { 10415, "Submission-Time", RULE_OPTIONAL, -1, 1 }, 576 { 10415, "MM-Content-Type", RULE_OPTIONAL, -1, 1 }, 577 { 10415, "Priority", RULE_OPTIONAL, -1, -1 }, 578 { 10415, "Message-ID", RULE_OPTIONAL, -1, 1 }, 579 { 10415, "Message-Type", RULE_OPTIONAL, -1, 1 }, 580 { 10415, "Message-Size", RULE_OPTIONAL, -1, 1 }, 581 { 10415, "Message-Class", RULE_OPTIONAL, -1, 1 }, 582 { 10415, "Delivery-Report-Requested", RULE_OPTIONAL, -1, 1 }, 583 { 10415, "Read-Reply-Report-Requested", RULE_OPTIONAL, -1, 1 }, 584 { 10415, "MMBox-Storage-Requested", RULE_OPTIONAL, -1, 1 }, 585 { 10415, "Applic-ID", RULE_OPTIONAL, -1, 1 }, 586 { 10415, "Reply-Applic-ID", RULE_OPTIONAL, -1, 1 }, 587 { 10415, "Aux-Applic-Info", RULE_OPTIONAL, -1, 1 }, 588 { 10415, "Content-Class", RULE_OPTIONAL, -1, 1 }, 589 { 10415, "DRM-Content", RULE_OPTIONAL, -1, 1 }, 590 { 10415, "Adaptations", RULE_OPTIONAL, -1, 1 }, 591 { 10415, "VASP-ID", RULE_OPTIONAL, -1, 1 }, 592 { 10415, "VAS-ID", RULE_OPTIONAL, -1, 1 }, 589 593 }; 590 594 PARSE_loc_rules(rules, rule_avp); … … 601 605 struct local_rules_definition rules[] = 602 606 { 603 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Threshold" },RULE_OPTIONAL, -1, 1 },604 { { .avp_vendor = 10415, .avp_name = "Volume-Quota-Threshold" },RULE_OPTIONAL, -1, 1 },605 { { .avp_vendor = 10415, .avp_name = "Unit-Quota-Threshold" },RULE_OPTIONAL, -1, 1 },606 { { .avp_vendor = 10415, .avp_name = "Quota-Holding-Time" },RULE_OPTIONAL, -1, 1 },607 { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time" },RULE_OPTIONAL, -1, 1 },608 { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" },RULE_OPTIONAL, -1, -1 },609 { { .avp_vendor = 10415, .avp_name = "Trigger" },RULE_OPTIONAL, -1, 1 },610 { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" },RULE_OPTIONAL, -1, 1 },611 { { .avp_vendor = 10415, .avp_name = "Refund-Information" },RULE_OPTIONAL, -1, 1 },612 { { .avp_vendor = 10415, .avp_name = "AF-Correlation-Information" },RULE_OPTIONAL, -1, -1 },613 { { .avp_vendor = 10415, .avp_name = "Envelope" },RULE_OPTIONAL, -1, -1 },614 { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting" },RULE_OPTIONAL, -1, 1 },615 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism" },RULE_OPTIONAL, -1, 1 },616 { { .avp_vendor = 10415, .avp_name = "Service-Specific-Info" },RULE_OPTIONAL, -1, -1 },617 { { .avp_vendor = 10415, .avp_name = "QoS-Information" },RULE_OPTIONAL, -1, 1 },607 { 10415, "Time-Quota-Threshold", RULE_OPTIONAL, -1, 1 }, 608 { 10415, "Volume-Quota-Threshold", RULE_OPTIONAL, -1, 1 }, 609 { 10415, "Unit-Quota-Threshold", RULE_OPTIONAL, -1, 1 }, 610 { 10415, "Quota-Holding-Time", RULE_OPTIONAL, -1, 1 }, 611 { 10415, "Quota-Consumption-Time", RULE_OPTIONAL, -1, 1 }, 612 { 10415, "Reporting-Reason", RULE_OPTIONAL, -1, -1 }, 613 { 10415, "Trigger", RULE_OPTIONAL, -1, 1 }, 614 { 10415, "PS-Furnish-Charging-Information", RULE_OPTIONAL, -1, 1 }, 615 { 10415, "Refund-Information", RULE_OPTIONAL, -1, 1 }, 616 { 10415, "AF-Correlation-Information", RULE_OPTIONAL, -1, -1 }, 617 { 10415, "Envelope", RULE_OPTIONAL, -1, -1 }, 618 { 10415, "Envelope-Reporting", RULE_OPTIONAL, -1, 1 }, 619 { 10415, "Time-Quota-Mechanism", RULE_OPTIONAL, -1, 1 }, 620 { 10415, "Service-Specific-Info", RULE_OPTIONAL, -1, -1 }, 621 { 10415, "QoS-Information", RULE_OPTIONAL, -1, 1 }, 618 622 }; 619 623 PARSE_loc_rules(rules, rule_avp); … … 628 632 struct local_rules_definition rules[] = 629 633 { 630 { { .avp_vendor = 10415, .avp_name = "Quota-Consumption-Time" },RULE_OPTIONAL, -1, 1 },631 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Mechanism" },RULE_OPTIONAL, -1, 1 },632 { { .avp_vendor = 10415, .avp_name = "Envelope-Reporting" },RULE_OPTIONAL, -1, 1 },633 { { .avp_vendor = 0, .avp_name = "Multiple-Services-Credit-Control" },RULE_OPTIONAL, -1, -1 },634 { 10415, "Quota-Consumption-Time", RULE_OPTIONAL, -1, 1 }, 635 { 10415, "Time-Quota-Mechanism", RULE_OPTIONAL, -1, 1 }, 636 { 10415, "Envelope-Reporting", RULE_OPTIONAL, -1, 1 }, 637 { 0, "Multiple-Services-Credit-Control", RULE_OPTIONAL, -1, -1 }, 634 638 }; 635 639 PARSE_loc_rules(rules, rule_avp); … … 644 648 struct local_rules_definition rules[] = 645 649 { 646 { { .avp_vendor = 10415, .avp_name = "Address-Type" },RULE_OPTIONAL, -1, 1 },647 { { .avp_vendor = 10415, .avp_name = "Address-Data" },RULE_OPTIONAL, -1, 1 },648 { { .avp_vendor = 10415, .avp_name = "Address-Domain" },RULE_OPTIONAL, -1, 1 },650 { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 }, 651 { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 }, 652 { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 }, 649 653 }; 650 654 PARSE_loc_rules(rules, rule_avp); … … 659 663 struct local_rules_definition rules[] = 660 664 { 661 { { .avp_vendor = 10415, .avp_name = "Interface-Id" },RULE_OPTIONAL, -1, 1 },662 { { .avp_vendor = 10415, .avp_name = "Interface-Text" },RULE_OPTIONAL, -1, 1 },663 { { .avp_vendor = 10415, .avp_name = "Interface-Port" },RULE_OPTIONAL, -1, 1 },664 { { .avp_vendor = 10415, .avp_name = "Interface-Type" },RULE_OPTIONAL, -1, 1 },665 { 10415, "Interface-Id", RULE_OPTIONAL, -1, 1 }, 666 { 10415, "Interface-Text", RULE_OPTIONAL, -1, 1 }, 667 { 10415, "Interface-Port", RULE_OPTIONAL, -1, 1 }, 668 { 10415, "Interface-Type", RULE_OPTIONAL, -1, 1 }, 665 669 }; 666 670 PARSE_loc_rules(rules, rule_avp); … … 675 679 struct local_rules_definition rules[] = 676 680 { 677 { { .avp_vendor = 10415, .avp_name = "Address-Type" },RULE_OPTIONAL, -1, 1 },678 { { .avp_vendor = 10415, .avp_name = "Address-Data" },RULE_OPTIONAL, -1, 1 },679 { { .avp_vendor = 10415, .avp_name = "Address-Domain" },RULE_OPTIONAL, -1, 1 },681 { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 }, 682 { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 }, 683 { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 }, 680 684 }; 681 685 PARSE_loc_rules(rules, rule_avp); … … 690 694 struct local_rules_definition rules[] = 691 695 { 692 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" },RULE_REQUIRED, -1, 1 },693 { { .avp_vendor = 10415, .avp_name = "PS-Free-Format-Data" },RULE_REQUIRED, -1, 1 },694 { { .avp_vendor = 10415, .avp_name = "PS-Append-Free-Format-Data" },RULE_OPTIONAL, -1, 1 },696 { 10415, "3GPP-Charging-Id", RULE_REQUIRED, -1, 1 }, 697 { 10415, "PS-Free-Format-Data", RULE_REQUIRED, -1, 1 }, 698 { 10415, "PS-Append-Free-Format-Data", RULE_OPTIONAL, -1, 1 }, 695 699 }; 696 700 PARSE_loc_rules(rules, rule_avp); … … 705 709 struct local_rules_definition rules[] = 706 710 { 707 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" },RULE_OPTIONAL, -1, 1 },708 { { .avp_vendor = 10415, .avp_name = "PDN-Connection-Charging-ID" },RULE_OPTIONAL, -1, 1 },709 { { .avp_vendor = 10415, .avp_name = "Node-Id" },RULE_OPTIONAL, -1, 1 },710 { { .avp_vendor = 10415, .avp_name = "3GPP-PDP-Type" },RULE_OPTIONAL, -1, 1 },711 { { .avp_vendor = 10415, .avp_name = "PDP-Address" },RULE_OPTIONAL, -1, -1 },712 { { .avp_vendor = 10415, .avp_name = "PDP-Address-Prefix-Length" },RULE_OPTIONAL, -1, 1 },713 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag" },RULE_OPTIONAL, -1, 1 },714 { { .avp_vendor = 10415, .avp_name = "Dynamic-Address-Flag-Extension" },RULE_OPTIONAL, -1, 1 },715 { { .avp_vendor = 10415, .avp_name = "QoS-Information" },RULE_OPTIONAL, -1, 1 },716 { { .avp_vendor = 10415, .avp_name = "SGSN-Address" },RULE_OPTIONAL, -1, -1 },717 { { .avp_vendor = 10415, .avp_name = "GGSN-Address" },RULE_OPTIONAL, -1, -1 },718 { { .avp_vendor = 10415, .avp_name = "SGW-Address" },RULE_OPTIONAL, -1, -1 },719 { { .avp_vendor = 10415, .avp_name = "CG-Address" },RULE_OPTIONAL, -1, 1 },720 { { .avp_vendor = 10415, .avp_name = "Serving-Node-Type" },RULE_OPTIONAL, -1, 1 },721 { { .avp_vendor = 10415, .avp_name = "SGW-Change" },RULE_OPTIONAL, -1, 1 },722 { { .avp_vendor = 10415, .avp_name = "3GPP-IMSI-MCC-MNC" },RULE_OPTIONAL, -1, 1 },723 { { .avp_vendor = 10415, .avp_name = "IMSI-Unauthenticated-Flag" },RULE_OPTIONAL, -1, 1 },724 { { .avp_vendor = 10415, .avp_name = "3GPP-GGSN-MCC-MNC" },RULE_OPTIONAL, -1, 1 },725 { { .avp_vendor = 10415, .avp_name = "3GPP-NSAPI" },RULE_OPTIONAL, -1, 1 },726 { { .avp_vendor = 0, .avp_name = "Called-Station-Id" },RULE_OPTIONAL, -1, 1 },727 { { .avp_vendor = 10415, .avp_name = "3GPP-Session-Stop-Indicator" },RULE_OPTIONAL, -1, 1 },728 { { .avp_vendor = 10415, .avp_name = "3GPP-Selection-Mode" },RULE_OPTIONAL, -1, 1 },729 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Characteristics" },RULE_OPTIONAL, -1, 1 },730 { { .avp_vendor = 10415, .avp_name = "Charging-Characteristics-Selection-Mode" },RULE_OPTIONAL, -1, 1 },731 { { .avp_vendor = 10415, .avp_name = "3GPP-SGSN-MCC-MNC" },RULE_OPTIONAL, -1, 1 },732 { { .avp_vendor = 10415, .avp_name = "3GPP-MS-TimeZone" },RULE_OPTIONAL, -1, 1 },733 { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name" },RULE_OPTIONAL, -1, 1 },734 { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info" },RULE_OPTIONAL, -1, 1 },735 { { .avp_vendor = 10415, .avp_name = "User-CSG-Information" },RULE_OPTIONAL, -1, 1 },736 { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID" },RULE_OPTIONAL, -1, 1 },737 { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type" },RULE_OPTIONAL, -1, 1 },738 { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" },RULE_OPTIONAL, -1, 1 },739 { { .avp_vendor = 10415, .avp_name = "PDP-Context-Type" },RULE_OPTIONAL, -1, 1 },740 { { .avp_vendor = 10415, .avp_name = "Offline-Charging" },RULE_OPTIONAL, -1, 1 },741 { { .avp_vendor = 10415, .avp_name = "Traffic-Data-Volumes" },RULE_OPTIONAL, -1, -1 },742 { { .avp_vendor = 10415, .avp_name = "Service-Data-Container" },RULE_OPTIONAL, -1, -1 },743 { { .avp_vendor = 0, .avp_name = "User-Equipment-Info" },RULE_OPTIONAL, -1, 1 },744 { { .avp_vendor = 10415, .avp_name = "Terminal-Information" },RULE_OPTIONAL, -1, 1 },745 { { .avp_vendor = 10415, .avp_name = "Start-Time" },RULE_OPTIONAL, -1, 1 },746 { { .avp_vendor = 10415, .avp_name = "Stop-Time" },RULE_OPTIONAL, -1, 1 },747 { { .avp_vendor = 10415, .avp_name = "Change-Condition" },RULE_OPTIONAL, -1, 1 },748 { { .avp_vendor = 10415, .avp_name = "Diagnostics" },RULE_OPTIONAL, -1, 1 },749 { { .avp_vendor = 10415, .avp_name = "Low-Priority-Indicator" },RULE_OPTIONAL, -1, 1 },750 { { .avp_vendor = 10415, .avp_name = "MME-Number-for-MT-SMS" },RULE_OPTIONAL, -1, 1 },751 { { .avp_vendor = 10415, .avp_name = "MME-Name" },RULE_OPTIONAL, -1, 1 },752 { { .avp_vendor = 10415, .avp_name = "MME-Realm" },RULE_OPTIONAL, -1, 1 },711 { 10415, "3GPP-Charging-Id", RULE_OPTIONAL, -1, 1 }, 712 { 10415, "PDN-Connection-Charging-ID", RULE_OPTIONAL, -1, 1 }, 713 { 10415, "Node-Id", RULE_OPTIONAL, -1, 1 }, 714 { 10415, "3GPP-PDP-Type", RULE_OPTIONAL, -1, 1 }, 715 { 10415, "PDP-Address", RULE_OPTIONAL, -1, -1 }, 716 { 10415, "PDP-Address-Prefix-Length", RULE_OPTIONAL, -1, 1 }, 717 { 10415, "Dynamic-Address-Flag", RULE_OPTIONAL, -1, 1 }, 718 { 10415, "Dynamic-Address-Flag-Extension", RULE_OPTIONAL, -1, 1 }, 719 { 10415, "QoS-Information", RULE_OPTIONAL, -1, 1 }, 720 { 10415, "SGSN-Address", RULE_OPTIONAL, -1, -1 }, 721 { 10415, "GGSN-Address", RULE_OPTIONAL, -1, -1 }, 722 { 10415, "SGW-Address", RULE_OPTIONAL, -1, -1 }, 723 { 10415, "CG-Address", RULE_OPTIONAL, -1, 1 }, 724 { 10415, "Serving-Node-Type", RULE_OPTIONAL, -1, 1 }, 725 { 10415, "SGW-Change", RULE_OPTIONAL, -1, 1 }, 726 { 10415, "3GPP-IMSI-MCC-MNC", RULE_OPTIONAL, -1, 1 }, 727 { 10415, "IMSI-Unauthenticated-Flag", RULE_OPTIONAL, -1, 1 }, 728 { 10415, "3GPP-GGSN-MCC-MNC", RULE_OPTIONAL, -1, 1 }, 729 { 10415, "3GPP-NSAPI", RULE_OPTIONAL, -1, 1 }, 730 { 0, "Called-Station-Id", RULE_OPTIONAL, -1, 1 }, 731 { 10415, "3GPP-Session-Stop-Indicator", RULE_OPTIONAL, -1, 1 }, 732 { 10415, "3GPP-Selection-Mode", RULE_OPTIONAL, -1, 1 }, 733 { 10415, "3GPP-Charging-Characteristics", RULE_OPTIONAL, -1, 1 }, 734 { 10415, "Charging-Characteristics-Selection-Mode", RULE_OPTIONAL, -1, 1 }, 735 { 10415, "3GPP-SGSN-MCC-MNC", RULE_OPTIONAL, -1, 1 }, 736 { 10415, "3GPP-MS-TimeZone", RULE_OPTIONAL, -1, 1 }, 737 { 10415, "Charging-Rule-Base-Name", RULE_OPTIONAL, -1, 1 }, 738 { 10415, "3GPP-User-Location-Info", RULE_OPTIONAL, -1, 1 }, 739 { 10415, "User-CSG-Information", RULE_OPTIONAL, -1, 1 }, 740 { 5535, "3GPP2-BSID", RULE_OPTIONAL, -1, 1 }, 741 { 10415, "3GPP-RAT-Type", RULE_OPTIONAL, -1, 1 }, 742 { 10415, "PS-Furnish-Charging-Information", RULE_OPTIONAL, -1, 1 }, 743 { 10415, "PDP-Context-Type", RULE_OPTIONAL, -1, 1 }, 744 { 10415, "Offline-Charging", RULE_OPTIONAL, -1, 1 }, 745 { 10415, "Traffic-Data-Volumes", RULE_OPTIONAL, -1, -1 }, 746 { 10415, "Service-Data-Container", RULE_OPTIONAL, -1, -1 }, 747 { 0, "User-Equipment-Info", RULE_OPTIONAL, -1, 1 }, 748 { 10415, "Terminal-Information", RULE_OPTIONAL, -1, 1 }, 749 { 10415, "Start-Time", RULE_OPTIONAL, -1, 1 }, 750 { 10415, "Stop-Time", RULE_OPTIONAL, -1, 1 }, 751 { 10415, "Change-Condition", RULE_OPTIONAL, -1, 1 }, 752 { 10415, "Diagnostics", RULE_OPTIONAL, -1, 1 }, 753 { 10415, "Low-Priority-Indicator", RULE_OPTIONAL, -1, 1 }, 754 { 10415, "MME-Number-for-MT-SMS", RULE_OPTIONAL, -1, 1 }, 755 { 10415, "MME-Name", RULE_OPTIONAL, -1, 1 }, 756 { 10415, "MME-Realm", RULE_OPTIONAL, -1, 1 }, 753 757 }; 754 758 PARSE_loc_rules(rules, rule_avp); … … 763 767 struct local_rules_definition rules[] = 764 768 { 765 { { .avp_vendor = 10415, .avp_name = "Address-Type" },RULE_OPTIONAL, -1, 1 },766 { { .avp_vendor = 10415, .avp_name = "Address-Data" },RULE_OPTIONAL, -1, 1 },767 { { .avp_vendor = 10415, .avp_name = "Address-Domain" },RULE_OPTIONAL, -1, 1 },768 { { .avp_vendor = 10415, .avp_name = "Addressee-Type" },RULE_OPTIONAL, -1, 1 },769 { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 }, 770 { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 }, 771 { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 }, 772 { 10415, "Addressee-Type", RULE_OPTIONAL, -1, 1 }, 769 773 }; 770 774 PARSE_loc_rules(rules, rule_avp); … … 779 783 struct local_rules_definition rules[] = 780 784 { 781 { { .avp_vendor = 10415, .avp_name = "Destination-Interface" },RULE_OPTIONAL, -1, 1 },782 { { .avp_vendor = 10415, .avp_name = "Recipient-Address" },RULE_OPTIONAL, -1, -1 },783 { { .avp_vendor = 10415, .avp_name = "Recipient-Received-Address" },RULE_OPTIONAL, -1, -1 },784 { { .avp_vendor = 10415, .avp_name = "Recipient-SCCP-Address" },RULE_OPTIONAL, -1, 1 },785 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID" },RULE_OPTIONAL, -1, 1 },785 { 10415, "Destination-Interface", RULE_OPTIONAL, -1, 1 }, 786 { 10415, "Recipient-Address", RULE_OPTIONAL, -1, -1 }, 787 { 10415, "Recipient-Received-Address", RULE_OPTIONAL, -1, -1 }, 788 { 10415, "Recipient-SCCP-Address", RULE_OPTIONAL, -1, 1 }, 789 { 10415, "SM-Protocol-ID", RULE_OPTIONAL, -1, 1 }, 786 790 }; 787 791 PARSE_loc_rules(rules, rule_avp); … … 796 800 struct local_rules_definition rules[] = 797 801 { 798 { { .avp_vendor = 10415, .avp_name = "Address-Type" },RULE_OPTIONAL, -1, 1 },799 { { .avp_vendor = 10415, .avp_name = "Address-Data" },RULE_OPTIONAL, -1, 1 },800 { { .avp_vendor = 10415, .avp_name = "Address-Domain" },RULE_OPTIONAL, -1, 1 },802 { 10415, "Address-Type", RULE_OPTIONAL, -1, 1 }, 803 { 10415, "Address-Data", RULE_OPTIONAL, -1, 1 }, 804 { 10415, "Address-Domain", RULE_OPTIONAL, -1, 1 }, 801 805 }; 802 806 PARSE_loc_rules(rules, rule_avp); … … 811 815 struct local_rules_definition rules[] = 812 816 { 813 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Name" },RULE_OPTIONAL, -1, 1 },814 { { .avp_vendor = 10415, .avp_name = "SDP-Media-Description" },RULE_OPTIONAL, -1, -1 },815 { { .avp_vendor = 10415, .avp_name = "Local-GW-Inserted-Indication" },RULE_OPTIONAL, -1, 1 },816 { { .avp_vendor = 10415, .avp_name = "IP-Realm-Default-Indication" },RULE_OPTIONAL, -1, 1 },817 { { .avp_vendor = 10415, .avp_name = "Transcoder-Inserted-Indication" },RULE_OPTIONAL, -1, 1 },818 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Flag" },RULE_OPTIONAL, -1, 1 },819 { { .avp_vendor = 10415, .avp_name = "Media-Initiator-Party" },RULE_OPTIONAL, -1, 1 },820 { { .avp_vendor = 10415, .avp_name = "3GPP-Charging-Id" },RULE_OPTIONAL, -1, 1 },821 { { .avp_vendor = 10415, .avp_name = "Access-Network-Charging-Identifier-Value" },RULE_OPTIONAL, -1, 1 },822 { { .avp_vendor = 10415, .avp_name = "SDP-Type" },RULE_OPTIONAL, -1, 1 },817 { 10415, "SDP-Media-Name", RULE_OPTIONAL, -1, 1 }, 818 { 10415, "SDP-Media-Description", RULE_OPTIONAL, -1, -1 }, 819 { 10415, "Local-GW-Inserted-Indication", RULE_OPTIONAL, -1, 1 }, 820 { 10415, "IP-Realm-Default-Indication", RULE_OPTIONAL, -1, 1 }, 821 { 10415, "Transcoder-Inserted-Indication", RULE_OPTIONAL, -1, 1 }, 822 { 10415, "Media-Initiator-Flag", RULE_OPTIONAL, -1, 1 }, 823 { 10415, "Media-Initiator-Party", RULE_OPTIONAL, -1, 1 }, 824 { 10415, "3GPP-Charging-Id", RULE_OPTIONAL, -1, 1 }, 825 { 10415, "Access-Network-Charging-Identifier-Value", RULE_OPTIONAL, -1, 1 }, 826 { 10415, "SDP-Type", RULE_OPTIONAL, -1, 1 }, 823 827 }; 824 828 PARSE_loc_rules(rules, rule_avp); … … 833 837 struct local_rules_definition rules[] = 834 838 { 835 { { .avp_vendor = 0, .avp_name = "Subscription-Id" },RULE_OPTIONAL, -1, -1 },836 { { .avp_vendor = 10415, .avp_name = "AoC-Information" },RULE_OPTIONAL, -1, 1 },837 { { .avp_vendor = 10415, .avp_name = "PS-Information" },RULE_OPTIONAL, -1, 1 },838 { { .avp_vendor = 10415, .avp_name = "IMS-Information" },RULE_OPTIONAL, -1, 1 },839 { { .avp_vendor = 10415, .avp_name = "MMS-Information" },RULE_OPTIONAL, -1, 1 },840 { { .avp_vendor = 10415, .avp_name = "LCS-Information" },RULE_OPTIONAL, -1, 1 },841 { { .avp_vendor = 10415, .avp_name = "PoC-Information" },RULE_OPTIONAL, -1, 1 },842 { { .avp_vendor = 10415, .avp_name = "MBMS-Information" },RULE_OPTIONAL, -1, 1 },843 { { .avp_vendor = 10415, .avp_name = "SMS-Information" },RULE_OPTIONAL, -1, 1 },844 { { .avp_vendor = 10415, .avp_name = "MMTel-Information" },RULE_OPTIONAL, -1, 1 },845 { { .avp_vendor = 10415, .avp_name = "Service-Generic-Information" },RULE_OPTIONAL, -1, 1 },846 { { .avp_vendor = 10415, .avp_name = "IM-Information" },RULE_OPTIONAL, -1, 1 },847 { { .avp_vendor = 10415, .avp_name = "DCD-Information" },RULE_OPTIONAL, -1, 1 },839 { 0, "Subscription-Id", RULE_OPTIONAL, -1, -1 }, 840 { 10415, "AoC-Information", RULE_OPTIONAL, -1, 1 }, 841 { 10415, "PS-Information", RULE_OPTIONAL, -1, 1 }, 842 { 10415, "IMS-Information", RULE_OPTIONAL, -1, 1 }, 843 { 10415, "MMS-Information", RULE_OPTIONAL, -1, 1 }, 844 { 10415, "LCS-Information", RULE_OPTIONAL, -1, 1 }, 845 { 10415, "PoC-Information", RULE_OPTIONAL, -1, 1 }, 846 { 10415, "MBMS-Information", RULE_OPTIONAL, -1, 1 }, 847 { 10415, "SMS-Information", RULE_OPTIONAL, -1, 1 }, 848 { 10415, "MMTel-Information", RULE_OPTIONAL, -1, 1 }, 849 { 10415, "Service-Generic-Information", RULE_OPTIONAL, -1, 1 }, 850 { 10415, "IM-Information", RULE_OPTIONAL, -1, 1 }, 851 { 10415, "DCD-Information", RULE_OPTIONAL, -1, 1 }, 848 852 }; 849 853 PARSE_loc_rules(rules, rule_avp); … … 858 862 struct local_rules_definition rules[] = 859 863 { 860 { { .avp_vendor = 10415, .avp_name = "SMS-Node" },RULE_OPTIONAL, -1, 1 },861 { { .avp_vendor = 10415, .avp_name = "Client-Address" },RULE_OPTIONAL, -1, 1 },862 { { .avp_vendor = 10415, .avp_name = "Originator-SCCP-Address" },RULE_OPTIONAL, -1, 1 },863 { { .avp_vendor = 10415, .avp_name = "SMSC-Address" },RULE_OPTIONAL, -1, 1 },864 { { .avp_vendor = 10415, .avp_name = "Data-Coding-Scheme" },RULE_OPTIONAL, -1, 1 },865 { { .avp_vendor = 10415, .avp_name = "SM-Discharge-Time" },RULE_OPTIONAL, -1, 1 },866 { { .avp_vendor = 10415, .avp_name = "SM-Message-Type" },RULE_OPTIONAL, -1, 1 },867 { { .avp_vendor = 10415, .avp_name = "Originator-Interface" },RULE_OPTIONAL, -1, 1 },868 { { .avp_vendor = 10415, .avp_name = "SM-Protocol-ID" },RULE_OPTIONAL, -1, 1 },869 { { .avp_vendor = 10415, .avp_name = "Reply-Path-Requested" },RULE_OPTIONAL, -1, 1 },870 { { .avp_vendor = 10415, .avp_name = "SM-Status" },RULE_OPTIONAL, -1, 1 },871 { { .avp_vendor = 10415, .avp_name = "SM-User-Data-Header" },RULE_OPTIONAL, -1, 1 },872 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Sent" },RULE_OPTIONAL, -1, 1 },873 { { .avp_vendor = 10415, .avp_name = "Recipient-Info" },RULE_OPTIONAL, -1, -1 },874 { { .avp_vendor = 10415, .avp_name = "Originator-Received-Address" },RULE_OPTIONAL, -1, 1 },875 { { .avp_vendor = 10415, .avp_name = "SM-Service-Type" },RULE_OPTIONAL, -1, 1 },864 { 10415, "SMS-Node", RULE_OPTIONAL, -1, 1 }, 865 { 10415, "Client-Address", RULE_OPTIONAL, -1, 1 }, 866 { 10415, "Originator-SCCP-Address", RULE_OPTIONAL, -1, 1 }, 867 { 10415, "SMSC-Address", RULE_OPTIONAL, -1, 1 }, 868 { 10415, "Data-Coding-Scheme", RULE_OPTIONAL, -1, 1 }, 869 { 10415, "SM-Discharge-Time", RULE_OPTIONAL, -1, 1 }, 870 { 10415, "SM-Message-Type", RULE_OPTIONAL, -1, 1 }, 871 { 10415, "Originator-Interface", RULE_OPTIONAL, -1, 1 }, 872 { 10415, "SM-Protocol-ID", RULE_OPTIONAL, -1, 1 }, 873 { 10415, "Reply-Path-Requested", RULE_OPTIONAL, -1, 1 }, 874 { 10415, "SM-Status", RULE_OPTIONAL, -1, 1 }, 875 { 10415, "SM-User-Data-Header", RULE_OPTIONAL, -1, 1 }, 876 { 10415, "Number-Of-Messages-Sent", RULE_OPTIONAL, -1, 1 }, 877 { 10415, "Recipient-Info", RULE_OPTIONAL, -1, -1 }, 878 { 10415, "Originator-Received-Address", RULE_OPTIONAL, -1, 1 }, 879 { 10415, "SM-Service-Type", RULE_OPTIONAL, -1, 1 }, 876 880 }; 877 881 PARSE_loc_rules(rules, rule_avp); … … 886 890 struct local_rules_definition rules[] = 887 891 { 888 { { .avp_vendor = 10415, .avp_name = "Time-Quota-Type" },RULE_REQUIRED, -1, 1 },889 { { .avp_vendor = 10415, .avp_name = "Base-Time-Interval" },RULE_REQUIRED, -1, 1 },892 { 10415, "Time-Quota-Type", RULE_REQUIRED, -1, 1 }, 893 { 10415, "Base-Time-Interval", RULE_REQUIRED, -1, 1 }, 890 894 }; 891 895 PARSE_loc_rules(rules, rule_avp); … … 900 904 struct local_rules_definition rules[] = 901 905 { 902 { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp" },RULE_OPTIONAL, -1, 1 },903 { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp" },RULE_OPTIONAL, -1, 1 },904 { { .avp_vendor = 10415, .avp_name = "SIP-Request-Timestamp-Fraction" },RULE_OPTIONAL, -1, 1 },905 { { .avp_vendor = 10415, .avp_name = "SIP-Response-Timestamp-Fraction" },RULE_OPTIONAL, -1, 1 },906 { 10415, "SIP-Request-Timestamp", RULE_OPTIONAL, -1, 1 }, 907 { 10415, "SIP-Response-Timestamp", RULE_OPTIONAL, -1, 1 }, 908 { 10415, "SIP-Request-Timestamp-Fraction", RULE_OPTIONAL, -1, 1 }, 909 { 10415, "SIP-Response-Timestamp-Fraction", RULE_OPTIONAL, -1, 1 }, 906 910 }; 907 911 PARSE_loc_rules(rules, rule_avp); … … 918 922 struct local_rules_definition rules[] = 919 923 { 920 { { .avp_vendor = 10415, .avp_name = "Reporting-Reason" },RULE_OPTIONAL, -1, 1 },921 { { .avp_vendor = 10415, .avp_name = "Event-Charging-TimeStamp" },RULE_OPTIONAL, -1, -1 },924 { 10415, "Reporting-Reason", RULE_OPTIONAL, -1, 1 }, 925 { 10415, "Event-Charging-TimeStamp", RULE_OPTIONAL, -1, -1 }, 922 926 }; 923 927 PARSE_loc_rules(rules, rule_avp); … … 933 937 struct local_rules_definition rules[] = 934 938 { 935 { { .avp_vendor = 10415, .avp_name = "Content-ID" },RULE_OPTIONAL, -1, 1 },936 { { .avp_vendor = 10415, .avp_name = "Content-provider-ID" },RULE_OPTIONAL, -1, 1 },939 { 10415, "Content-ID", RULE_OPTIONAL, -1, 1 }, 940 { 10415, "Content-provider-ID", RULE_OPTIONAL, -1, 1 }, 937 941 }; 938 942 PARSE_loc_rules(rules, rule_avp); … … 946 950 struct local_rules_definition rules[] = 947 951 { 948 { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Sent" },RULE_OPTIONAL, -1, 1 },949 { { .avp_vendor = 10415, .avp_name = "Total-Number-Of-Messages-Exploded" },RULE_OPTIONAL, -1, 1 },950 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Sent" },RULE_OPTIONAL, -1, 1 },951 { { .avp_vendor = 10415, .avp_name = "Number-Of-Messages-Successfully-Exploded" },RULE_OPTIONAL, -1, 1 },952 { 10415, "Total-Number-Of-Messages-Sent", RULE_OPTIONAL, -1, 1 }, 953 { 10415, "Total-Number-Of-Messages-Exploded", RULE_OPTIONAL, -1, 1 }, 954 { 10415, "Number-Of-Messages-Successfully-Sent", RULE_OPTIONAL, -1, 1 }, 955 { 10415, "Number-Of-Messages-Successfully-Exploded", RULE_OPTIONAL, -1, 1 }, 952 956 }; 953 957 PARSE_loc_rules(rules, rule_avp); … … 961 965 struct local_rules_definition rules[] = 962 966 { 963 { { .avp_vendor = 10415, .avp_name = "Application-Server-Id" },RULE_OPTIONAL, -1, 1 },964 { { .avp_vendor = 10415, .avp_name = "Application-Service-Type" },RULE_OPTIONAL, -1, 1 },965 { { .avp_vendor = 10415, .avp_name = "Application-Session-Id" },RULE_OPTIONAL, -1, 1 },966 { { .avp_vendor = 10415, .avp_name = "Delivery-Status" },RULE_OPTIONAL, -1, 1 },967 { 10415, "Application-Server-Id", RULE_OPTIONAL, -1, 1 }, 968 { 10415, "Application-Service-Type", RULE_OPTIONAL, -1, 1 }, 969 { 10415, "Application-Session-Id", RULE_OPTIONAL, -1, 1 }, 970 { 10415, "Delivery-Status", RULE_OPTIONAL, -1, 1 }, 967 971 }; 968 972 PARSE_loc_rules(rules, rule_avp);
Note: See TracChangeset
for help on using the changeset viewer.