diff --git a/sessionmanager/fssessionmanager.go b/sessionmanager/fssessionmanager.go index a2661b16e..57556d0ea 100644 --- a/sessionmanager/fssessionmanager.go +++ b/sessionmanager/fssessionmanager.go @@ -192,6 +192,9 @@ func (sm *FSSessionManager) unparkCall(uuid, connId, call_dest_nb, notify string } func (sm *FSSessionManager) onChannelPark(ev engine.Event, connId string) { + if ev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } var maxCallDuration float64 // This will be the maximum duration this channel will be allowed to last if err := sm.rater.GetDerivedMaxSessionTime(*ev.AsStoredCdr(), &maxCallDuration); err != nil { engine.Logger.Err(fmt.Sprintf(" Could not get max session time for %s, error: %s", ev.GetUUID(), err.Error())) @@ -214,6 +217,9 @@ func (sm *FSSessionManager) onChannelPark(ev engine.Event, connId string) { } func (sm *FSSessionManager) onChannelAnswer(ev engine.Event, connId string) { + if ev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if ev.MissingParameter() { sm.DisconnectSession(ev, connId, MISSING_PARAMETER) } @@ -224,6 +230,9 @@ func (sm *FSSessionManager) onChannelAnswer(ev engine.Event, connId string) { } func (sm *FSSessionManager) onChannelHangupComplete(ev engine.Event) { + if ev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if sm.cdrs != nil { go sm.ProcessCdr(ev.AsStoredCdr()) } diff --git a/sessionmanager/kamailiosm.go b/sessionmanager/kamailiosm.go index f912b950a..6f437d13b 100644 --- a/sessionmanager/kamailiosm.go +++ b/sessionmanager/kamailiosm.go @@ -49,6 +49,9 @@ func (self *KamailioSessionManager) onCgrAuth(evData []byte, connId string) { if err != nil { engine.Logger.Info(fmt.Sprintf(" ERROR unmarshalling event: %s, error: %s", evData, err.Error())) } + if kev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if kev.MissingParameter() { if kar, err := kev.AsKamAuthReply(0.0, errors.New(utils.ERR_MANDATORY_IE_MISSING)); err != nil { engine.Logger.Err(fmt.Sprintf(" Failed building auth reply %s", err.Error())) @@ -73,6 +76,9 @@ func (self *KamailioSessionManager) onCallStart(evData []byte, connId string) { if err != nil { engine.Logger.Err(fmt.Sprintf(" ERROR unmarshalling event: %s, error: %s", evData, err.Error())) } + if kev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if kamEv.MissingParameter() { self.DisconnectSession(kamEv, "", utils.ERR_MANDATORY_IE_MISSING) return @@ -88,6 +94,9 @@ func (self *KamailioSessionManager) onCallEnd(evData []byte, connId string) { if err != nil { engine.Logger.Err(fmt.Sprintf(" ERROR unmarshalling event: %s, error: %s", evData, err.Error())) } + if kev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if kev.MissingParameter() { engine.Logger.Err(fmt.Sprintf(" Mandatory IE missing out of event: %+v", kev)) } diff --git a/sessionmanager/osipssm.go b/sessionmanager/osipssm.go index ef045dd53..fca6ade3d 100644 --- a/sessionmanager/osipssm.go +++ b/sessionmanager/osipssm.go @@ -162,6 +162,9 @@ func (osm *OsipsSessionManager) ProcessCdr(storedCdr *engine.StoredCdr) error { // Process Authorize request from OpenSIPS and communicate back maxdur func (osm *OsipsSessionManager) onAuthorize(osipsDagram *osipsdagram.OsipsEvent) { ev, _ := NewOsipsEvent(osipsDagram) + if ev.GetReqType(utils.META_DEFAULT) == utils.META_NONE { // Do not process this request + return + } if ev.MissingParameter() { cmdNotify := fmt.Sprintf(":cache_store:\nlocal\n%s/cgr_notify\n%s\n2\n\n", ev.GetUUID(), utils.ERR_MANDATORY_IE_MISSING) if reply, err := osm.miConn.SendCommand([]byte(cmdNotify)); err != nil || !bytes.HasPrefix(reply, []byte("200 OK")) { diff --git a/utils/consts.go b/utils/consts.go index 6878ef9ea..91ad921ef 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -18,6 +18,7 @@ const ( META_PSEUDOPREPAID = "*pseudoprepaid" RATED = "rated" META_RATED = "*rated" + META_NONE = "*none" ERR_NOT_IMPLEMENTED = "NOT_IMPLEMENTED" ERR_SERVER_ERROR = "SERVER_ERROR" ERR_NOT_FOUND = "NOT_FOUND"