mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
458 lines
18 KiB
JSON
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
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|