{ "radius_agent": { "request_processors": [ { "id": "IPSAuthorization", "filters": [ "*string:~*vars.*radReqType:*radAuth" ], "flags": [ "*authorize", "*ips", "*continue" ], "request_fields": [ { "tag": "Category", "path": "*cgreq.Category", "type": "*constant", "value": "ips" }, { "tag": "RequestType", "path": "*cgreq.RequestType", "type": "*constant", "value": "*rated", "mandatory": true }, { "tag": "OriginID", "path": "*cgreq.OriginID", "type": "*variable", "value": "~*req.Acct-Session-Id", "mandatory": true }, { "tag": "Account", "path": "*cgreq.Account", "type": "*variable", "value": "~*req.User-Name", "mandatory": true }, { "tag": "Subject", "path": "*cgreq.Subject", "type": "*variable", "value": "~*req.User-Name", "mandatory": true }, { "tag": "Destination", "path": "*cgreq.Destination", "type": "*variable", "value": "~*req.Called-Station-Id", "mandatory": true }, { "tag": "SetupTime", "path": "*cgreq.SetupTime", "type": "*variable", "value": "~*req.Event-Timestamp", "mandatory": true }, { "tag": "AnswerTime", "path": "*cgreq.AnswerTime", "type": "*variable", "value": "~*req.Event-Timestamp", "mandatory": true }, { "tag": "IMSI", "path": "*cgreq.IMSI", "type": "*variable", "value": "~*req.User-Name", "mandatory": true }, { "tag": "APN", "path": "*cgreq.APN", "type": "*variable", "value": "~*req.Called-Station-Id", "mandatory": true }, { "tag": "CallingStationId", "path": "*cgreq.CallingStationId", "type": "*variable", "value": "~*req.Calling-Station-Id", "mandatory": true }, { "tag": "NAS-Identifier", "path": "*cgreq.NAS-Identifier", "type": "*variable", "value": "~*req.NAS-Identifier", "mandatory": true }, { "tag": "FramedPool", "path": "*cgreq.FramedPool", "type": "*variable", "value": "~*req.Framed-Pool", "mandatory": true }, { "tag": "ServiceType", "path": "*cgreq.ServiceType", "type": "*variable", "value": "~*req.Service-Type", "mandatory": true }, { "tag": "FramedProtocol", "path": "*cgreq.FramedProtocol", "type": "*variable", "value": "~*req.Framed-Protocol", "mandatory": true }, { "tag": "NAS-IP", "path": "*cgreq.NAS-IP", "type": "*variable", "value": "~*req.NAS-IP-Address", "mandatory": true } ], "reply_fields": [ { "tag": "ProxyState", "path": "*rep.Proxy-State", "type": "*variable", "value": "~*req.Proxy-State" }, { "tag": "Code", "path": "*rep.*radReplyCode", "filters": [ "*notempty:~*cgrep.Error:" ], "type": "*constant", "value": "AccessReject" }, { "tag": "ErrorReplyMessage", "path": "*rep.Reply-Message", "filters": [ "*notempty:~*cgrep.Error:" ], "type": "*variable", "value": "~*cgrep.Error", "blocker": true }, { "tag": "FramedIPAddress", "path": "*rep.Framed-IP-Address", "type": "*variable", "value": "~*cgrep.AllocatedIP.Address", "mandatory": true }, { "tag": "FramedProtocol", "path": "*rep.Framed-Protocol", "type": "*constant", "value": "PPP", "mandatory": true }, { "tag": "ServiceType", "path": "*rep.Service-Type", "type": "*constant", "value": "Framed", "mandatory": true }, { "tag": "ReplyMessage", "path": "*rep.Reply-Message", "type": "*variable", "value": "Pool:;~*cgrep.AllocatedIP.PoolID; - ;~*cgrep.AllocatedIP.Message" }, { "tag": "Class", "path": "*rep.Class", "type": "*variable", "value": "~*cgrep.AllocatedIP.ProfileID" } ] } ] } }