Files
cgrates/data/conf/samples/radius_ipam/acct.json
2026-01-06 13:37:45 +01:00

458 lines
18 KiB
JSON

{
"radius_agent": {
"request_processors": [
{
"id": "IPSAccountingStart",
"filters": [
"*string:~*req.Acct-Status-Type:Start"
],
"flags": [
"*initiate",
"*chargers",
"*ips",
"*accounts"
],
"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": "OriginHost",
"path": "*cgreq.OriginHost",
"type": "*variable",
"value": "~*req.NAS-IP-Address",
"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": "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": "NASPortType",
"path": "*cgreq.NASPortType",
"type": "*variable",
"value": "~*req.NAS-Port-Type",
"mandatory": true
},
{
"tag": "AcctAuthentic",
"path": "*cgreq.AcctAuthentic",
"type": "*variable",
"value": "~*req.Acct-Authentic",
"mandatory": true
},
{
"tag": "AcctDelayTime",
"path": "*cgreq.AcctDelayTime",
"type": "*variable",
"value": "~*req.Acct-Delay-Time",
"mandatory": true
},
{
"tag": "AllocatedIP",
"path": "*cgreq.AllocatedIP",
"type": "*variable",
"value": "~*req.Framed-IP-Address",
"mandatory": true
},
{
"tag": "SessionID",
"path": "*vars.*sessionID",
"type": "*variable",
"value": "~*req.Acct-Session-Id"
},
{
"tag": "RemoteAddr",
"path": "*cgreq.RemoteAddr",
"type": "*variable",
"value": "~*vars.RemoteHost:s/(.*):\\d+/${1}/"
}
],
"reply_fields": [
{
"tag": "ProxyState",
"path": "*rep.Proxy-State",
"type": "*variable",
"value": "~*req.Proxy-State",
"mandatory": true
}
]
},
{
"id": "IPSAccountingAlive",
"filters": [
"*string:~*req.Acct-Status-Type:Alive"
],
"flags": [
"*update"
],
"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": "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": "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": "AcctInputOctets",
"path": "*cgreq.AcctInputOctets",
"type": "*variable",
"value": "~*req.Acct-Input-Octets",
"mandatory": true
},
{
"tag": "AcctOutputOctets",
"path": "*cgreq.AcctOutputOctets",
"type": "*variable",
"value": "~*req.Acct-Output-Octets",
"mandatory": true
},
{
"tag": "SessionID",
"path": "*vars.*sessionID",
"type": "*variable",
"value": "~*req.Acct-Session-Id"
}
],
"reply_fields": [
{
"tag": "ProxyState",
"path": "*rep.Proxy-State",
"type": "*variable",
"value": "~*req.Proxy-State",
"mandatory": true
}
]
},
{
"id": "IPSAccountingStop",
"filters": [
"*string:~*req.Acct-Status-Type:Stop"
],
"flags": [
"*terminate",
"*cdrs",
"*ips",
"*accounts"
],
"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": "OriginHost",
"path": "*cgreq.OriginHost",
"type": "*variable",
"value": "~*req.NAS-IP-Address",
"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": "Usage",
"path": "*cgreq.Usage",
"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": "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": "AcctInputOctets",
"path": "*cgreq.AcctInputOctets",
"type": "*variable",
"value": "~*req.Acct-Input-Octets",
"mandatory": true
},
{
"tag": "AcctOutputOctets",
"path": "*cgreq.AcctOutputOctets",
"type": "*variable",
"value": "~*req.Acct-Output-Octets",
"mandatory": true
},
{
"tag": "AcctTerminateCause",
"path": "*cgreq.AcctTerminateCause",
"type": "*variable",
"value": "~*req.Acct-Terminate-Cause",
"mandatory": true
},
{
"tag": "SessionID",
"path": "*vars.*sessionID",
"type": "*variable",
"value": "~*req.Acct-Session-Id"
}
],
"reply_fields": [
{
"tag": "ProxyState",
"path": "*rep.Proxy-State",
"type": "*variable",
"value": "~*req.Proxy-State",
"mandatory": true
}
]
}
]
}
}