# upl.cnf # upl conformation file # Copyright 2006-2010 Anders Broman #.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 #.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 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); } #.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_string(subtree, hf_ulp_mobile_directory_number, mdn_tvb, 0, 8, tvb_bcd_dig_to_wmem_packet_str(mdn_tvb, 0, 8, NULL, FALSE)); } #.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); } #.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_wmem_packet_str(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 IPAddress/ipv4Address TYPE = FT_IPv4 DISPLAY = BASE_NONE STRINGS = NULL IPAddress/ipv6Address TYPE = FT_IPv6 DISPLAY = BASE_NONE STRINGS = NULL #.END