aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
diff options
context:
space:
mode:
authorPascal Quantin <pascal@wireshark.org>2020-07-01 11:37:11 +0200
committerAnders Broman <a.broman58@gmail.com>2020-07-01 10:36:41 +0000
commitb8aec0a9f2e4387a0b3f9782eb5bed40105eef34 (patch)
tree392f68843ba09431c285328e978af1c5f55b90c3 /epan/dissectors/asn1
parentca41ee2aed41b2546ea879590db03abaa60ed90a (diff)
NGAP: decode Handover Request Acknowledge target to source RAN container
As this message does not include the Handover Type IE, let's use the dissect_target_ng_ran_container_as preference Change-Id: If220e22ee9cfb6ef0c794ff0f1bd6d75a0fdcf88 Reviewed-on: https://code.wireshark.org/review/37636 Reviewed-by: Pascal Quantin <pascal@wireshark.org> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1')
-rw-r--r--epan/dissectors/asn1/ngap/ngap.cnf28
1 files changed, 18 insertions, 10 deletions
diff --git a/epan/dissectors/asn1/ngap/ngap.cnf b/epan/dissectors/asn1/ngap/ngap.cnf
index d6c40bd4bd..4818277c2a 100644
--- a/epan/dissectors/asn1/ngap/ngap.cnf
+++ b/epan/dissectors/asn1/ngap/ngap.cnf
@@ -288,16 +288,24 @@ ProtocolIE-Field/value ie_field_value
/* Don't want elements inside container to write to info column */
col_set_writable(actx->pinfo->cinfo, COL_INFO, FALSE);
subtree = proto_item_add_subtree(actx->created_item, ett_ngap_TargetToSource_TransparentContainer);
- switch(ngap_data->handover_type_value) {
- case intra5gs:
- case eps_to_5gs:
- dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
- break;
- case fivegs_to_eps:
- dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
- break;
- default:
- break;
+ if (ngap_data->procedure_code == id_HandoverPreparation) {
+ switch(ngap_data->handover_type_value) {
+ case intra5gs:
+ case eps_to_5gs:
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case fivegs_to_eps:
+ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ default:
+ break;
+ }
+ } else {
+ if (ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_GNB) {
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ } else if (ngap_dissect_target_ng_ran_container_as == NGAP_NG_RAN_CONTAINER_NG_ENB) {
+ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ }
}
/* Enable writing of the column again */
col_set_writable(actx->pinfo->cinfo, COL_INFO, TRUE);