{

"diameter_agent": {
	"request_processors": [
		{
			"id": "dryrun1",
			"filters": ["*string:~*vars.*cmd:CCR", "*string:~*req.Service-Context-Id:TestDiamItDryRun"],
			"flags": ["*dryrun"],
			"request_fields":[
				{"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*sms"},
				{"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"},
				{"tag": "Val1", "field_id": "Val1", "type": "*constant", "value": "1"},
				{"tag": "Val2", "field_id": "Val2", "type": "*constant", "value": "2"},
				{"tag": "Val3", "field_id": "Val3", "type": "*constant", "value": "3"},
				{"tag": "OptionalField", "field_id":"OptionalField", "type":"*composed",
					"value":"~*req.Inexistent", "mandatory":false},
				{"tag": "OriginID", "field_id": "OriginID", "type": "*composed", 
					"value": "~*req.Session-Id", "mandatory": true},
				{"tag": "RequestType", "field_id": "RequestType", 
					"type": "*constant", "value": "*prepaid"},
				{"tag": "SetupTime", "field_id": "SetupTime", "type": "*composed", 
					"value": "~*req.Event-Timestamp", "mandatory": true},
				{"tag": "UsedUnits1", "field_id": "UsedUnits1", "type": "*composed", "mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(1)]"},
				{"tag": "UsedUnits2", "field_id": "UsedUnits2", "type": "*composed", "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", "field_id": "Result-Code", "type": "*constant", "value": "2002"},
				{"tag": "RatingGroup",  "field_id": "Multiple-Services-Credit-Control.Rating-Group",
					"type": "*constant", "value": "1"},
				{"tag": "CCTotalOctets1",  "field_id": "Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets",
					"type": "*variable", "value": "~*cgreq.UsedUnits1"},
				{"tag": "GrantedUsage", "field_id": "Granted-Service-Unit.CC-Time", "type": "*sum", 
					"value": "~*cgreq.Val1;~*cgreq.Val2;~*cgreq.Val3"},
			],
			"continue": true,
		},
		{
			"id": "dryrun2",
			"filters": ["*rsr::~*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", "field_id": "ToR", "type": "*constant", "value": "*sms"},
				{"tag": "*api_key", "field_id": "*api_key", "type": "*constant", "value": "ses12345"},
				{"tag": "Val1", "field_id": "Val1", "type": "*constant", "value": "1"},
				{"tag": "Val2", "field_id": "Val2", "type": "*constant", "value": "2"},
				{"tag": "Val3", "field_id": "Val3", "type": "*constant", "value": "3"},
				{"tag": "OptionalField", "field_id":"OptionalField", "type":"*composed",
					"value":"~*req.Inexistent", "mandatory":false},
				{"tag": "OriginID", "field_id": "OriginID", "type": "*composed", 
					"value": "~*req.Session-Id", "mandatory": true},
				{"tag": "RequestType", "field_id": "RequestType", 
					"type": "*constant", "value": "*prepaid"},
				{"tag": "SetupTime", "field_id": "SetupTime", "type": "*composed", 
					"value": "~*req.Event-Timestamp", "mandatory": true},
				{"tag": "UsedUnits1", "field_id": "UsedUnits1", "type": "*composed", "mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(1)]"},
				{"tag": "UsedUnits2", "field_id": "UsedUnits2", "type": "*composed", "mandatory": true,
					"value": "~*req.Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets[~Rating-Group(2)]"},
				
			],
			"reply_fields":[
				{"tag": "RatingGroup",  "field_id": "Multiple-Services-Credit-Control.Rating-Group",
					"type": "*constant", "value": "2","new_branch": true},
				{"tag": "CCTotalOctets2",  "field_id": "Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets",
					"type": "*variable", "value": "~*cgreq.UsedUnits2"},
			],
		},

	],
},

}