From Mark Wallis:

Fix up proto and info columns.

svn path=/trunk/; revision=32175
This commit is contained in:
Anders Broman 2010-03-12 19:34:07 +00:00
parent 27efebc70c
commit 8ccdb36c75
5 changed files with 124 additions and 180 deletions

View File

@ -55,10 +55,11 @@ CN-DomainIndicator
#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
#.FN_FTR ProcedureCode
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str(ProcedureCode, hnbap_ProcedureCode_vals,
"Unknown Message"));
#.FN_FTR ProcedureCode
if (strcmp(val_to_str(ProcedureCode, hnbap_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
col_set_str(actx->pinfo->cinfo, COL_INFO,
"Unknown Message");
} /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
@ -68,73 +69,54 @@ CN-DomainIndicator
# There is no protocol inside HNBAP so fill col info with HNBAP elementary procedure name
#.FN_BODY HNBRegisterRequest
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REQUEST" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_REQUEST ");
%(DEFAULT_BODY)s
#.FN_BODY HNBRegisterAccept
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_ACCEPT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_ACCEPT ");
%(DEFAULT_BODY)s
#.FN_BODY HNBRegisterReject
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REJECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_REJECT ");
%(DEFAULT_BODY)s
#.FN_BODY UERegisterRequest
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REQUEST" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_REQUEST ");
%(DEFAULT_BODY)s
#.FN_BODY UERegisterAccept
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_ACCEPT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_ACCEPT ");
%(DEFAULT_BODY)s
#.FN_BODY UERegisterReject
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REJECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_REJECT ");
%(DEFAULT_BODY)s
#.FN_BODY UEDe-Register
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_DE-REGISTER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_DE-REGISTER ");
%(DEFAULT_BODY)s
#.FN_BODY HNBDe-Register
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_DE-REGISTER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_DE-REGISTER ");
%(DEFAULT_BODY)s
#.FN_BODY ErrorIndication
col_append_str(actx->pinfo->cinfo, COL_INFO, "ERROR_INDICATION" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"ERROR_INDICATION ");
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
%(DEFAULT_BODY)s
#.FN_BODY PrivateMessage
col_append_str(actx->pinfo->cinfo, COL_INFO, "PRIVATE_MESSAGE" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
col_set_str(actx->pinfo->cinfo, COL_INFO,
"PRIVATE_MESSAGE ");
%(DEFAULT_BODY)s
#.END

View File

@ -61,8 +61,8 @@ static int proto_rua = -1;
/* Initialize the subtree pointers */
static int ett_rua = -1;
/* initialise sub-dissector handles */
static dissector_handle_t rua_ranap_handle = NULL;
/* initialise sub-dissector handles */
static dissector_handle_t ranap_handle = NULL;
#include "packet-rua-ett.c"
@ -179,7 +179,7 @@ proto_reg_handoff_rua(void)
if (!initialized) {
rua_handle = find_dissector("rua");
rua_ranap_handle = find_dissector("ranap");
ranap_handle = find_dissector("ranap");
dissector_add("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle);
initialized = TRUE;
#include "packet-rua-dis-tab.c"

View File

@ -50,10 +50,10 @@ ProtocolIE-Single-Container
#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
#.FN_FTR ProcedureCode
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str(ProcedureCode, rua_ProcedureCode_vals,
"Unknown Message"));
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect the Procedure Code COL_INFO from subdissector overwrites */
if (strcmp(val_to_str(ProcedureCode, rua_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
col_set_str(actx->pinfo->cinfo, COL_INFO,
"Unknown Message ");
} /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
@ -61,55 +61,45 @@ ProtocolIE-Single-Container
#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
#.FN_BODY Connect /* Set COL_INFO to Connect */
col_append_str(actx->pinfo->cinfo, COL_INFO, "CONNECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#.FN_BODY Connect
col_set_str(actx->pinfo->cinfo, COL_INFO,
"CONNECT ");
%(DEFAULT_BODY)s
#.FN_BODY DirectTransfer /* Set COL_INFO to DirectTransfer */
col_append_str(actx->pinfo->cinfo, COL_INFO, "DIRECT_TRANSFER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#.FN_BODY DirectTransfer
col_set_str(actx->pinfo->cinfo, COL_INFO,
"DIRECT_TRANSFER ");
%(DEFAULT_BODY)s
#.FN_BODY Disconnect /* Set COL_INFO to Disconnect */
col_append_str(actx->pinfo->cinfo, COL_INFO, "DISCONNECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#.FN_BODY Disconnect
col_set_str(actx->pinfo->cinfo, COL_INFO,
"DISCONNECT ");
%(DEFAULT_BODY)s
#.FN_BODY ConnectionlessTransfer /* Set COL_INFO to ConnectionlessTransfer */
col_append_str(actx->pinfo->cinfo, COL_INFO, "CONNECTIONLESS_TRANSFER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#.FN_BODY ConnectionlessTransfer
col_set_str(actx->pinfo->cinfo, COL_INFO,
"CONNECTIONLESS_TRANSFER ");
%(DEFAULT_BODY)s
#.FN_BODY ErrorIndication /* Set COL_INFO to Error Indication and protect it */
col_append_str(actx->pinfo->cinfo, COL_INFO, "ERROR_INDICATION" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#.FN_BODY ErrorIndication
col_set_str(actx->pinfo->cinfo, COL_INFO,
"ERROR_INDICATION ");
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
%(DEFAULT_BODY)s
#.FN_BODY PrivateMessage /* Set COL_INFO to Private Message */
col_append_str(actx->pinfo->cinfo, COL_INFO, "PRIVATE_MESSAGE" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#.FN_BODY PrivateMessage
col_set_str(actx->pinfo->cinfo, COL_INFO,
"PRIVATE_MESSAGE ");
%(DEFAULT_BODY)s
#.FN_BODY RANAP-Message VAL_PTR = &ranap_message_tvb
tvbuff_t *ranap_message_tvb=NULL;
%(DEFAULT_BODY)s
if ((tvb_length(ranap_message_tvb)>0)&&(rua_ranap_handle)) { /* RUA has a RANAP-PDU, let RANAP append to COL_PROTOCOL i.e. RUA/RANAP */
if (check_col(actx->pinfo->cinfo, COL_PROTOCOL)) {
/* Protect RUA entries in the protocol and info columns from subdissector overwrites*/
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
}
call_dissector(rua_ranap_handle,ranap_message_tvb,%(ACTX)s->pinfo, tree);
} else { /* RUA does not have a RANAP-PDU so protect existing RUA Elementary Procedure as COL_INFO */
col_set_fence(actx->pinfo->cinfo, COL_INFO);
if ((tvb_length(ranap_message_tvb)>0)&&(ranap_handle)) { /* RUA has a RANAP-PDU */
col_set_str(actx->pinfo->cinfo, COL_INFO,
"(RUA) "); /* Set info to (RUA) to make room for RANAP */
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(ranap_handle,ranap_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
}
#.END

View File

@ -366,9 +366,10 @@ dissect_hnbap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
0U, 255U, &ProcedureCode, FALSE);
#line 59 "hnbap.cnf"
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str(ProcedureCode, hnbap_ProcedureCode_vals,
"Unknown Message"));
if (strcmp(val_to_str(ProcedureCode, hnbap_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
col_set_str(actx->pinfo->cinfo, COL_INFO,
"Unknown Message");
} /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
return offset;
@ -1401,11 +1402,9 @@ static const per_sequence_t HNBRegisterRequest_sequence[] = {
static int
dissect_hnbap_HNBRegisterRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 71 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REQUEST" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 72 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_REQUEST ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_HNBRegisterRequest, HNBRegisterRequest_sequence);
@ -1424,11 +1423,9 @@ static const per_sequence_t HNBRegisterAccept_sequence[] = {
static int
dissect_hnbap_HNBRegisterAccept(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 78 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_ACCEPT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 77 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_ACCEPT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_HNBRegisterAccept, HNBRegisterAccept_sequence);
@ -1447,11 +1444,9 @@ static const per_sequence_t HNBRegisterReject_sequence[] = {
static int
dissect_hnbap_HNBRegisterReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 85 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_REGISTER_REJECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 82 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_REGISTER_REJECT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_HNBRegisterReject, HNBRegisterReject_sequence);
@ -1470,11 +1465,9 @@ static const per_sequence_t HNBDe_Register_sequence[] = {
static int
dissect_hnbap_HNBDe_Register(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 119 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "HNB_DE-REGISTER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 107 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"HNB_DE-REGISTER ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_HNBDe_Register, HNBDe_Register_sequence);
@ -1493,11 +1486,9 @@ static const per_sequence_t UERegisterRequest_sequence[] = {
static int
dissect_hnbap_UERegisterRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 92 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REQUEST" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 87 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_REQUEST ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_UERegisterRequest, UERegisterRequest_sequence);
@ -1516,11 +1507,9 @@ static const per_sequence_t UERegisterAccept_sequence[] = {
static int
dissect_hnbap_UERegisterAccept(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 99 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_ACCEPT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 92 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_ACCEPT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_UERegisterAccept, UERegisterAccept_sequence);
@ -1539,10 +1528,9 @@ static const per_sequence_t UERegisterReject_sequence[] = {
static int
dissect_hnbap_UERegisterReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 106 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_REGISTER_REJECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 97 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_REGISTER_REJECT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_UERegisterReject, UERegisterReject_sequence);
@ -1561,11 +1549,9 @@ static const per_sequence_t UEDe_Register_sequence[] = {
static int
dissect_hnbap_UEDe_Register(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 112 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "UE_DE-REGISTER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 102 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"UE_DE-REGISTER ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_UEDe_Register, UEDe_Register_sequence);
@ -1584,12 +1570,10 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_hnbap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 126 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "ERROR_INDICATION" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 112 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"ERROR_INDICATION ");
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_ErrorIndication, ErrorIndication_sequence);
@ -1607,11 +1591,9 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_hnbap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 134 "hnbap.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "PRIVATE_MESSAGE" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 118 "hnbap.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"PRIVATE_MESSAGE ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_hnbap_PrivateMessage, PrivateMessage_sequence);

View File

@ -10,7 +10,7 @@
* Routines for UMTS Home Node B RANAP User Adaptation (RUA) packet dissection
* Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com>
*
* $Id: packet-rua-template.c 32108 2010-03-04 05:56:59Z etxrab $
* $Id: packet-rua-template.c 32142 2010-03-08 09:30:22Z stig $
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@ -171,8 +171,8 @@ static int hf_rua_unsuccessfulOutcome_value = -1; /* UnsuccessfulOutcome_value
/* Initialize the subtree pointers */
static int ett_rua = -1;
/* initialise sub-dissector handles */
static dissector_handle_t rua_ranap_handle = NULL;
/* initialise sub-dissector handles */
static dissector_handle_t ranap_handle = NULL;
/*--- Included file: packet-rua-ett.c ---*/
@ -275,10 +275,10 @@ dissect_rua_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
0U, 255U, &ProcedureCode, FALSE);
#line 53 "rua.cnf"
col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
val_to_str(ProcedureCode, rua_ProcedureCode_vals,
"Unknown Message"));
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect the Procedure Code COL_INFO from subdissector overwrites */
if (strcmp(val_to_str(ProcedureCode, rua_ProcedureCode_vals, "Unknown"), "Unknown") == 0) {
col_set_str(actx->pinfo->cinfo, COL_INFO,
"Unknown Message ");
} /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */
return offset;
@ -834,20 +834,16 @@ dissect_rua_IntraDomainNasNodeSelector(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_rua_RANAP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 102 "rua.cnf"
#line 96 "rua.cnf"
tvbuff_t *ranap_message_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &ranap_message_tvb);
if ((tvb_length(ranap_message_tvb)>0)&&(rua_ranap_handle)) { /* RUA has a RANAP-PDU, let RANAP append to COL_PROTOCOL i.e. RUA/RANAP */
if (check_col(actx->pinfo->cinfo, COL_PROTOCOL)) {
/* Protect RUA entries in the protocol and info columns from subdissector overwrites*/
col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
}
call_dissector(rua_ranap_handle,ranap_message_tvb,actx->pinfo, tree);
} else { /* RUA does not have a RANAP-PDU so protect existing RUA Elementary Procedure as COL_INFO */
col_set_fence(actx->pinfo->cinfo, COL_INFO);
if ((tvb_length(ranap_message_tvb)>0)&&(ranap_handle)) { /* RUA has a RANAP-PDU */
col_set_str(actx->pinfo->cinfo, COL_INFO,
"(RUA) "); /* Set info to (RUA) to make room for RANAP */
col_set_fence(actx->pinfo->cinfo, COL_INFO);
call_dissector(ranap_handle,ranap_message_tvb,actx->pinfo, proto_tree_get_root(tree));
}
@ -1028,9 +1024,8 @@ static const per_sequence_t Connect_sequence[] = {
static int
dissect_rua_Connect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 65 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "CONNECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_str(actx->pinfo->cinfo, COL_INFO,
"CONNECT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_Connect, Connect_sequence);
@ -1049,10 +1044,9 @@ static const per_sequence_t DirectTransfer_sequence[] = {
static int
dissect_rua_DirectTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 71 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "DIRECT_TRANSFER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#line 70 "rua.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"DIRECT_TRANSFER ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_DirectTransfer, DirectTransfer_sequence);
@ -1071,10 +1065,9 @@ static const per_sequence_t Disconnect_sequence[] = {
static int
dissect_rua_Disconnect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 77 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "DISCONNECT" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#line 75 "rua.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"DISCONNECT ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_Disconnect, Disconnect_sequence);
@ -1093,10 +1086,9 @@ static const per_sequence_t ConnectionlessTransfer_sequence[] = {
static int
dissect_rua_ConnectionlessTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 83 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "CONNECTIONLESS_TRANSFER" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#line 80 "rua.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"CONNECTIONLESS_TRANSFER ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_ConnectionlessTransfer, ConnectionlessTransfer_sequence);
@ -1115,11 +1107,10 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_rua_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 89 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "ERROR_INDICATION" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
col_set_fence(actx->pinfo->cinfo, COL_INFO);
#line 85 "rua.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"ERROR_INDICATION ");
col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_ErrorIndication, ErrorIndication_sequence);
@ -1137,10 +1128,9 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_rua_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 96 "rua.cnf"
col_append_str(actx->pinfo->cinfo, COL_INFO, "PRIVATE_MESSAGE" );
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " ");
#line 91 "rua.cnf"
col_set_str(actx->pinfo->cinfo, COL_INFO,
"PRIVATE_MESSAGE ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rua_PrivateMessage, PrivateMessage_sequence);
@ -1778,7 +1768,7 @@ proto_reg_handoff_rua(void)
if (!initialized) {
rua_handle = find_dissector("rua");
rua_ranap_handle = find_dissector("ranap");
ranap_handle = find_dissector("ranap");
dissector_add("sctp.ppi", RUA_PAYLOAD_PROTOCOL_ID, rua_handle);
initialized = TRUE;