Canyan Rating

Canyan Rating is an open source real-time highly scalable rating system.

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 regarding the rating 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 badge).

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 need to rate its 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).

Janus Agent

Build Status codecov Go Report Card Docker pulls

The Janus Agent can process events from Janus: the famous general purpose WebRTC server enabling the rating of WebRTC sessions. 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 calculations are 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).

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 security@canyan.io.

Connect with us