From 9adb515fcbc5b26b34aa2569687a42dd3401d6c2 Mon Sep 17 00:00:00 2001 From: DanB Date: Thu, 16 Jul 2015 12:57:04 +0200 Subject: [PATCH] SM-FS: Disable request processing in case of process_cdr=false or dialplan=inline --- sessionmanager/fsevent.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sessionmanager/fsevent.go b/sessionmanager/fsevent.go index cf57d6a76..89c4e49e2 100644 --- a/sessionmanager/fsevent.go +++ b/sessionmanager/fsevent.go @@ -165,12 +165,18 @@ func (fsev FSEvent) GetTenant(fieldName string) string { return utils.FirstNonEmpty(fsev[fieldName], fsev[CSTMID], config.CgrConfig().DefaultTenant) } func (fsev FSEvent) GetReqType(fieldName string) string { + var reqTypeDetected = "" // Used to automatically disable processing of the request + if fsev["variable_process_cdr"] == "false" { // FS will not generated CDR here + reqTypeDetected = utils.NONE + } else if fsev["Caller-Dialplan"] == "inline" { // Used for internally generated dialplan, eg refer coming from another box, not in our control + reqTypeDetected = utils.NONE + } if strings.HasPrefix(fieldName, utils.STATIC_VALUE_PREFIX) { // Static value return fieldName[len(utils.STATIC_VALUE_PREFIX):] } else if fieldName == utils.META_DEFAULT { - return utils.FirstNonEmpty(fsev[REQTYPE], config.CgrConfig().DefaultReqType) + return utils.FirstNonEmpty(fsev[REQTYPE], reqTypeDetected, config.CgrConfig().DefaultReqType) } - return utils.FirstNonEmpty(fsev[fieldName], fsev[REQTYPE], config.CgrConfig().DefaultReqType) + return utils.FirstNonEmpty(fsev[fieldName], fsev[REQTYPE], reqTypeDetected, config.CgrConfig().DefaultReqType) } func (fsev FSEvent) MissingParameter() bool { return strings.TrimSpace(fsev.GetDirection(utils.META_DEFAULT)) == "" ||