# HG changeset patch # User Thomas Klausner # Date 1368715750 -7200 # Node ID dee5ca683beeaeb94b9291d6b4e5ecb58f70a47c # Parent 799323958f02cd03fef8632059924698b73b2513 More rules. diff -r 799323958f02 -r dee5ca683bee extensions/dict_dcca_3gpp/dict_dcca_3gpp.c --- a/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c Thu May 16 15:33:13 2013 +0800 +++ b/extensions/dict_dcca_3gpp/dict_dcca_3gpp.c Thu May 16 16:49:10 2013 +0200 @@ -10340,6 +10340,31 @@ /* 32.299 */ { + /* additional allowed AVPs */ + struct dict_object *ccr; + CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &ccr); + struct local_rules_definition rules[] = + { + { { .avp_vendor = 10415, .avp_name = "AoC-Request-Type"}, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 }, + }; + PARSE_loc_rules(rules, ccr); + } + + { + /* additional allowed AVPs */ + struct dict_object *ccr; + CHECK_dict_search(DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Answer", &ccr); + struct local_rules_definition rules[] = + { + { { .avp_vendor = 10415, .avp_name = "Low-Balance-Indication"}, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 10415, .avp_name = "Remaining-Balance"}, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 10415, .avp_name = "Service-Information"}, RULE_OPTIONAL, -1, 1 }, + }; + PARSE_loc_rules(rules, ccr); + } + + { struct dict_object *rule_avp; struct dict_avp_request vpa; vpa.avp_vendor = 10415; @@ -10375,6 +10400,21 @@ struct dict_object *rule_avp; struct dict_avp_request vpa; vpa.avp_vendor = 10415; + vpa.avp_name = "Event-Type"; + CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp); + struct local_rules_definition rules[] = + { + { { .avp_vendor = 10415, .avp_name = "SIP-Method" }, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 10415, .avp_name = "Event" }, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 10415, .avp_name = "Expires" }, RULE_OPTIONAL, -1, 1 }, + }; + PARSE_loc_rules(rules, rule_avp); + } + + { + struct dict_object *rule_avp; + struct dict_avp_request vpa; + vpa.avp_vendor = 10415; vpa.avp_name = "IMS-Information"; CHECK_dict_search(DICT_AVP, AVP_BY_NAME_AND_VENDOR, &vpa, &rule_avp); struct local_rules_definition rules[] = @@ -10568,7 +10608,7 @@ { { .avp_vendor = 10415, .avp_name = "Charging-Rule-Base-Name" }, RULE_OPTIONAL, -1, 1 }, { { .avp_vendor = 10415, .avp_name = "3GPP-User-Location-Info" }, RULE_OPTIONAL, -1, 1 }, { { .avp_vendor = 10415, .avp_name = "User-CSG-Information" }, RULE_OPTIONAL, -1, 1 }, - { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID" }, RULE_OPTIONAL, -1, 1 }, + { { .avp_vendor = 5535, .avp_name = "3GPP2-BSID" }, RULE_OPTIONAL, -1, 1 }, { { .avp_vendor = 10415, .avp_name = "3GPP-RAT-Type" }, RULE_OPTIONAL, -1, 1 }, { { .avp_vendor = 10415, .avp_name = "PS-Furnish-Charging-Information" }, RULE_OPTIONAL, -1, 1 }, { { .avp_vendor = 10415, .avp_name = "PDP-Context-Type" }, RULE_OPTIONAL, -1, 1 },