aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-11-26 07:33:08 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-11-26 07:33:08 +0000
commit6412e5801f98b67b9f13fe2eb9aa4f12c24c2734 (patch)
treefdd4cf78c1e8090ea8a4a52d16775324457bb488
parent89d7efc44a2eaaf0aed171b7120ef499d77bb378 (diff)
Dissect RRC-container in RelocationResourceAllocation successful outcome.
svn path=/trunk/; revision=31082
-rw-r--r--asn1/ranap/packet-ranap-template.c5
-rw-r--r--asn1/ranap/ranap.cnf6
-rw-r--r--asn1/rrc/packet-rrc-template.c2
-rw-r--r--epan/dissectors/packet-ranap.c29
-rw-r--r--epan/dissectors/packet-rrc.c8
5 files changed, 28 insertions, 22 deletions
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c
index eadd3d2366..4fbc041258 100644
--- a/asn1/ranap/packet-ranap-template.c
+++ b/asn1/ranap/packet-ranap-template.c
@@ -67,7 +67,7 @@ static int proto_ranap = -1;
/* initialise sub-dissector handles */
static dissector_handle_t rrc_s_to_trnc_handle = NULL;
-static dissector_handle_t rrc_t_to_srnc_handle = NULL;
+static dissector_handle_t rrc_ho_to_utran_cmd = NULL;
static int hf_ranap_imsi_digits = -1;
static int hf_ranap_transportLayerAddress_ipv4 = -1;
@@ -214,6 +214,7 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree *ranap_tree = NULL;
pdu_type = 0;
+ ProtocolIE_ID = 0;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "RANAP");
@@ -345,7 +346,7 @@ proto_reg_handoff_ranap(void)
if (!initialized) {
ranap_handle = find_dissector("ranap");
rrc_s_to_trnc_handle = find_dissector("rrc.s_to_trnc_cont");
- rrc_t_to_srnc_handle = find_dissector("rrc.t_to_srnc_cont");
+ rrc_ho_to_utran_cmd = find_dissector("rrc.irat.ho_to_utran_cmd");
initialized = TRUE;
#include "packet-ranap-dis-tab.c"
} else {
diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf
index ab74882168..24e4baf83f 100644
--- a/asn1/ranap/ranap.cnf
+++ b/asn1/ranap/ranap.cnf
@@ -222,7 +222,11 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
*/
call_dissector(rrc_s_to_trnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
}else{
- /* XXX Unsure what to do here */
+ if(pdu_type == SOUT){
+ if(ProcedureCode==id_RelocationResourceAllocation){
+ call_dissector(rrc_ho_to_utran_cmd,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ }
+ }
}
}
diff --git a/asn1/rrc/packet-rrc-template.c b/asn1/rrc/packet-rrc-template.c
index ab8a927974..7eac1b1f18 100644
--- a/asn1/rrc/packet-rrc-template.c
+++ b/asn1/rrc/packet-rrc-template.c
@@ -101,8 +101,6 @@ dissect_rrc_dummy_remove_unused_code_warnings(tvbuff_t *tvb _U_, int offset _U_,
case 0:
dissect_rrc_UL_PhysChCapabilityFDD_r6( tvb, offset, actx , tree, hf_index);
dissect_rrc_UE_Positioning_GANSS_Data( tvb, offset, actx , tree, hf_index);
- dissect_rrc_ToTargetRNC_Container( tvb, offset, actx , tree, hf_index);
- dissect_rrc_TargetRNC_ToSourceRNC_Container( tvb, offset, actx , tree, hf_index);
break;
default:
break;
diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c
index 655c3162db..4c129bb232 100644
--- a/epan/dissectors/packet-ranap.c
+++ b/epan/dissectors/packet-ranap.c
@@ -388,7 +388,7 @@ static int proto_ranap = -1;
/* initialise sub-dissector handles */
static dissector_handle_t rrc_s_to_trnc_handle = NULL;
-static dissector_handle_t rrc_t_to_srnc_handle = NULL;
+static dissector_handle_t rrc_ho_to_utran_cmd = NULL;
static int hf_ranap_imsi_digits = -1;
static int hf_ranap_transportLayerAddress_ipv4 = -1;
@@ -2475,7 +2475,7 @@ dissect_ranap_APN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto
static int
dissect_ranap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 237 "ranap.cnf"
+#line 241 "ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -4229,7 +4229,7 @@ dissect_ranap_GlobalRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_ranap_GTP_TEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 278 "ranap.cnf"
+#line 282 "ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
int saved_hf;
@@ -6169,7 +6169,11 @@ dissect_ranap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
*/
call_dissector(rrc_s_to_trnc_handle,rrc_message_tvb,actx->pinfo, proto_tree_get_root(tree));
}else{
- /* XXX Unsure what to do here */
+ if(pdu_type == SOUT){
+ if(ProcedureCode==id_RelocationResourceAllocation){
+ call_dissector(rrc_ho_to_utran_cmd,rrc_message_tvb,actx->pinfo, proto_tree_get_root(tree));
+ }
+ }
}
}
@@ -6255,7 +6259,7 @@ dissect_ranap_Service_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_ranap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 304 "ranap.cnf"
+#line 308 "ranap.cnf"
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU );
@@ -6332,7 +6336,7 @@ static const per_sequence_t SourceRNC_ToTargetRNC_TransparentContainer_sequence[
static int
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 290 "ranap.cnf"
+#line 294 "ranap.cnf"
/* If SourceRNC-ToTargetRNC-TransparentContainer is called trough
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU
ProtocolIE_ID may be unset
@@ -6443,7 +6447,7 @@ dissect_ranap_SRVCC_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_ranap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 314 "ranap.cnf"
+#line 318 "ranap.cnf"
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU );
@@ -6628,7 +6632,7 @@ dissect_ranap_UnsuccessfullyTransmittedDataVolume(tvbuff_t *tvb _U_, int offset
static int
dissect_ranap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 256 "ranap.cnf"
+#line 260 "ranap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_tree *subtree;
gint tvb_len;
@@ -11730,6 +11734,7 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree *ranap_tree = NULL;
pdu_type = 0;
+ ProtocolIE_ID = 0;
/* make entry in the Protocol column on summary display */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "RANAP");
@@ -14324,7 +14329,7 @@ void proto_register_ranap(void) {
"ranap.T_value", HFILL }},
/*--- End of included file: packet-ranap-hfarr.c ---*/
-#line 299 "packet-ranap-template.c"
+#line 300 "packet-ranap-template.c"
};
/* List of subtrees */
@@ -14629,7 +14634,7 @@ void proto_register_ranap(void) {
&ett_ranap_Outcome,
/*--- End of included file: packet-ranap-ettarr.c ---*/
-#line 306 "packet-ranap-template.c"
+#line 307 "packet-ranap-template.c"
};
@@ -14672,7 +14677,7 @@ proto_reg_handoff_ranap(void)
if (!initialized) {
ranap_handle = find_dissector("ranap");
rrc_s_to_trnc_handle = find_dissector("rrc.s_to_trnc_cont");
- rrc_t_to_srnc_handle = find_dissector("rrc.t_to_srnc_cont");
+ rrc_ho_to_utran_cmd = find_dissector("rrc.irat.ho_to_utran_cmd");
initialized = TRUE;
/*--- Included file: packet-ranap-dis-tab.c ---*/
@@ -14986,7 +14991,7 @@ proto_reg_handoff_ranap(void)
/*--- End of included file: packet-ranap-dis-tab.c ---*/
-#line 351 "packet-ranap-template.c"
+#line 352 "packet-ranap-template.c"
} else {
dissector_delete("sccp.ssn", local_ranap_sccp_ssn, ranap_handle);
}
diff --git a/epan/dissectors/packet-rrc.c b/epan/dissectors/packet-rrc.c
index b71859769b..655cd2b6cf 100644
--- a/epan/dissectors/packet-rrc.c
+++ b/epan/dissectors/packet-rrc.c
@@ -112149,8 +112149,6 @@ dissect_rrc_dummy_remove_unused_code_warnings(tvbuff_t *tvb _U_, int offset _U_,
case 0:
dissect_rrc_UL_PhysChCapabilityFDD_r6( tvb, offset, actx , tree, hf_index);
dissect_rrc_UE_Positioning_GANSS_Data( tvb, offset, actx , tree, hf_index);
- dissect_rrc_ToTargetRNC_Container( tvb, offset, actx , tree, hf_index);
- dissect_rrc_TargetRNC_ToSourceRNC_Container( tvb, offset, actx , tree, hf_index);
break;
default:
break;
@@ -143358,7 +143356,7 @@ void proto_register_rrc(void) {
NULL, HFILL }},
/*--- End of included file: packet-rrc-hfarr.c ---*/
-#line 161 "packet-rrc-template.c"
+#line 159 "packet-rrc-template.c"
{ &hf_test,
{ "RAB Test", "rrc.RAB.test",
FT_UINT8, BASE_DEC, NULL, 0,
@@ -148164,7 +148162,7 @@ void proto_register_rrc(void) {
&ett_rrc_UL_RFC3095_Context,
/*--- End of included file: packet-rrc-ettarr.c ---*/
-#line 172 "packet-rrc-template.c"
+#line 170 "packet-rrc-template.c"
};
@@ -148238,7 +148236,7 @@ void proto_register_rrc(void) {
/*--- End of included file: packet-rrc-dis-reg.c ---*/
-#line 184 "packet-rrc-template.c"
+#line 182 "packet-rrc-template.c"
}