diff --git a/sessionmanager/osipsevent.go b/sessionmanager/osipsevent.go index 77a63e634..37431f991 100644 --- a/sessionmanager/osipsevent.go +++ b/sessionmanager/osipsevent.go @@ -46,6 +46,10 @@ const ( OSIPS_DURATION = "duration" ) +func NewOsipsEvent(osipsDagramEvent *osipsdagram.OsipsEvent) (*OsipsEvent, error) { + return &OsipsEvent{osipsEvent: osipsDagramEvent}, nil +} + type OsipsEvent struct { osipsEvent *osipsdagram.OsipsEvent } @@ -182,9 +186,6 @@ func (osipsev *OsipsEvent) GetExtraFields() map[string]string { extraFields[field] = val } } - if len(extraFields) == 0 { - return nil // No need of populating extra fields if no members defined - } return extraFields } func (osipsEv *OsipsEvent) GetOriginatorIP() string { diff --git a/sessionmanager/osipssm.go b/sessionmanager/osipssm.go index e678d03e6..0505faf6b 100644 --- a/sessionmanager/osipssm.go +++ b/sessionmanager/osipssm.go @@ -75,6 +75,6 @@ func (osm *OsipsSessionManager) Shutdown() error { func (osm *OsipsSessionManager) OnCdr(cdrDagram *osipsdagram.OsipsEvent) { engine.Logger.Info(fmt.Sprintf(" Received cdr datagram: %+v", cdrDagram)) var reply *string - osipsEv := &OsipsEvent{osipsEvent: cdrDagram} + osipsEv, _ := NewOsipsEvent(cdrDagram) osm.cdrsrv.ProcessCdr(osipsEv.AsStoredCdr(), reply) }