diff options
Diffstat (limited to 'asn1/camel')
-rw-r--r-- | asn1/camel/Makefile | 2 | ||||
-rw-r--r-- | asn1/camel/camel.cnf | 85 | ||||
-rw-r--r-- | asn1/camel/packet-camel-template.c | 51 |
3 files changed, 108 insertions, 30 deletions
diff --git a/asn1/camel/Makefile b/asn1/camel/Makefile index ac6074b3d4..c19ea9400d 100644 --- a/asn1/camel/Makefile +++ b/asn1/camel/Makefile @@ -10,7 +10,7 @@ all: generate_dissector generate_dissector: $(DISSECTOR_FILES) $(DISSECTOR_FILES): ../../tools/asn2wrs.py $(ASN_FILE_LIST) packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h camel.cnf - python ../../tools/asn2wrs.py -b -e -p camel -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(ASN_FILE_LIST) + python ../../tools/asn2wrs.py -b -X -T -L -e -k -p $(PROTOCOL_NAME) -c camel.cnf -s packet-$(PROTOCOL_NAME)-template $(ASN_FILE_LIST) clean: rm -f parsetab.py $(DISSECTOR_FILES) diff --git a/asn1/camel/camel.cnf b/asn1/camel/camel.cnf index 0f1c2d2fe2..77c4ae31ba 100644 --- a/asn1/camel/camel.cnf +++ b/asn1/camel/camel.cnf @@ -252,31 +252,39 @@ dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL); #.END #---------------------------------------------------------------------------------------- -#.FN_BODY Cause VAL_PTR = &camel_tvb +#.FN_BODY Cause VAL_PTR = ¶meter_tvb - tvbuff_t *camel_tvb; - guint8 Cause_value; +tvbuff_t *parameter_tvb; +guint8 Cause_value; +proto_item *item; +proto_tree *subtree; %(DEFAULT_BODY)s - if (camel_tvb) - dissect_q931_cause_ie(camel_tvb, 0, tvb_length_remaining(camel_tvb,0), tree, hf_camel_cause_indicator, &Cause_value); - + if (!parameter_tvb) + return offset; + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_cause); - return offset; + dissect_q931_cause_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), subtree, hf_camel_cause_indicator, &Cause_value); #.END + #---------------------------------------------------------------------------------------- -#.FN_BODY RPCause VAL_PTR = &camel_tvb +#.FN_BODY RPCause VAL_PTR = ¶meter_tvb - tvbuff_t *camel_tvb; - guint8 Cause_value; +tvbuff_t *parameter_tvb; +guint8 Cause_value; +proto_item *item; +proto_tree *subtree; %(DEFAULT_BODY)s - if (camel_tvb) - dissect_RP_cause_ie(camel_tvb, 0, tvb_length_remaining(camel_tvb,0), tree, hf_camel_RP_Cause, &Cause_value); + if (!parameter_tvb) + return offset; + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_RPcause); - return offset; + dissect_RP_cause_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), subtree, hf_camel_RP_Cause, &Cause_value); #.END #---------------------------------------------------------------------------------------- @@ -522,46 +530,75 @@ dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL); #.FN_BODY FCIBillingChargingCharacteristics VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) return offset; - dissect_camel_CAMEL_FCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, tree, -1); + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_FCIBillingChargingCharacteristics); + dissect_camel_CAMEL_FCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCIBillingChargingCharacteristics); #.FN_BODY FCIGPRSBillingChargingCharacteristics VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; + tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) return offset; - dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, tree, -1); + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_FCIGPRSBillingChargingCharacteristics); + dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics); #.FN_BODY FCISMSBillingChargingCharacteristics VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) - return offset; - dissect_camel_CAMEL_FCISMSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, tree, -1); + return offset; + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_FCISMSBillingChargingCharacteristics); + dissect_camel_CAMEL_FCISMSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_FCISMSBillingChargingCharacteristics); #.FN_BODY SCIBillingChargingCharacteristics VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) return offset; - dissect_camel_CAMEL_SCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, tree, -1); + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_SCIBillingChargingCharacteristics); + dissect_camel_CAMEL_SCIBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_SCIBillingChargingCharacteristics); #.FN_BODY SCIGPRSBillingChargingCharacteristics VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) - return offset; - dissect_camel_CAMEL_SCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, tree, -1); + return offset; + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_SCIGPRSBillingChargingCharacteristics); + dissect_camel_CAMEL_SCIGPRSBillingChargingCharacteristics(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics); #.FN_BODY CallResult VAL_PTR = ¶meter_tvb - tvbuff_t *parameter_tvb; + tvbuff_t *parameter_tvb; + proto_item *item; + proto_tree *subtree; + %(DEFAULT_BODY)s if (!parameter_tvb) return offset; - dissect_camel_CAMEL_CallResult(FALSE, parameter_tvb, 0, actx, tree, -1); - + item = get_ber_last_created_item(); + subtree = proto_item_add_subtree(item, ett_camel_CAMEL_CallResult); + dissect_camel_CAMEL_CallResult(FALSE, parameter_tvb, 0, actx, subtree, hf_camel_CAMEL_CallResult); #.TYPE_ATTR PDPTypeOrganization TYPE = FT_UINT8 DISPLAY = BASE_DEC BITMASK = 0x0f STRINGS = VALS(gsm_map_PDP_Type_Organisation_vals) diff --git a/asn1/camel/packet-camel-template.c b/asn1/camel/packet-camel-template.c index 0b31466db1..dc7a159de3 100644 --- a/asn1/camel/packet-camel-template.c +++ b/asn1/camel/packet-camel-template.c @@ -83,6 +83,13 @@ static int hf_camel_PDPAddress_IPv4 = -1; static int hf_camel_PDPAddress_IPv6 = -1; static int hf_camel_cellGlobalIdOrServiceAreaIdFixedLength = -1; static int hf_camel_RP_Cause = -1; +static int hf_camel_CAMEL_AChBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_FCIBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_FCISMSBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_SCIBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics = -1; +static int hf_camel_CAMEL_CallResult = -1; /* Used by camel-persistentdata.c */ int hf_camelsrt_SessionId=-1; @@ -98,7 +105,6 @@ int hf_camelsrt_DeltaTime65=-1; int hf_camelsrt_DeltaTime22=-1; int hf_camelsrt_DeltaTime35=-1; int hf_camelsrt_DeltaTime80=-1; -int hf_camel_CAMEL_AChBillingChargingCharacteristics = -1; #include "packet-camel-hf.c" @@ -120,6 +126,8 @@ static gint ett_camel = -1; static gint ett_camelisup_parameter = -1; static gint ett_camel_AccessPointName = -1; static gint ett_camel_pdptypenumber = -1; +static gint ett_camel_cause = -1; +static gint ett_camel_RPcause = -1; static gint ett_camel_stat = -1; #include "packet-camel-ett.c" @@ -457,6 +465,41 @@ void proto_register_camel(void) { { "RP Cause", "camel.RP_Cause", FT_UINT8, BASE_DEC, NULL, 0, "RP Cause Value", HFILL }}, + + { &hf_camel_CAMEL_AChBillingChargingCharacteristics, + { "CAMEL-AChBillingChargingCharacteristics", "camel.CAMEL_AChBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, VALS(camel_CAMEL_AChBillingChargingCharacteristics_vals), 0, + "CAMEL-AChBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_FCIBillingChargingCharacteristics, + { "CAMEL-FCIBillingChargingCharacteristics", "camel.CAMEL_FCIBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, VALS(camel_CAMEL_FCIBillingChargingCharacteristics_vals), 0, + "CAMEL-FCIBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_FCIGPRSBillingChargingCharacteristics, + { "CAMEL-FCIGPRSBillingChargingCharacteristics", "camel.CAMEL_FCIGPRSBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, NULL, 0, + "CAMEL-FCIGPRSBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_FCISMSBillingChargingCharacteristics, + { "CAMEL-FCISMSBillingChargingCharacteristics", "camel.CAMEL_FCISMSBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, VALS(camel_CAMEL_FCISMSBillingChargingCharacteristics_vals), 0, + "CAMEL-FCISMSBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_SCIBillingChargingCharacteristics, + { "CAMEL-SCIBillingChargingCharacteristics", "camel.CAMEL_SCIBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, VALS(camel_CAMEL_SCIBillingChargingCharacteristics_vals), 0, + "CAMEL-SCIBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_SCIGPRSBillingChargingCharacteristics, + { "CAMEL-SCIGPRSBillingChargingCharacteristics", "camel.CAMEL_SCIGPRSBillingChargingCharacteristics", + FT_UINT32, BASE_DEC, NULL, 0, + "CAMEL-FSCIGPRSBillingChargingCharacteristics", HFILL }}, + + { &hf_camel_CAMEL_CallResult, + { "CAMEL-CAMEL_CallResult", "camel.CAMEL_CallResult", + FT_UINT32, BASE_DEC, VALS(camel_CAMEL_CallResult_vals), 0, + "CAMEL-CallResult", HFILL }}, /* Camel Service Response Time */ { &hf_camelsrt_SessionId, @@ -537,10 +580,6 @@ void proto_register_camel(void) { FT_RELATIVE_TIME, BASE_NONE, NULL, 0x0, "DeltaTime between EventReportGPRS and ContinueGPRS", HFILL } }, - { &hf_camel_CAMEL_AChBillingChargingCharacteristics, - { "CAMEL-AChBillingChargingCharacteristics", "camel.CAMEL_AChBillingChargingCharacteristics", - FT_UINT32, BASE_DEC, NULL, 0, - "CAMEL-AChBillingChargingCharacteristics", HFILL }}, #ifdef REMOVED #endif @@ -553,6 +592,8 @@ void proto_register_camel(void) { &ett_camelisup_parameter, &ett_camel_AccessPointName, &ett_camel_pdptypenumber, + &ett_camel_cause, + &ett_camel_RPcause, &ett_camel_stat, #include "packet-camel-ettarr.c" |