summaryrefslogtreecommitdiff
path: root/epan/dissectors/asn1/rnsap
diff options
context:
space:
mode:
authorS. Shapira <sswsdev@gmail.com>2017-03-15 21:09:16 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2017-03-17 11:20:45 +0000
commitc8112886a7020b14e97ab4c8ccbfe3a36db29930 (patch)
tree336832de766cda64a6a070e49f4c24e461b166dc /epan/dissectors/asn1/rnsap
parent0d5d85924c7a721da82f2684e684bceda9d69826 (diff)
downloadwireshark-c8112886a7020b14e97ab4c8ccbfe3a36db29930.tar.gz
RNSAP: Call right RRC dissectors for payload.
According to TS 25.423 both 'Uplink Signaling Transfer' and 'Downlink Signalling Transfer' carry CCCH messages. Hence the RRC-UL-CCCH and RRC-DL-CCCH dissectors should be called for the 'L3 Information' fields in these messages (respectively) Change-Id: Ief2aab77d2851746e6374729eaf8a0a5b115d7d7 Reviewed-on: https://code.wireshark.org/review/20560 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1/rnsap')
-rw-r--r--epan/dissectors/asn1/rnsap/packet-rnsap-template.c6
-rw-r--r--epan/dissectors/asn1/rnsap/rnsap.cnf7
2 files changed, 10 insertions, 3 deletions
diff --git a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c
index a337a26086..9850a94fc9 100644
--- a/epan/dissectors/asn1/rnsap/packet-rnsap-template.c
+++ b/epan/dissectors/asn1/rnsap/packet-rnsap-template.c
@@ -50,7 +50,8 @@
void proto_register_rnsap(void);
void proto_reg_handoff_rnsap(void);
-static dissector_handle_t rrc_dl_dcch_handle = NULL;
+static dissector_handle_t rrc_dl_ccch_handle = NULL;
+static dissector_handle_t rrc_ul_ccch_handle = NULL;
/* Initialize the protocol and registered fields */
static int proto_rnsap = -1;
@@ -176,7 +177,8 @@ void proto_register_rnsap(void) {
void
proto_reg_handoff_rnsap(void)
{
- rrc_dl_dcch_handle = find_dissector_add_dependency("rrc.dl.dcch", proto_rnsap);
+ rrc_dl_ccch_handle = find_dissector_add_dependency("rrc.dl.ccch", proto_rnsap);
+ rrc_ul_ccch_handle = find_dissector_add_dependency("rrc.ul.ccch", proto_rnsap);
dissector_add_uint("sccp.ssn", SCCP_SSN_RNSAP, rnsap_handle);
/* Add heuristic dissector */
diff --git a/epan/dissectors/asn1/rnsap/rnsap.cnf b/epan/dissectors/asn1/rnsap/rnsap.cnf
index 2c03e67155..9b374e951d 100644
--- a/epan/dissectors/asn1/rnsap/rnsap.cnf
+++ b/epan/dissectors/asn1/rnsap/rnsap.cnf
@@ -116,9 +116,14 @@ ProtocolIE-ContainerPairList
switch (ProcedureCode) {
case RNSAP_ID_DOWNLINKSIGNALLINGTRANSFER:
- parameter_handle = rrc_dl_dcch_handle;
+ /* TODO: seperate into Iur and Iur-g cases: */
+ /* For the Iur-g interface, L3 message is a GERAN-RRC message for which a dissector does not currently exist */
+ /* For the Iur interface, L3 message is a UMTS RRC DL-CCCH message */
+ parameter_handle = rrc_dl_ccch_handle;
break;
case RNSAP_ID_UPLINKSIGNALLINGTRANSFER:
+ parameter_handle = rrc_ul_ccch_handle;
+ break;
default:
break;
}