mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Removing configuration to enable cdr handlers since filtering is based on url and no extra resources are consumed by handlers
This commit is contained in:
10
cdrs/cdrs.go
10
cdrs/cdrs.go
@@ -50,7 +50,7 @@ func fsCdrHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
func genCdrHandler(w http.ResponseWriter, r *http.Request) {
|
||||
func cgrCdrHandler(w http.ResponseWriter, r *http.Request) {
|
||||
body, _ := ioutil.ReadAll(r.Body)
|
||||
if genCdr, err := new(GenCdr).New(body); err == nil {
|
||||
storage.SetCdr(genCdr)
|
||||
@@ -77,11 +77,7 @@ func New(s engine.DataStorage, m *mediator.Mediator, c *config.CGRConfig) *CDRS
|
||||
}
|
||||
|
||||
func (cdrs *CDRS) StartCapturingCDRs() {
|
||||
if cfg.CDRSfsJSONEnabled {
|
||||
http.HandleFunc("/freeswitch_json", fsCdrHandler)
|
||||
}
|
||||
if cfg.CDRSgenJSONEnabled {
|
||||
http.HandleFunc("/generic_json", genCdrHandler)
|
||||
}
|
||||
http.HandleFunc("/cgr_json", cgrCdrHandler) // Attach CGR CDR Handler
|
||||
http.HandleFunc("/freeswitch_json", fsCdrHandler) // Attach FreeSWITCH JSON CDR Handler
|
||||
http.ListenAndServe(cfg.CDRSListen, nil)
|
||||
}
|
||||
|
||||
@@ -370,10 +370,11 @@ func main() {
|
||||
go startMediator(responder, loggerDb)
|
||||
}
|
||||
|
||||
if cfg.CDRSListen != "" {
|
||||
if cfg.CDRSEnabled {
|
||||
engine.Logger.Info("Starting CGRateS CDR Server.")
|
||||
go startCDRS(responder, loggerDb)
|
||||
}
|
||||
|
||||
if cfg.HistoryServerEnabled || cfg.HistoryAgentEnabled {
|
||||
engine.Logger.Info("Starting History Service.")
|
||||
go startHistoryScribe()
|
||||
|
||||
@@ -66,10 +66,8 @@ type CGRConfig struct {
|
||||
SchedulerEnabled bool
|
||||
CDRSEnabled bool // Enable CDR Server service
|
||||
CDRSListen string // CDRS's listening interface: <x.y.z.y:1234>.
|
||||
CDRSfsJSONEnabled bool // Enable the handler for FreeSWITCH JSON CDRs: <enabled|disabled>.
|
||||
CDRSgenJSONEnabled bool // Enable the handler for Generic JSON CDRs: <enabled|disabled>.
|
||||
CDRSMediator string // Address where to reach the Mediator. Empty for disabling mediation. <""|internal>
|
||||
CDRSExtraFields []string //Extra fields to store in CDRs
|
||||
CDRSMediator string // Address where to reach the Mediator. Empty for disabling mediation. <""|internal>
|
||||
SMEnabled bool
|
||||
SMSwitchType string
|
||||
SMRater string // address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
@@ -130,10 +128,8 @@ func (self *CGRConfig) setDefaults() error {
|
||||
self.SchedulerEnabled = false
|
||||
self.CDRSEnabled = false
|
||||
self.CDRSListen = "127.0.0.1:2022"
|
||||
self.CDRSfsJSONEnabled = false
|
||||
self.CDRSgenJSONEnabled = false
|
||||
self.CDRSMediator = INTERNAL
|
||||
self.CDRSExtraFields = []string{}
|
||||
self.CDRSMediator = INTERNAL
|
||||
self.MediatorEnabled = false
|
||||
self.MediatorListen = "127.0.0.1:2032"
|
||||
self.MediatorRater = "127.0.0.1:2012"
|
||||
@@ -277,20 +273,14 @@ func loadConfig(c *conf.ConfigFile) (*CGRConfig, error) {
|
||||
if hasOpt = c.HasOption("cdrs", "listen"); hasOpt {
|
||||
cfg.CDRSListen, _ = c.GetString("cdrs", "listen")
|
||||
}
|
||||
if hasOpt = c.HasOption("cdrs", "freeswitch_json_enabled"); hasOpt {
|
||||
cfg.CDRSfsJSONEnabled, _ = c.GetBool("cdrs", "freeswitch_json_enabled")
|
||||
}
|
||||
if hasOpt = c.HasOption("cdrs", "generic_json_enabled"); hasOpt {
|
||||
cfg.CDRSgenJSONEnabled, _ = c.GetBool("cdrs", "generic_json_enabled")
|
||||
}
|
||||
if hasOpt = c.HasOption("cdrs", "mediator"); hasOpt {
|
||||
cfg.CDRSMediator, _ = c.GetString("cdrs", "mediator")
|
||||
}
|
||||
if hasOpt = c.HasOption("cdrs", "extra_fields"); hasOpt {
|
||||
if cfg.CDRSExtraFields, errParse = ConfigSlice(c, "cdrs", "extra_fields"); errParse != nil {
|
||||
return nil, errParse
|
||||
}
|
||||
}
|
||||
if hasOpt = c.HasOption("cdrs", "mediator"); hasOpt {
|
||||
cfg.CDRSMediator, _ = c.GetString("cdrs", "mediator")
|
||||
}
|
||||
if hasOpt = c.HasOption("mediator", "enabled"); hasOpt {
|
||||
cfg.MediatorEnabled, _ = c.GetBool("mediator", "enabled")
|
||||
}
|
||||
|
||||
@@ -61,10 +61,8 @@ func TestDefaults(t *testing.T) {
|
||||
eCfg.SchedulerEnabled = false
|
||||
eCfg.CDRSEnabled = false
|
||||
eCfg.CDRSListen = "127.0.0.1:2022"
|
||||
eCfg.CDRSfsJSONEnabled = false
|
||||
eCfg.CDRSgenJSONEnabled = false
|
||||
eCfg.CDRSMediator = INTERNAL
|
||||
eCfg.CDRSExtraFields = []string{}
|
||||
eCfg.CDRSMediator = INTERNAL
|
||||
eCfg.MediatorEnabled = false
|
||||
eCfg.MediatorListen = "127.0.0.1:2032"
|
||||
eCfg.MediatorRater = "127.0.0.1:2012"
|
||||
@@ -158,10 +156,8 @@ func TestConfigFromFile(t *testing.T) {
|
||||
eCfg.SchedulerEnabled = true
|
||||
eCfg.CDRSEnabled = true
|
||||
eCfg.CDRSListen = "test"
|
||||
eCfg.CDRSfsJSONEnabled = true
|
||||
eCfg.CDRSgenJSONEnabled = true
|
||||
eCfg.CDRSMediator = "test"
|
||||
eCfg.CDRSExtraFields = []string{"test"}
|
||||
eCfg.CDRSMediator = "test"
|
||||
eCfg.MediatorEnabled = true
|
||||
eCfg.MediatorListen = "test"
|
||||
eCfg.MediatorRater = "test"
|
||||
|
||||
@@ -38,10 +38,8 @@ enabled = true # Starts Scheduler service: <true|false>.
|
||||
[cdrs]
|
||||
enabled = true # Start the CDR Server service: <true|false>.
|
||||
listen=test # CDRS's listening interface: <x.y.z.y:1234>.
|
||||
freeswitch_json_enabled=true # Enable the handler for FreeSWITCH JSON CDRs: <true|false>.
|
||||
generic_json_enabled=true # Enable the handler for generic JSON CDRs: <true|false>.
|
||||
extra_fields = test # Extra fields to store in CDRs
|
||||
mediator = test # Address where to reach the Mediator. Empty for disabling mediation. <""|internal>
|
||||
extra_fields = test # Extra fields to store in CDRs
|
||||
|
||||
[mediator]
|
||||
enabled = true # Starts Mediator service: <true|false>.
|
||||
|
||||
@@ -39,17 +39,16 @@
|
||||
# enabled = false # Starts Scheduler service: <true|false>.
|
||||
|
||||
[cdrs]
|
||||
# enabled = false # Start the CDR Server service: <true|false>.
|
||||
# listen=127.0.0.1:2022 # CDRS's listening interface: <x.y.z.y:1234>.
|
||||
# freeswitch_json_enabled=false # Enable the handler for FreeSWITCH JSON CDRs: <true|false>.
|
||||
# mediator = # Address where to reach the Mediator. Empty for disabling mediation. <""|internal>
|
||||
# extra_fields = # Extra fields to store in CDRs
|
||||
# mediator = # Address where to reach the Mediator. Empty for disabling mediation. <""|internal>
|
||||
|
||||
[mediator]
|
||||
# enabled = false # Starts Mediator service: <true|false>.
|
||||
# listen=internal # Mediator's listening interface: <internal>.
|
||||
# rater = 127.0.0.1:2012 # Address where to reach the Rater: <internal|x.y.z.y:1234>
|
||||
# rater_reconnects = 3 # Number of reconnects to rater before giving up.
|
||||
# cdr_type = freeswitch_http_json # CDR type <freeswitch_http_json|freeswitch_file_csv>.
|
||||
# accid_field = accid # Name of field identifying accounting id used during mediation. Use index number in case of .csv cdrs.
|
||||
# subject_fields = subject # Name of subject fields to be used during mediation. Use index numbers in case of .csv cdrs.
|
||||
# reqtype_fields = reqtype # Name of request type fields to be used during mediation. Use index number in case of .csv cdrs.
|
||||
@@ -60,6 +59,7 @@
|
||||
# destination_fields = destination # Name of destination fields to be used during mediation. Use index numbers in case of .csv cdrs.
|
||||
# time_answer_fields = time_answer # Name of time_answer fields to be used during mediation. Use index numbers in case of .csv cdrs.
|
||||
# duration_fields = duration # Name of duration fields to be used during mediation. Use index numbers in case of .csv cdrs.
|
||||
# cdr_type = freeswitch_http_json # CDR type <freeswitch_http_json|freeswitch_file_csv>.
|
||||
# cdr_in_dir = /var/log/freeswitch/cdr-csv # Absolute path towards the directory where the CDRs are kept (file stored CDRs).
|
||||
# cdr_out_dir = /var/log/cgrates/cdr/out/freeswitch/csv # Absolute path towards the directory where processed CDRs will be exported (file stored CDRs).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user