Dissect Service Option Profile.

svn path=/trunk/; revision=40297
This commit is contained in:
Anders Broman 2011-12-27 10:15:00 +00:00
parent 4dbf893401
commit 35e767e28a
2 changed files with 99 additions and 33 deletions

View File

@ -122,6 +122,11 @@ static int hf_a11_ase_reverse_profile = -1;
static int hf_a11_aut_flow_prof_sub_type = -1;
static int hf_a11_aut_flow_prof_sub_type_len = -1;
static int hf_a11_aut_flow_prof_sub_type_value = -1;
static int hf_a11_serv_opt_prof_max_serv = -1;
static int hf_a11_sub_type = -1;
static int hf_a11_sub_type_length = -1;
static int hf_a11_serv_opt = -1;
static int hf_a11_max_num_serv_opt = -1;
/* Forward QoS Information */
static int hf_a11_fqi_srid = -1;
@ -600,6 +605,40 @@ dissect_a11_radius( tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *t
}
/* X.S0011-005-D v2.0 Service Option Profile */
static const gchar *dissect_3gpp2_service_option_profile(proto_tree * tree, tvbuff_t * tvb, packet_info* pinfo _U_)
{
int offset = 0;
guint8 sub_type, sub_type_length;
/* Maximum service connections/Link Flows total 32 bit*/
proto_tree_add_item(tree, hf_a11_serv_opt_prof_max_serv, tvb, offset, 4, ENC_BIG_ENDIAN);
offset+=4;
while (tvb_length_remaining(tvb,offset)>0){
sub_type = tvb_get_guint8(tvb,offset);
sub_type_length = tvb_get_guint8(tvb,offset+1);
sub_type = tvb_get_guint8(tvb,offset);
proto_tree_add_item(tree, hf_a11_sub_type, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
proto_tree_add_item(tree, hf_a11_sub_type_length, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
if(sub_type==1){
proto_tree_add_item(tree, hf_a11_serv_opt, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
/* Max number of service instances of Service Option n */
proto_tree_add_item(tree, hf_a11_max_num_serv_opt, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
}
offset = offset+sub_type_length-2;
}
return "";
}
static const value_string a11_aut_flow_prof_subtype_vals[] = {
{0x1, "ProfileID-Forward"},
{0x2, "ProfileID-Reverse"},
@ -607,7 +646,6 @@ static const value_string a11_aut_flow_prof_subtype_vals[] = {
{0, NULL},
};
/* X.S0011-005-D v2.0 Authorized Flow Profile IDs for the User */
static const gchar *dissect_3gpp2_radius_aut_flow_profile_ids(proto_tree * tree, tvbuff_t * tvb, packet_info* pinfo _U_)
{
@ -2261,6 +2299,31 @@ proto_register_a11(void)
{ "Value", "a11.aut_flow_prof.value",
FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_a11_serv_opt_prof_max_serv,
{ "Service-Connections-Per-Link-flow", "a11.serv_opt_prof.scplf",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_a11_sub_type,
{ "Sub-Type", "a11.sub_type",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_a11_sub_type_length,
{ "Sub-Type Length", "a11.sub_type_length",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_a11_serv_opt,
{ "Service Option", "a11.serviceoption",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
{ &hf_a11_max_num_serv_opt,
{ "Max number of service instances of Service Option", "a11.serviceoption",
FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }
},
};
@ -2313,6 +2376,8 @@ proto_reg_handoff_a11(void)
a11_handle = find_dissector("a11");
dissector_add_uint("udp.port", UDP_PORT_3GA11, a11_handle);
/* 3GPP2-Service-Option-Profile(74) */
radius_register_avp_dissector(VENDOR_THE3GPP2, 74, dissect_3gpp2_service_option_profile);
/* 3GPP2-Authorized-Flow-Profile-IDs(131) */
radius_register_avp_dissector(VENDOR_THE3GPP2, 131, dissect_3gpp2_radius_aut_flow_profile_ids);
}

View File

@ -4,6 +4,7 @@
#
# http://www.3gpp2.org/Public_html/specs/index.cfm
# http://www.3gpp2.org/public_html/Specs/X.S0011-005-D_v2.0_081103.pdf
# http://www.3gpp2.org/public_html/specs/X.S0011-005-C_v3.0_061030.pdf
# "cdma2000 Wireless IP Network Standard: Accounting Services and 3GPP2 Radius VSAs"
# "3GPP2 X.S0011-005-D"
# "Version: 2.0"
@ -30,13 +31,13 @@ ATTRIBUTE 3GPP2-Home-Agent-IP-Address 7 octets ## if 4 octets: ipaddr; if 16: i
# A number formed from the concatenation of the home RADIUS IP address,
# the FA IP address, and a 32-bit Unix timestamp, all encoded as 8 ASCII
# hex characters.
ATTRIBUTE 3GPP2-KeyID 8 string # 20 octets
ATTRIBUTE 3GPP2-KeyID 8 string # 20 octets
ATTRIBUTE 3GPP2-PCF-IP-Address 9 ipaddr
ATTRIBUTE 3GPP2-BSID 10 string
ATTRIBUTE 3GPP2-User-Id 11 integer
ATTRIBUTE 3GPP2-Forward-FCH-Mux-Option 12 integer
ATTRIBUTE 3GPP2-Reverse-FCH-Mux-Option 13 integer
ATTRIBUTE 3GPP2-BSID 10 string
ATTRIBUTE 3GPP2-User-Id 11 integer
ATTRIBUTE 3GPP2-Forward-FCH-Mux-Option 12 integer
ATTRIBUTE 3GPP2-Reverse-FCH-Mux-Option 13 integer
#
# 14-15 ?
#
@ -46,7 +47,7 @@ ATTRIBUTE 3GPP2-Reverse-Traffic-Type 18 integer
ATTRIBUTE 3GPP2-FCH-Frame-Size 19 integer
ATTRIBUTE 3GPP2-Forward-FCH-RC 20 integer
ATTRIBUTE 3GPP2-Reverse-FCH-RC 21 integer
ATTRIBUTE 3GPP2-IP-Technology 22 integer
ATTRIBUTE 3GPP2-IP-Technology 22 integer
ATTRIBUTE 3GPP2-Compulsory-Tunnel-Indicator 23 integer
ATTRIBUTE 3GPP2-Release-Indicator 24 integer
ATTRIBUTE 3GPP2-Bad-PPP-Frame-Count 25 integer
@ -94,7 +95,7 @@ ATTRIBUTE 3GPP2-Allowed-Diffserv-Marking 73 octets
ATTRIBUTE 3GPP2-Service-Option-Profile 74 octets
# the following don't contain subtypes
ATTRIBUTE 3GPP2-DNS-Update-Required 75 integer
ATTRIBUTE 3GPP2-DNS-Update-Required 75 integer
# 76 ?
# 77 ?
ATTRIBUTE 3GPP2-Always-On 78 integer
@ -106,7 +107,7 @@ ATTRIBUTE 3GPP2-Forward-PDCH-RC 83 integer
ATTRIBUTE 3GPP2-Forward-DCCH-Mux-Option 84 integer
ATTRIBUTE 3GPP2-Reverse-DCCH-Mux-Option 85 integer
ATTRIBUTE 3GPP2-Forward-DCCH-RC 86 integer
ATTRIBUTE 3GPP2-Reverse-DCCH-RC 87 integer
ATTRIBUTE 3GPP2-Reverse-DHHC-RC 87 integer
ATTRIBUTE 3GPP2-Session-Termination-Capability 88 integer
ATTRIBUTE 3GPP2-Allowed-Persistent-TFTs 89 integer
@ -147,49 +148,49 @@ ATTRIBUTE 3GPP2-MIP6-Home-Link-Prefix-Attr-A 128 octets
ATTRIBUTE 3GPP2-Max-Authorized-Aggr-Bandwidth 130 integer
# The next set of attributes contain sub-types
ATTRIBUTE 3GPP2-Authorized-Flow-Profile-IDs 131 octets
ATTRIBUTE 3GPP2-Granted-QoS-Parameters 132 octets
ATTRIBUTE 3GPP2-Authorized-Flow-Profile-IDs 131 octets
ATTRIBUTE 3GPP2-Granted-QoS-Parameters 132 octets
ATTRIBUTE 3GPP2-Maximum-Per-Flow-Priority 133 integer
ATTRIBUTE 3GPP2-MIP6-Authenticator 134 octets
ATTRIBUTE 3GPP2-Maximum-Per-Flow-Priority 133 integer
ATTRIBUTE 3GPP2-MIP6-Authenticator 134 octets
ATTRIBUTE 3GPP2-MIP6-MAC-Mobility-Data 138 octets
ATTRIBUTE 3GPP2-Inter-User-Priority 139 integer
ATTRIBUTE 3GPP2-MIP6-MAC-Mobility-Data 138 octets
ATTRIBUTE 3GPP2-Inter-User-Priority 139 integer
ATTRIBUTE 3GPP2-MIP6-Home-Agent-Address-Attr-B 140 ipv6addr
ATTRIBUTE 3GPP2-MIP6-HOA-Received-From-BU 141 ipv6addr
ATTRIBUTE 3GPP2-Carrier-ID 142 octets
ATTRIBUTE 3GPP2-GMT-Time-Zone-Offset 143 integer
ATTRIBUTE 3GPP2-MIP6-HOA-Received-From-BU 141 ipv6addr
ATTRIBUTE 3GPP2-Carrier-ID 142 octets
ATTRIBUTE 3GPP2-GMT-Time-Zone-Offset 143 integer
# contains subtypes
ATTRIBUTE 3GPP2-Flow-ID-Parameter 144 octets
ATTRIBUTE 3GPP2-Flow-ID-Parameter 144 octets
ATTRIBUTE 3GPP2-Flow-Status 145 integer
ATTRIBUTE 3GPP2-Flow-Status 145 integer
ATTRIBUTE 3GPP2-Filtered-Octet-Count-Terminating 146 integer
ATTRIBUTE 3GPP2-Filtered-Octet-Count-Originating 147 integer
ATTRIBUTE 3GPP2-RSVP-Inbound-Octet-Count 162 integer
ATTRIBUTE 3GPP2-RSVP-Outbound-Octet-Count 163 integer
ATTRIBUTE 3GPP2-RSVP-Inbound-Packet-Count 164 integer
ATTRIBUTE 3GPP2-RSVP-Outbound-Packet-Count 165 integer
ATTRIBUTE 3GPP2-RSVP-Inbound-Octet-Count 162 integer
ATTRIBUTE 3GPP2-RSVP-Outbound-Octet-Count 163 integer
ATTRIBUTE 3GPP2-RSVP-Inbound-Packet-Count 164 integer
ATTRIBUTE 3GPP2-RSVP-Outbound-Packet-Count 165 integer
ATTRIBUTE 3GPP2-HA-Request 168 integer
ATTRIBUTE 3GPP2-HA-Authorised 169 integer
ATTRIBUTE 3GPP2-IP-Ver-Authorised 172 integer
ATTRIBUTE 3GPP2-MIPv4-Mesg-Id 173 string
ATTRIBUTE 3GPP2-HA-Request 168 integer
ATTRIBUTE 3GPP2-HA-Authorised 169 integer
ATTRIBUTE 3GPP2-IP-Ver-Authorised 172 integer
ATTRIBUTE 3GPP2-MIPv4-Mesg-Id 173 string
ATTRIBUTE 3GPP2-MIP6-HA-Local-Assignment-Capblty 179 integer
ATTRIBUTE 3GPP2-Accounting-Mode 198 integer ## ??
ATTRIBUTE 3GPP2-Accounting-Mode 198 integer ## ??
ATTRIBUTE 3GPP2-HAAA-MIP6-HA-Protocol-Capblty-Ind 203 integer
ATTRIBUTE 3GPP2-VAAA-Assigned-MIP6-HA 205 ipv6addr
ATTRIBUTE 3GPP2-VAAA-Assigned-MIP6-HL 206 octets
ATTRIBUTE 3GPP2-VAAA-Assigned-MIP6-HA 205 ipv6addr
ATTRIBUTE 3GPP2-VAAA-Assigned-MIP6-HL 206 octets
ATTRIBUTE 3GPP2-VAAA-MIP6-HA-Protocol-Capblty-Ind 207 integer
VALUE 3GPP2-Airlink-Record-Type Connection-Setup 1
VALUE 3GPP2-Airlink-Record-Type Active-Start 2
VALUE 3GPP2-Airlink-Record-Type Active-Stop 3
VALUE 3GPP2-Airlink-Record-Type Active-Start 2
VALUE 3GPP2-Airlink-Record-Type Active-Stop 3
VALUE 3GPP2-Airlink-Record-Type Short-Data-Burst 4
END-VENDOR 3GPP2