added cdr server to cdr-rater tool

This commit is contained in:
Radu Ioan Fericean
2013-05-19 20:27:25 +03:00
parent d7f666e323
commit aa3e3941ed
2 changed files with 11 additions and 3 deletions

View File

@@ -23,6 +23,7 @@ import (
"flag"
"fmt"
"github.com/cgrates/cgrates/balancer2go"
"github.com/cgrates/cgrates/cdrs"
"github.com/cgrates/cgrates/config"
"github.com/cgrates/cgrates/mediator"
"github.com/cgrates/cgrates/rater"
@@ -57,6 +58,7 @@ var (
bal = balancer2go.NewBalancer()
exitChan = make(chan bool)
sm sessionmanager.SessionManager
medi *mediator.Mediator
cfg *config.CGRConfig
err error
)
@@ -134,8 +136,8 @@ func startMediator(responder *rater.Responder, loggerDb rater.DataStorage) {
// rater.Logger.Crit(fmt.Sprintf("Errors on config parsing: <%v>", cfgParseErr))
// exitChan <- true
//}
m, err := mediator.NewMediator(connector, loggerDb, cfg.MediatorSkipDB, cfg.MediatorCDROutDir, cfg.MediatorPseudoprepaid,
var err error
medi, err = mediator.NewMediator(connector, loggerDb, cfg.MediatorSkipDB, cfg.MediatorCDROutDir, cfg.MediatorPseudoprepaid,
cfg.FreeswitchDirectionIdx, cfg.FreeswitchTORIdx, cfg.FreeswitchTenantIdx, cfg.FreeswitchSubjectIdx, cfg.FreeswitchAccountIdx,
cfg.FreeswitchDestIdx, cfg.FreeswitchTimeStartIdx, cfg.FreeswitchDurationIdx, cfg.FreeswitchUUIDIdx)
if err != nil {
@@ -143,7 +145,7 @@ func startMediator(responder *rater.Responder, loggerDb rater.DataStorage) {
exitChan <- true
}
m.TrackCDRFiles(cfg.MediatorCDRInDir)
medi.TrackCDRFiles(cfg.MediatorCDRInDir)
}
func startSessionManager(responder *rater.Responder, loggerDb rater.DataStorage) {
@@ -354,6 +356,11 @@ func main() {
rater.Logger.Info("Starting CGRateS Mediator.")
go startMediator(responder, loggerDb)
}
if cfg.CDRServerEnabled {
rater.Logger.Info("Starting CGRateS CDR Server.")
cs := cdrs.New(loggerDb, medi)
go cs.StartCaptiuringCDRs()
}
<-exitChan
rater.Logger.Info("Stopped all components. CGRateS shutdown!")
}

View File

@@ -89,6 +89,7 @@ type CGRConfig struct {
FreeswitchDurationIdx string
FreeswitchUUIDIdx string
FreeswitchReconnects int // number of times to attempt reconnect after connect fails
CDRServerEnabled bool
}
// Instantiate a new CGRConfig setting defaults or reading from file