diff --git a/.travis.yml b/.travis.yml index f381edf3a..db48ada46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: go -before_install: sudo apt-get -q install bzr +script: $TRAVIS_BUILD_DIR/test.sh branches: only: master @@ -15,5 +15,3 @@ notifications: on_success: change on_failure: always -after_script: - ./build.sh && ./test.sh diff --git a/README.md b/README.md index 4d28c9089..bdbf5b56d 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,4 @@ API reference http://gopkgdoc.appspot.com/pkg/github.com/cgrates/cgrates Also check irc.freenode.net#cgrates and [Google group](https://groups.google.com/forum/#!forum/cgrates) for a more real-time support. -Continous integration: [![Build Status](https://goci.herokuapp.com/project/image/github.com/cgrates/cgrates "Continous integration")](http://goci.me/project/github.com/cgrates/cgrates) [![Build Status](https://secure.travis-ci.org/cgrates/cgrates.png)](http://travis-ci.org/cgrates/cgrates) +[![Build Status](https://drone.io/github.com/cgrates/cgrates/status.png)](https://drone.io/github.com/cgrates/cgrates/latest) [![Build Status](https://secure.travis-ci.org/cgrates/cgrates.png)](http://travis-ci.org/cgrates/cgrates) \ No newline at end of file diff --git a/cdrs/cdrs.go b/cdrs/cdrs.go index f5ee379eb..e2cb0ab5a 100644 --- a/cdrs/cdrs.go +++ b/cdrs/cdrs.go @@ -20,40 +20,42 @@ package cdrs import ( "fmt" + "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/mediator" "github.com/cgrates/cgrates/rater" - "github.com/cgrates/cgrates/config" "io/ioutil" "net/http" ) var ( - Logger = rater.Logger - cfg *config.CGRConfig // Share the configuration with the rest of the package + Logger = rater.Logger + cfg *config.CGRConfig // Share the configuration with the rest of the package + storage rater.DataStorage + medi *mediator.Mediator ) -type CDRS struct { - loggerDb rater.DataStorage - medi *mediator.Mediator -} - -func (cdrs *CDRS) cdrHandler(w http.ResponseWriter, r *http.Request) { +func cdrHandler(w http.ResponseWriter, r *http.Request) { body, _ := ioutil.ReadAll(r.Body) if fsCdr, err := new(FSCdr).New(body); err == nil { - cdrs.loggerDb.SetCdr(fsCdr) - cdrs.medi.MediateCdrFromDB(fsCdr.GetAccount(), cdrs.loggerDb) + storage.SetCdr(fsCdr) + medi.MediateCdrFromDB(fsCdr.GetAccount(), storage) } else { Logger.Err(fmt.Sprintf("Could not create CDR entry: %v", err)) } } -func New(storage rater.DataStorage, mediator *mediator.Mediator) *CDRS { - return &CDRS{storage, mediator} +type CDRS struct{} + +func New(s rater.DataStorage, m *mediator.Mediator, c *config.CGRConfig) *CDRS { + storage = s + medi = m + cfg = c + return &CDRS{} } func (cdrs *CDRS) StartCapturingCDRs() { if cfg.CDRSfsJSONEnabled { - http.HandleFunc("/freeswitch_json", cdrs.cdrHandler) + http.HandleFunc("/freeswitch_json", cdrHandler) } http.ListenAndServe(cfg.CDRSListen, nil) } diff --git a/cdrs/fscdr.go b/cdrs/fscdr.go index 9f1072d6e..df01dfac2 100644 --- a/cdrs/fscdr.go +++ b/cdrs/fscdr.go @@ -26,7 +26,6 @@ import ( "time" ) - const ( // Freswitch event property names CDR_MAP = "variables" @@ -43,9 +42,8 @@ const ( PARK_TIME = "start_stamp" START_TIME = "answer_stamp" END_TIME = "end_stamp" - NAME = "unused" USERNAME = "user_name" - FS_IP = "sip_local_network_addr" + FS_IP = "sip_local_network_addr" ) type FSCdr map[string]string @@ -67,9 +65,6 @@ func (fsCdr FSCdr) New(body []byte) (rater.CDR, error) { return nil, err } -func (fsCdr FSCdr) GetName() string { - return fsCdr[NAME] -} func (fsCdr FSCdr) GetDirection() string { //TODO: implement direction return "OUT" diff --git a/cmd/cgr-rater/cgr-rater.go b/cmd/cgr-rater/cgr-rater.go index 856a572a2..fe1b847ce 100644 --- a/cmd/cgr-rater/cgr-rater.go +++ b/cmd/cgr-rater/cgr-rater.go @@ -320,7 +320,7 @@ func main() { if cfg.CDRSListen!="" { rater.Logger.Info("Starting CGRateS CDR Server.") - cs := cdrs.New(loggerDb, medi) + cs := cdrs.New(loggerDb, medi, cfg) go cs.StartCapturingCDRs() } <-exitChan diff --git a/rater/cdr.go b/rater/cdr.go index 0424db5d2..db2d2b106 100644 --- a/rater/cdr.go +++ b/rater/cdr.go @@ -24,7 +24,6 @@ import ( type CDR interface { New([]byte) (CDR, error) - GetName() string GetDirection() string GetOrigId() string GetSubject() string