Giter Club home page Giter Club logo

rating-integration's Introduction

Canyan Rating

Canyan Rating is an open source real-time highly scalable rating system. It is composed of an Agent Service, an API, and a Rating Engine.

The rating system is a critical component in any business, especially when real-time features are a strict requirement to ensure business continuity and congruence of transactions. Any compromise to availability, integrity, and authentication in the billing system makes a huge impact on the services provided.

Canyan aims to address these challenges with a cloud-native scalable solution, easily deployable and easily usable. It has been designed to work atomically ensuring the system status is always consistent, reproducible and coherent. Asynchronous processing of no real-time, consolidation events, prioritization, and time-boxed tasks provide the basics to ensure lightning-fast transaction processing without compromises.

Ease of use is addressed with comprehensive documentation, examples and high-quality software (see the test coverage badges).

Canyan Rating is designed as a microservice architecture and comprises several repositories. Its components are stateless and easily deployable via containers on-premises or in the cloud.

This repository contains the Canyan Rating Integration documentation, tests and lab.

Canyan logo

Components

Canyan Rating is designed as a microservice architecture and comprises several repositories. Its components are stateless, highly scalable and easily deployable via containers on-premises or in the cloud.

Agent

Build Status codecov Docker pulls

The Agent component is a bidirectional component that interfaces with external systems that needs to rate it's traffic and services. It is written in Python programming language, documented and highly covered with tests (see badges above).

HEP Agent

Build Status codecov Docker pulls

This Agent component uses the HEP/EEP Encapsulation Protocol for packet capture and mirroring of RTC solutions which allows for a transparent and unobtrusive rating solution. It is written in Go programming language, documented and highly covered with tests (see badges above).

API

Build Status codecov Docker pulls

The API is the interface towards the database, it is scalable and used by the internal and external components. It is written in Python programming language, fully asynchronous and very fast. It is documented and highly covered with tests (see badges above).

Engine

Build Status codecov Docker pulls

The heavy lifting and real time calculation is done by the Rating Engine component which is stateless and highly scalable. It is written in Python programming language, documented and covered with tests (see badges above).

Getting started

To start using Canyan Rating, we recommend that you begin with the Getting started section in the Canyan Rating documentation.

Running

This repository contains several docker-compose files with the Canyan Rating and its dependencies (MongoDB and RabbitMQ) alongside with a Kamailio, OpenSIPS, Carrier (SIPP container) and the CanyanTester tool.

It is used for integration examples with major open-source SIP routing software.

You can easily run everything via the provided docker-compose file with:

$ make docker-start

If you're not familiar with docker-compose read the documentation on the official docker website.

You can also install and run every single component as separate service but it's outside of the scope of this lab and the examples provided.

For "transparent" integration with your services, you can use the HEP protocol with the Canyan Rating HEP Agent. The HEP Agent repository contains examples and tests for integrating Canyan Rating via HEP/EEP protocol so refer to the Canyan Rating documentation for that use case.

Contributing

We welcome and ask for your contribution. If you would like to contribute to Canyan Rating, please read our guide on how to best get started contributing code or documentation.

License

Canyan is licensed under the GNU General Public License version 3. See LICENSE for the full license text.

Security disclosure

We take Canyan's security and our users trust very seriously. If you believe you have found a security issue in Canyan, please responsibly disclose by contacting us at [email protected].

Connect with us

rating-integration's People

Contributors

alexsosic avatar tranchitella avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.