wireshark/epan/dissectors/asn1/ulp/ulp.cnf

752 lines
23 KiB
INI

# upl.cnf
# upl conformation file
# Copyright 2006-2010 Anders Broman
# Copyright 2014-2019 Pascal Quantin
#.OPT
PER
UNALIGNED
#.END
#.PDU
ULP-PDU
#.END
#.TYPE_RENAME
FrequencyInfo/modeSpecificInfo FrequencySpecificInfo
#.END
#.FIELD_RENAME
FrequencyInfo/modeSpecificInfo modeSpecificFrequencyInfo
FrequencyInfo/modeSpecificInfo/fdd fdd_fr
FrequencyInfo/modeSpecificInfo/tdd tdd_fr
SlpSessionID/sessionID sessionSlpID
SETId/min minsi
Coordinate/latitude coordinateLatitude
Coordinate/longitude coordinateLongitude
#.END
#.FN_HDR ULP-PDU
proto_item *it;
proto_tree *ulp_tree;
it = proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, ENC_NA);
ulp_tree = proto_item_add_subtree(it, ett_ulp);
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
col_clear(actx->pinfo->cinfo, COL_INFO);
#.END
#.FN_BODY ULP-PDU TREE=ulp_tree
%(DEFAULT_BODY)s
#.END
#.FN_BODY UlpMessage VAL_PTR = &UlpMessage
guint32 UlpMessage;
%(DEFAULT_BODY)s
col_prepend_fstr(%(ACTX)s->pinfo->cinfo, COL_INFO, "%%s ", val_to_str(UlpMessage,ulp_UlpMessage_vals,"Unknown"));
#.END
#.FN_BODY Notification
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
ulp_priv->notif_enc_type = -1;
%(DEFAULT_BODY)s
#.FN_BODY EncodingType VAL_PTR=&val
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
%(DEFAULT_BODY)s
ulp_priv->notif_enc_type = (guint8) val;
#.FN_BODY Notification/requestorId VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
switch(ulp_priv->notif_enc_type) {
case 0: /* UCS-2 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
ENC_UCS_2|ENC_BIG_ENDIAN);
break;
case 1: /* GSM 7bits */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
break;
case 2: /* UTF-8 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
break;
default:
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
tvb_reported_length(val_tvb)));
break;
}
}
#.TYPE_ATTR
Notification/requestorId TYPE=FT_STRING DISPLAY=BASE_NONE
#.FN_BODY Notification/clientName VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
switch(ulp_priv->notif_enc_type) {
case 0: /* UCS-2 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
ENC_UCS_2|ENC_BIG_ENDIAN);
break;
case 1: /* GSM 7bits */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_3GPP_TS_23_038_7BITS|ENC_NA);
break;
case 2: /* UTF-8 */
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb), ENC_UTF_8|ENC_NA);
break;
default:
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0,
tvb_reported_length(val_tvb),
tvb_bytes_to_str(actx->pinfo->pool, val_tvb, 0,
tvb_reported_length(val_tvb)));
break;
}
}
#.TYPE_ATTR
Notification/clientName TYPE=FT_STRING DISPLAY=BASE_NONE
#.TYPE_ATTR
NavigationModel/gpsToe DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hours
#.TYPE_ATTR
NavigationModel/toeLimit DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hours
#.FN_BODY PosPayLoad/rrlpPayload VAL_PTR = &rrlp_tvb
tvbuff_t *rrlp_tvb;
%(DEFAULT_BODY)s
if (rrlp_tvb && rrlp_handle) {
call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
}
#.TYPE_ATTR
PeriodicParams/intervalBetweenFixes DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
PeriodicParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
AreaEventParams/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
AreaEventParams/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RepeatedReportingParams/minimumIntervalTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FN_BODY WLANAreaId/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
#.TYPE_ATTR
WLANAreaId/apMACAddress TYPE=FT_ETHER
#.TYPE_ATTR
GANSSSignalsDescription/ganssId STRINGS=VALS(ulp_ganss_id_vals)
#.TYPE_ATTR
TimeStamp/relativeTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
ReportingCriteria/minTimeInterval DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
TimeWindow/startTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
#.TYPE_ATTR
TimeWindow/stopTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
#.TYPE_ATTR
GANSSPositionMethod/ganssId STRINGS=VALS(ulp_ganss_id_vals)
#.FN_BODY GANSSPositionMethod/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
}
#.TYPE_ATTR
GANSSPositionMethod/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
#.FN_BODY GanssReqGenericData/ganssId VAL_PTR=&val
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
%(DEFAULT_BODY)s
ulp_priv->ganss_req_gen_data_ganss_id = (guint8) val;
#.TYPE_ATTR
GanssReqGenericData/ganssId STRINGS=VALS(ulp_ganss_id_vals)
#.FN_BODY GanssReqGenericData/ganssSBASid VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 3, ENC_NA);
}
#.TYPE_ATTR
GanssReqGenericData/ganssSBASid TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(ulp_ganss_sbas_id_vals)
#.FN_BODY GanssReqGenericData/ganssTimeModels VAL_PTR=&val_tvb
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_ulp_ganssTimeModels);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit0, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit1, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit2, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit3, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_bit4, val_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_ulp_ganssTimeModels_spare, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY GanssNavigationModelData/ganssWeek
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
%(DEFAULT_BODY)s
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, "wk");
} else {
proto_item_append_text(actx->created_item, "d");
}
#.FN_BODY GanssNavigationModelData/ganssToe VAL_PTR=&val
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
%(DEFAULT_BODY)s
#.FN_FTR GanssNavigationModelData/ganssToe
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, "h");
} else {
proto_item_set_text(actx->created_item, "%umin (%u)", 15*val, val);
}
#.FN_BODY GanssNavigationModelData/t-toeLimit VAL_PTR=&val
guint32 val;
ulp_private_data_t *ulp_priv = ulp_get_private_data(actx);
%(DEFAULT_BODY)s
#.FN_FTR GanssNavigationModelData/t-toeLimit
if (ulp_priv->ganss_req_gen_data_ganss_id != 4) {
/* Not GLONASS */
proto_item_append_text(actx->created_item, "h");
} else {
proto_item_set_text(actx->created_item, "%umin (%u)", 30*val, val);
}
#.TYPE_ATTR
GanssDataBits/ganssTODmin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
ReqDataBitAssistanceList/ganssDataBitInterval DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ganssDataBitInterval_fmt)
#.TYPE_ATTR
ExtendedEphemeris/validity DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_ExtendedEphemeris_validity_fmt)
#.FN_BODY Ver2-PosPayLoad-extension/lPPPayload/_item VAL_PTR = &lpp_tvb
tvbuff_t *lpp_tvb;
%(DEFAULT_BODY)s
if (lpp_tvb && lpp_handle) {
call_dissector(lpp_handle, lpp_tvb, %(ACTX)s->pinfo, tree);
}
#.FN_BODY SETId/msisdn VAL_PTR=&msisdn_tvb
tvbuff_t *msisdn_tvb;
%(DEFAULT_BODY)s
if (msisdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
}
#.FN_BODY SETId/mdn VAL_PTR=&mdn_tvb
tvbuff_t *mdn_tvb;
%(DEFAULT_BODY)s
if (mdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
proto_tree_add_item(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, ENC_BCD_DIGITS_0_9);
}
#.FN_BODY SETId/imsi VAL_PTR=&imsi_tvb
tvbuff_t *imsi_tvb;
%(DEFAULT_BODY)s
if (imsi_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_setid);
dissect_e212_imsi(imsi_tvb, actx->pinfo, subtree, 0, 8, FALSE);
}
#.TYPE_ATTR
IPAddress/ipv4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL
IPAddress/ipv6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL
#.TYPE_ATTR
PositionEstimate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_latitude_fmt)
#.TYPE_ATTR
PositionEstimate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PositionEstimate_longitude_fmt)
#.TYPE_ATTR
PositionEstimate/uncertainty/uncertaintySemiMajor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
#.TYPE_ATTR
PositionEstimate/uncertainty/uncertaintySemiMinor DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
#.TYPE_ATTR
PositionEstimate/uncertainty/orientationMajorAxis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.TYPE_ATTR
PositionEstimate/confidence DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
#.TYPE_ATTR
AltitudeInfo/altitude DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
#.TYPE_ATTR
AltitudeInfo/altUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
#.TYPE_ATTR
NMRelement/rxLev DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_NMRelement_rxLev_fmt)
#.TYPE_ATTR
UTRA-CarrierRSSI DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRA_CarrierRSSI_fmt)
#.TYPE_ATTR
PrimaryCCPCH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_PrimaryCCPCH_RSCP_fmt)
#.TYPE_ATTR
CPICH-Ec-N0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_Ec_N0_fmt)
#.TYPE_ATTR
CPICH-RSCP DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_CPICH_RSCP_fmt)
#.TYPE_ATTR
QoP/horacc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_horacc_fmt)
#.TYPE_ATTR
QoP/veracc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_veracc_fmt)
#.TYPE_ATTR
QoP/maxLocAge DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
QoP/delay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_QoP_delay_fmt)
#.TYPE_ATTR
QoP/ver2-responseTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FN_BODY Horvel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horvel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.FN_BODY Horvel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horvel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandvervel/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
}
#.TYPE_ATTR
Horandvervel/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
#.FN_BODY Horandvervel/bearing VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandvervel/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.FN_BODY Horandvervel/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandvervel/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandvervel/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandvervel/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horveluncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horveluncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.FN_BODY Horveluncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horveluncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horveluncert/uncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horveluncert/uncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandveruncert/verdirect VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 1, ENC_NA);
}
#.TYPE_ATTR
Horandveruncert/verdirect TYPE=FT_BOOLEAN STRINGS=TFS(&ulp_vertical_dir_val)
#.FN_BODY Horandveruncert/bearing VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_bits_item(tree, hf_index, val_tvb, 0, 9, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandveruncert/bearing TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.FN_BODY Horandveruncert/horspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandveruncert/horspeed TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandveruncert/verspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandveruncert/verspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandveruncert/horuncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandveruncert/horuncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.FN_BODY Horandveruncert/veruncertspeed VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
Horandveruncert/veruncertspeed TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh
#.TYPE_ATTR
RelativeTime DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RelativeTime_fmt)
#.FN_BODY SupportedWLANApData/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
#.TYPE_ATTR
SupportedWLANApData/apMACAddress TYPE=FT_ETHER
#.TYPE_ATTR
RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRP_Range_fmt)
#.TYPE_ATTR
RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_RSRQ_Range_fmt)
#.FN_BODY WlanAPInformation/apMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
#.TYPE_ATTR
WlanAPInformation/apMACAddress TYPE=FT_ETHER
#.TYPE_ATTR
WlanAPInformation/apTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
WlanAPInformation/apAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbi
#.TYPE_ATTR
WlanAPInformation/apSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
WlanAPInformation/apSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
WlanAPInformation/setTransmitPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
WlanAPInformation/setAntennaGain DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbi
#.TYPE_ATTR
WlanAPInformation/setSignaltoNoise DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
WlanAPInformation/setSignalStrength DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
WlanAPInformation/apSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
#.TYPE_ATTR
WlanAPInformation/apSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
#.TYPE_ATTR
WlanAPInformation/setSignalStrengthDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
#.TYPE_ATTR
WlanAPInformation/setSignaltoNoiseDelta DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_SignalDelta_fmt)
#.FN_BODY WlanAPInformation/apSSID VAL_PTR=&ssid_tvb HF_INDEX=-1
tvbuff_t *ssid_tvb;
%(DEFAULT_BODY)s
if (ssid_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
}
#.TYPE_ATTR
WlanAPInformation/apSSID TYPE=FT_STRING DISPLAY=BASE_NONE
#.FN_BODY WlanAPInformation/setMACAddress VAL_PTR=&val_tvb HF_INDEX=-1
tvbuff_t *val_tvb;
%(DEFAULT_BODY)s
if (val_tvb) {
proto_tree_add_item(tree, hf_index, val_tvb, 0, 6, ENC_NA);
}
#.TYPE_ATTR
WlanAPInformation/setMACAddress TYPE=FT_ETHER
#.TYPE_ATTR
LocationData/locationAccuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_locationAccuracy_fmt)
#.TYPE_ATTR
WimaxRTD/rtd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
#.TYPE_ATTR
WimaxRTD/rTDstd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
#.TYPE_ATTR
WimaxNMR/relDelay DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
#.TYPE_ATTR
WimaxNMR/relDelaystd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxRTD_fmt)
#.TYPE_ATTR
WimaxNMR/rssi DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
#.TYPE_ATTR
WimaxNMR/rSSIstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
WimaxNMR/bSTxPower DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_WimaxNMR_rssi_fmt)
#.TYPE_ATTR
WimaxNMR/cinr DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
WimaxNMR/cINRstd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UTRAN-GPSReferenceTimeAssistance/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
#.TYPE_ATTR
UTRAN-GPSReferenceTimeResult/gpsReferenceTimeUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
#.TYPE_ATTR
UTRAN-GANSSReferenceTimeAssistance/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
#.TYPE_ATTR
UTRAN-GANSSReferenceTime/ganssTOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
UTRAN-GANSSReferenceTime/utran-GANSSTimingOfCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_utran_GANSSTimingOfCell_fmt)
#.TYPE_ATTR
UTRAN-GANSSReferenceTime/ganss-TODUncertainty DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
#.TYPE_ATTR
UTRAN-GANSSReferenceTimeResult/ganssTimeID STRINGS=VALS(ulp_ganss_time_id_vals)
#.TYPE_ATTR
SET-GANSSReferenceTime/ganss-TODUncertainty ulp_UTRAN_gpsReferenceTimeUncertainty_fmtulp_UTRAN_gpsReferenceTimeUncertainty_fmt)
#.FN_BODY ThirdPartyID/msisdn VAL_PTR=&msisdn_tvb
tvbuff_t *msisdn_tvb;
%(DEFAULT_BODY)s
if (msisdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
dissect_e164_msisdn(msisdn_tvb, subtree, 0, 8, E164_ENC_BCD);
}
#.FN_BODY ThirdPartyID/sip-uri
# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
NULL);
#.FN_BODY ThirdPartyID/ims-public-identity
# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:./-_~%%#@?", 72,
NULL);
#.FN_BODY ThirdPartyID/mdn VAL_PTR=&mdn_tvb
tvbuff_t *mdn_tvb;
%(DEFAULT_BODY)s
if (mdn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_ulp_thirdPartyId);
proto_tree_add_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_str(actx->pinfo->pool, mdn_tvb, 0, 8, NULL, FALSE));
}
#.FN_BODY ThirdPartyID/uri
# asn2wrs does not handle '%' in the restricted string ( Has to be there twice)
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./-_~%%#", 69,
NULL);
#.TYPE_ATTR
ReportingCap/minInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
ReportingCap/maxInt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes
#.TYPE_ATTR
Coordinate/latitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_latitude_fmt)
#.TYPE_ATTR
Coordinate/longitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(ulp_Coordinate_longitude_fmt)
#.TYPE_ATTR
CircularArea/radius DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
#.TYPE_ATTR
EllipticalArea/semiMajor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
#.TYPE_ATTR
EllipticalArea/semiMinor DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
#.TYPE_ATTR
EllipticalArea/angle DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees
#.TYPE_ATTR
PolygonArea/polygonHysteresis DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters
#.END