diff --git a/config/config.go b/config/config.go index b42d47bda..66c2c9532 100644 --- a/config/config.go +++ b/config/config.go @@ -85,6 +85,7 @@ type CGRConfig struct { DefaultSubject string // set default rating subject, useful in case of fallback RoundingDecimals int // Number of decimals to round end prices at HttpSkipTlsVerify bool // If enabled Http Client will accept any TLS certificate + TpExportDir string // Path towards export folder for offline Tariff Plans XmlCfgDocument *CgrXmlCfgDocument // Load additional configuration inside xml document RaterEnabled bool // start standalone server (no balancer) RaterBalancer string // balancer address host:port @@ -169,6 +170,7 @@ func (self *CGRConfig) setDefaults() error { self.DefaultSubject = "cgrates" self.RoundingDecimals = 10 self.HttpSkipTlsVerify = false + self.TpExportDir = "/var/log/cgrates/tpe" self.XmlCfgDocument = nil self.RaterEnabled = false self.RaterBalancer = "" @@ -386,6 +388,9 @@ func loadConfig(c *conf.ConfigFile) (*CGRConfig, error) { if hasOpt = c.HasOption("global", "http_skip_tls_veify"); hasOpt { cfg.HttpSkipTlsVerify, _ = c.GetBool("global", "http_skip_tls_veify") } + if hasOpt = c.HasOption("global", "tpexport_dir"); hasOpt { + cfg.TpExportDir, _ = c.GetString("global", "tpexport_dir") + } // XML config path defined, try loading the document if hasOpt = c.HasOption("global", "xmlcfg_path"); hasOpt { xmlCfgPath, _ := c.GetString("global", "xmlcfg_path") diff --git a/config/config_test.go b/config/config_test.go index 73c70f55d..e1dad2829 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -76,6 +76,7 @@ func TestDefaults(t *testing.T) { eCfg.DefaultSubject = "cgrates" eCfg.RoundingDecimals = 10 eCfg.HttpSkipTlsVerify = false + eCfg.TpExportDir = "/var/log/cgrates/tpe" eCfg.XmlCfgDocument = nil eCfg.RaterEnabled = false eCfg.RaterBalancer = "" @@ -201,6 +202,7 @@ func TestConfigFromFile(t *testing.T) { eCfg.DefaultSubject = "test" eCfg.RoundingDecimals = 99 eCfg.HttpSkipTlsVerify = true + eCfg.TpExportDir = "test" eCfg.RaterEnabled = true eCfg.RaterBalancer = "test" eCfg.BalancerEnabled = true diff --git a/config/test_data.txt b/config/test_data.txt index e06cce284..4ff5f7237 100644 --- a/config/test_data.txt +++ b/config/test_data.txt @@ -32,6 +32,7 @@ default_tenant = test # Default Tenant to consider when missing from requests. default_subject = test # Default rating Subject to consider when missing from requests. rounding_decimals = 99 # Number of decimals to round floats/costs at http_skip_tls_veify = true # If enabled Http Client will accept any TLS certificate +tpexport_dir = test # Path towards export folder for offline Tariff Plans [balancer] enabled = true # Start Balancer service: . diff --git a/data/conf/cgrates.cfg b/data/conf/cgrates.cfg index f184e479d..97b9aaaa1 100644 --- a/data/conf/cgrates.cfg +++ b/data/conf/cgrates.cfg @@ -5,36 +5,37 @@ # This is what you get when you load CGRateS with an empty configuration file. [global] -# ratingdb_type = redis # Rating subsystem database: . -# ratingdb_host = 127.0.0.1 # Rating subsystem database host address. -# ratingdb_port = 6379 # Rating subsystem port to reach the database. -# ratingdb_name = 10 # Rating subsystem database name to connect to. -# ratingdb_user = # Rating subsystem username to use when connecting to database. -# ratingdb_passwd = # Rating subsystem password to use when connecting to database. -# accountdb_type = redis # Accounting subsystem database: . -# accountdb_host = 127.0.0.1 # Accounting subsystem database host address. -# accountdb_port = 6379 # Accounting subsystem port to reach the database. -# accountdb_name = 11 # Accounting subsystem database name to connect to. -# accountdb_user = # Accounting subsystem username to use when connecting to database. -# accountdb_passwd = # Accounting subsystem password to use when connecting to database. -# stordb_type = mysql # Stor database type to use: -# stordb_host = 127.0.0.1 # The host to connect to. Values that start with / are for UNIX domain sockets. -# stordb_port = 3306 # The port to reach the logdb. -# 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 = 0 # Maximum database connections opened -# stordb_max_idle_conns = -1 # 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 -# rpc_gob_listen = 127.0.0.1:2013 # RPC GOB listening address -# http_listen = 127.0.0.1:2080 # HTTP listening address -# 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. -# rounding_decimals = 10 # System level precision for floats -# http_skip_tls_veify = false # If enabled Http Client will accept any TLS certificate +# ratingdb_type = redis # Rating subsystem database: . +# ratingdb_host = 127.0.0.1 # Rating subsystem database host address. +# ratingdb_port = 6379 # Rating subsystem port to reach the database. +# ratingdb_name = 10 # Rating subsystem database name to connect to. +# ratingdb_user = # Rating subsystem username to use when connecting to database. +# ratingdb_passwd = # Rating subsystem password to use when connecting to database. +# accountdb_type = redis # Accounting subsystem database: . +# accountdb_host = 127.0.0.1 # Accounting subsystem database host address. +# accountdb_port = 6379 # Accounting subsystem port to reach the database. +# accountdb_name = 11 # Accounting subsystem database name to connect to. +# accountdb_user = # Accounting subsystem username to use when connecting to database. +# accountdb_passwd = # Accounting subsystem password to use when connecting to database. +# stordb_type = mysql # Stor database type to use: +# stordb_host = 127.0.0.1 # The host to connect to. Values that start with / are for UNIX domain sockets. +# stordb_port = 3306 # The port to reach the logdb. +# 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_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 +# rpc_gob_listen = 127.0.0.1:2013 # RPC GOB listening address +# http_listen = 127.0.0.1:2080 # HTTP listening address +# 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. +# rounding_decimals = 10 # System level precision for floats +# http_skip_tls_veify = false # If enabled Http Client will accept any TLS certificate +# tpexport_dir = /var/log/cgrates/tpe # Path towards export folder for offline Tariff Plans # xmlcfg_path = # Path towards additional config defined in xml file [balancer] @@ -132,10 +133,10 @@ # 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) +# 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 [opensips] diff --git a/pkg/debian/rules b/pkg/debian/rules index 716004c41..b26ea2e9d 100755 --- a/pkg/debian/rules +++ b/pkg/debian/rules @@ -34,6 +34,7 @@ binary-arch: clean mkdir -p $(PKGDIR)/var/log/cgrates/cdre/csv mkdir -p $(PKGDIR)/var/log/cgrates/cdre/fwv mkdir -p $(PKGDIR)/var/log/cgrates/history + mkdir -p $(PKGDIR)/var/log/cgrates/tpe dh_strip dh_compress dh_fixperms