/* Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments Copyright (C) ITsysCOM GmbH This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see */ package utils var ( CdreCdrFormats = []string{CSV, DRYRUN, CDRE_FIXED_WIDTH} PrimaryCdrFields = []string{CGRID, CDRSOURCE, CDRHOST, ACCID, TOR, REQTYPE, DIRECTION, TENANT, CATEGORY, ACCOUNT, SUBJECT, DESTINATION, SETUP_TIME, PDD, ANSWER_TIME, USAGE, SUPPLIER, DISCONNECT_CAUSE, COST, RATED, PartialField, MEDI_RUNID} GitLastLog string // If set, it will be processed as part of versioning ) const ( CGRateS = "CGRateS" VERSION = "0.9.1~rc8" GitLastLogFileName = ".git_lastlog.txt" DIAMETER_FIRMWARE_REVISION = 918 REDIS_MAX_CONNS = 10 POSTGRES = "postgres" MYSQL = "mysql" MONGO = "mongo" REDIS = "redis" LOCALHOST = "127.0.0.1" FSCDR_FILE_CSV = "freeswitch_file_csv" FSCDR_HTTP_JSON = "freeswitch_http_json" NOT_IMPLEMENTED = "not implemented" PREPAID = "prepaid" META_PREPAID = "*prepaid" POSTPAID = "postpaid" META_POSTPAID = "*postpaid" PSEUDOPREPAID = "pseudoprepaid" META_PSEUDOPREPAID = "*pseudoprepaid" META_RATED = "*rated" META_NONE = "*none" META_NOW = "*now" TBL_TP_TIMINGS = "tp_timings" TBL_TP_DESTINATIONS = "tp_destinations" TBL_TP_RATES = "tp_rates" TBL_TP_DESTINATION_RATES = "tp_destination_rates" TBL_TP_RATING_PLANS = "tp_rating_plans" TBL_TP_RATE_PROFILES = "tp_rating_profiles" TBL_TP_SHARED_GROUPS = "tp_shared_groups" TBL_TP_CDR_STATS = "tp_cdr_stats" TBL_TP_LCRS = "tp_lcr_rules" TBL_TP_ACTIONS = "tp_actions" TBL_TP_ACTION_PLANS = "tp_action_plans" TBL_TP_ACTION_TRIGGERS = "tp_action_triggers" TBL_TP_ACCOUNT_ACTIONS = "tp_account_actions" TBL_TP_DERIVED_CHARGERS = "tp_derived_chargers" TBL_TP_USERS = "tp_users" TBL_TP_ALIASES = "tp_aliases" TBLSMCosts = "sm_costs" TBLTPResourceLimits = "tp_resource_limits" TBL_CDRS = "cdrs" TBLVersions = "versions" TIMINGS_CSV = "Timings.csv" DESTINATIONS_CSV = "Destinations.csv" RATES_CSV = "Rates.csv" DESTINATION_RATES_CSV = "DestinationRates.csv" RATING_PLANS_CSV = "RatingPlans.csv" RATING_PROFILES_CSV = "RatingProfiles.csv" SHARED_GROUPS_CSV = "SharedGroups.csv" LCRS_CSV = "LcrRules.csv" ACTIONS_CSV = "Actions.csv" ACTION_PLANS_CSV = "ActionPlans.csv" ACTION_TRIGGERS_CSV = "ActionTriggers.csv" ACCOUNT_ACTIONS_CSV = "AccountActions.csv" DERIVED_CHARGERS_CSV = "DerivedChargers.csv" CDR_STATS_CSV = "CdrStats.csv" USERS_CSV = "Users.csv" ALIASES_CSV = "Aliases.csv" ResourceLimitsCsv = "ResourceLimits.csv" ROUNDING_UP = "*up" ROUNDING_MIDDLE = "*middle" ROUNDING_DOWN = "*down" ANY = "*any" UNLIMITED = "*unlimited" ZERO = "*zero" ASAP = "*asap" USERS = "*users" COMMENT_CHAR = '#' CSV_SEP = ',' FALLBACK_SEP = ';' INFIELD_SEP = ";" FIELDS_SEP = "," InInFieldSep = ":" STATIC_HDRVAL_SEP = "::" REGEXP_PREFIX = "~" FILTER_VAL_START = "(" FILTER_VAL_END = ")" JSON = "json" GOB = "gob" MSGPACK = "msgpack" CSV_LOAD = "CSVLOAD" CGRID = "CGRID" TOR = "ToR" ORDERID = "OrderID" ACCID = "OriginID" InitialOriginID = "InitialOriginID" OriginIDPrefix = "OriginIDPrefix" CDRSOURCE = "Source" CDRHOST = "OriginHost" REQTYPE = "RequestType" DIRECTION = "Direction" TENANT = "Tenant" CATEGORY = "Category" ACCOUNT = "Account" SUBJECT = "Subject" DESTINATION = "Destination" SETUP_TIME = "SetupTime" ANSWER_TIME = "AnswerTime" USAGE = "Usage" LastUsed = "LastUsed" PDD = "PDD" SUPPLIER = "Supplier" MEDI_RUNID = "RunID" COST = "Cost" COST_DETAILS = "CostDetails" RATED = "rated" RATED_FLD = "Rated" PartialField = "Partial" DEFAULT_RUNID = "*default" META_DEFAULT = "*default" STATIC_VALUE_PREFIX = "^" CSV = "csv" FWV = "fwv" PartialCSV = "partial_csv" DRYRUN = "dry_run" META_COMBIMED = "*combimed" MetaInternal = "*internal" ZERO_RATING_SUBJECT_PREFIX = "*zero" OK = "OK" CDRE_FIXED_WIDTH = "fwv" XML_PROFILE_PREFIX = "*xml:" CDRE = "cdre" CDRC = "cdrc" MASK_CHAR = "*" CONCATENATED_KEY_SEP = ":" FORKED_CDR = "forked_cdr" UNIT_TEST = "UNIT_TEST" HDR_VAL_SEP = "/" MONETARY = "*monetary" SMS = "*sms" MMS = "*mms" GENERIC = "*generic" DATA = "*data" VOICE = "*voice" MAX_COST_FREE = "*free" MAX_COST_DISCONNECT = "*disconnect" HOURS = "hours" MINUTES = "minutes" NANOSECONDS = "nanoseconds" SECONDS = "seconds" OUT = "*out" IN = "*in" META_OUT = "*out" META_ANY = "*any" CDR_IMPORT = "cdr_import" CDR_EXPORT = "cdr_export" ASR = "ASR" ACD = "ACD" FILTER_REGEXP_TPL = "$1$2$3$4$5" TASKS_KEY = "tasks" ACTION_PLAN_PREFIX = "apl_" ACTION_TRIGGER_PREFIX = "atr_" REVERSE_ACTION_TRIGGER_PREFIX = "rtr_" RATING_PLAN_PREFIX = "rpl_" RATING_PROFILE_PREFIX = "rpf_" ACTION_PREFIX = "act_" SHARED_GROUP_PREFIX = "shg_" ACCOUNT_PREFIX = "acc_" DESTINATION_PREFIX = "dst_" REVERSE_DESTINATION_PREFIX = "rds_" LCR_PREFIX = "lcr_" DERIVEDCHARGERS_PREFIX = "dcs_" CDR_STATS_QUEUE_PREFIX = "csq_" PUBSUB_SUBSCRIBERS_PREFIX = "pss_" USERS_PREFIX = "usr_" ALIASES_PREFIX = "als_" REVERSE_ALIASES_PREFIX = "rls_" ResourceLimitsPrefix = "rlm_" ResourceLimitsIndex = "rli_" CDR_STATS_PREFIX = "cst_" TEMP_DESTINATION_PREFIX = "tmp_" LOG_CALL_COST_PREFIX = "cco_" LOG_ACTION_TIMMING_PREFIX = "ltm_" LOG_ACTION_TRIGGER_PREFIX = "ltr_" VERSION_PREFIX = "ver_" LOG_ERR = "ler_" LOG_CDR = "cdr_" LOG_MEDIATED_CDR = "mcd_" LOADINST_KEY = "load_history" SESSION_MANAGER_SOURCE = "SMR" MEDIATOR_SOURCE = "MED" CDRS_SOURCE = "CDRS" SCHED_SOURCE = "SCH" RATER_SOURCE = "RAT" CREATE_CDRS_TABLES_SQL = "create_cdrs_tables.sql" CREATE_TARIFFPLAN_TABLES_SQL = "create_tariffplan_tables.sql" TEST_SQL = "TEST_SQL" DESTINATIONS_LOAD_THRESHOLD = 0.1 META_CONSTANT = "*constant" META_FILLER = "*filler" META_HANDLER = "*handler" META_HTTP_POST = "*http_post" MetaHTTPjsonCDR = "*http_json_cdr" META_HTTP_JSONRPC = "*http_jsonrpc" MetaHTTPjsonMap = "*http_json_map" NANO_MULTIPLIER = 1000000000 CGR_AUTHORIZE = "CGR_AUTHORIZE" CONFIG_DIR = "/etc/cgrates/" CGR_ACCOUNT = "cgr_account" CGR_SUPPLIER = "cgr_supplier" CGR_DESTINATION = "cgr_destination" CGR_SUBJECT = "cgr_subject" CGR_CATEGORY = "cgr_category" CGR_REQTYPE = "cgr_reqtype" CGR_TENANT = "cgr_tenant" CGR_TOR = "cgr_tor" CGR_ACCID = "cgr_accid" CGR_HOST = "cgr_host" CGR_PDD = "cgr_pdd" DISCONNECT_CAUSE = "DisconnectCause" CGR_DISCONNECT_CAUSE = "cgr_disconnectcause" CGR_COMPUTELCR = "cgr_computelcr" CGR_SUPPLIERS = "cgr_suppliers" CGRFlags = "cgr_flags" KAM_FLATSTORE = "kamailio_flatstore" OSIPS_FLATSTORE = "opensips_flatstore" MAX_DEBIT_CACHE_PREFIX = "MAX_DEBIT_" REFUND_INCR_CACHE_PREFIX = "REFUND_INCR_" REFUND_ROUND_CACHE_PREFIX = "REFUND_ROUND_" GET_SESS_RUNS_CACHE_PREFIX = "GET_SESS_RUNS_" GET_DERIV_MAX_SESS_TIME = "GET_DERIV_MAX_SESS_TIME_" LOG_CALL_COST_CACHE_PREFIX = "LOG_CALL_COSTS_" LCRCachePrefix = "LCR_" ALIAS_CONTEXT_RATING = "*rating" NOT_AVAILABLE = "N/A" MetaEmpty = "*empty" CALL = "call" EXTRA_FIELDS = "ExtraFields" META_SURETAX = "*sure_tax" SURETAX = "suretax" DIAMETER_AGENT = "diameter_agent" COUNTER_EVENT = "*event" COUNTER_BALANCE = "*balance" EVENT_NAME = "EventName" COMPUTE_LCR = "ComputeLcr" CGR_AUTHORIZATION = "CgrAuthorization" CGR_SESSION_START = "CgrSessionStart" CGR_SESSION_UPDATE = "CgrSessionUpdate" CGR_SESSION_END = "CgrSessionEnd" CGR_LCR_REQUEST = "CgrLcrRequest" // action trigger threshold types TRIGGER_MIN_EVENT_COUNTER = "*min_event_counter" TRIGGER_MIN_BALANCE_COUNTER = "*min_balance_counter" TRIGGER_MAX_EVENT_COUNTER = "*max_event_counter" TRIGGER_MAX_BALANCE_COUNTER = "*max_balance_counter" TRIGGER_MIN_BALANCE = "*min_balance" TRIGGER_MAX_BALANCE = "*max_balance" TRIGGER_BALANCE_EXPIRED = "*balance_expired" HIERARCHY_SEP = ">" META_COMPOSED = "*composed" NegativePrefix = "!" MatchStartPrefix = "^" MatchEndPrefix = "$" SMG = "SMG" MetaGrouped = "*grouped" MetaRaw = "*raw" CreatedAt = "CreatedAt" UpdatedAt = "UpdatedAt" HandlerArgSep = "|" FlagForceDuration = "fd" InstanceID = "InstanceID" ActiveGoroutines = "ActiveGoroutines" SessionTTL = "SessionTTL" SessionTTLLastUsed = "SessionTTLLastUsed" SessionTTLUsage = "SessionTTLUsage" HandlerSubstractUsage = "*substract_usage" XML = "xml" MetaGOBrpc = "*gob" MetaJSONrpc = "*json" MetaDateTime = "*datetime" MetaMaskedDestination = "*masked_destination" MetaUnixTimestamp = "*unix_timestamp" MetaPostCDR = "*post_cdr" MetaDumpToFile = "*dump_to_file" NonTransactional = "" // used in transactional cache mechanism EVT_ACCOUNT_BALANCE_MODIFIED = "ACCOUNT_BALANCE_MODIFIED" EVT_ACTION_TRIGGER_FIRED = "ACTION_TRIGGER_FIRED" EVT_ACTION_TIMING_FIRED = "ACTION_TRIGGER_FIRED" SMAsterisk = "sm_asterisk" TariffPlanDB = "tariffplan_db" DataDB = "data_db" StorDB = "stor_db" Cache = "cache" NotFoundCaps = "NOT_FOUND" ItemNotFound = "item not found" ItemNotCloneable = "item not cloneable" NotCloneableCaps = "NOT_CLONEABLE" ServerErrorCaps = "SERVER_ERROR" MandatoryIEMissingCaps = "MANDATORY_IE_MISSING" UnsupportedCachePrefix = "unsupported cache prefix" CDRSCtx = "cdrs" MandatoryInfoMissing = "mandatory information missing" UnsupportedServiceIDCaps = "UNSUPPORTED_SERVICE_ID" ServiceManager = "service_manager" ServiceAlreadyRunning = "service already running" ServiceNotRunning = "service not running" RunningCaps = "RUNNING" StoppedCaps = "STOPPED" SchedulerNotRunningCaps = "SCHEDULLER_NOT_RUNNING" MetaScheduler = "*scheduler" MetaCostDetails = "*cost_details" Migrator = "migrator" UnsupportedMigrationTask = "unsupported migration task" NoStorDBConnection = "not connected to StorDB" UndefinedVersion = "undefined version" MetaSetVersions = "*set_versions" UnsupportedDB = "unsupported database" ACCOUNT_SUMMARY = "AccountSummary" )