From 2b72490bbd1dc6906f4fee9b00af8f93bfb26beb Mon Sep 17 00:00:00 2001 From: DanB Date: Sun, 4 Jan 2015 19:24:34 +0100 Subject: [PATCH] Sample cgrates.json configuration file --- data/conf/cgrates.cfg | 4 +- data/conf/cgrates.json | 239 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 data/conf/cgrates.json diff --git a/data/conf/cgrates.cfg b/data/conf/cgrates.cfg index 2b72152fb..efe8530fa 100644 --- a/data/conf/cgrates.cfg +++ b/data/conf/cgrates.cfg @@ -23,7 +23,7 @@ # stordb_name = cgrates # The name of the log database to connect to. # stordb_user = cgrates # Username to use when connecting to stordb. # stordb_passwd = CGRateS.org # Password to use when connecting to stordb. -# stordb_max_open_conns = 0s # Maximum database connections opened +# stordb_max_open_conns = 0 # Maximum database connections opened # stordb_max_idle_conns = -10 # Maximum database connections idle # dbdata_encoding = msgpack # The encoding used to store object data in strings: # rpc_json_listen = 127.0.0.1:2012 # RPC JSON listening address @@ -42,7 +42,7 @@ # enabled = false # Start Balancer service: . [rater] -# enabled = false # Enable RaterCDRSExportPath service: . +# enabled = false # Enable Rater service: . # balancer = # Register to Balancer as worker: <""|internal|127.0.0.1:2013>. [scheduler] diff --git a/data/conf/cgrates.json b/data/conf/cgrates.json new file mode 100644 index 000000000..78582041c --- /dev/null +++ b/data/conf/cgrates.json @@ -0,0 +1,239 @@ +{ + +// Real-time Charging System 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": { +// "http_skip_tls_veify": false, // if enabled Http Client will accept any TLS certificate +// "rounding_decimals": 10, // system level precision for floats +// "dbdata_encoding": "msgpack", // encoding used to store object data in strings: +// "tpexport_dir": "/var/log/cgrates/tpe", // path towards export folder for offline Tariff Plans +// "default_reqtype": "rated", // default request type to consider when missing from requests: <""|prepaid|postpaid|pseudoprepaid|rated> +// "default_category": "call", // default Type of Record to consider when missing from requests +// "default_tenant": "cgrates.org", // default Tenant to consider when missing from requests +// "default_subject": "cgrates", // default rating Subject to consider when missing from requests +//}, + + +//"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 +//}, + + +//"rating_db": { +// "db_type": "redis", // rating subsystem database type: +// "db_host": "127.0.0.1", // rating subsystem database host address +// "db_port": 6379, // rating subsystem port to reach the database +// "db_name": "10", // rating subsystem database name to connect to +// "db_user": "", // rating subsystem username to use when connecting to database +// "db_passwd": "", // rating subsystem password to use when connecting to database +//}, + + +//"accounting_db": { +// "db_type": "redis", // accounting subsystem database: +// "db_host": "127.0.0.1", // accounting subsystem database host address +// "db_port": 6379, // accounting subsystem port to reach the database +// "db_name": "11", // accounting subsystem database name to connect to +// "db_user": "", // accounting subsystem username to use when connecting to database +// "db_passwd": "", // accounting subsystem password to use when connecting to database +//}, + + +//"stor_db": { +// "db_type": "mysql", // stor database type to use: +// "db_host": "127.0.0.1", // the host to connect to +// "db_port": 3306, // the port to reach the stordb +// "db_name": "cgrates", // stor database name +// "db_user": "cgrates", // username to use when connecting to stordb +// "db_passwd": "CGRateS.org", // password to use when connecting to stordb +// "max_open_conns": 0, // maximum database connections opened +// "max_idle_conns": -1, // maximum database connections idle +//}, + + +//"balancer": { +// "enabled": false, // start Balancer service: +//}, + + +//"rater": { +// "enabled": false, // enable Rater service: +// "balancer": "", // register to Balancer as worker: <""|internal|x.y.z.y:1234> +//}, + + +//"scheduler": { +// "enabled": false, // start Scheduler service: +//}, + + +//"cdrs": { +// "enabled": false, // start the CDR Server service: +// "extra_fields": "", // extra fields to store in CDRs for non-generic CDRs +// "mediator": "", // address where to reach the Mediator. Empty for disabling mediation. <""|internal> +// "cdrstats": "", // address where to reach the cdrstats service. Empty to disable stats gathering from raw CDRs <""|internal|x.y.z.y:1234> +// "store_disable": false, // when true, CDRs will not longer be saved in stordb, useful for cdrstats only scenario +//}, + + +//"mediator": { +// "enabled": false, // starts Mediator service: . +// "reconnects": 3, // number of reconnects to rater/cdrs before giving up. +// "rater": "internal", // address where to reach the Rater: +// "cdrstats": "", // address where to reach the cdrstats service. Empty to disable stats gathering out of mediated CDRs <""|internal|x.y.z.y:1234> +// "store_disable": false, // when true, CDRs will not longer be saved in stordb, useful for cdrstats only scenario +//}, + + +//"cdrstats": { +// "enabled": false, // starts the cdrstats service: +// "queue_length": 50, // number of items in the stats buffer +// "time_window": "1h", // will only keep the CDRs who's call setup time is not older than time.Now()-TimeWindow +// "metrics": ["ASR", "ACD", "ACC"], // stat metric ids to build +// "setup_interval": [], // filter on CDR SetupTime +// "tors": [], // filter on CDR TOR fields +// "cdr_hosts": [], // filter on CDR CdrHost fields +// "cdr_sources": [], // filter on CDR CdrSource fields +// "req_types": [], // filter on CDR ReqType fields +// "directions": [], // filter on CDR Direction fields +// "tenants": [], // filter on CDR Tenant fields +// "categories": [], // filter on CDR Category fields +// "accounts": [], // filter on CDR Account fields +// "subjects": [], // filter on CDR Subject fields +// "destination_prefixes": [], // filter on CDR Destination prefixes +// "usage_interval": [], // filter on CDR Usage +// "mediation_run_ids": [], // filter on CDR MediationRunId fields +// "rated_accounts": [], // filter on CDR RatedAccount fields +// "rated_subjects": [], // filter on CDR RatedSubject fields +// "cost_intervals": [], // filter on CDR Cost +//}, + + +//"cdre": { +// "CDRE-FW1": { +// "cdr_format": "csv", // exported CDRs format +// "data_usage_multiply_factor": 1.0, // multiply data usage before export (eg: convert from KBytes to Bytes) +// "cost_multiply_factor": 1, // multiply cost before export, eg: add VAT +// "cost_rounding_decimals": -1, // rounding decimals for Cost values. -1 to disable rounding +// "cost_shift_digits": 0, // shift digits in the cost on export (eg: convert from EUR to cents) +// "mask_destination_id": "MASKED_DESTINATIONS", // destination id containing called addresses to be masked on export +// "mask_length": 0, // length of the destination suffix to be masked +// "export_dir": "/var/log/cgrates/cdre", // path where the exported CDRs will be placed +// "header_fields": [], // template of the exported header fields +// "content_fields": [ // template of the exported content fields +// {"tag": "CgrId", "type": "cdrfield", "value": "cgrid", "width": "40", "mandatory": "true"}, +// {"tag":"RunId", "type": "cdrfield", "value": "mediation_runid", "width": 20}, +// {"tag":"Tor", "type": "cdrfield", "value": "tor", "width": 6}, +// {"tag":"AccId", "type": "cdrfield", "value": "accid", "width": 36}, +// {"tag":"ReqType", "type": "cdrfield", "value": "reqtype", "width": 13}, +// {"tag":"Direction", "type": "cdrfield", "value": "direction", "width": 4}, +// {"tag":"Tenant", "type": "cdrfield", "value": "tenant", "width": 24}, +// {"tag":"Category", "type": "cdrfield", "value": "category", "width": 10}, +// {"tag":"Account", "type": "cdrfield", "value": "account", "width": 24}, +// {"tag":"Subject", "type": "cdrfield", "value": "subject", "width": 24}, +// {"tag":"Destination", "type": "cdrfield", "value": "destination", "width": 24}, +// {"tag":"SetupTime", "type": "cdrfield", "value": "setup_time", "layout": "2006-01-02T15:04:05Z07:00", "width": 30}, +// {"tag":"AnswerTime", "type": "cdrfield", "value": "answer_time", "layout": "2006-01-02T15:04:05Z07:00", "width": 30}, +// {"tag":"Usage", "type": "cdrfield", "value": "usage", "width": 30}, +// {"tag":"Cost", "type": "cdrfield", "value": "cost", "width": 24}, +// ], +// "trailer_fields": [], // template of the exported trailer fields +// } +//}, + + +//"cdrc": { +// "instance1": { +// "enabled": false, // enable CDR client functionality +// "cdrs_address": "internal", // address where to reach CDR server. +// "cdr_format": "csv", // CDR file format +// "field_separator": ",", // separator used in case of csv files +// "run_delay": 0, // sleep interval in seconds between consecutive runs, 0 to use automation via inotify +// "data_usage_multiply_factor": 1024, // conversion factor for data usage +// "cdr_in_dir": "/var/log/cgrates/cdrc/in", // absolute path towards the directory where the CDRs are stored +// "cdr_out_dir": "/var/log/cgrates/cdrc/out", // absolute path towards the directory where processed CDRs will be moved +// "cdr_source_id": "freeswitch_csv", // free form field, tag identifying the source of the CDRs within CDRS database +// "cdr_fields":[ // import template, tag will match internally CDR field, in case of .csv value will be represented by index of the field value +// {"tag": "accid", "value": "0;13"}, +// {"tag": "reqtype", "value": "1"}, +// {"tag": "direction", "value": "2"}, +// {"tag": "tenant", "value": "3"}, +// {"tag": "category", "value": "4"}, +// {"tag": "account", "value": "5"}, +// {"tag": "subject", "value": "6"}, +// {"tag": "destination", "value": "7"}, +// {"tag": "setup_time", "value": "8"}, +// {"tag": "answer_time", "value": "9"}, +// {"tag": "usage", "value": "10"}, +// {"tag": "extr1", "value": "11"}, +// {"tag": "extr2", "value": "12"}, +// ], +// } +//}, + + +//"session_manager": { +// "enabled": false, // starts SessionManager service: +// "switch_type": "freeswitch", // defines the type of switch behind: +// "rater": "internal", // address where to reach the Rater <""|internal|127.0.0.1:2013> +// "cdrs": "", // address where to reach CDR Server, empty to disable CDR capturing <""|internal|x.y.z.y:1234> +// "reconnects": 3, // number of reconnects to rater/cdrs before giving up. +// "debit_interval": 10, // interval to perform debits on. +// "min_call_duration": "0s", // only authorize calls with allowed duration bigger than this +// "max_call_duration": "3h", // maximum call duration a prepaid call can last +//}, + + +//"freeswitch": { +// "server": "127.0.0.1:8021", // adress where to connect to FreeSWITCH socket. +// "passwd": "ClueCon", // freeSWITCH socket password. +// "reconnects": 5, // number of attempts on connect failure. +// "min_dur_low_balance": "5s", // threshold which will trigger low balance warnings for prepaid calls (needs to be lower than debit_interval) +// "low_balance_ann_file": "", // file to be played when low balance is reached for prepaid calls +// "empty_balance_context": "", // if defined, prepaid calls will be transfered 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) +// "cdr_extra_fields": "", // extra fields to store in CDRs in case of processing them +//}, + + +//"kamailio": { +// "evapi_addr": "127.0.0.1:8448", // address of the kamailio evapi server +// "reconnects": 3, // number of attempts on connect failure +//}, + + +//"opensips": { +// "listen_udp": "127.0.0.1:2020", // address where to listen for datagram events coming from OpenSIPS +// "mi_addr": "127.0.0.1:8020", // adress where to reach OpenSIPS mi_datagram module +// "events_subscribe_interval": "60s", // automatic events subscription to OpenSIPS, 0 to disable it +// "reconnects": 3, // number of attempts on connect failure +//}, + + +//"history_server": { +// "enabled": false, // starts History service: . +// "history_dir": "/var/log/cgrates/history", // location on disk where to store history files. +// "save_interval": "1s", // interval to save changed cache into .git archive +//}, + + +//"history_agent": { +// "enabled": false, // starts History as a client: . +// "server": "internal", // address where to reach the master history server: +//}, + + +//"mailer": { +// "server": "localhost", // the server to use when sending emails out +// "auth_user": "cgrates", // authenticate to email server using this user +// "auth_passwd": "CGRateS.org", // authenticate to email server with this password +// "from_address": "cgr-mailer@localhost.localdomain" // from address used when sending emails out +//}, + +} \ No newline at end of file