Thursday, October 8, 2015

A2Billing + OpenSips cluster (calling card, etc)



I would like to introduce a calling card platform which I recently built. It can be changed if required. There is a possibility to add clusterization software like Corosync/Pacemaker and add more nodes.


This is a schema (can be changed upon request):







There is the list of used technologies:

  • Centos as OS
  • MySql as database server
  • OpenSips as SIP balancer / Proxy / NAT resolver
  • MediaProxy as media proxy for registered SIP users
  • Asterisk as PBX for applications
  • A2Billing as Calling Card / Billing application (it is customized by me, checkout here https://github.com/openvoipco/a2billing/tree/develop)
  • Cacti as monitoring system
  • Some additional scripts for syncing


Some goals:

  • Authenticate dynamic SIP users on both OpenSips servres with using A2Billing authentication information
  • Authenticate static SIP gateways on both OpenSips servers with using A2Billing gateway information
  • Allow user to user free dialing on OpenSips cluster (between nodes as well)
  • Allow Calling Card dialing from Access numbers
  • Allow Gateway to Gateway dialing in full proxy mode (topology hiding)
  • Allow transparent authentication (Any endpoint is being authenticated only once at OpenSips, then it sends information to an A2Billing node for further processing)
  • Master-Master node replication
  • SIP balancing beetween 2 nodes + node heartbeat


Principals:
This schema is specially built for 2 nodes. Both nodes are Active all time. Users can use any SIP phone to register their accounts at the system. Users can dial directly from SIP phone to each other or to the World numbers. Also, this system serves carrier to carrier calls. The core of the system is A2Billing (customized version, see above).



This is the load balancing settings for OpenSips:






P.S. This is just summary description of the solution, if interested - please, let me know

No comments:

Post a Comment