CDRS with online replication capabilities

This commit is contained in:
DanB
2017-02-15 19:23:12 +01:00
parent d27dc06e7d
commit ea84d8b6c5
4 changed files with 131 additions and 244 deletions

View File

@@ -16,73 +16,72 @@
"cdrs": {
"enabled": true, // start the CDR Server service: <true|false>
"store_cdrs": false, // store cdrs in storDb
"cdr_replication":[ // replicate the rated CDR to a number of servers
{
"transport": "*http_post",
"address": "http://127.0.0.1:12080/cdr_http",
"attempts": 1,
"cdr_filter": "RunID(*default)",
"content_fields": [
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
{"tag":"RunID", "type": "*composed", "value": "RunID", "field_id": "RunID"},
{"tag":"TOR", "type": "*composed", "value": "ToR", "field_id": "ToR"},
{"tag":"OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
{"tag":"OriginHost", "type": "*composed", "value": "OriginHost", "field_id": "OriginHost"},
{"tag":"RequestType", "type": "*composed", "value": "RequestType", "field_id": "RequestType"},
{"tag":"Direction", "type": "*composed", "value": "Direction", "field_id": "Direction"},
{"tag":"Tenant", "type": "*composed", "value": "Tenant", "field_id": "Tenant"},
{"tag":"Category", "type": "*composed", "value": "Category", "field_id": "Category"},
{"tag":"Account", "type": "*composed", "value": "Account", "field_id": "Account"},
{"tag":"Subject", "type": "*composed", "value": "Subject", "field_id": "Subject"},
{"tag":"Destination", "type": "*composed", "value": "Destination", "field_id": "Destination"},
{"tag":"SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "SetupTime"},
{"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "AnswerTime"},
{"tag":"Usage", "type": "*composed", "value": "Usage", "field_id": "Usage"},
{"tag":"Cost", "type": "*composed", "value": "Cost", "field_id": "Cost"},
],
},
{
"transport": "*amqp_json_map",
"address": "amqp://guest:guest@localhost:5672/?queue_id=cgrates_cdrs",
"attempts": 1,
"cdr_filter": "",
"content_fields": [
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
{"tag":"RunID", "type": "*composed", "value": "RunID", "field_id": "RunID"},
{"tag":"TOR", "type": "*composed", "value": "ToR", "field_id": "ToR"},
{"tag":"OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
{"tag":"OriginHost", "type": "*composed", "value": "OriginHost", "field_id": "OriginHost"},
{"tag":"RequestType", "type": "*composed", "value": "RequestType", "field_id": "RequestType"},
{"tag":"Direction", "type": "*composed", "value": "Direction", "field_id": "Direction"},
{"tag":"Tenant", "type": "*composed", "value": "Tenant", "field_id": "Tenant"},
{"tag":"Category", "type": "*composed", "value": "Category", "field_id": "Category"},
{"tag":"Account", "type": "*composed", "value": "Account", "field_id": "Account"},
{"tag":"Subject", "type": "*composed", "value": "Subject", "field_id": "Subject"},
{"tag":"Destination", "type": "*composed", "value": "Destination", "field_id": "Destination"},
{"tag":"SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "SetupTime"},
{"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "AnswerTime"},
{"tag":"Usage", "type": "*composed", "value": "Usage", "field_id": "Usage"},
{"tag":"Cost", "type": "*composed", "value": "Cost", "field_id": "Cost"},
],
},
{
"transport": "*http_post",
"address": "http://127.0.0.1:12080/invalid",
"cdr_filter": "OriginID(httpjsonrpc1)",
"attempts": 1,
"content_fields": [
{"tag": "OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
],
},
{
"transport": "*amqp_json_map",
"address": "amqp://guest:guest@localhost:25672/?queue_id=cgrates_cdrs",
"attempts": 1,
"content_fields": [
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
],
},
],
"online_cdr_exports": ["http_localhost", "amqp_localhost", "http_test_file", "amqp_test_file"],
},
"cdre": {
"http_localhost": {
"export_format": "*http_post",
"export_path": "http://127.0.0.1:12080/cdr_http",
"cdr_filter": "RunID(*default)",
"content_fields": [ // template of the exported content fields
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
{"tag":"RunID", "type": "*composed", "value": "RunID", "field_id": "RunID"},
{"tag":"TOR", "type": "*composed", "value": "ToR", "field_id": "ToR"},
{"tag":"OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
{"tag":"OriginHost", "type": "*composed", "value": "OriginHost", "field_id": "OriginHost"},
{"tag":"RequestType", "type": "*composed", "value": "RequestType", "field_id": "RequestType"},
{"tag":"Direction", "type": "*composed", "value": "Direction", "field_id": "Direction"},
{"tag":"Tenant", "type": "*composed", "value": "Tenant", "field_id": "Tenant"},
{"tag":"Category", "type": "*composed", "value": "Category", "field_id": "Category"},
{"tag":"Account", "type": "*composed", "value": "Account", "field_id": "Account"},
{"tag":"Subject", "type": "*composed", "value": "Subject", "field_id": "Subject"},
{"tag":"Destination", "type": "*composed", "value": "Destination", "field_id": "Destination"},
{"tag":"SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "SetupTime"},
{"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "AnswerTime"},
{"tag":"Usage", "type": "*composed", "value": "Usage", "field_id": "Usage"},
{"tag":"Cost", "type": "*composed", "value": "Cost", "field_id": "Cost"},
],
},
"amqp_localhost": {
"export_format": "*amqp_json_map",
"export_path": "amqp://guest:guest@localhost:5672/?queue_id=cgrates_cdrs",
"cdr_filter": "RunID(*default)",
"content_fields": [ // template of the exported content fields
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
{"tag":"RunID", "type": "*composed", "value": "RunID", "field_id": "RunID"},
{"tag":"TOR", "type": "*composed", "value": "ToR", "field_id": "ToR"},
{"tag":"OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
{"tag":"OriginHost", "type": "*composed", "value": "OriginHost", "field_id": "OriginHost"},
{"tag":"RequestType", "type": "*composed", "value": "RequestType", "field_id": "RequestType"},
{"tag":"Direction", "type": "*composed", "value": "Direction", "field_id": "Direction"},
{"tag":"Tenant", "type": "*composed", "value": "Tenant", "field_id": "Tenant"},
{"tag":"Category", "type": "*composed", "value": "Category", "field_id": "Category"},
{"tag":"Account", "type": "*composed", "value": "Account", "field_id": "Account"},
{"tag":"Subject", "type": "*composed", "value": "Subject", "field_id": "Subject"},
{"tag":"Destination", "type": "*composed", "value": "Destination", "field_id": "Destination"},
{"tag":"SetupTime", "type": "*composed", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "SetupTime"},
{"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00", "field_id": "AnswerTime"},
{"tag":"Usage", "type": "*composed", "value": "Usage", "field_id": "Usage"},
{"tag":"Cost", "type": "*composed", "value": "Cost", "field_id": "Cost"},
],
},
"http_test_file": {
"export_format": "*http_post",
"export_path": "http://127.0.0.1:12080/invalid",
"cdr_filter": "OriginID(httpjsonrpc1)",
"content_fields": [
{"tag": "OriginID", "type": "*composed", "value": "OriginID", "field_id": "OriginID"},
],
},
"amqp_test_file": {
"export_format": "*amqp_json_map",
"export_path": "amqp://guest:guest@localhost:25672/?queue_id=cgrates_cdrs",
"content_fields": [
{"tag": "CGRID", "type": "*composed", "value": "CGRID", "field_id": "CGRID"},
],
},
},
}