diff --git a/cmd/cgr-tester/proc_event/proc_ev.go b/cmd/cgr-tester/proc_event/proc_ev.go new file mode 100644 index 000000000..52183db34 --- /dev/null +++ b/cmd/cgr-tester/proc_event/proc_ev.go @@ -0,0 +1,123 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package main + +import ( + "flag" + "fmt" + "log" + "math/rand" + "path" + "strconv" + "time" + + "github.com/cgrates/rpcclient" + + v1 "github.com/cgrates/cgrates/apier/v1" + "github.com/cgrates/cgrates/engine" + + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/utils" +) + +var dataDir = flag.String("data_dir", "/usr/share/cgrates", "CGR data dir path here") + +func main() { + flag.Parse() + var err error + var rpc *rpcclient.RPCClient + var cfgPath string + var cfg *config.CGRConfig + cfgPath = path.Join(*dataDir, "conf", "samples", "cdrsv1mysql") + if cfg, err = config.NewCGRConfigFromPath(cfgPath); err != nil { + log.Fatal("Got config error: ", err.Error()) + } + rpc, err = rpcclient.NewRPCClient(utils.TCP, cfg.ListenCfg().RPCJSONListen, false, "", "", "", 1, 1, + time.Second, 2*time.Second, rpcclient.JSONrpc, nil, false) + if err != nil { + log.Fatal("Could not connect to rater: ", err.Error()) + } + var sumApier float64 + var sumRateS float64 + var tApier time.Duration + var tRateS time.Duration + s1 := rand.NewSource(time.Now().UnixNano()) + r1 := rand.New(s1) + // + var sls []string + for i := 100; i < 200; i++ { + sls = append(sls, strconv.Itoa(i)) + } + + for i := 0; i < 1000; i++ { + destination := fmt.Sprintf("%+v%+v", sls[r1.Intn(100)], 1000000+rand.Intn(9999999-1000000)) + usage := fmt.Sprintf("%+vm", r1.Intn(250)) + attrs := v1.AttrGetCost{ + Category: "call", + Tenant: "cgrates.org", + Subject: "*any", + AnswerTime: utils.MetaNow, + Destination: destination, + Usage: usage, + } + var replyApier *engine.EventCost + tApiInit := time.Now() + if err := rpc.Call(utils.APIerSv1GetCost, &attrs, &replyApier); err != nil { + fmt.Println(err) + return + } + tApier += time.Now().Sub(tApiInit) + sumApier += *replyApier.Cost + + argsRateS := &utils.ArgsCostForEvent{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: utils.UUIDSha1Prefix(), + Event: map[string]interface{}{ + utils.Category: "call", + utils.Tenant: "cgrates.org", + utils.Subject: "*any", + utils.AnswerTime: utils.MetaNow, + utils.Destination: destination, + }, + Opts: map[string]interface{}{ + utils.OptsRatesUsage: usage, + }, + }, + } + + var rplyRateS *engine.RateProfileCost + tRateSInit := time.Now() + if err := rpc.Call(utils.RateSv1CostForEvent, argsRateS, &rplyRateS); err != nil { + fmt.Printf("Unexpected nil error received for RateSv1CostForEvent: %+v\n", err.Error()) + return + } + tRateS += time.Now().Sub(tRateSInit) + sumRateS += rplyRateS.Cost + } + fmt.Println("Cost for apier get cost : ") + fmt.Println(sumApier) + fmt.Println("Cost for RateS") + fmt.Println(sumRateS) + fmt.Println("Time for apier get cost : ") + fmt.Println(tApier) + fmt.Println("Time for RateS") + fmt.Println(tRateS) + +} diff --git a/data/conf/samples/hundred_rates/cgrates.json b/data/conf/samples/hundred_rates/cgrates.json new file mode 100644 index 000000000..d70bb38f4 --- /dev/null +++ b/data/conf/samples/hundred_rates/cgrates.json @@ -0,0 +1,47 @@ +{ + + "general": { + "rounding_decimals": 20, + }, + + "data_db": { + "db_type": "redis", + "db_port": 6379, + "db_name": "10", + }, + + "stor_db": { + "db_password": "CGRateS.org", + }, + + "caches":{ + "partitions": { + "*destinations": {"limit": 10000, "ttl":"0s", "precache": true}, + "*reverse_destinations": {"limit": 10000, "ttl":"0s", "precache": true}, + "*rating_plans": {"limit": 10000, "ttl":"0s","precache": true}, + "*rating_profiles": {"limit": 10000, "ttl":"0s", "precache": true}, + + "*rate_profiles": {"limit": 10000, "ttl": "", "static_ttl": false, "precache": true, "replicate": false}, // control rate profile caching + }, + }, + + "rals": { + "enabled": true, + }, + + + "schedulers": { + "enabled": true + }, + + "apiers": { + "enabled": true, + }, + + "rates": { + "enabled": true, + "rate_prefix_indexed_fields": ["*req.Destination"] + }, + + +}, diff --git a/data/tariffplans/hundredrates/Chargers.csv b/data/tariffplans/hundredrates/Chargers.csv new file mode 100644 index 000000000..c270b5867 --- /dev/null +++ b/data/tariffplans/hundredrates/Chargers.csv @@ -0,0 +1,2 @@ +#Tenant,ID,FilterIDs,ActivationInterval,RunID,AttributeIDs,Weight +cgrates.org,DEFAULT,,,*default,*none,0 \ No newline at end of file diff --git a/data/tariffplans/hundredrates/DestinationRates.csv b/data/tariffplans/hundredrates/DestinationRates.csv new file mode 100644 index 000000000..8a8cf93e0 --- /dev/null +++ b/data/tariffplans/hundredrates/DestinationRates.csv @@ -0,0 +1,101 @@ +#Id,DestinationId,RatesTag,RoundingMethod,RoundingDecimals,MaxCost,MaxCostStrategy +DR_100,DST_100,RT_100,*up,20,0, +DR_101,DST_101,RT_101,*up,20,0, +DR_102,DST_102,RT_102,*up,20,0, +DR_103,DST_103,RT_103,*up,20,0, +DR_104,DST_104,RT_104,*up,20,0, +DR_105,DST_105,RT_105,*up,20,0, +DR_106,DST_106,RT_106,*up,20,0, +DR_107,DST_107,RT_107,*up,20,0, +DR_108,DST_108,RT_108,*up,20,0, +DR_109,DST_109,RT_109,*up,20,0, +DR_110,DST_110,RT_110,*up,20,0, +DR_111,DST_111,RT_111,*up,20,0, +DR_112,DST_112,RT_112,*up,20,0, +DR_113,DST_113,RT_113,*up,20,0, +DR_114,DST_114,RT_114,*up,20,0, +DR_115,DST_115,RT_115,*up,20,0, +DR_116,DST_116,RT_116,*up,20,0, +DR_117,DST_117,RT_117,*up,20,0, +DR_118,DST_118,RT_118,*up,20,0, +DR_119,DST_119,RT_119,*up,20,0, +DR_120,DST_120,RT_120,*up,20,0, +DR_121,DST_121,RT_121,*up,20,0, +DR_122,DST_122,RT_122,*up,20,0, +DR_123,DST_123,RT_123,*up,20,0, +DR_124,DST_124,RT_124,*up,20,0, +DR_125,DST_125,RT_125,*up,20,0, +DR_126,DST_126,RT_126,*up,20,0, +DR_127,DST_127,RT_127,*up,20,0, +DR_128,DST_128,RT_128,*up,20,0, +DR_129,DST_129,RT_129,*up,20,0, +DR_130,DST_130,RT_130,*up,20,0, +DR_131,DST_131,RT_131,*up,20,0, +DR_132,DST_132,RT_132,*up,20,0, +DR_133,DST_133,RT_133,*up,20,0, +DR_134,DST_134,RT_134,*up,20,0, +DR_135,DST_135,RT_135,*up,20,0, +DR_136,DST_136,RT_136,*up,20,0, +DR_137,DST_137,RT_137,*up,20,0, +DR_138,DST_138,RT_138,*up,20,0, +DR_139,DST_139,RT_139,*up,20,0, +DR_140,DST_140,RT_140,*up,20,0, +DR_141,DST_141,RT_141,*up,20,0, +DR_142,DST_142,RT_142,*up,20,0, +DR_143,DST_143,RT_143,*up,20,0, +DR_144,DST_144,RT_144,*up,20,0, +DR_145,DST_145,RT_145,*up,20,0, +DR_146,DST_146,RT_146,*up,20,0, +DR_147,DST_147,RT_147,*up,20,0, +DR_148,DST_148,RT_148,*up,20,0, +DR_149,DST_149,RT_149,*up,20,0, +DR_150,DST_150,RT_150,*up,20,0, +DR_151,DST_151,RT_151,*up,20,0, +DR_152,DST_152,RT_152,*up,20,0, +DR_153,DST_153,RT_153,*up,20,0, +DR_154,DST_154,RT_154,*up,20,0, +DR_155,DST_155,RT_155,*up,20,0, +DR_156,DST_156,RT_156,*up,20,0, +DR_157,DST_157,RT_157,*up,20,0, +DR_158,DST_158,RT_158,*up,20,0, +DR_159,DST_159,RT_159,*up,20,0, +DR_160,DST_160,RT_160,*up,20,0, +DR_161,DST_161,RT_161,*up,20,0, +DR_162,DST_162,RT_162,*up,20,0, +DR_163,DST_163,RT_163,*up,20,0, +DR_164,DST_164,RT_164,*up,20,0, +DR_165,DST_165,RT_165,*up,20,0, +DR_166,DST_166,RT_166,*up,20,0, +DR_167,DST_167,RT_167,*up,20,0, +DR_168,DST_168,RT_168,*up,20,0, +DR_169,DST_169,RT_169,*up,20,0, +DR_170,DST_170,RT_170,*up,20,0, +DR_171,DST_171,RT_171,*up,20,0, +DR_172,DST_172,RT_172,*up,20,0, +DR_173,DST_173,RT_173,*up,20,0, +DR_174,DST_174,RT_174,*up,20,0, +DR_175,DST_175,RT_175,*up,20,0, +DR_176,DST_176,RT_176,*up,20,0, +DR_177,DST_177,RT_177,*up,20,0, +DR_178,DST_178,RT_178,*up,20,0, +DR_179,DST_179,RT_179,*up,20,0, +DR_180,DST_180,RT_180,*up,20,0, +DR_181,DST_181,RT_181,*up,20,0, +DR_182,DST_182,RT_182,*up,20,0, +DR_183,DST_183,RT_183,*up,20,0, +DR_184,DST_184,RT_184,*up,20,0, +DR_185,DST_185,RT_185,*up,20,0, +DR_186,DST_186,RT_186,*up,20,0, +DR_187,DST_187,RT_187,*up,20,0, +DR_188,DST_188,RT_188,*up,20,0, +DR_189,DST_189,RT_189,*up,20,0, +DR_190,DST_190,RT_190,*up,20,0, +DR_191,DST_191,RT_191,*up,20,0, +DR_192,DST_192,RT_192,*up,20,0, +DR_193,DST_193,RT_193,*up,20,0, +DR_194,DST_194,RT_194,*up,20,0, +DR_195,DST_195,RT_195,*up,20,0, +DR_196,DST_196,RT_196,*up,20,0, +DR_197,DST_197,RT_197,*up,20,0, +DR_198,DST_198,RT_198,*up,20,0, +DR_199,DST_199,RT_199,*up,20,0, \ No newline at end of file diff --git a/data/tariffplans/hundredrates/Destinations.csv b/data/tariffplans/hundredrates/Destinations.csv new file mode 100644 index 000000000..3f35b69bb --- /dev/null +++ b/data/tariffplans/hundredrates/Destinations.csv @@ -0,0 +1,101 @@ +#Id,Prefix +DST_100,100 +DST_101,101 +DST_102,102 +DST_103,103 +DST_104,104 +DST_105,105 +DST_106,106 +DST_107,107 +DST_108,108 +DST_109,109 +DST_110,110 +DST_111,111 +DST_112,112 +DST_113,113 +DST_114,114 +DST_115,115 +DST_116,116 +DST_117,117 +DST_118,118 +DST_119,119 +DST_120,120 +DST_121,121 +DST_122,122 +DST_123,123 +DST_124,124 +DST_125,125 +DST_126,126 +DST_127,127 +DST_128,128 +DST_129,129 +DST_130,130 +DST_131,131 +DST_132,132 +DST_133,133 +DST_134,134 +DST_135,135 +DST_136,136 +DST_137,137 +DST_138,138 +DST_139,139 +DST_140,140 +DST_141,141 +DST_142,142 +DST_143,143 +DST_144,144 +DST_145,145 +DST_146,146 +DST_147,147 +DST_148,148 +DST_149,149 +DST_150,150 +DST_151,151 +DST_152,152 +DST_153,153 +DST_154,154 +DST_155,155 +DST_156,156 +DST_157,157 +DST_158,158 +DST_159,159 +DST_160,160 +DST_161,161 +DST_162,162 +DST_163,163 +DST_164,164 +DST_165,165 +DST_166,166 +DST_167,167 +DST_168,168 +DST_169,169 +DST_170,170 +DST_171,171 +DST_172,172 +DST_173,173 +DST_174,174 +DST_175,175 +DST_176,176 +DST_177,177 +DST_178,178 +DST_179,179 +DST_180,180 +DST_181,181 +DST_182,182 +DST_183,183 +DST_184,184 +DST_185,185 +DST_186,186 +DST_187,187 +DST_188,188 +DST_189,189 +DST_190,190 +DST_191,191 +DST_192,192 +DST_193,193 +DST_194,194 +DST_195,195 +DST_196,196 +DST_197,197 +DST_198,198 +DST_199,199 diff --git a/data/tariffplans/hundredrates/RateProfiles.csv b/data/tariffplans/hundredrates/RateProfiles.csv new file mode 100644 index 000000000..5c26ca5b6 --- /dev/null +++ b/data/tariffplans/hundredrates/RateProfiles.csv @@ -0,0 +1,132 @@ +#Tenant,ID,FilterIDs,ActivationInterval,Weight,MinCost,MaxCost,MaxCostStrategy,RateID,RateFilterIDs,RateActivationStart,RateWeight,RateBlocker,RateIntervalStart,RateFixedFee,RateRecurrentFee,RateUnit,RateIncrement +cgrates.org,RP1,,,,,,,RT_100,*prefix:~*req.Destination:100,,,,0s,0.82,0.9603,60s,60s +cgrates.org,RP1,,,,,,,RT_100,,,,,60s,0,0.4801,60s,1s +cgrates.org,RP1,,,,,,,RT_101,*prefix:~*req.Destination:101,,,,0s,0.37,0.3478,60s,60s +cgrates.org,RP1,,,,,,,RT_101,,,,,60s,0,0.1739,60s,1s +cgrates.org,RP1,,,,,,,RT_102,*prefix:~*req.Destination:102,,,,0s,0.94,0.7972,60s,60s +cgrates.org,RP1,,,,,,,RT_102,,,,,60s,0,0.3986,60s,1s +cgrates.org,RP1,,,,,,,RT_103,*prefix:~*req.Destination:103,,,,0s,0.46,0.2151,60s,60s +cgrates.org,RP1,,,,,,,RT_103,,,,,60s,0,0.1076,60s,1s +cgrates.org,RP1,,,,,,,RT_104,*prefix:~*req.Destination:104,,,,0s,0.01,0.5396,60s,60s +cgrates.org,RP1,,,,,,,RT_104,,,,,60s,0,0.2698,60s,1s +cgrates.org,RP1,,,,,,,RT_105,*prefix:~*req.Destination:105,,,,0s,0.57,0.9269,60s,60s +cgrates.org,RP1,,,,,,,RT_106,*prefix:~*req.Destination:106,,,,0s,0.13,0.3689,1s,1s +cgrates.org,RP1,,,,,,,RT_107,*prefix:~*req.Destination:107,,,,0s,0.66,0.7610,60s,60s +cgrates.org,RP1,,,,,,,RT_107,,,,,60s,0,0.3805,60s,1s +cgrates.org,RP1,,,,,,,RT_108,*prefix:~*req.Destination:108,,,,0s,0.22,0.1169,60s,60s +cgrates.org,RP1,,,,,,,RT_108,,,,,60s,0,0.0585,60s,1s +cgrates.org,RP1,,,,,,,RT_109,*prefix:~*req.Destination:109,,,,0s,0.77,0.5041,60s,60s +cgrates.org,RP1,,,,,,,RT_110,*prefix:~*req.Destination:110,,,,0s,0.30,0.9540,60s,60s +cgrates.org,RP1,,,,,,,RT_111,*prefix:~*req.Destination:111,,,,0s,0.85,0.3411,1s,1s +cgrates.org,RP1,,,,,,,RT_112,*prefix:~*req.Destination:112,,,,0s,0.41,0.6961,60s,60s +cgrates.org,RP1,,,,,,,RT_112,,,,,60s,0,0.3481,60s,1s +cgrates.org,RP1,,,,,,,RT_113,*prefix:~*req.Destination:113,,,,0s,0.97,0.0835,60s,60s +cgrates.org,RP1,,,,,,,RT_114,*prefix:~*req.Destination:114,,,,0s,0.62,0.5332,1s,1s +cgrates.org,RP1,,,,,,,RT_115,*prefix:~*req.Destination:115,,,,0s,0.18,0.8658,60s,60s +cgrates.org,RP1,,,,,,,RT_116,*prefix:~*req.Destination:116,,,,0s,0.74,0.2855,60s,60s +cgrates.org,RP1,,,,,,,RT_117,*prefix:~*req.Destination:117,,,,0s,0.27,0.7347,1s,1s +cgrates.org,RP1,,,,,,,RT_118,*prefix:~*req.Destination:118,,,,0s,0.82,0.1221,1s,1s +cgrates.org,RP1,,,,,,,RT_119,*prefix:~*req.Destination:119,,,,0s,0.38,0.4470,60s,60s +cgrates.org,RP1,,,,,,,RT_120,*prefix:~*req.Destination:120,,,,0s,0.94,0.8652,60s,60s +cgrates.org,RP1,,,,,,,RT_121,*prefix:~*req.Destination:121,,,,0s,0.47,0.3142,1s,1s +cgrates.org,RP1,,,,,,,RT_122,*prefix:~*req.Destination:122,,,,0s,0.03,0.7013,1s,1s +cgrates.org,RP1,,,,,,,RT_123,*prefix:~*req.Destination:123,,,,0s,0.58,0.0262,60s,60s +cgrates.org,RP1,,,,,,,RT_123,,,,,60s,0,0.0131,60s,1s +cgrates.org,RP1,,,,,,,RT_124,*prefix:~*req.Destination:124,,,,0s,0.11,0.4445,60s,60s +cgrates.org,RP1,,,,,,,RT_124,,,,,60s,0,0.2223,60s,1s +cgrates.org,RP1,,,,,,,RT_125,*prefix:~*req.Destination:125,,,,0s,0.66,0.8838,60s,60s +cgrates.org,RP1,,,,,,,RT_126,*prefix:~*req.Destination:126,,,,0s,0.22,0.2708,1s,1s +cgrates.org,RP1,,,,,,,RT_127,*prefix:~*req.Destination:127,,,,0s,0.78,0.5953,1s,1s +cgrates.org,RP1,,,,,,,RT_128,*prefix:~*req.Destination:128,,,,0s,0.43,0.0140,1s,1s +cgrates.org,RP1,,,,,,,RT_129,*prefix:~*req.Destination:129,,,,0s,0.99,0.4636,60s,60s +cgrates.org,RP1,,,,,,,RT_130,*prefix:~*req.Destination:130,,,,0s,0.55,0.8502,1s,1s +cgrates.org,RP1,,,,,,,RT_131,*prefix:~*req.Destination:131,,,,0s,0.07,0.1749,60s,60s +cgrates.org,RP1,,,,,,,RT_132,*prefix:~*req.Destination:132,,,,0s,0.64,0.5932,60s,60s +cgrates.org,RP1,,,,,,,RT_132,,,,,60s,0,0.2966,60s,1s +cgrates.org,RP1,,,,,,,RT_133,*prefix:~*req.Destination:133,,,,0s,0.19,0.0430,60s,60s +cgrates.org,RP1,,,,,,,RT_133,,,,,60s,0,0.0215,60s,1s +cgrates.org,RP1,,,,,,,RT_134,*prefix:~*req.Destination:134,,,,0s,0.74,0.4393,60s,60s +cgrates.org,RP1,,,,,,,RT_135,*prefix:~*req.Destination:135,,,,0s,0.27,0.7635,60s,60s +cgrates.org,RP1,,,,,,,RT_136,*prefix:~*req.Destination:136,,,,0s,0.83,0.1823,1s,1s +cgrates.org,RP1,,,,,,,RT_137,*prefix:~*req.Destination:137,,,,0s,0.39,0.6319,1s,1s +cgrates.org,RP1,,,,,,,RT_138,*prefix:~*req.Destination:138,,,,0s,0.92,0.0192,60s,60s +cgrates.org,RP1,,,,,,,RT_138,,,,,60s,0,0.0096,60s,1s +cgrates.org,RP1,,,,,,,RT_139,*prefix:~*req.Destination:139,,,,0s,0.47,0.3429,60s,60s +cgrates.org,RP1,,,,,,,RT_140,*prefix:~*req.Destination:140,,,,0s,0.03,0.7614,60s,60s +cgrates.org,RP1,,,,,,,RT_141,*prefix:~*req.Destination:141,,,,0s,0.59,0.2112,60s,60s +cgrates.org,RP1,,,,,,,RT_142,*prefix:~*req.Destination:142,,,,0s,0.24,0.5984,1s,1s +cgrates.org,RP1,,,,,,,RT_143,*prefix:~*req.Destination:143,,,,0s,0.80,0.9283,60s,60s +cgrates.org,RP1,,,,,,,RT_143,,,,,60s,0,0.4642,60s,1s +cgrates.org,RP1,,,,,,,RT_144,*prefix:~*req.Destination:144,,,,0s,0.35,0.3075,60s,60s +cgrates.org,RP1,,,,,,,RT_145,*prefix:~*req.Destination:145,,,,0s,0.88,0.7885,60s,60s +cgrates.org,RP1,,,,,,,RT_145,,,,,60s,0,0.3942,60s,1s +cgrates.org,RP1,,,,,,,RT_146,*prefix:~*req.Destination:146,,,,0s,0.44,0.1760,60s,60s +cgrates.org,RP1,,,,,,,RT_147,*prefix:~*req.Destination:147,,,,0s,0.00,0.5002,60s,60s +cgrates.org,RP1,,,,,,,RT_147,,,,,60s,0,0.2501,60s,1s +cgrates.org,RP1,,,,,,,RT_148,*prefix:~*req.Destination:148,,,,0s,0.55,0.8867,60s,60s +cgrates.org,RP1,,,,,,,RT_148,,,,,60s,0,0.4434,60s,1s +cgrates.org,RP1,,,,,,,RT_149,*prefix:~*req.Destination:149,,,,0s,0.08,0.3675,60s,60s +cgrates.org,RP1,,,,,,,RT_149,,,,,60s,0,0.1837,60s,1s +cgrates.org,RP1,,,,,,,RT_150,*prefix:~*req.Destination:150,,,,0s,0.63,0.7551,60s,60s +cgrates.org,RP1,,,,,,,RT_151,*prefix:~*req.Destination:151,,,,0s,0.19,0.0796,1s,1s +cgrates.org,RP1,,,,,,,RT_152,*prefix:~*req.Destination:152,,,,0s,0.75,0.4678,1s,1s +cgrates.org,RP1,,,,,,,RT_153,*prefix:~*req.Destination:153,,,,0s,0.28,0.9489,60s,60s +cgrates.org,RP1,,,,,,,RT_154,*prefix:~*req.Destination:154,,,,0s,0.84,0.2815,60s,60s +cgrates.org,RP1,,,,,,,RT_155,*prefix:~*req.Destination:155,,,,0s,0.40,0.6686,1s,1s +cgrates.org,RP1,,,,,,,RT_156,*prefix:~*req.Destination:156,,,,0s,0.05,0.1175,1s,1s +cgrates.org,RP1,,,,,,,RT_157,*prefix:~*req.Destination:157,,,,0s,0.61,0.5358,1s,1s +cgrates.org,RP1,,,,,,,RT_158,*prefix:~*req.Destination:158,,,,0s,0.16,0.8607,60s,60s +cgrates.org,RP1,,,,,,,RT_158,,,,,60s,0,0.4303,60s,1s +cgrates.org,RP1,,,,,,,RT_159,*prefix:~*req.Destination:159,,,,0s,0.72,0.2478,60s,60s +cgrates.org,RP1,,,,,,,RT_160,*prefix:~*req.Destination:160,,,,0s,0.25,0.6975,60s,60s +cgrates.org,RP1,,,,,,,RT_161,*prefix:~*req.Destination:161,,,,0s,0.80,0.1133,60s,60s +cgrates.org,RP1,,,,,,,RT_162,*prefix:~*req.Destination:162,,,,0s,0.36,0.4376,60s,60s +cgrates.org,RP1,,,,,,,RT_163,*prefix:~*req.Destination:163,,,,0s,0.89,0.8174,60s,60s +cgrates.org,RP1,,,,,,,RT_163,,,,,60s,0,0.4087,60s,1s +cgrates.org,RP1,,,,,,,RT_164,*prefix:~*req.Destination:164,,,,0s,0.44,0.2670,60s,60s +cgrates.org,RP1,,,,,,,RT_164,,,,,60s,0,0.1335,60s,1s +cgrates.org,RP1,,,,,,,RT_165,*prefix:~*req.Destination:165,,,,0s,0.00,0.6847,1s,1s +cgrates.org,RP1,,,,,,,RT_166,*prefix:~*req.Destination:166,,,,0s,0.56,0.0094,1s,1s +cgrates.org,RP1,,,,,,,RT_167,*prefix:~*req.Destination:167,,,,0s,0.08,0.3963,60s,60s +cgrates.org,RP1,,,,,,,RT_167,,,,,60s,0,0.1982,60s,1s +cgrates.org,RP1,,,,,,,RT_168,*prefix:~*req.Destination:168,,,,0s,0.65,0.8463,1s,1s +cgrates.org,RP1,,,,,,,RT_169,*prefix:~*req.Destination:169,,,,0s,0.21,0.2648,1s,1s +cgrates.org,RP1,,,,,,,RT_170,*prefix:~*req.Destination:170,,,,0s,0.86,0.5905,60s,60s +cgrates.org,RP1,,,,,,,RT_171,*prefix:~*req.Destination:171,,,,0s,0.42,0.9778,60s,60s +cgrates.org,RP1,,,,,,,RT_171,,,,,60s,0,0.4889,60s,1s +cgrates.org,RP1,,,,,,,RT_172,*prefix:~*req.Destination:172,,,,0s,0.97,0.4273,60s,60s +cgrates.org,RP1,,,,,,,RT_173,*prefix:~*req.Destination:173,,,,0s,0.53,0.8537,60s,60s +cgrates.org,RP1,,,,,,,RT_173,,,,,60s,0,0.4269,60s,1s +cgrates.org,RP1,,,,,,,RT_174,*prefix:~*req.Destination:174,,,,0s,0.06,0.1779,60s,60s +cgrates.org,RP1,,,,,,,RT_175,*prefix:~*req.Destination:175,,,,0s,0.61,0.5646,1s,1s +cgrates.org,RP1,,,,,,,RT_176,*prefix:~*req.Destination:176,,,,0s,0.17,0.0144,1s,1s +cgrates.org,RP1,,,,,,,RT_177,*prefix:~*req.Destination:177,,,,0s,0.70,0.4329,60s,60s +cgrates.org,RP1,,,,,,,RT_178,*prefix:~*req.Destination:178,,,,0s,0.25,0.7576,60s,60s +cgrates.org,RP1,,,,,,,RT_178,,,,,60s,0,0.3788,60s,1s +cgrates.org,RP1,,,,,,,RT_179,*prefix:~*req.Destination:179,,,,0s,0.81,0.1499,1s,1s +cgrates.org,RP1,,,,,,,RT_180,*prefix:~*req.Destination:180,,,,0s,0.37,0.5996,1s,1s +cgrates.org,RP1,,,,,,,RT_181,*prefix:~*req.Destination:181,,,,0s,0.89,0.9870,60s,60s +cgrates.org,RP1,,,,,,,RT_181,,,,,60s,0,0.4935,60s,1s +cgrates.org,RP1,,,,,,,RT_182,*prefix:~*req.Destination:182,,,,0s,0.45,0.3348,60s,60s +cgrates.org,RP1,,,,,,,RT_182,,,,,60s,0,0.1674,60s,1s +cgrates.org,RP1,,,,,,,RT_183,*prefix:~*req.Destination:183,,,,0s,0.02,0.7215,60s,60s +cgrates.org,RP1,,,,,,,RT_184,*prefix:~*req.Destination:184,,,,0s,0.66,0.1708,60s,60s +cgrates.org,RP1,,,,,,,RT_185,*prefix:~*req.Destination:185,,,,0s,0.23,0.5584,60s,60s +cgrates.org,RP1,,,,,,,RT_185,,,,,60s,0,0.2792,60s,1s +cgrates.org,RP1,,,,,,,RT_186,*prefix:~*req.Destination:186,,,,0s,0.78,0.9143,60s,60s +cgrates.org,RP1,,,,,,,RT_187,*prefix:~*req.Destination:187,,,,0s,0.33,0.3012,1s,1s +cgrates.org,RP1,,,,,,,RT_188,*prefix:~*req.Destination:188,,,,0s,0.86,0.7522,1s,1s +cgrates.org,RP1,,,,,,,RT_189,*prefix:~*req.Destination:189,,,,0s,0.42,0.1394,1s,1s +cgrates.org,RP1,,,,,,,RT_190,*prefix:~*req.Destination:190,,,,0s,0.97,0.4955,1s,1s +cgrates.org,RP1,,,,,,,RT_191,*prefix:~*req.Destination:191,,,,0s,0.51,0.8824,60s,60s +cgrates.org,RP1,,,,,,,RT_191,,,,,60s,0,0.4412,60s,1s +cgrates.org,RP1,,,,,,,RT_192,*prefix:~*req.Destination:192,,,,0s,0.06,0.3393,60s,60s +cgrates.org,RP1,,,,,,,RT_193,*prefix:~*req.Destination:193,,,,0s,0.62,0.6639,1s,1s +cgrates.org,RP1,,,,,,,RT_194,*prefix:~*req.Destination:194,,,,0s,0.18,0.0824,1s,1s +cgrates.org,RP1,,,,,,,RT_195,*prefix:~*req.Destination:195,,,,0s,0.70,0.5322,60s,60s +cgrates.org,RP1,,,,,,,RT_196,*prefix:~*req.Destination:196,,,,0s,0.26,0.9193,60s,60s +cgrates.org,RP1,,,,,,,RT_196,,,,,60s,0,0.4597,60s,1s +cgrates.org,RP1,,,,,,,RT_197,*prefix:~*req.Destination:197,,,,0s,0.82,0.2411,1s,1s +cgrates.org,RP1,,,,,,,RT_198,*prefix:~*req.Destination:198,,,,0s,0.47,0.6596,60s,60s +cgrates.org,RP1,,,,,,,RT_198,,,,,60s,0,0.3298,60s,1s +cgrates.org,RP1,,,,,,,RT_199,*prefix:~*req.Destination:199,,,,0s,0.03,0.1095,60s,60s \ No newline at end of file diff --git a/data/tariffplans/hundredrates/Rates.csv b/data/tariffplans/hundredrates/Rates.csv new file mode 100644 index 000000000..0a0774d86 --- /dev/null +++ b/data/tariffplans/hundredrates/Rates.csv @@ -0,0 +1,132 @@ +#Id,ConnectFee,Rate,RateUnit,RateIncrement,GroupIntervalStart +RT_100,0.82,0.9603,60s,60s,0s +RT_100,0,0.4801,60s,1s,60s +RT_101,0.37,0.3478,60s,60s,0s +RT_101,0,0.1739,60s,1s,60s +RT_102,0.94,0.7972,60s,60s,0s +RT_102,0,0.3986,60s,1s,60s +RT_103,0.46,0.2151,60s,60s,0s +RT_103,0,0.1076,60s,1s,60s +RT_104,0.01,0.5396,60s,60s,0s +RT_104,0,0.2698,60s,1s,60s +RT_105,0.57,0.9269,60s,60s,0s +RT_106,0.13,0.3689,1s,1s,0s +RT_107,0.66,0.7610,60s,60s,0s +RT_107,0,0.3805,60s,1s,60s +RT_108,0.22,0.1169,60s,60s,0s +RT_108,0,0.0585,60s,1s,60s +RT_109,0.77,0.5041,60s,60s,0s +RT_110,0.30,0.9540,60s,60s,0s +RT_111,0.85,0.3411,1s,1s,0s +RT_112,0.41,0.6961,60s,60s,0s +RT_112,0,0.3481,60s,1s,60s +RT_113,0.97,0.0835,60s,60s,0s +RT_114,0.62,0.5332,1s,1s,0s +RT_115,0.18,0.8658,60s,60s,0s +RT_116,0.74,0.2855,60s,60s,0s +RT_117,0.27,0.7347,1s,1s,0s +RT_118,0.82,0.1221,1s,1s,0s +RT_119,0.38,0.4470,60s,60s,0s +RT_120,0.94,0.8652,60s,60s,0s +RT_121,0.47,0.3142,1s,1s,0s +RT_122,0.03,0.7013,1s,1s,0s +RT_123,0.58,0.0262,60s,60s,0s +RT_123,0,0.0131,60s,1s,60s +RT_124,0.11,0.4445,60s,60s,0s +RT_124,0,0.2223,60s,1s,60s +RT_125,0.66,0.8838,60s,60s,0s +RT_126,0.22,0.2708,1s,1s,0s +RT_127,0.78,0.5953,1s,1s,0s +RT_128,0.43,0.0140,1s,1s,0s +RT_129,0.99,0.4636,60s,60s,0s +RT_130,0.55,0.8502,1s,1s,0s +RT_131,0.07,0.1749,60s,60s,0s +RT_132,0.64,0.5932,60s,60s,0s +RT_132,0,0.2966,60s,1s,60s +RT_133,0.19,0.0430,60s,60s,0s +RT_133,0,0.0215,60s,1s,60s +RT_134,0.74,0.4393,60s,60s,0s +RT_135,0.27,0.7635,60s,60s,0s +RT_136,0.83,0.1823,1s,1s,0s +RT_137,0.39,0.6319,1s,1s,0s +RT_138,0.92,0.0192,60s,60s,0s +RT_138,0,0.0096,60s,1s,60s +RT_139,0.47,0.3429,60s,60s,0s +RT_140,0.03,0.7614,60s,60s,0s +RT_141,0.59,0.2112,60s,60s,0s +RT_142,0.24,0.5984,1s,1s,0s +RT_143,0.80,0.9283,60s,60s,0s +RT_143,0,0.4642,60s,1s,60s +RT_144,0.35,0.3075,60s,60s,0s +RT_145,0.88,0.7885,60s,60s,0s +RT_145,0,0.3942,60s,1s,60s +RT_146,0.44,0.1760,60s,60s,0s +RT_147,0.00,0.5002,60s,60s,0s +RT_147,0,0.2501,60s,1s,60s +RT_148,0.55,0.8867,60s,60s,0s +RT_148,0,0.4434,60s,1s,60s +RT_149,0.08,0.3675,60s,60s,0s +RT_149,0,0.1837,60s,1s,60s +RT_150,0.63,0.7551,60s,60s,0s +RT_151,0.19,0.0796,1s,1s,0s +RT_152,0.75,0.4678,1s,1s,0s +RT_153,0.28,0.9489,60s,60s,0s +RT_154,0.84,0.2815,60s,60s,0s +RT_155,0.40,0.6686,1s,1s,0s +RT_156,0.05,0.1175,1s,1s,0s +RT_157,0.61,0.5358,1s,1s,0s +RT_158,0.16,0.8607,60s,60s,0s +RT_158,0,0.4303,60s,1s,60s +RT_159,0.72,0.2478,60s,60s,0s +RT_160,0.25,0.6975,60s,60s,0s +RT_161,0.80,0.1133,60s,60s,0s +RT_162,0.36,0.4376,60s,60s,0s +RT_163,0.89,0.8174,60s,60s,0s +RT_163,0,0.4087,60s,1s,60s +RT_164,0.44,0.2670,60s,60s,0s +RT_164,0,0.1335,60s,1s,60s +RT_165,0.00,0.6847,1s,1s,0s +RT_166,0.56,0.0094,1s,1s,0s +RT_167,0.08,0.3963,60s,60s,0s +RT_167,0,0.1982,60s,1s,60s +RT_168,0.65,0.8463,1s,1s,0s +RT_169,0.21,0.2648,1s,1s,0s +RT_170,0.86,0.5905,60s,60s,0s +RT_171,0.42,0.9778,60s,60s,0s +RT_171,0,0.4889,60s,1s,60s +RT_172,0.97,0.4273,60s,60s,0s +RT_173,0.53,0.8537,60s,60s,0s +RT_173,0,0.4269,60s,1s,60s +RT_174,0.06,0.1779,60s,60s,0s +RT_175,0.61,0.5646,1s,1s,0s +RT_176,0.17,0.0144,1s,1s,0s +RT_177,0.70,0.4329,60s,60s,0s +RT_178,0.25,0.7576,60s,60s,0s +RT_178,0,0.3788,60s,1s,60s +RT_179,0.81,0.1499,1s,1s,0s +RT_180,0.37,0.5996,1s,1s,0s +RT_181,0.89,0.9870,60s,60s,0s +RT_181,0,0.4935,60s,1s,60s +RT_182,0.45,0.3348,60s,60s,0s +RT_182,0,0.1674,60s,1s,60s +RT_183,0.02,0.7215,60s,60s,0s +RT_184,0.66,0.1708,60s,60s,0s +RT_185,0.23,0.5584,60s,60s,0s +RT_185,0,0.2792,60s,1s,60s +RT_186,0.78,0.9143,60s,60s,0s +RT_187,0.33,0.3012,1s,1s,0s +RT_188,0.86,0.7522,1s,1s,0s +RT_189,0.42,0.1394,1s,1s,0s +RT_190,0.97,0.4955,1s,1s,0s +RT_191,0.51,0.8824,60s,60s,0s +RT_191,0,0.4412,60s,1s,60s +RT_192,0.06,0.3393,60s,60s,0s +RT_193,0.62,0.6639,1s,1s,0s +RT_194,0.18,0.0824,1s,1s,0s +RT_195,0.70,0.5322,60s,60s,0s +RT_196,0.26,0.9193,60s,60s,0s +RT_196,0,0.4597,60s,1s,60s +RT_197,0.82,0.2411,1s,1s,0s +RT_198,0.47,0.6596,60s,60s,0s +RT_198,0,0.3298,60s,1s,60s +RT_199,0.03,0.1095,60s,60s,0s diff --git a/data/tariffplans/hundredrates/RatingPlans.csv b/data/tariffplans/hundredrates/RatingPlans.csv new file mode 100644 index 000000000..eee8fad6d --- /dev/null +++ b/data/tariffplans/hundredrates/RatingPlans.csv @@ -0,0 +1,102 @@ +#Id,DestinationRatesId,TimingTag,Weight +RP_ANY,DR_100,*any,10 +RP_ANY,DR_101,*any,10 +RP_ANY,DR_102,*any,10 +RP_ANY,DR_103,*any,10 +RP_ANY,DR_104,*any,10 +RP_ANY,DR_105,*any,10 +RP_ANY,DR_106,*any,10 +RP_ANY,DR_107,*any,10 +RP_ANY,DR_108,*any,10 +RP_ANY,DR_109,*any,10 +RP_ANY,DR_110,*any,10 +RP_ANY,DR_111,*any,10 +RP_ANY,DR_112,*any,10 +RP_ANY,DR_113,*any,10 +RP_ANY,DR_114,*any,10 +RP_ANY,DR_115,*any,10 +RP_ANY,DR_116,*any,10 +RP_ANY,DR_117,*any,10 +RP_ANY,DR_118,*any,10 +RP_ANY,DR_119,*any,10 +RP_ANY,DR_120,*any,10 +RP_ANY,DR_121,*any,10 +RP_ANY,DR_122,*any,10 +RP_ANY,DR_123,*any,10 +RP_ANY,DR_124,*any,10 +RP_ANY,DR_125,*any,10 +RP_ANY,DR_126,*any,10 +RP_ANY,DR_127,*any,10 +RP_ANY,DR_128,*any,10 +RP_ANY,DR_129,*any,10 +RP_ANY,DR_130,*any,10 +RP_ANY,DR_131,*any,10 +RP_ANY,DR_132,*any,10 +RP_ANY,DR_133,*any,10 +RP_ANY,DR_134,*any,10 +RP_ANY,DR_135,*any,10 +RP_ANY,DR_136,*any,10 +RP_ANY,DR_137,*any,10 +RP_ANY,DR_138,*any,10 +RP_ANY,DR_139,*any,10 +RP_ANY,DR_140,*any,10 +RP_ANY,DR_141,*any,10 +RP_ANY,DR_142,*any,10 +RP_ANY,DR_143,*any,10 +RP_ANY,DR_144,*any,10 +RP_ANY,DR_145,*any,10 +RP_ANY,DR_146,*any,10 +RP_ANY,DR_147,*any,10 +RP_ANY,DR_148,*any,10 +RP_ANY,DR_149,*any,10 +RP_ANY,DR_150,*any,10 +RP_ANY,DR_151,*any,10 +RP_ANY,DR_152,*any,10 +RP_ANY,DR_153,*any,10 +RP_ANY,DR_154,*any,10 +RP_ANY,DR_155,*any,10 +RP_ANY,DR_156,*any,10 +RP_ANY,DR_157,*any,10 +RP_ANY,DR_158,*any,10 +RP_ANY,DR_159,*any,10 +RP_ANY,DR_160,*any,10 +RP_ANY,DR_161,*any,10 +RP_ANY,DR_162,*any,10 +RP_ANY,DR_163,*any,10 +RP_ANY,DR_164,*any,10 +RP_ANY,DR_165,*any,10 +RP_ANY,DR_166,*any,10 +RP_ANY,DR_167,*any,10 +RP_ANY,DR_168,*any,10 +RP_ANY,DR_169,*any,10 +RP_ANY,DR_170,*any,10 +RP_ANY,DR_171,*any,10 +RP_ANY,DR_172,*any,10 +RP_ANY,DR_173,*any,10 +RP_ANY,DR_174,*any,10 +RP_ANY,DR_175,*any,10 +RP_ANY,DR_176,*any,10 +RP_ANY,DR_177,*any,10 +RP_ANY,DR_178,*any,10 +RP_ANY,DR_179,*any,10 +RP_ANY,DR_180,*any,10 +RP_ANY,DR_181,*any,10 +RP_ANY,DR_182,*any,10 +RP_ANY,DR_183,*any,10 +RP_ANY,DR_184,*any,10 +RP_ANY,DR_185,*any,10 +RP_ANY,DR_186,*any,10 +RP_ANY,DR_187,*any,10 +RP_ANY,DR_188,*any,10 +RP_ANY,DR_189,*any,10 +RP_ANY,DR_190,*any,10 +RP_ANY,DR_191,*any,10 +RP_ANY,DR_192,*any,10 +RP_ANY,DR_193,*any,10 +RP_ANY,DR_194,*any,10 +RP_ANY,DR_195,*any,10 +RP_ANY,DR_196,*any,10 +RP_ANY,DR_197,*any,10 +RP_ANY,DR_198,*any,10 +RP_ANY,DR_199,*any,10 + diff --git a/data/tariffplans/hundredrates/RatingProfiles.csv b/data/tariffplans/hundredrates/RatingProfiles.csv new file mode 100644 index 000000000..924509fd8 --- /dev/null +++ b/data/tariffplans/hundredrates/RatingProfiles.csv @@ -0,0 +1,3 @@ +#Tenant,Category,Subject,ActivationTime,RatingPlanId,RatesFallbackSubject +cgrates.org,call,*any,2014-01-14T00:00:00Z,RP_ANY, +