different start ime feilds

This commit is contained in:
Radu Ioan Fericean
2012-09-19 13:11:06 +03:00
parent a9486d6b2c
commit d410735156
4 changed files with 7 additions and 6 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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()

View File

@@ -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