{

"diameter_agent": {
	"request_processors": [
		{
			"id": "dryrun1",
			"filters": [
				"*string:~*vars.*cmd:CCR",
				"*string:~*req.Service-Context-Id:TestDiamItDryRun"
			],
			"flags": ["*dryRun","*continue"],
			"request_fields":[
				{
					"tag": "ToR",
					"path": "*cgreq.ToR",
					"type": "*constant",
					"value": "*sms"
				},
				{
					"tag": "Val1",
					"path": "*cgreq.Val1",
					"type": "*constant",
					"value": "1"
				},
				{
					"tag": "Val2",
					"path": "*cgreq.Val2",
					"type": "*constant",
					"value": "2"
				},
				{
					"tag": "Val3",
					"path": "*cgreq.Val3",
					"type": "*constant",
					"value": "3"
				},
				{
					"tag": "OptionalField",
					"path":"*cgreq.OptionalField",
					"type":"*variable",
					"value":"~*req.Inexistent",
				},
				{
					"tag": "OriginID",
					"path": "*cgreq.OriginID",
					"type": "*variable", 
					"value": "~*req.Session-Id",
					"mandatory": true
				},
				{
					"tag": "RequestType",
					"path": "*cgreq.RequestType", 
					"type": "*constant",
					"value": "*prepaid"
				},
				{
					"tag": "SetupTime",
					"path": "*cgreq.SetupTime",
					"type": "*variable", 
					"value": "~*req.Event-Timestamp",
					"mandatory": true
				},
				{
					"tag": "UsedUnits1",
					"path": "*cgreq.UsedUnits1",
					"type": "*variable",
					"mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(1)]"
				},
				{
					"tag": "UsedUnits2",
					"path": "*cgreq.UsedUnits2",
					"type": "*variable",
					"mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(2)]"
				},
				
			],
			"reply_fields":[
				{
					"tag": "CCATemplate",
					"type": "*template",
					"value": "*cca"
				},
				{
					"tag": "ResultCode",
					"path": "*rep.Result-Code",
					"type": "*constant",
					"value": "2002"
				},
				{
					"tag": "RatingGroup",
					"path": "*rep.Multiple-Services-Credit-Control.Rating-Group",
					"type": "*constant",
					"value": "1"
				},
				{
					"tag": "CCTotalOctets1",
					"path": "*rep.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets",
					"type": "*variable",
					"value": "~*cgreq.UsedUnits1"
				},
				{
					"tag": "GrantedUsage",
					"path": "*rep.Granted-Service-Unit.CC-Time",
					"type": "*sum", 
					"value": "~*cgreq.Val1;~*cgreq.Val2;~*cgreq.Val3"},
			],
		},
		{
			"id": "dryrun2",
			"filters": ["*notempty:~*rep.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[0]:"], // make sure the CC-Total-Octets was populated in the previous processor
			"flags": ["*dryRun"],
			"request_fields":[
				{
					"tag": "ToR",
					"path": "*cgreq.ToR",
					"type": "*constant",
					"value": "*sms"
				},
				{
					"tag": "Val1",
					"path": "*cgreq.Val1",
					"type": "*constant",
					"value": "1"
				},
				{
					"tag": "Val2",
					"path": "*cgreq.Val2",
					"type": "*constant",
					"value": "2"
				},
				{
					"tag": "Val3",
					"path": "*cgreq.Val3",
					"type": "*constant",
					"value": "3"
				},
				{
					"tag": "OptionalField",
					"path":"*cgreq.OptionalField",
					"type":"*variable",
					"value":"~*req.Inexistent"
				},
				{
					"tag": "OriginID",
					"path": "*cgreq.OriginID",
					"type": "*variable", 
					"value": "~*req.Session-Id",
					"mandatory": true
				},
				{
					"tag": "RequestType",
					"path": "*cgreq.RequestType", 
					"type": "*constant",
					"value": "*prepaid"
				},
				{
					"tag": "SetupTime",
					"path": "*cgreq.SetupTime",
					"type": "*variable", 
					"value": "~*req.Event-Timestamp",
					"mandatory": true
				},
				{
					"tag": "UsedUnits1",
					"path": "*cgreq.UsedUnits1",
					"type": "*variable",
					"mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(1)]"
				},
				{
					"tag": "UsedUnits2",
					"path": "*cgreq.UsedUnits2",
					"type": "*variable",
					"mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(2)]"
				},			
			],
			"reply_fields":[
				{
					"tag": "RatingGroup",
					"path": "*rep.Multiple-Services-Credit-Control.Rating-Group",
					"type": "*group",
					"value": "2",
					"new_branch": true
				},
				{
					"tag": "CCTotalOctets2",
					"path": "*rep.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets",
					"type": "*group",
					"value": "~*cgreq.UsedUnits2"
				},
			],
		},

	],
},

}
