diff --git a/engine/eventcost_test.go b/engine/eventcost_test.go index 507c8f1d2..abeff732c 100644 --- a/engine/eventcost_test.go +++ b/engine/eventcost_test.go @@ -18,7 +18,6 @@ along with this program. If not, see package engine import ( - "fmt" "reflect" "testing" "time" @@ -639,5 +638,5 @@ func TestEventCostAsCallCost(t *testing.T) { if len(eCC.Timespans) != len(cc.Timespans) { t.Errorf("Expecting: %+v, received: %+v", eCC, cc) } - fmt.Printf("Expecting: %s, \nreceived : %s\n", utils.ToJSON(eCC), utils.ToJSON(cc)) + //fmt.Printf("Expecting: %s, \nreceived : %s\n", utils.ToJSON(eCC), utils.ToJSON(cc)) } diff --git a/sessionmanager/smgeneric.go b/sessionmanager/smgeneric.go index 24d0ef0df..664b11bc6 100644 --- a/sessionmanager/smgeneric.go +++ b/sessionmanager/smgeneric.go @@ -361,17 +361,17 @@ func (smg *SMGeneric) getSessionIDsForPrefix(prefix string, passiveSessions bool } // sessionStart will handle a new session, pass the connectionId so we can communicate on disconnect request -func (smg *SMGeneric) sessionStart(evStart SMGenericEvent, clntConn rpcclient.RpcClientConnection) error { +func (smg *SMGeneric) sessionStart(evStart SMGenericEvent, clntConn rpcclient.RpcClientConnection) (err error) { cgrID := evStart.GetCGRID(utils.META_DEFAULT) - processed, err := guardian.Guardian.Guard(func() (interface{}, error) { // Lock it on CGRID level + _, err = guardian.Guardian.Guard(func() (interface{}, error) { // Lock it on CGRID level if pSS := smg.passiveToActive(cgrID); len(pSS) != 0 { - return true, nil // ToDo: handle here also debits + return nil, nil // ToDo: handle here also debits } var sessionRuns []*engine.SessionRun if err := smg.rals.Call("Responder.GetSessionRuns", evStart.AsStoredCdr(smg.cgrCfg, smg.Timezone), &sessionRuns); err != nil { - return true, err + return nil, err } else if len(sessionRuns) == 0 { - return true, nil + return nil, nil } stopDebitChan := make(chan struct{}) for _, sessionRun := range sessionRuns { @@ -384,13 +384,9 @@ func (smg *SMGeneric) sessionStart(evStart SMGenericEvent, clntConn rpcclient.Rp go s.debitLoop(smg.cgrCfg.SmGenericConfig.DebitInterval) } } - return true, nil + return nil, nil }, smg.cgrCfg.LockingTimeout, cgrID) - if processed == nil || processed == false { - utils.Logger.Err(" Cannot start session, empty reply") - return utils.ErrServerError - } - return err + return } // sessionEnd will end a session from outside