diff --git a/sessionmanager/session.go b/sessionmanager/session.go index 0a4c09c91..05f726220 100644 --- a/sessionmanager/session.go +++ b/sessionmanager/session.go @@ -43,6 +43,12 @@ func NewSession(ev *Event) *Session { startTime: startTime} } +func (s *Session) StartDebitLoop() { + for { + + } +} + func (s *Session) GetSessionDurationFrom(now time.Time) (d time.Duration) { seconds := now.Sub(s.startTime).Seconds() d, err := time.ParseDuration(fmt.Sprintf("%ds", int(seconds))) @@ -69,3 +75,7 @@ func (s *Session) GetSessionCostFrom(now time.Time) (callCosts *timespans.CallCo func (s *Session) GetSessionCost() (callCosts *timespans.CallCost, err error) { return s.GetSessionCostFrom(time.Now()) } + +func (s *Session) Close() { + +} diff --git a/sessionmanager/sessionmanager.go b/sessionmanager/sessionmanager.go index 4dfc3e0ed..88fb67d9a 100644 --- a/sessionmanager/sessionmanager.go +++ b/sessionmanager/sessionmanager.go @@ -64,7 +64,7 @@ func (sm *SessionManager) ReadNextEvent() (ev *Event) { return } -func (sm *SessionManager) GetSessionByUUID(uuid string) *Session { +func (sm *SessionManager) GetSession(uuid string) *Session { for _, s := range sm.sessions { if s.uuid == uuid { return s @@ -73,15 +73,6 @@ func (sm *SessionManager) GetSessionByUUID(uuid string) *Session { return nil } -func (sm *SessionManager) GetSessionBySubject(subj string) (s *Session) { - for _, s := range sm.sessions { - if s.subject == subj { - return s - } - } - return -} - func (sm *SessionManager) OnHeartBeat(ev *Event) { log.Print("heartbeat") } @@ -92,7 +83,8 @@ func (sm *SessionManager) OnChannelAnswer(ev *Event) { } func (sm *SessionManager) OnChannelHangupComplete(ev *Event) { - //s := GetSessionByUUID(ev.Fields[UUID]) + s := sm.GetSession(ev.Fields[UUID]) + s.Close() } func (sm *SessionManager) OnOther(ev *Event) { diff --git a/sessionmanager/sessionmanager_test.go b/sessionmanager/sessionmanager_test.go index d5cee8da2..f3a156fdc 100644 --- a/sessionmanager/sessionmanager_test.go +++ b/sessionmanager/sessionmanager_test.go @@ -26,11 +26,11 @@ import ( func TestConnect(t *testing.T) { sm := &SessionManager{} sm.Connect("localhost:8021", "ClueCon") - for { - ev := sm.ReadNextEvent() - if ev == nil { - t.Error("Got nil event!") - } - //log.Print(ev) + //for { + ev := sm.ReadNextEvent() + if ev == nil { + t.Error("Got nil event!") } + //log.Print(ev) + //} }