We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Build your own Real Time Billing using CGRateS

00:00

Formal Metadata

Title
Build your own Real Time Billing using CGRateS
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
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Billing system is a key component of every business and having your own, brings numerous advantages in front of competition. In this talk Dan will present a complete set of APIs exposed by CGRateS for building a real-time billing system with both prepaid and postpaid capabilities. CGRateS is a battle-tested Enterprise Billing Suite and Routing System with support for various prepaid and postpaid billing modes.
14
15
43
87
Thumbnail
26:29
146
Thumbnail
18:05
199
207
Thumbnail
22:17
264
278
Thumbnail
30:52
293
Thumbnail
15:53
341
Thumbnail
31:01
354
359
410
Projective plane
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)
AerodynamicsInformationPanel painting
Server (computing)Centralizer and normalizerINTEGRALPoint (geometry)Engineering drawingDiagram
CASE <Informatik>Bit rateFile formatPanel painting
Event horizonDiameterReal-time operating systemOpen sourceMaxima and minimaMultiplication signBuildingSoftwareReal numberInformationComputer animation
Gamma functionAuthorizationWorld Wide Web ConsortiumEvent horizonSoftware2 (number)InformationMaxima and minimaNumberField (computer science)Radical (chemistry)Sampling (statistics)
Program flowchart
Transcript: English(auto-generated)
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.
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
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
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
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
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
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
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.
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.
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.
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?
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.
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,
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,
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
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
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
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
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
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,
same story, all API driven. So this was fast. Thank you.