From d4107351561966b7811e8fb96d62ea5e7cdc22d7 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Wed, 19 Sep 2012 13:11:06 +0300 Subject: [PATCH] different start ime feilds --- sessionmanager/event.go | 2 +- sessionmanager/fsevent.go | 5 +++-- sessionmanager/session.go | 2 +- sessionmanager/sessiondelegate.go | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sessionmanager/event.go b/sessionmanager/event.go index c81a7571a..8fb6458e5 100644 --- a/sessionmanager/event.go +++ b/sessionmanager/event.go @@ -35,7 +35,7 @@ type Event interface { GetTenant() string GetReqType() string GetCallDestNb() string - GetStartTime() (time.Time, error) + GetStartTime(string) (time.Time, error) GetEndTime() (time.Time, error) MissingParameter() bool } diff --git a/sessionmanager/fsevent.go b/sessionmanager/fsevent.go index 6c3bc2936..3bc6758b5 100644 --- a/sessionmanager/fsevent.go +++ b/sessionmanager/fsevent.go @@ -48,6 +48,7 @@ const ( UUID = "Unique-ID" // -Unique ID for this call leg CSTMID = "variable_cgr_cstmid" CALL_DEST_NB = "Caller-Destination-Number" + PARK_TIME = "Event-Date-Timestamp" START_TIME = "variable_answer_epoch" END_TIME = "variable_end_epoch" NAME = "Event-Name" @@ -132,8 +133,8 @@ func (fsev *FSEvent) MissingParameter() bool { strings.TrimSpace(fsev.GetTenant()) == "" || strings.TrimSpace(fsev.GetCallDestNb()) == "" } -func (fsev *FSEvent) GetStartTime() (t time.Time, err error) { - st, err := strconv.ParseInt(fsev.Fields[END_TIME], 0, 64) +func (fsev *FSEvent) GetStartTime(field string) (t time.Time, err error) { + st, err := strconv.ParseInt(fsev.Fields[field], 0, 64) t = time.Unix(st, 0) return } diff --git a/sessionmanager/session.go b/sessionmanager/session.go index 9813ceb69..645b0a4a5 100644 --- a/sessionmanager/session.go +++ b/sessionmanager/session.go @@ -41,7 +41,7 @@ func NewSession(ev Event, sm SessionManager) (s *Session) { if strings.TrimSpace(ev.GetReqType()) == "" { return } - startTime, err := ev.GetStartTime() + startTime, err := ev.GetStartTime(START_TIME) if err != nil { timespans.Logger.Err("Error parsing answer event start time, using time.Now!") startTime = time.Now() diff --git a/sessionmanager/sessiondelegate.go b/sessionmanager/sessiondelegate.go index 41256dc0a..9ab7e872e 100644 --- a/sessionmanager/sessiondelegate.go +++ b/sessionmanager/sessiondelegate.go @@ -36,7 +36,7 @@ func (rsd *SessionDelegate) OnHeartBeat(ev Event) { } func (rsd *SessionDelegate) OnChannelPark(ev Event, sm SessionManager) { - startTime, err := ev.GetStartTime() + startTime, err := ev.GetStartTime(PARK_TIME) if err != nil { timespans.Logger.Err("Error parsing answer event start time, using time.Now!") startTime = time.Now() @@ -75,7 +75,7 @@ func (rsd *SessionDelegate) OnChannelAnswer(ev Event, s *Session) { func (rsd *SessionDelegate) OnChannelHangupComplete(ev Event, s *Session) { if ev.GetReqType() == REQTYPE_POSTPAID { - startTime, err := ev.GetStartTime() + startTime, err := ev.GetStartTime(START_TIME) if err != nil { timespans.Logger.Crit("Error parsing postpaid call start time from event") return