diff --git a/data/conf/samples/tutmysql/cgrates.json b/data/conf/samples/tutmysql/cgrates.json index 48328eca2..9bbce4d20 100644 --- a/data/conf/samples/tutmysql/cgrates.json +++ b/data/conf/samples/tutmysql/cgrates.json @@ -91,22 +91,65 @@ "cdre": { - "TestTutITExportCDR": { - "content_fields": [ - {"tag": "CGRID", "type": "*composed", "value": "CGRID"}, - {"tag": "RunID", "type": "*composed", "value": "RunID"}, - {"tag":"OriginID", "type": "*composed", "value": "OriginID"}, - {"tag":"RequestType", "type": "*composed", "value": "RequestType"}, - {"tag":"Tenant", "type": "*composed", "value": "Tenant"}, - {"tag":"Category", "type": "*composed", "value": "Category"}, - {"tag":"Account", "type": "*composed", "value": "Account"}, - {"tag":"Destination", "type": "*composed", "value": "Destination"}, - {"tag":"AnswerTime", "type": "*composed", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00"}, - {"tag":"Usage", "type": "*composed", "value": "Usage"}, - {"tag":"Cost", "type": "*composed", "value": "Cost", "rounding_decimals": 4}, - {"tag":"MatchedDestinationID", "type": "*composed", "value": "~CostDetails:s/\"MatchedDestId\":.*_(\\w{4})/${1}/:s/\"MatchedDestId\":\"INTERNAL\"/ON010/"}, - ], - }, +"*default": { +"cdr_format": "csv", // exported CDRs format +"field_separator": ",", +"data_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from KBytes to Bytes) +"sms_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from SMS unit to call duration in some billing systems) +"generic_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from GENERIC unit to call duration in some billing systems) +"cost_multiply_factor": 1, // multiply cost before export, eg: add VAT +"cost_rounding_decimals": -1, // rounding decimals for Cost values. -1 to disable rounding +"cost_shift_digits": 0, // shift digits in the cost on export (eg: convert from EUR to cents) +"mask_destination_id": "MASKED_DESTINATIONS", // destination id containing called addresses to be masked on export +"mask_length": 0, // length of the destination suffix to be masked +"export_dir": "/tmp/cgr_osipsnative/cgrates/cdre", // path where the exported CDRs will be placed +"header_fields": [], // template of the exported header fields +"content_fields": [ // template of the exported content fields +{"tag": "CgrId", "type": "*composed", "value": "CGRID"}, +{"tag":"RunId", "type": "*composed", "value": "RunID"}, +{"tag":"Tor", "type": "*composed", "value": "ToR"}, +{"tag":"AccId", "type": "*composed", "value": "OriginID"}, +{"tag":"ReqType", "type": "*composed", "value": "RequestType"}, +{"tag":"Direction", "type": "*composed", "value": "Direction"}, +{"tag":"Tenant", "type": "*composed", "value": "Tenant"}, +{"tag":"Category", "type": "*composed", "value": "Category"}, +{"tag":"Account", "type": "*composed", "value": "Account"}, +{"tag":"Subject", "type": "*composed", "value": "Subject"}, +{"tag":"Destination", "type": "*composed", "value": "Destination"}, +{"tag":"SetupTime", "type": "*datetime", "value": "SetupTime", "layout": "2006-01-02T15:04:05Z07:00"}, +{"tag":"AnswerTime", "type": "*datetime", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00"}, +{"tag":"Usage", "type": "*composed", "value": "Usage"}, +{"tag":"Cost", "type": "*composed", "value": "Cost"}, +], +"trailer_fields": [], // template of the exported trailer fields +}, +"customer_tpl": { +"cdr_format": "csv", // exported CDRs format +"field_separator": ";", +"data_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from KBytes to Bytes) +"sms_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from SMS unit to call duration in some billing systems) +"generic_usage_multiply_factor": 1, // multiply data usage before export (eg: convert from GENERIC unit to call duration in some billing systems) +"cost_multiply_factor": 1, // multiply cost before export, eg: add VAT +"cost_rounding_decimals": -1, // rounding decimals for Cost values. -1 to disable rounding +"cost_shift_digits": 0, // shift digits in the cost on export (eg: convert from EUR to cents) +"mask_destination_id": "MASKED_DESTINATIONS", // destination id containing called addresses to be masked on export +"mask_length": 0, // length of the destination suffix to be masked +"export_directory": "/tmp/cgr_osipsnative/cgrates/cdre", // path where the exported CDRs will be placed +"header_fields": [], // template of the exported header fields +"content_fields": [ // template of the exported content fields +{"tag": "CgrId", "type": "*composed", "value": "CGRID"}, +{"tag":"AccId", "type": "*composed", "value": "OriginID"}, +{"tag":"ReqType", "type": "*composed", "value": "RequestType"}, +{"tag":"Tenant", "type": "*composed", "value": "Tenant"}, +{"tag":"Category", "type": "*composed", "value": "Category"}, +{"tag":"Subject", "type": "*composed", "value": "Account"}, +{"tag":"Destination", "type": "*datetime", "value": "~Destination:s/^1(\\d+)/+$1/:s/^\\+(\\d+)/00$1/"}, +{"tag":"AnswerTime", "type": "*datetime", "value": "AnswerTime", "layout": "2006-01-02T15:04:05Z07:00"}, +{"tag":"Usage", "type": "*composed", "value": "Usage"}, +{"tag":"Cost", "type": "*composed", "value": "Cost"}, +], +"trailer_fields": [], +}, }, diff --git a/data/tariffplans/tutorial/Filters.csv b/data/tariffplans/tutorial/Filters.csv index 6344e0db1..976c9645f 100644 --- a/data/tariffplans/tutorial/Filters.csv +++ b/data/tariffplans/tutorial/Filters.csv @@ -30,3 +30,4 @@ cgrates.org,FLTR_CDRS,*cdr_stats,,CDRST1:*min_ASR:34;CDRST_1001:*min_ASR:20,2014 cgrates.org,FLTR_STS1,*string,Account,1001;1002,2014-07-29T15:00:00Z cgrates.org,FLTR_CDR_UPDATE,*string,EventType,CDR,2014-07-29T15:00:00Z cgrates.org,FLTR_ACNT_1001_1002,*string,Account,1001;1002,2014-07-29T15:00:00Z +cgrates.org,FLTR_ACNT_1001_1002,*string,RunID,*default, diff --git a/data/tutorials/fs_evsock/cgrates/etc/cgrates/cgrates.json b/data/tutorials/fs_evsock/cgrates/etc/cgrates/cgrates.json index 336d026fc..041c84c15 100644 --- a/data/tutorials/fs_evsock/cgrates/etc/cgrates/cgrates.json +++ b/data/tutorials/fs_evsock/cgrates/etc/cgrates/cgrates.json @@ -43,6 +43,12 @@ "cdrs": { "enabled": true, + "sessions_conns": [ + {"address": "127.0.0.1:2012", "transport": "*json"} + ], + "stats_conns": [ + {"address": "127.0.0.1:2012", "transport": "*json"} + ], }, diff --git a/general_tests/tut_fs_calls_test.go b/general_tests/tut_fs_calls_test.go index b1863156f..241d427ca 100755 --- a/general_tests/tut_fs_calls_test.go +++ b/general_tests/tut_fs_calls_test.go @@ -308,7 +308,7 @@ func TestTutFsCalls1001Cdrs(t *testing.T) { func TestFSCallStatMetrics2(t *testing.T) { var metrics map[string]string expectedMetrics := map[string]string{ - utils.MetaTCC: "0", + utils.MetaTCC: "1.8451", utils.MetaTCD: "2m12s", } if err := tutFsCallsRpc.Call(utils.StatSv1GetQueueStringMetrics,