diff options
author | Pascal Quantin <pascal@wireshark.org> | 2020-07-01 11:37:11 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2020-07-01 10:36:41 +0000 |
commit | b8aec0a9f2e4387a0b3f9782eb5bed40105eef34 (patch) | |
tree | 392f68843ba09431c285328e978af1c5f55b90c3 /epan/dissectors/asn1 | |
parent | ca41ee2aed41b2546ea879590db03abaa60ed90a (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.cnf | 28 |
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); |