Build your own Real Time Billing using CGRateS
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 542 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/61702 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2023526 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
Projective plane
00:06
Repository (publishing)World Wide Web ConsortiumQuiltMaxima and minimaInclusion mapEnterprise architectureReal numberArchitectureRepository (publishing)Computer architectureMultilaterationSource codeOpen sourceSlide ruleSoftwareModul <Datentyp>Real-time operating systemBuildingEnterprise architectureInformationOffice suiteTelecommunicationService (economics)
02:32
AerodynamicsInformationPanel painting
02:40
Server (computing)Centralizer and normalizerINTEGRALPoint (geometry)Engineering drawingDiagram
03:43
CASE <Informatik>Bit rateFile formatPanel painting
04:12
Event horizonDiameterReal-time operating systemOpen sourceMaxima and minimaMultiplication signBuildingSoftwareReal numberInformationComputer animation
05:54
Gamma functionAuthorizationWorld Wide Web ConsortiumEvent horizonSoftware2 (number)InformationMaxima and minimaNumberField (computer science)Radical (chemistry)Sampling (statistics)
06:58
Program flowchart
Transcript: English(auto-generated)
00:05
Okay, so hello everyone. My name is Dan. I'm from CGRace project. Thank you for showing up. I will be pretty fast. So the rest, if you have any questions later, please. And if you don't understand something, the slides will be available later. So I'll do just digestive slides.
00:24
Whatever. So the company itself sitting behind the project, we are located in Germany and with some back offices in Romania and Albania. We did both wholesale as well as real-time
00:42
retail business, sorry. So we understand by now what means a system outage. CGRace, it's a real-time enterprise building suite. It's pluggable into existing, it's designed to be pluggable into existing infrastructures. You can accommodate easily new services and new ideas. So it's not only for
01:05
telecommunication build. You can extend it like the new industries, IOT, electricity. We are going towards energy as well. So you can build anything you like. If you want to sell cars, you can just
01:21
do it. And it should be non-intrusive into existing setups. So it should not make you change the way you are doing things. We are sharing information with your switch, your router, whatever infrastructure you are using over there. It's all open source software. It was
01:42
born actually in 2010 and we published first sources in 2012. The sources are available on GitHub. It's all 100% written in Go, one of the the early adopters of Go and we have nothing in private repositories. Of course, we appreciate
02:05
community. It's performance oriented, three branches, all three supported. Our customers, they tend to be like all telecommunication, a bit conservative with upgrading. So
02:22
test-driven development, again, very sensitive to billing and data and modular architecture. It's quite feature-rich. You can find all this information in internet, so I don't have to market it to you.
02:41
This slide, it's complex a bit, but I wanted to show you because it relates to the subject of my talk, how to integrate with your existing infrastructure. So on the left side here, you see quite a number of agents, which we support. These mostly are developed by us. There are also other agents like OpenSIPs module, which is built in their software.
03:07
You can build very easily and replace any of our agents. So what you will do in the end, you will send your API calls, because CGRace is all about APIs. You will send directly to our session module, which you can also see it as central point of entry.
03:25
After that, you will reach other modules of ours or subsystems, although they are also standalone API server on their own, but you will be using them through our sessions where we implement easier integration for your stuff. So how do you do that?
03:47
First, you have to load the data. This is data specific, so you have to follow our format into loading your rating, your accounting data in case of doing prepaid and postpaid.
04:02
We have also some extra subsystems data, but you will be mostly focusing on rating and accounting. After you are done with building your data, then you have to understand how we support sessions. So you can choose all of these steps or only one, which is the last one and the most important session,
04:26
CDR. So you can do building in real time via sending us various messages, various APIs, or you can directly send us the end CDR for building it. So for example, session authorization, you have the opportunity to extract from the billing engine,
04:47
maximum session duration, resource authorization, various session properties, even password. You can retrieve it from the engine side and you can also do session routing because we also
05:03
support LCR on our side. Then session starts when your session starts. So you tell us start billing in real time or start debiting in increments. You can choose the way, for example, the mobile networks they are doing, they are using session updates via diameter. So you can
05:23
implement your own triggers for incremental debits or you can do like we are doing with open source software we support like FreeSwitch, Kamaelio, OpenSips. Send us session start and session stop and we will do the magic behind. And then there will
05:45
be the session CDR, which can be standalone or can correct the session information from real time. So both will work. And these are some examples of APIs. So if you want to implement in your own application, like your own switching software or your own, I don't know, WebRTC
06:07
application, all you have to do is send us this JSON RPC blobs and we reply you. For example, this one is replying with the, we, by the way, use nanoseconds. You can also get back seconds if you want, but we want to be very verbose. So this one will just retrieve the
06:25
maximum usage of a session and the same with initiation. Same you send us the information in your events. This is fully configurable, flexible. So you can add any number of fields inside. Same session update and terminate. And in the end, the CDR sample and blob,
06:48
same story, all API driven. So this was fast. Thank you.