Mercurial > hg > freeDiameter
changeset 1146:dee5ca683bee
More rules.
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Thu, 16 May 2013 16:49:10 +0200 |
parents | 799323958f02 |
children | fe4340e95815 |
files | extensions/dict_dcca_3gpp/dict_dcca_3gpp.c |
diffstat | 1 files changed, 41 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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 },