/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.c */
-/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
+/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
/* Input file: packet-gprscdr-template.c */
static int hf_gprscdr_iPBinV6Address = -1; /* OCTET_STRING_SIZE_16 */
static int hf_gprscdr_iPTextV4Address = -1; /* IA5String_SIZE_7_15 */
static int hf_gprscdr_iPTextV6Address = -1; /* IA5String_SIZE_15_45 */
-static int hf_gprscdr_lcsClientExternalID = -1; /* LCSClientExternalID */
-static int hf_gprscdr_lcsClientDialedByMS = -1; /* AddressString */
-static int hf_gprscdr_lcsClientInternalID = -1; /* LCSClientInternalID */
-static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
-static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_ManagementExtensions_item = -1; /* ManagementExtension */
static int hf_gprscdr_identifier = -1; /* OBJECT_IDENTIFIER */
static int hf_gprscdr_significance = -1; /* BOOLEAN */
static int hf_gprscdr_sgsnAddress_01 = -1; /* GSNAddress */
static int hf_gprscdr_msNetworkCapability = -1; /* MSNetworkCapability */
static int hf_gprscdr_routingArea = -1; /* RoutingAreaCode */
+static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
static int hf_gprscdr_cellIdentifier = -1; /* CellId */
static int hf_gprscdr_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
static int hf_gprscdr_smsResult = -1; /* SMSResult */
static int hf_gprscdr_destinationNumber = -1; /* SmsTpDestinationNumber */
static int hf_gprscdr_cAMELInformationSMS = -1; /* CAMELInformationSMS */
-static int hf_gprscdr_lcsClientType = -1; /* LCSClientType */
-static int hf_gprscdr_lcsClientIdentity = -1; /* LCSClientIdentity */
-static int hf_gprscdr_locationType = -1; /* LocationType */
-static int hf_gprscdr_lcsQos = -1; /* LCSQoSInfo */
-static int hf_gprscdr_lcsPriority = -1; /* LCS_Priority */
-static int hf_gprscdr_mlcNumber = -1; /* ISDN_AddressString */
-static int hf_gprscdr_measurementDuration = -1; /* CallDuration */
-static int hf_gprscdr_notificationToMSUser = -1; /* NotificationToMSUser */
-static int hf_gprscdr_privacyOverride = -1; /* NULL */
-static int hf_gprscdr_location = -1; /* LocationAreaAndCell */
-static int hf_gprscdr_locationEstimate = -1; /* Ext_GeographicalInformation */
-static int hf_gprscdr_positioningData = -1; /* PositioningData */
-static int hf_gprscdr_lcsCause = -1; /* LCSCause */
-static int hf_gprscdr_locationMethod = -1; /* LocationMethod */
static int hf_gprscdr_listofDownstreamNodes = -1; /* SEQUENCE_OF_RouteingAreaCode */
static int hf_gprscdr_listofDownstreamNodes_item = -1; /* RouteingAreaCode */
static int hf_gprscdr_numberofReceivingUE = -1; /* INTEGER */
static int hf_gprscdr_datavolumeFBCDownlink = -1; /* DataVolumeGPRS */
static int hf_gprscdr_timeOfReport = -1; /* TimeStamp */
static int hf_gprscdr_routingAreaCode = -1; /* RoutingAreaCode */
+static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_eTSIAddress = -1; /* ETSIAddress */
static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */
static gint ett_gprscdr_IPAddress = -1;
static gint ett_gprscdr_IPBinaryAddress = -1;
static gint ett_gprscdr_IPTextRepresentedAddress = -1;
-static gint ett_gprscdr_LCSClientIdentity = -1;
static gint ett_gprscdr_LevelOfCAMELService = -1;
-static gint ett_gprscdr_LocationAreaAndCell = -1;
static gint ett_gprscdr_ManagementExtensions = -1;
static gint ett_gprscdr_ManagementExtension = -1;
static gint ett_gprscdr_GPRSCallEventRecord = -1;
static gint ett_gprscdr_SGSNPDPRecord = -1;
static gint ett_gprscdr_SGSNSMORecord = -1;
static gint ett_gprscdr_SGSNSMTRecord = -1;
-static gint ett_gprscdr_SGSNMTLCSRecord = -1;
-static gint ett_gprscdr_SGSNMOLCSRecord = -1;
-static gint ett_gprscdr_SGSNNILCSRecord = -1;
static gint ett_gprscdr_SGSNMBMSRecord = -1;
static gint ett_gprscdr_SEQUENCE_OF_RouteingAreaCode = -1;
static gint ett_gprscdr_GGSNMBMSRecord = -1;
/*--- End of included file: packet-gprscdr-ett.c ---*/
#line 50 "../../asn1/gprscdr/packet-gprscdr-template.c"
-static dissector_handle_t gprscdr_handle;
-
/*--- Included file: packet-gprscdr-fn.c ---*/
#line 1 "../../asn1/gprscdr/packet-gprscdr-fn.c"
}
-
-static int
-dissect_gprscdr_CalledNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_gprscdr_BCDDirectoryNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
static const value_string gprscdr_CallEventRecordType_vals[] = {
{ 0, "moCallRecord" },
{ 1, "mtCallRecord" },
-static int
-dissect_gprscdr_CallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
static int
dissect_gprscdr_CellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
}
-static const value_string gprscdr_ChargeIndicator_vals[] = {
- { 0, "noCharge" },
- { 1, "charge" },
- { 0, NULL }
-};
-
-
-static int
-dissect_gprscdr_ChargeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
static int
dissect_gprscdr_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
static int
dissect_gprscdr_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 26 "../../asn1/gprscdr/gprscdr.cnf"
+#line 41 "../../asn1/gprscdr/gprscdr.cnf"
proto_tree_add_text(tree, tvb, offset, -1, "Not dissected");
}
-
-static int
-dissect_gprscdr_LCSCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t LCSClientIdentity_sequence[] = {
- { &hf_gprscdr_lcsClientExternalID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
- { &hf_gprscdr_lcsClientDialedByMS, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
- { &hf_gprscdr_lcsClientInternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gprscdr_LCSClientIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- LCSClientIdentity_sequence, hf_index, ett_gprscdr_LCSClientIdentity);
-
- return offset;
-}
-
-
-
-static int
-dissect_gprscdr_LCSQoSInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
static const asn_namedbit LevelOfCAMELService_bits[] = {
{ 0, &hf_gprscdr_LevelOfCAMELService_basic, -1, -1, "basic", NULL },
{ 1, &hf_gprscdr_LevelOfCAMELService_callDurationSupervision, -1, -1, "callDurationSupervision", NULL },
}
-static const ber_sequence_t LocationAreaAndCell_sequence[] = {
- { &hf_gprscdr_locationAreaCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaCode },
- { &hf_gprscdr_cellId , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_CellId },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gprscdr_LocationAreaAndCell(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
- LocationAreaAndCell_sequence, hf_index, ett_gprscdr_LocationAreaAndCell);
-
- return offset;
-}
-
-
static const ber_sequence_t ManagementExtensions_set_of[1] = {
{ &hf_gprscdr_ManagementExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ManagementExtension },
};
-static int
-dissect_gprscdr_MscNo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
-
static int
dissect_gprscdr_MSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
-static int
-dissect_gprscdr_PositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
static int
dissect_gprscdr_RecordingEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
}
-static const value_string gprscdr_SystemType_vals[] = {
- { 0, "unknown" },
- { 1, "iuUTRAN" },
- { 2, "gERAN" },
- { 0, NULL }
-};
-
-
-static int
-dissect_gprscdr_SystemType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
static int
dissect_gprscdr_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
return offset;
}
-
-static const ber_sequence_t SGSNMTLCSRecord_set[] = {
- { &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
- { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
- { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
- { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
- { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
- { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
- { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
- { &hf_gprscdr_locationType, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
- { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
- { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
- { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
- { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
- { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
- { &hf_gprscdr_notificationToMSUser, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
- { &hf_gprscdr_privacyOverride, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
- { &hf_gprscdr_location , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
- { &hf_gprscdr_routingArea , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
- { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
- { &hf_gprscdr_positioningData, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
- { &hf_gprscdr_lcsCause , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
- { &hf_gprscdr_diagnostics , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
- { &hf_gprscdr_nodeID , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
- { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
- { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
- { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
- { &hf_gprscdr_rATType , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
- { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
- { &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gprscdr_SGSNMTLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SGSNMTLCSRecord_set, hf_index, ett_gprscdr_SGSNMTLCSRecord);
-
- return offset;
-}
-
-
-static const ber_sequence_t SGSNMOLCSRecord_set[] = {
- { &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
- { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
- { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
- { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
- { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
- { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
- { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
- { &hf_gprscdr_locationMethod, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod },
- { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
- { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
- { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
- { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
- { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
- { &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
- { &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
- { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
- { &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
- { &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
- { &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
- { &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
- { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
- { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
- { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
- { &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
- { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
- { &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gprscdr_SGSNMOLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SGSNMOLCSRecord_set, hf_index, ett_gprscdr_SGSNMOLCSRecord);
-
- return offset;
-}
-
-
-static const ber_sequence_t SGSNNILCSRecord_set[] = {
- { &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
- { &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
- { &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
- { &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
- { &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
- { &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
- { &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
- { &hf_gprscdr_servedIMEI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
- { &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
- { &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
- { &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
- { &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
- { &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
- { &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
- { &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
- { &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
- { &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
- { &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
- { &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
- { &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
- { &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
- { &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
- { &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
- { &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
- { &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
- { &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_gprscdr_SGSNNILCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
- SGSNNILCSRecord_set, hf_index, ett_gprscdr_SGSNNILCSRecord);
-
- return offset;
-}
-
/*--- PDUs ---*/
int dissect_gprscdr_GPRSCallEventRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
/*--- End of included file: packet-gprscdr-fn.c ---*/
-#line 54 "../../asn1/gprscdr/packet-gprscdr-template.c"
+#line 52 "../../asn1/gprscdr/packet-gprscdr-template.c"
{ "iPTextV6Address", "gprscdr.iPTextV6Address",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_15_45", HFILL }},
- { &hf_gprscdr_lcsClientExternalID,
- { "lcsClientExternalID", "gprscdr.lcsClientExternalID",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_lcsClientDialedByMS,
- { "lcsClientDialedByMS", "gprscdr.lcsClientDialedByMS",
- FT_BYTES, BASE_NONE, NULL, 0,
- "AddressString", HFILL }},
- { &hf_gprscdr_lcsClientInternalID,
- { "lcsClientInternalID", "gprscdr.lcsClientInternalID",
- FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
- NULL, HFILL }},
- { &hf_gprscdr_locationAreaCode,
- { "locationAreaCode", "gprscdr.locationAreaCode",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_cellId,
- { "cellId", "gprscdr.cellId",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_gprscdr_ManagementExtensions_item,
{ "ManagementExtension", "gprscdr.ManagementExtension",
FT_NONE, BASE_NONE, NULL, 0,
{ "routingArea", "gprscdr.routingArea",
FT_BYTES, BASE_NONE, NULL, 0,
"RoutingAreaCode", HFILL }},
+ { &hf_gprscdr_locationAreaCode,
+ { "locationAreaCode", "gprscdr.locationAreaCode",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_cellIdentifier,
{ "cellIdentifier", "gprscdr.cellIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
{ "cAMELInformationSMS", "gprscdr.cAMELInformationSMS",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_gprscdr_lcsClientType,
- { "lcsClientType", "gprscdr.lcsClientType",
- FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0,
- NULL, HFILL }},
- { &hf_gprscdr_lcsClientIdentity,
- { "lcsClientIdentity", "gprscdr.lcsClientIdentity",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_locationType,
- { "locationType", "gprscdr.locationType",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_lcsQos,
- { "lcsQos", "gprscdr.lcsQos",
- FT_BYTES, BASE_NONE, NULL, 0,
- "LCSQoSInfo", HFILL }},
- { &hf_gprscdr_lcsPriority,
- { "lcsPriority", "gprscdr.lcsPriority",
- FT_BYTES, BASE_NONE, NULL, 0,
- "LCS_Priority", HFILL }},
- { &hf_gprscdr_mlcNumber,
- { "mlcNumber", "gprscdr.mlcNumber",
- FT_BYTES, BASE_NONE, NULL, 0,
- "ISDN_AddressString", HFILL }},
- { &hf_gprscdr_measurementDuration,
- { "measurementDuration", "gprscdr.measurementDuration",
- FT_INT32, BASE_DEC, NULL, 0,
- "CallDuration", HFILL }},
- { &hf_gprscdr_notificationToMSUser,
- { "notificationToMSUser", "gprscdr.notificationToMSUser",
- FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
- NULL, HFILL }},
- { &hf_gprscdr_privacyOverride,
- { "privacyOverride", "gprscdr.privacyOverride",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_location,
- { "location", "gprscdr.location",
- FT_NONE, BASE_NONE, NULL, 0,
- "LocationAreaAndCell", HFILL }},
- { &hf_gprscdr_locationEstimate,
- { "locationEstimate", "gprscdr.locationEstimate",
- FT_BYTES, BASE_NONE, NULL, 0,
- "Ext_GeographicalInformation", HFILL }},
- { &hf_gprscdr_positioningData,
- { "positioningData", "gprscdr.positioningData",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_lcsCause,
- { "lcsCause", "gprscdr.lcsCause",
- FT_BYTES, BASE_NONE, NULL, 0,
- NULL, HFILL }},
- { &hf_gprscdr_locationMethod,
- { "locationMethod", "gprscdr.locationMethod",
- FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0,
- NULL, HFILL }},
{ &hf_gprscdr_listofDownstreamNodes,
{ "listofDownstreamNodes", "gprscdr.listofDownstreamNodes",
FT_UINT32, BASE_DEC, NULL, 0,
{ "routingAreaCode", "gprscdr.routingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_gprscdr_cellId,
+ { "cellId", "gprscdr.cellId",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_gprscdr_iPAddress,
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
NULL, HFILL }},
/*--- End of included file: packet-gprscdr-hfarr.c ---*/
-#line 64 "../../asn1/gprscdr/packet-gprscdr-template.c"
+#line 62 "../../asn1/gprscdr/packet-gprscdr-template.c"
};
/* List of subtrees */
&ett_gprscdr_IPAddress,
&ett_gprscdr_IPBinaryAddress,
&ett_gprscdr_IPTextRepresentedAddress,
- &ett_gprscdr_LCSClientIdentity,
&ett_gprscdr_LevelOfCAMELService,
- &ett_gprscdr_LocationAreaAndCell,
&ett_gprscdr_ManagementExtensions,
&ett_gprscdr_ManagementExtension,
&ett_gprscdr_GPRSCallEventRecord,
&ett_gprscdr_SGSNPDPRecord,
&ett_gprscdr_SGSNSMORecord,
&ett_gprscdr_SGSNSMTRecord,
- &ett_gprscdr_SGSNMTLCSRecord,
- &ett_gprscdr_SGSNMOLCSRecord,
- &ett_gprscdr_SGSNNILCSRecord,
&ett_gprscdr_SGSNMBMSRecord,
&ett_gprscdr_SEQUENCE_OF_RouteingAreaCode,
&ett_gprscdr_GGSNMBMSRecord,
&ett_gprscdr_MBMSInformation,
/*--- End of included file: packet-gprscdr-ettarr.c ---*/
-#line 71 "../../asn1/gprscdr/packet-gprscdr-template.c"
+#line 69 "../../asn1/gprscdr/packet-gprscdr-template.c"
};
proto_gprscdr = proto_register_protocol(PNAME, PSNAME, PFNAME);
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-tetra.c */
-/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . tetra.asn */
+/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . -O ../../epan/dissectors tetra.asn */
/* Input file: packet-tetra-template.c */
static int hf_tetra_BSCH_PDU = -1; /* BSCH */
static int hf_tetra_BNCH_PDU = -1; /* BNCH */
static int hf_tetra_MAC_ACCESS_PDU = -1; /* MAC_ACCESS */
-static int hf_tetra_MAC_DATA_PDU = -1; /* MAC_DATA */
static int hf_tetra_MAC_FRAG_PDU = -1; /* MAC_FRAG */
static int hf_tetra_MAC_FRAG120_PDU = -1; /* MAC_FRAG120 */
static int hf_tetra_MAC_END_UPLINK_PDU = -1; /* MAC_END_UPLINK */
static int hf_tetra_tm_sdu_01 = -1; /* U_LLC_PDU */
static int hf_tetra_frag = -1; /* Frag1 */
static int hf_tetra_reservation_requirement = -1; /* SLOT_APPLY */
-static int hf_tetra_lengthIndicationOrCapacityRequest_01 = -1; /* T_lengthIndicationOrCapacityRequest_01 */
-static int hf_tetra_lengthIndication_01 = -1; /* LengthIndicationMacData */
-static int hf_tetra_capacityRequest_01 = -1; /* FRAG6 */
static int hf_tetra_sub_type = -1; /* INTEGER_0_1 */
static int hf_tetra_tm_sdu_02 = -1; /* BIT_STRING_SIZE_264 */
static int hf_tetra_tm_sdu_03 = -1; /* BIT_STRING_SIZE_120 */
static int hf_tetra_lengthInd = -1; /* LengthIndMacHu */
static int hf_tetra_tm_sdu_06 = -1; /* BIT_STRING_SIZE_85 */
static int hf_tetra_position_of_grant = -1; /* Position_Of_Grant */
-static int hf_tetra_lengthIndication_02 = -1; /* LengthIndicationMacEndDl */
+static int hf_tetra_lengthIndication_01 = -1; /* LengthIndicationMacEndDl */
static int hf_tetra_slot_granting = -1; /* T_slot_granting */
static int hf_tetra_none = -1; /* NULL */
static int hf_tetra_slot_granting_param = -1; /* SlotGranting */
static int hf_tetra_tm_sdu_08 = -1; /* BIT_STRING_SIZE_111 */
static int hf_tetra_encryption_mode = -1; /* INTEGER_0_3 */
static int hf_tetra_access_ack = -1; /* T_access_ack */
-static int hf_tetra_lengthIndication_03 = -1; /* LengthIndicationMacResource */
+static int hf_tetra_lengthIndication_02 = -1; /* LengthIndicationMacResource */
static int hf_tetra_address_01 = -1; /* AddressMacResource */
static int hf_tetra_power_control = -1; /* T_power_control */
static int hf_tetra_powerParameters = -1; /* PowerControl */
static int hf_tetra_ventlabel = -1; /* INTEGER_0_1023 */
static int hf_tetra_usage_maker = -1; /* INTEGER_0_63 */
static int hf_tetra_smi_eventlabel = -1; /* BIT_STRING_SIZE_34 */
-static int hf_tetra_freq_band = -1; /* INTEGER_0_15 */
-static int hf_tetra_reverse_operation_02 = -1; /* BOOLEAN */
static int hf_tetra_broadcast_channel = -1; /* INTEGER_0_1 */
static int hf_tetra_access_code = -1; /* INTEGER_0_3 */
static int hf_tetra_imm_01 = -1; /* INTEGER_0_15 */
static int hf_tetra_type2_element_03 = -1; /* T_type2_element_03 */
static int hf_tetra_type3_05 = -1; /* T_type3_05 */
static int hf_tetra_type3_elements_05 = -1; /* T_type3_elements_05 */
-static int hf_tetra_encryption_flag = -1; /* INTEGER_0_1 */
-static int hf_tetra_communication_type = -1; /* CALLMODE */
-static int hf_tetra_speech_service = -1; /* INTEGER_0_3 */
-static int hf_tetra_communication_type_01 = -1; /* INTEGER_0_3 */
-static int hf_tetra_slots_per_frame = -1; /* INTEGER_0_3 */
static int hf_tetra_called_party_sna = -1; /* INTEGER_0_255 */
static int hf_tetra_called_party_ssi = -1; /* INTEGER_0_16777215 */
static int hf_tetra_called_party_ssi_extention = -1; /* T_called_party_ssi_extention */
static gint ett_tetra_ComplexSDU = -1;
static gint ett_tetra_T_lengthIndicationOrCapacityRequest = -1;
static gint ett_tetra_FRAG = -1;
-static gint ett_tetra_MAC_DATA = -1;
-static gint ett_tetra_T_lengthIndicationOrCapacityRequest_01 = -1;
-static gint ett_tetra_FRAG6 = -1;
static gint ett_tetra_MAC_FRAG = -1;
static gint ett_tetra_MAC_FRAG120 = -1;
static gint ett_tetra_MAC_END_UPLINK = -1;
static gint ett_tetra_SSI_EVENT_NEED = -1;
static gint ett_tetra_SSI_USAGE_NEED = -1;
static gint ett_tetra_SMI_EVENT_NEED = -1;
-static gint ett_tetra_ExtendCarrier = -1;
static gint ett_tetra_MAC_ACCESS_DEFINE = -1;
static gint ett_tetra_T_optional_field = -1;
static gint ett_tetra_D_LLC_PDU = -1;
static gint ett_tetra_T_type2_element_03 = -1;
static gint ett_tetra_T_type3_05 = -1;
static gint ett_tetra_T_type3_elements_05 = -1;
-static gint ett_tetra_SPEECHMODE = -1;
-static gint ett_tetra_DATAMODE = -1;
static gint ett_tetra_Calling_party_address_type = -1;
static gint ett_tetra_T_called_party_ssi_extention = -1;
static gint ett_tetra_Proprietary = -1;
int
dissect_tetra_U_LOCATION_UPDATE_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 93 "../../asn1/tetra/tetra.cnf"
+#line 102 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_LOCATION_UPDATE_DEMAND, U_LOCATION_UPDATE_DEMAND_sequence);
int
dissect_tetra_U_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 229 "../../asn1/tetra/tetra.cnf"
+#line 238 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_MM_STATUS, U_MM_STATUS_sequence);
int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 239 "../../asn1/tetra/tetra.cnf"
+#line 248 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY, U_ATTACH_DETACH_GROUP_IDENTITY_sequence);
int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 244 "../../asn1/tetra/tetra.cnf"
+#line 253 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK, U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
int
dissect_tetra_U_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 178 "../../asn1/tetra/tetra.cnf"
+#line 187 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ALERT, U_ALERT_sequence);
int
dissect_tetra_U_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 183 "../../asn1/tetra/tetra.cnf"
+#line 192 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CONNECT, U_CONNECT_sequence);
int
dissect_tetra_U_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 188 "../../asn1/tetra/tetra.cnf"
+#line 197 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_DISCONNECT, U_DISCONNECT_sequence);
int
dissect_tetra_U_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 70 "../../asn1/tetra/tetra.cnf"
+#line 79 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_RELEASE, U_RELEASE_sequence);
int
dissect_tetra_U_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 198 "../../asn1/tetra/tetra.cnf"
+#line 207 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SETUP, U_SETUP_sequence);
int
dissect_tetra_U_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 203 "../../asn1/tetra/tetra.cnf"
+#line 212 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_STATUS, U_STATUS_sequence);
int
dissect_tetra_U_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 223 "../../asn1/tetra/tetra.cnf"
+#line 232 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_CEASED, U_TX_CEASED_sequence);
int
dissect_tetra_U_TX_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 218 "../../asn1/tetra/tetra.cnf"
+#line 227 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_DEMAND, U_TX_DEMAND_sequence);
int
dissect_tetra_U_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 213 "../../asn1/tetra/tetra.cnf"
+#line 222 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CALL_RESTORE, U_CALL_RESTORE_sequence);
int
dissect_tetra_U_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 208 "../../asn1/tetra/tetra.cnf"
+#line 217 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SDS_DATA, U_SDS_DATA_sequence);
}
-static const value_string tetra_LengthIndicationMacData_vals[] = {
- { 0, "null" },
- { 1, "reserved-1" },
- { 2, "reserved-2" },
- { 3, "bits-24" },
- { 4, "bits-32" },
- { 5, "bits-40" },
- { 6, "bits-48" },
- { 7, "bits-56" },
- { 8, "bits-64" },
- { 9, "bits-72" },
- { 10, "bits-80" },
- { 11, "bits-88" },
- { 12, "bits-96" },
- { 13, "bits-104" },
- { 14, "bits-112" },
- { 15, "bits-120" },
- { 16, "bits-128" },
- { 17, "bits-136" },
- { 18, "bits-144" },
- { 19, "bits-152" },
- { 20, "bits-160" },
- { 21, "bits-168" },
- { 22, "bits-176" },
- { 23, "bits-184" },
- { 24, "bits-192" },
- { 25, "bits-200" },
- { 26, "bits-208" },
- { 27, "bits-216" },
- { 28, "bits-224" },
- { 29, "bits-232" },
- { 30, "bits-240" },
- { 31, "bits-248" },
- { 32, "bits-256" },
- { 33, "bits-264" },
- { 34, "bits-272" },
- { 35, "reserved-35" },
- { 36, "reserved-36" },
- { 37, "reserved-37" },
- { 38, "reserved-38" },
- { 39, "reserved-39" },
- { 40, "reserved-40" },
- { 41, "reserved-41" },
- { 42, "reserved-42" },
- { 43, "reserved-43" },
- { 44, "reserved-44" },
- { 45, "reserved-45" },
- { 46, "reserved-46" },
- { 47, "reserved-47" },
- { 48, "reserved-48" },
- { 49, "reserved-49" },
- { 50, "reserved-50" },
- { 51, "reserved-51" },
- { 52, "reserved-52" },
- { 53, "reserved-53" },
- { 54, "reserved-54" },
- { 55, "reserved-55" },
- { 56, "reserved-56" },
- { 57, "reserved-57" },
- { 58, "reserved-58" },
- { 59, "reserved-59" },
- { 60, "reserved-60" },
- { 61, "reserved-61" },
- { 62, "second-halfslot-stolen" },
- { 63, "start-frag" },
- { 0, NULL }
-};
-
-
-static int
-dissect_tetra_LengthIndicationMacData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 64, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t FRAG6_sequence[] = {
- { &hf_tetra_frag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Frag1 },
- { &hf_tetra_reservation_requirement, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_SLOT_APPLY },
- { &hf_tetra_reserved_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_tetra_FRAG6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_FRAG6, FRAG6_sequence);
-
- return offset;
-}
-
-
-static const value_string tetra_T_lengthIndicationOrCapacityRequest_01_vals[] = {
- { 0, "lengthIndication" },
- { 1, "capacityRequest" },
- { 0, NULL }
-};
-
-static const per_choice_t T_lengthIndicationOrCapacityRequest_01_choice[] = {
- { 0, &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , dissect_tetra_LengthIndicationMacData },
- { 1, &hf_tetra_capacityRequest_01, ASN1_NO_EXTENSIONS , dissect_tetra_FRAG6 },
- { 0, NULL, 0, NULL }
-};
-
-static int
-dissect_tetra_T_lengthIndicationOrCapacityRequest_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_tetra_T_lengthIndicationOrCapacityRequest_01, T_lengthIndicationOrCapacityRequest_01_choice,
- NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t MAC_DATA_sequence[] = {
- { &hf_tetra_pdu_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
- { &hf_tetra_fill_bit_indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Fill_Bit_Indication },
- { &hf_tetra_encrypted_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Encrypted_Flag },
- { &hf_tetra_address , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Address },
- { &hf_tetra_lengthIndicationOrCapacityRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_lengthIndicationOrCapacityRequest_01 },
- { &hf_tetra_tm_sdu_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_U_LLC_PDU },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_tetra_MAC_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_MAC_DATA, MAC_DATA_sequence);
-
- return offset;
-}
-
-
static int
dissect_tetra_BIT_STRING_SIZE_264(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
{ &hf_tetra_sub_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ &hf_tetra_fill_bit_indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Fill_Bit_Indication },
{ &hf_tetra_position_of_grant, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Position_Of_Grant },
- { &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
+ { &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_slot_granting , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_slot_granting },
{ &hf_tetra_channel_allocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_channel_allocation },
{ &hf_tetra_tm_sdu_07 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BIT_STRING_SIZE_255 },
{ &hf_tetra_pdu_type_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_7 },
{ &hf_tetra_fill_bit_ind , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BOOLEAN },
{ &hf_tetra_position_of_grant_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
- { &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
+ { &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_slot_granting_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_slot_granting_01 },
{ &hf_tetra_channel_allocation_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_channel_allocation_01 },
{ &hf_tetra_tm_sdu_08 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BIT_STRING_SIZE_111 },
int
dissect_tetra_D_LOCATION_UPDATE_ACCEPT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 99 "../../asn1/tetra/tetra.cnf"
+#line 108 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_LOCATION_UPDATE_ACCEPT, D_LOCATION_UPDATE_ACCEPT_sequence);
int
dissect_tetra_D_LOCATION_UPDATE_REJECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 249 "../../asn1/tetra/tetra.cnf"
+#line 258 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_LOCATION_UPDATE_REJECT, D_LOCATION_UPDATE_REJECT_sequence);
int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 254 "../../asn1/tetra/tetra.cnf"
+#line 263 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY, D_ATTACH_DETACH_GROUP_IDENTITY_sequence);
int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 259 "../../asn1/tetra/tetra.cnf"
+#line 268 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK, D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
int
dissect_tetra_D_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 234 "../../asn1/tetra/tetra.cnf"
+#line 243 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_MM_STATUS, D_MM_STATUS_sequence);
int
dissect_tetra_D_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 130 "../../asn1/tetra/tetra.cnf"
+#line 139 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ALERT, D_ALERT_sequence);
int
dissect_tetra_D_CALL_PROCEEDING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 82 "../../asn1/tetra/tetra.cnf"
+#line 91 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CALL_PROCEEDING, D_CALL_PROCEEDING_sequence);
int
dissect_tetra_D_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 105 "../../asn1/tetra/tetra.cnf"
+#line 114 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CONNECT, D_CONNECT_sequence);
int
dissect_tetra_D_CONNECT_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 115 "../../asn1/tetra/tetra.cnf"
+#line 124 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CONNECT_ACK, D_CONNECT_ACK_sequence);
int
dissect_tetra_D_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 125 "../../asn1/tetra/tetra.cnf"
+#line 134 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_DISCONNECT, D_DISCONNECT_sequence);
int
dissect_tetra_D_INFO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 120 "../../asn1/tetra/tetra.cnf"
+#line 129 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_INFO, D_INFO_sequence);
int
dissect_tetra_D_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 75 "../../asn1/tetra/tetra.cnf"
+#line 84 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_RELEASE, D_RELEASE_sequence);
int
dissect_tetra_D_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 87 "../../asn1/tetra/tetra.cnf"
+#line 96 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_SETUP, D_SETUP_sequence);
int
dissect_tetra_D_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 141 "../../asn1/tetra/tetra.cnf"
+#line 150 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_STATUS, D_STATUS_sequence);
int
dissect_tetra_D_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 135 "../../asn1/tetra/tetra.cnf"
+#line 144 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CEASED, D_TX_CEASED_sequence);
int
dissect_tetra_D_TX_CONTINUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 146 "../../asn1/tetra/tetra.cnf"
+#line 155 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CONTINUE, D_TX_CONTINUE_sequence);
int
dissect_tetra_D_TX_GRANTED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 151 "../../asn1/tetra/tetra.cnf"
+#line 160 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_GRANTED, D_TX_GRANTED_sequence);
int
dissect_tetra_D_TX_WAIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 157 "../../asn1/tetra/tetra.cnf"
+#line 166 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_WAIT, D_TX_WAIT_sequence);
int
dissect_tetra_D_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 162 "../../asn1/tetra/tetra.cnf"
+#line 171 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CALL_RESTORE, D_CALL_RESTORE_sequence);
int
dissect_tetra_D_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 167 "../../asn1/tetra/tetra.cnf"
+#line 176 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_SDS_DATA, D_SDS_DATA_sequence);
{ &hf_tetra_position_of_grant, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Position_Of_Grant },
{ &hf_tetra_encryption_mode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ &hf_tetra_access_ack , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_access_ack },
- { &hf_tetra_lengthIndication_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacResource },
+ { &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacResource },
{ &hf_tetra_address_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_AddressMacResource },
{ NULL, 0, 0, NULL }
};
}
-static const per_sequence_t ExtendCarrier_sequence[] = {
- { &hf_tetra_freq_band , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_15 },
- { &hf_tetra_offset_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
- { &hf_tetra_duplex_spacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_7 },
- { &hf_tetra_reverse_operation_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BOOLEAN },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_tetra_ExtendCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_ExtendCarrier, ExtendCarrier_sequence);
-
- return offset;
-}
-
-
static int
dissect_tetra_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
return offset;
}
-
-static const value_string tetra_CALLMODE_vals[] = {
- { 0, "single-call" },
- { 1, "group-call" },
- { 2, "reserve" },
- { 3, "broadcase" },
- { 0, NULL }
-};
-
-
-static int
-dissect_tetra_CALLMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, FALSE, 0, NULL);
-
- return offset;
-}
-
-
-static const per_sequence_t SPEECHMODE_sequence[] = {
- { &hf_tetra_encryption_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
- { &hf_tetra_communication_type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_CALLMODE },
- { &hf_tetra_speech_service, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_tetra_SPEECHMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_SPEECHMODE, SPEECHMODE_sequence);
-
- return offset;
-}
-
-
-static const per_sequence_t DATAMODE_sequence[] = {
- { &hf_tetra_encryption_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
- { &hf_tetra_communication_type_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
- { &hf_tetra_slots_per_frame, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_tetra_DATAMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_DATAMODE, DATAMODE_sequence);
-
- return offset;
-}
-
/*--- PDUs ---*/
static void dissect_AACH_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
dissect_tetra_MAC_ACCESS(tvb, 0, &asn1_ctx, tree, hf_tetra_MAC_ACCESS_PDU);
}
-static void dissect_MAC_DATA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
- dissect_tetra_MAC_DATA(tvb, 0, &asn1_ctx, tree, hf_tetra_MAC_DATA_PDU);
-}
static void dissect_MAC_FRAG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
{ "MAC-ACCESS", "tetra.MAC_ACCESS",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_tetra_MAC_DATA_PDU,
- { "MAC-DATA", "tetra.MAC_DATA",
- FT_NONE, BASE_NONE, NULL, 0,
- NULL, HFILL }},
{ &hf_tetra_MAC_FRAG_PDU,
{ "MAC-FRAG", "tetra.MAC_FRAG",
FT_NONE, BASE_NONE, NULL, 0,
{ "reservation-requirement", "tetra.reservation_requirement",
FT_UINT32, BASE_DEC, VALS(tetra_SLOT_APPLY_vals), 0,
"SLOT_APPLY", HFILL }},
- { &hf_tetra_lengthIndicationOrCapacityRequest_01,
- { "lengthIndicationOrCapacityRequest", "tetra.lengthIndicationOrCapacityRequest",
- FT_UINT32, BASE_DEC, VALS(tetra_T_lengthIndicationOrCapacityRequest_01_vals), 0,
- "T_lengthIndicationOrCapacityRequest_01", HFILL }},
- { &hf_tetra_lengthIndication_01,
- { "lengthIndication", "tetra.lengthIndication",
- FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacData_vals), 0,
- "LengthIndicationMacData", HFILL }},
- { &hf_tetra_capacityRequest_01,
- { "capacityRequest", "tetra.capacityRequest",
- FT_NONE, BASE_NONE, NULL, 0,
- "FRAG6", HFILL }},
{ &hf_tetra_sub_type,
{ "sub-type", "tetra.sub_type",
FT_UINT32, BASE_DEC, NULL, 0,
{ "position-of-grant", "tetra.position_of_grant",
FT_UINT32, BASE_DEC, VALS(tetra_Position_Of_Grant_vals), 0,
NULL, HFILL }},
- { &hf_tetra_lengthIndication_02,
+ { &hf_tetra_lengthIndication_01,
{ "lengthIndication", "tetra.lengthIndication",
FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacEndDl_vals), 0,
"LengthIndicationMacEndDl", HFILL }},
{ "access-ack", "tetra.access_ack",
FT_UINT32, BASE_DEC, VALS(tetra_T_access_ack_vals), 0,
NULL, HFILL }},
- { &hf_tetra_lengthIndication_03,
+ { &hf_tetra_lengthIndication_02,
{ "lengthIndication", "tetra.lengthIndication",
FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacResource_vals), 0,
"LengthIndicationMacResource", HFILL }},
{ "smi-eventlabel", "tetra.smi_eventlabel",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
- { &hf_tetra_freq_band,
- { "freq-band", "tetra.freq_band",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_15", HFILL }},
- { &hf_tetra_reverse_operation_02,
- { "reverse-operation", "tetra.reverse_operation",
- FT_BOOLEAN, BASE_NONE, NULL, 0,
- "BOOLEAN", HFILL }},
{ &hf_tetra_broadcast_channel,
{ "broadcast-channel", "tetra.broadcast_channel",
FT_UINT32, BASE_DEC, NULL, 0,
{ "type3-elements", "tetra.type3_elements",
FT_NONE, BASE_NONE, NULL, 0,
"T_type3_elements_05", HFILL }},
- { &hf_tetra_encryption_flag,
- { "encryption-flag", "tetra.encryption_flag",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_1", HFILL }},
- { &hf_tetra_communication_type,
- { "communication-type", "tetra.communication_type",
- FT_UINT32, BASE_DEC, VALS(tetra_CALLMODE_vals), 0,
- "CALLMODE", HFILL }},
- { &hf_tetra_speech_service,
- { "speech-service", "tetra.speech_service",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3", HFILL }},
- { &hf_tetra_communication_type_01,
- { "communication-type", "tetra.communication_type",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3", HFILL }},
- { &hf_tetra_slots_per_frame,
- { "slots-per-frame", "tetra.slots_per_frame",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_3", HFILL }},
{ &hf_tetra_called_party_sna,
{ "called-party-sna", "tetra.called_party_sna",
FT_UINT32, BASE_DEC, NULL, 0,
&ett_tetra_ComplexSDU,
&ett_tetra_T_lengthIndicationOrCapacityRequest,
&ett_tetra_FRAG,
- &ett_tetra_MAC_DATA,
- &ett_tetra_T_lengthIndicationOrCapacityRequest_01,
- &ett_tetra_FRAG6,
&ett_tetra_MAC_FRAG,
&ett_tetra_MAC_FRAG120,
&ett_tetra_MAC_END_UPLINK,
&ett_tetra_SSI_EVENT_NEED,
&ett_tetra_SSI_USAGE_NEED,
&ett_tetra_SMI_EVENT_NEED,
- &ett_tetra_ExtendCarrier,
&ett_tetra_MAC_ACCESS_DEFINE,
&ett_tetra_T_optional_field,
&ett_tetra_D_LLC_PDU,
&ett_tetra_T_type2_element_03,
&ett_tetra_T_type3_05,
&ett_tetra_T_type3_elements_05,
- &ett_tetra_SPEECHMODE,
- &ett_tetra_DATAMODE,
&ett_tetra_Calling_party_address_type,
&ett_tetra_T_called_party_ssi_extention,
&ett_tetra_Proprietary,