mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-13 11:06:25 +05:00
cgr_reqtype=*none to disable request processing in session manager
This commit is contained in:
@@ -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("<SM-FreeSWITCH> 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())
|
||||
}
|
||||
|
||||
@@ -49,6 +49,9 @@ func (self *KamailioSessionManager) onCgrAuth(evData []byte, connId string) {
|
||||
if err != nil {
|
||||
engine.Logger.Info(fmt.Sprintf("<SM-Kamailio> 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("<SM-Kamailio> 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("<SM-Kamailio> 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("<SM-Kamailio> 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("<SM-Kamailio> Mandatory IE missing out of event: %+v", kev))
|
||||
}
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user