# tcap.cnf # $Id$ # tcap conformation file #--- OperationCode --- #.FN_PARS OperationCode VAL_PTR = &ansi_tcap_private.d.OperationCode OperationCode/national VAL_PTR = &ansi_tcap_private.d.OperationCode_national OperationCode/private VAL_PTR = &ansi_tcap_private.d.OperationCode_private #.FN_FTR OperationCode ansi_tcap_private.d.OperationCode_item = actx->created_item; #.END #--- INVOKE --- #.FIELD_ATTR Invoke/parameter TYPE = FT_BYTES DISPLAY = BASE_HEX #.FN_BODY Invoke/parameter tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if(!parameter_tvb) return offset; find_tcap_subdissector(parameter_tvb, actx, tree); #.FN_HDR Invoke ansi_tcap_private.d.pdu = 1; #--- RETURN RESULT --- #.FIELD_ATTR ReturnResult/parameter TYPE = FT_BYTES DISPLAY = BASE_HEX #.FN_BODY ReturnResult/parameter tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if(!parameter_tvb) return offset; find_tcap_subdissector(parameter_tvb, actx, tree); #.FN_HDR ReturnResult ansi_tcap_private.d.pdu = 2; #--- RETURN ERROR --- #.FIELD_ATTR ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_HEX #.FN_BODY ReturnError/parameter tvbuff_t *parameter_tvb; offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, ¶meter_tvb); if(!parameter_tvb) return offset; find_tcap_subdissector(parameter_tvb, actx, tree); #.FN_HDR ReturnError ansi_tcap_private.d.pdu = 3; #--- ObjectIDApplicationContext -- #.FN_BODY ObjectIDApplicationContext FN_VARIANT = _str VAL_PTR = &oid_str static const char * oid_str; %(DEFAULT_BODY)s ansi_tcap_private.objectApplicationId_oid= (void*) oid_str; ansi_tcap_private.oid_is_present=TRUE; #.FN_HDR PackageType/unidirectional gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "unidirectional "); #.FN_HDR PackageType/queryWithPerm gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "queryWithPerm "); #.FN_HDR PackageType/queryWithoutPerm gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "queryWithoutPerm "); #.FN_HDR PackageType/response gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "response "); #.FN_HDR PackageType/conversationWithPerm gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "conversationWithPerm "); #.FN_HDR PackageType/conversationWithoutPerm gp_tcapsrt_info->ope=TC_ANSI_ALL; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "conversationWithoutPerm "); #.FN_HDR PackageType/abort gp_tcapsrt_info->ope=TC_ANSI_ABORT; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_str(actx->pinfo->cinfo, COL_INFO, "Abort "); #.FN_BODY TransactionID/_untag VAL_PTR = &next_tvb tvbuff_t *next_tvb; guint8 len; %(DEFAULT_BODY)s if(next_tvb) { if(tvb_length(next_tvb) !=0) ansi_tcap_private.TransactionID_str = tvb_bytes_to_str(next_tvb, 0,tvb_length(next_tvb)); len = tvb_length_remaining(next_tvb, 0); switch(len) { case 1: gp_tcapsrt_info->src_tid=tvb_get_guint8(next_tvb, 0); break; case 2: gp_tcapsrt_info->src_tid=tvb_get_ntohs(next_tvb, 0); break; case 4: gp_tcapsrt_info->src_tid=tvb_get_ntohl(next_tvb, 0); break; default: gp_tcapsrt_info->src_tid=0; break; } } #.END