Skip to content

Instantly share code, notes, and snippets.

@PBXForums
Created September 27, 2018 21:46
Show Gist options
  • Save PBXForums/e97be7b4bce08db327c8456d45aee75a to your computer and use it in GitHub Desktop.
Save PBXForums/e97be7b4bce08db327c8456d45aee75a to your computer and use it in GitHub Desktop.
{
// Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
// Copyright (C) ITsysCOM GmbH
//
// This file contains the default configuration hardcoded into CGRateS.
// This is what you get when you load CGRateS with an empty configuration file.
"general": {
"node_id": "", // identifier of this instance in the cluster, if empty it will be autogenerated
"logger":"*syslog", // controls the destination of logs <*syslog|*stdout>
"log_level": 6, // control the level of messages logged (0-emerg to 7-debug)
"http_skip_tls_verify": false, // if enabled Http Client will accept any TLS certificate
"rounding_decimals": 6, // system level precision for floats
"dbdata_encoding": "msgpack", // encoding used to store object data in strings: <msgpack|json>
"tpexport_dir": "/var/spool/cgrates/tpe", // path towards export folder for offline Tariff Plans
"poster_attempts": 3, // number of attempts before considering post request failed (eg: *call_url, CDR replication)
"failed_posts_dir": "/var/spool/cgrates/failed_posts", // directory path where we store failed requests
"default_request_type": "*prepaid", // default request type to consider when missing from requests: <""|*prepaid|*postpaid|*pseudoprepaid|*rated>
"default_category": "call", // default category to consider when missing from requests
"default_tenant": "cgrates.org", // default tenant to consider when missing from requests
"default_timezone": "Local", // default timezone for timestamps where not specified <""|UTC|Local|$IANA_TZ_DB>
"connect_attempts": 3, // initial server connect attempts
"reconnects": -1, // number of retries in case of connection lost
"connect_timeout": "1s", // consider connection unsuccessful on timeout, 0 to disable the feature
"reply_timeout": "2s", // consider connection down for replies taking longer than this value
"response_cache_ttl": "0s", // the life span of a cached response
"internal_ttl": "2m", // maximum duration to wait for internal connections before giving up
"locking_timeout": "60s", // timeout internal locks to avoid deadlocks
"digest_separator": ",",
"digest_equal": ":",
},
"data_db": { // database used to store runtime data (eg: accounts, cdr stats)
"db_type": "redis", // data_db type: <redis|mongo>
"db_host": "127.0.0.1", // data_db host address
"db_port": 6379, // data_db port to reach the database
"db_name": "10", // data_db database name to connect to
"db_user": "cgrates", // username to use when connecting to data_db
"db_password": "", // password to use when connecting to data_db
"load_history_size": 10, // Number of records in the load history
},
"stor_db": { // database used to store offline tariff plans and CDRs
"db_type": "postgres", // stor database type to use: <mongo|mysql|postgres>
"db_host": "127.0.0.1", // the host to connect to
"db_port": 5432, // the port to reach the stordb
"db_name": "cgrates", // stor database name
"db_user": "billing4voip", // username to use when connecting to stordb
"db_password": "mrasdasdasd", // password to use when connecting to stordb
"max_open_conns": 200, // maximum database connections opened, not applying for mongo
"max_idle_conns": 10, // maximum database connections idle, not applying for mongo
"conn_max_lifetime": 0, // maximum amount of time in seconds a connection may be reused (0 for unlimited), not applying for mongo
"cdrs_indexes": [], // indexes on cdrs table to speed up queries, used only in case of mongo
},
"listen": {
"rpc_json": "127.0.0.1:2012", // RPC JSON listening address
"rpc_gob": "127.0.0.1:2013", // RPC GOB listening address
"http": "127.0.0.1:2080", // HTTP listening address
},
"http": { // HTTP server configuration
"json_rpc_url": "/jsonrpc", // JSON RPC relative URL ("" to disable)
"ws_url": "/ws", // WebSockets relative URL ("" to disable)
"use_basic_auth": false, // use basic authentication
"auth_users": {} // basic authentication usernames and base64-encoded passwords (eg: { "username1": "cGFzc3dvcmQ=", "username2": "cGFzc3dvcmQy "})
},
"scheduler": {
"enabled": true, // start Scheduler service: <true|false>
},
"cache":{
"destinations": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // destination caching
"reverse_destinations": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // reverse destinations index caching
"rating_plans": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // rating plans caching
"rating_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // rating profiles caching
"lcr_rules": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // lcr rules caching
// "cdr_stats": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // cdr stats queues caching
// "actions": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // actions caching
// "action_plans": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // action plans caching
// "account_action_plans": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // account action plans index caching
// "action_triggers": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // action triggers caching
// "shared_groups": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // shared groups caching
// "aliases": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // aliases caching
// "reverse_aliases": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // reverse aliases index caching
// "derived_chargers": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // derived charging rule caching
// "timings": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // timings caching
// "resource_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // control resource profiles caching
// "resources": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // control resources caching
// "event_resources": {"limit": -1, "ttl": "1m", "static_ttl": false}, // matching resources to events
// "statqueue_profiles": {"limit": -1, "ttl": "1m", "static_ttl": false, "precache": false}, // statqueue profiles
// "statqueues": {"limit": -1, "ttl": "1m", "static_ttl": false, "precache": false}, // statqueues with metrics
// "threshold_profiles": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // control threshold profiles caching
// "thresholds": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // control thresholds caching
// "filters": {"limit": -1, "ttl": "", "static_ttl": false, "precache": false}, // control filters caching
// "supplier_profiles": {"limit": -1, "ttl": "", "static_ttl": false}, // control supplier profile caching
// "attribute_profiles": {"limit": -1, "ttl": "", "static_ttl": false}, // control attribute profile caching
// "resource_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control resource filter indexes caching
// "resource_filter_revindexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control resource filter reverse indexes caching
// "stat_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control stat filter indexes caching
// "stat_filter_revindexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control stat filter reverse indexes caching
// "threshold_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control threshold filter indexes caching
// "threshold_filter_revindexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control threshold filter reverse indexes caching
// "supplier_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control supplier filter indexes caching
// "supplier_filter_revindexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control supplier filter reverse indexes caching
// "attribute_filter_indexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control attribute filter indexes caching
// "attribute_filter_revindexes" : {"limit": -1, "ttl": "", "static_ttl": false}, // control attribute filter reverse indexes caching
},
// "filters": { // Filters configuration (*new)
// "stats_conns": [], // address where to reach the stat service, empty to disable stats functionality: <""|*internal|x.y.z.y:1234>
// },
"rals": {
"enabled": true, // enable Rater service: <true|false>
"thresholds_conns": [], // address where to reach the thresholds service, empty to disable thresholds functionality: <""|*internal|x.y.z.y:1234>
"cdrstats_conns": [], // address where to reach the cdrstats service, empty to disable stats functionality: <""|*internal|x.y.z.y:1234>
"stats_conns": [], // address where to reach the stat service, empty to disable stats functionality: <""|*internal|x.y.z.y:1234>
"pubsubs_conns": [], // address where to reach the pubusb service, empty to disable pubsub functionality: <""|*internal|x.y.z.y:1234>
"attributes_conns": [
{"address": "*internal"}
], // address where to reach the attribute service, empty to disable attributes functionality: <""|*internal|x.y.z.y:1234>
"users_conns": [], // address where to reach the user service, empty to disable user profile functionality: <""|*internal|x.y.z.y:1234>
"aliases_conns": [], // address where to reach the aliases service, empty to disable aliases functionality: <""|*internal|x.y.z.y:1234>
"rp_subject_prefix_matching": false, // enables prefix matching for the rating profile subject
"lcr_subject_prefix_matching": false, // enables prefix matching for the lcr subject
"max_computed_usage": { // do not compute usage higher than this, prevents memory overload
"*any": "189h",
"*voice": "72h",
"*data": "107374182400",
"*sms": "10000"
},
},
"cdrs": {
"enabled": true, // start the CDR Server service: <true|false>
"extra_fields": [], // extra fields to store in CDRs for non-generic CDRs
"store_cdrs": true, // store cdrs in storDb
"sessions_cost_retries": 5, // number of queries to sessions_cost before recalculating CDR
"rals_conns": [
{"address": "*internal"} // address where to reach the Rater for cost calculation, empty to disable functionality: <""|*internal|x.y.z.y:1234>
],
"pubsubs_conns": [], // address where to reach the pubusb service, empty to disable pubsub functionality: <""|*internal|x.y.z.y:1234>
"attributes_conns": [], // address where to reach the attribute service, empty to disable attributes functionality: <""|*internal|x.y.z.y:1234>
"users_conns": [], // address where to reach the user service, empty to disable user profile functionality: <""|*internal|x.y.z.y:1234>
"aliases_conns": [], // address where to reach the aliases service, empty to disable aliases functionality: <""|*internal|x.y.z.y:1234>
"cdrstats_conns": [], // address where to reach the cdrstats service, empty to disable cdrstats functionality: <""|*internal|x.y.z.y:1234>
"thresholds_conns": [], // address where to reach the thresholds service, empty to disable thresholds functionality: <""|*internal|x.y.z.y:1234>
"stats_conns": [], // address where to reach the stat service, empty to disable stats functionality: <""|*internal|x.y.z.y:1234>
"online_cdr_exports":[], // list of CDRE profiles to use for real-time CDR exports
},
// "cdre": {
// "*default": {
// "export_format": "*file_csv", // exported CDRs format <*file_csv|*file_fwv|*http_post|*http_json_cdr|*http_json_map|*amqp_json_cdr|*amqp_json_map>
// "export_path": "/var/spool/cgrates/cdre", // path where the exported CDRs will be placed
// "cdr_filter": "", // filter CDRs exported by this template
// "synchronous": false, // block processing until export has a result
// "attempts": 1, // Number of attempts if not success
// "field_separator": ",", // used field separator in some export formats, eg: *file_csv
// "usage_multiply_factor": {
// "*any": 1 // multiply usage based on ToR field or *any for all
// },
// "cost_multiply_factor": 1, // multiply cost before export, eg: add VAT
// "header_fields": [], // template of the exported header fields
// "content_fields": [ // template of the exported content fields
// {"tag": "CGRID", "type": "*composed", "value": "CGRID"},
// {"tag":"RunID", "type": "*composed", "value": "RunID"},
// {"tag":"TOR", "type": "*composed", "value": "ToR"},
// {"tag":"OriginID", "type": "*composed", "value": "OriginID"},
// {"tag":"RequestType", "type": "*composed", "value": "RequestType"},
// {"tag":"Tenant", "type": "*composed", "value": "Tenant"},
// {"tag":"Category", "type": "*composed", "value": "Category"},
// {"tag":"Account", "type": "*composed", "value": "Account"},
// {"tag":"Subject", "type": "*composed", "value": "Subject"},
// {"tag":"Destination", "type": "*composed", "value": "Destination"},
// {"tag":"SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00"},
// {"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00"},
// {"tag":"Usage", "type": "*composed", "value": "Usage"},
// {"tag":"Cost", "type": "*composed", "value": "Cost", "rounding_decimals": 4},
// ],
// "trailer_fields": [], // template of the exported trailer fields
// },
// },
// "cdrstats": {
// "enabled": false, // starts the cdrstats service: <true|false>
// "save_interval": "1m", // interval to save changed stats into dataDb storage
// },
// "cdrc": [
// {
// "id": "*default", // identifier of the CDRC runner
// "enabled": false, // enable CDR client functionality
// "dry_run": false, // do not send the CDRs to CDRS, just parse them
// "cdrs_conns": [
// {"address": "*internal"} // address where to reach CDR server. <*internal|x.y.z.y:1234>
// ],
// "cdr_format": "csv", // CDR file format <csv|freeswitch_csv|fwv|opensips_flatstore|partial_csv>
// "field_separator": ",", // separator used in case of csv files
// "timezone": "", // timezone for timestamps where not specified <""|UTC|Local|$IANA_TZ_DB>
// "run_delay": 0, // sleep interval in seconds between consecutive runs, 0 to use automation via inotify
// "max_open_files": 1024, // maximum simultaneous files to process, 0 for unlimited
// "data_usage_multiply_factor": 1024, // conversion factor for data usage
// "cdr_in_dir": "/var/spool/cgrates/cdrc/in", // absolute path towards the directory where the CDRs are stored
// "cdr_out_dir": "/var/spool/cgrates/cdrc/out", // absolute path towards the directory where processed CDRs will be moved
// "failed_calls_prefix": "missed_calls", // used in case of flatstore CDRs to avoid searching for BYE records
// "cdr_path": "", // path towards one CDR element in case of XML CDRs
// "cdr_source_id": "freeswitch_csv", // free form field, tag identifying the source of the CDRs within CDRS database
// "cdr_filter": "", // filter CDR records to import
// "continue_on_success": false, // continue to the next template if executed
// "partial_record_cache": "10s", // duration to cache partial records when not pairing
// "partial_cache_expiry_action": "*dump_to_file", // action taken when cache when records in cache are timed-out <*dump_to_file|*post_cdr>
// "header_fields": [], // template of the import header fields
// "content_fields":[ // import content_fields template, tag will match internally CDR field, in case of .csv value will be represented by index of the field value
// {"tag": "TOR", "field_id": "ToR", "type": "*composed", "value": "2", "mandatory": true},
// {"tag": "OriginID", "field_id": "OriginID", "type": "*composed", "value": "3", "mandatory": true},
// {"tag": "RequestType", "field_id": "RequestType", "type": "*composed", "value": "4", "mandatory": true},
// {"tag": "Tenant", "field_id": "Tenant", "type": "*composed", "value": "6", "mandatory": true},
// {"tag": "Category", "field_id": "Category", "type": "*composed", "value": "7", "mandatory": true},
// {"tag": "Account", "field_id": "Account", "type": "*composed", "value": "8", "mandatory": true},
// {"tag": "Subject", "field_id": "Subject", "type": "*composed", "value": "9", "mandatory": true},
// {"tag": "Destination", "field_id": "Destination", "type": "*composed", "value": "10", "mandatory": true},
// {"tag": "SetupTime", "field_id": "SetupTime", "type": "*composed", "value": "11", "mandatory": true},
// {"tag": "AnswerTime", "field_id": "AnswerTime", "type": "*composed", "value": "12", "mandatory": true},
// {"tag": "Usage", "field_id": "Usage", "type": "*composed", "value": "13", "mandatory": true},
// ],
// "trailer_fields": [], // template of the import trailer fields
// "cache_dump_fields": [ // template used when dumping cached CDR, eg: partial CDRs
// {"tag": "CGRID", "type": "*composed", "value": "CGRID"},
// {"tag": "RunID", "type": "*composed", "value": "RunID"},
// {"tag": "TOR", "type": "*composed", "value": "ToR"},
// {"tag": "OriginID", "type": "*composed", "value": "OriginID"},
// {"tag": "RequestType", "type": "*composed", "value": "RequestType"},
// {"tag": "Tenant", "type": "*composed", "value": "Tenant"},
// {"tag": "Category", "type": "*composed", "value": "Category"},
// {"tag": "Account", "type": "*composed", "value": "Account"},
// {"tag": "Subject", "type": "*composed", "value": "Subject"},
// {"tag": "Destination", "type": "*composed", "value": "Destination"},
// {"tag": "SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00"},
// {"tag": "AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00"},
// {"tag": "Usage", "type": "*composed", "value": "Usage"},
// {"tag": "Cost", "type": "*composed", "value": "Cost"},
// ],
// },
// ],
"sessions": {
"enabled": true, // starts session manager service: <true|false>
"listen_bijson": "127.0.0.1:2014", // address where to listen for bidirectional JSON-RPC requests
"session_replication_conns": [], // replicate sessions towards these session services
"debit_interval": "0s", // interval to perform debits on.
"min_call_duration": "0s", // only authorize calls with allowed duration higher than this
"max_call_duration": "3h", // maximum call duration a prepaid call can last
"session_ttl": "0s", // time after a session with no updates is terminated, not defined by default
//"session_ttl_max_delay": "", // activates session_ttl randomization and limits the maximum possible delay
//"session_ttl_last_used": "", // tweak LastUsed for sessions timing-out, not defined by default
//"session_ttl_usage": "", // tweak Usage for sessions timing-out, not defined by default
"session_indexes": [], // index sessions based on these fields for GetActiveSessions API
"client_protocol": 1.0, // version of protocol to use when acting as JSON-PRC client <"0","1.0">
"rals_conns": [
{"address": "127.0.0.1:2012", "transport": "*json"}
],
"cdrs_conns": [
{"address": "127.0.0.1:2012", "transport": "*json"}
],
"resources_conns": [
],
"thresholds_conns": [
],
"stats_conns": [
],
"suppliers_conns": [
{"address": "127.0.0.1:2012", "transport": "*json"}
],
"attributes_conns": [
{"address": "127.0.0.1:2012", "transport": "*json"}
],
},
// "asterisk_agent": {
// "enabled": false, // starts the Asterisk agent: <true|false>
// "sessions_conns": [
// {"address": "*internal"} // connection towards session service: <*internal>
// ],
// "create_cdr": false, // create CDR out of events and sends it to CDRS component
// "asterisk_conns":[ // instantiate connections to multiple Asterisk servers
// {"address": "127.0.0.1:8088", "user": "cgrates", "password": "CGRateS.org", "connect_attempts": 3,"reconnects": 5}
// ],
// },
// "freeswitch_agent": {
// "enabled": false, // starts the FreeSWITCH agent: <true|false>
// "sessions_conns": [
// {"address": "*internal"} // connection towards session service: <*internal>
// ],
// "subscribe_park": true, // subscribe via fsock to receive park events
// "create_cdr": false, // create CDR out of events and sends them to CDRS component
// "extra_fields": [], // extra fields to store in auth/CDRs when creating them
// "empty_balance_context": "", // if defined, prepaid calls will be transferred to this context on empty balance
// "empty_balance_ann_file": "", // file to be played before disconnecting prepaid calls on empty balance (applies only if no context defined)
// "channel_sync_interval": "5m", // sync channels with freeswitch regularly
// "max_wait_connection": "2s", // maximum duration to wait for a connection to be retrieved from the pool
// "event_socket_conns":[ // instantiate connections to multiple FreeSWITCH servers
// {"address": "127.0.0.1:8021", "password": "ClueCon", "reconnects": 5}
// ],
// },
// "kamailio_agent": {
// "enabled": false, // starts SessionManager service: <true|false>
// "sessions_conns": [
// {"address": "*internal"} // connection towards session service: <*internal>
// ],
// "create_cdr": false, // create CDR out of events and sends them to CDRS component
// "timezone": "", // timezone of the Kamailio server
// "evapi_conns":[ // instantiate connections to multiple Kamailio servers
// {"address": "127.0.0.1:8448", "reconnects": 5}
// ],
// },
// "diameter_agent": {
// "enabled": false, // enables the diameter agent: <true|false>
// "listen": "127.0.0.1:3868", // address where to listen for diameter requests <x.y.z.y:1234>
// "dictionaries_dir": "/usr/share/cgrates/diameter/dict/", // path towards directory holding additional dictionaries to load
// "sessions_conns": [
// {"address": "*internal"} // connection towards SessionService
// ],
// "pubsubs_conns": [], // address where to reach the pubusb service, empty to disable pubsub functionality: <""|*internal|x.y.z.y:1234>
// "create_cdr": true, // create CDR out of CCR terminate and send it to SessionS
// "cdr_requires_session": true, // only create CDR if there is an active session at terminate
// "debit_interval": "5m", // interval for CCR updates
// "timezone": "", // timezone for timestamps where not specified, empty for general defaults <""|UTC|Local|$IANA_TZ_DB>
// "origin_host": "CGR-DA", // diameter Origin-Host AVP used in replies
// "origin_realm": "cgrates.org", // diameter Origin-Realm AVP used in replies
// "vendor_id": 0, // diameter Vendor-Id AVP used in replies
// "product_name": "CGRateS", // diameter Product-Name AVP used in replies
// "request_processors": [],
// },
// "radius_agent": {
// "enabled": false, // enables the radius agent: <true|false>
// "listen_net": "udp", // network to listen on <udp|tcp>
// "listen_auth": "127.0.0.1:1812", // address where to listen for radius authentication requests <x.y.z.y:1234>
// "listen_acct": "127.0.0.1:1813", // address where to listen for radius accounting requests <x.y.z.y:1234>
// "client_secrets": { // hash containing secrets for clients connecting here <*default|$client_ip>
// "*default": "CGRateS.org"
// },
// "client_dictionaries": { // per client path towards directory holding additional dictionaries to load (extra to RFC)
// "*default": "/usr/share/cgrates/radius/dict/", // key represents the client IP or catch-all <*default|$client_ip>
// },
// "sessions_conns": [
// {"address": "*internal"} // connection towards SessionService
// ],
// "create_cdr": true, // create CDR out of Accounting-Stop and send it to SessionS
// "cdr_requires_session": false, // only create CDR if there is an active session at terminate
// "timezone": "", // timezone for timestamps where not specified, empty for general defaults <""|UTC|Local|$IANA_TZ_DB>
// "request_processors": [],
// },
// "pubsubs": {
// "enabled": false, // starts PubSub service: <true|false>.
// },
// "aliases": {
// "enabled": false, // starts Aliases service: <true|false>.
// },
// "users": {
// "enabled": false, // starts User service: <true|false>.
// "indexes": [], // user profile field indexes
// },
"attributes": { // Attribute service
"enabled": true, // starts attribute service: <true|false>.
//"string_indexed_fields": [], // query indexes based on these fields for faster processing
"prefix_indexed_fields": [], // query indexes based on these fields for faster processing
"process_runs": 1,
},
// "resources": { // Resource service (*new)
// "enabled": false, // starts ResourceLimiter service: <true|false>.
// "store_interval": "", // dump cache regularly to dataDB, 0 - dump at start/shutdown: <""|$dur>
// "thresholds_conns": [], // address where to reach the thresholds service, empty to disable thresholds functionality: <""|*internal|x.y.z.y:1234>
// //"string_indexed_fields": [], // query indexes based on these fields for faster processing
// "prefix_indexed_fields": [], // query indexes based on these fields for faster processing
// },
// "stats": { // Stat service (*new)
// "enabled": false, // starts Stat service: <true|false>.
// "store_interval": "", // dump cache regularly to dataDB, 0 - dump at start/shutdown: <""|$dur>
// "thresholds_conns": [], // address where to reach the thresholds service, empty to disable thresholds functionality: <""|*internal|x.y.z.y:1234>
// //"string_indexed_fields": [], // query indexes based on these fields for faster processing
// "prefix_indexed_fields": [], // query indexes based on these fields for faster processing
// },
// "thresholds": { // Threshold service (*new)
// "enabled": false, // starts ThresholdS service: <true|false>.
// "store_interval": "", // dump cache regularly to dataDB, 0 - dump at start/shutdown: <""|$dur>
// //"string_indexed_fields": [], // query indexes based on these fields for faster processing
// "prefix_indexed_fields": [], // query indexes based on these fields for faster processing
// },
"suppliers": { // Supplier service (*new)
"enabled": true, // starts SupplierS service: <true|false>.
//"string_indexed_fields": [], // query indexes based on these fields for faster processing
"prefix_indexed_fields": [], // query indexes based on these fields for faster processing
"rals_conns": [
{"address": "*internal"}, // address where to reach the RALs for cost/accounting <*internal>
],
"resources_conns": [], // address where to reach the Resource service, empty to disable functionality: <""|*internal|x.y.z.y:1234>
"stats_conns": [], // address where to reach the Stat service, empty to disable stats functionality: <""|*internal|x.y.z.y:1234>
},
// "mailer": {
// "server": "localhost", // the server to use when sending emails out
// "auth_user": "cgrates", // authenticate to email server using this user
// "auth_password": "CGRateS.org", // authenticate to email server with this password
// "from_address": "cgr-mailer@localhost.localdomain" // from address used when sending emails out
// },
// "suretax": {
// "url": "", // API url
// "client_number": "", // client number, provided by SureTax
// "validation_key": "", // validation key provided by SureTax
// "business_unit": "", // client’s Business Unit
// "timezone": "Local", // convert the time of the events to this timezone before sending request out <UTC|Local|$IANA_TZ_DB>
// "include_local_cost": false, // sum local calculated cost with tax one in final cost
// "return_file_code": "0", // default or Quote purposes <0|Q>
// "response_group": "03", // determines how taxes are grouped for the response <03|13>
// "response_type": "D4", // determines the granularity of taxes and (optionally) the decimal precision for the tax calculations and amounts in the response
// "regulatory_code": "03", // provider type
// "client_tracking": "CGRID", // template extracting client information out of StoredCdr; <$RSRFields>
// "customer_number": "Subject", // template extracting customer number out of StoredCdr; <$RSRFields>
// "orig_number": "Subject", // template extracting origination number out of StoredCdr; <$RSRFields>
// "term_number": "Destination", // template extracting termination number out of StoredCdr; <$RSRFields>
// "bill_to_number": "", // template extracting billed to number out of StoredCdr; <$RSRFields>
// "zipcode": "", // template extracting billing zip code out of StoredCdr; <$RSRFields>
// "plus4": "", // template extracting billing zip code extension out of StoredCdr; <$RSRFields>
// "p2pzipcode": "", // template extracting secondary zip code out of StoredCdr; <$RSRFields>
// "p2pplus4": "", // template extracting secondary zip code extension out of StoredCdr; <$RSRFields>
// "units": "^1", // template extracting number of “lines” or unique charges contained within the revenue out of StoredCdr; <$RSRFields>
// "unit_type": "^00", // template extracting number of unique access lines out of StoredCdr; <$RSRFields>
// "tax_included": "^0", // template extracting tax included in revenue out of StoredCdr; <$RSRFields>
// "tax_situs_rule": "^04", // template extracting tax situs rule out of StoredCdr; <$RSRFields>
// "trans_type_code": "^010101", // template extracting transaction type indicator out of StoredCdr; <$RSRFields>
// "sales_type_code": "^R", // template extracting sales type code out of StoredCdr; <$RSRFields>
// "tax_exemption_code_list": "", // template extracting tax exemption code list out of StoredCdr; <$RSRFields>
// },
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment