VoIP Messaging Application with Analytics Solution

Understanding Voice over Internet Protocol

 

Cloud VoIP Application has revolutionized the IT world involving Audio and Video interactions to connect people by tracking their locations like Skype, Whatsapp, Google Hangouts.

 

Features of Cloud VoIP Application

 

  • Instant Messaging
  • Online Meetings
  • Call Monitoring, Recording, and Transfer
  • Remote Support
  • Text-to-Speech
  • Voice Mails and Do Not Disturb

 

Challenge for Building Real-Time Analytics Platform

 

  • Video Calling and Chat application to Support users. Free Calling Application for any mobile platform like iOS, Android to any phone number and Support call all around the globe.
  • Analytics platform to monitor the load, performance, and other metrics of Asterisk Server (Cloud-Based Calling), Chat server.
  • Real-Time Tracking of users activity

 

Solution Offerings for Analytics Platform

 

Build a high performance and scalable solution using NoSQL and Big Data.

 

    • Basic Solution Architecture

 

Involves Hardware from OVH dedicated server, virtualization using VMware Bare Metal and services on VMware Virtual Machines.

 

    • Basic Environment Production Setup

 

All server/nodes running on each separate Vmware virtual machine.

 

    • Firewall Security

 

Pfsense firewall acts as a security parameter for all outbound and inbound connections.

 

    • Load Balancing with Haproxy

 

Haproxy as a load balancer for all servers to run backend servers smooth for all situations even under high load/traffic.

 

    • Setting Up Backend Server Using Nginx with Node.js API

 

Node.js employed as a server-side proxy to handle a large number of simultaneous connections in a non-blocking manner.

 

    • Database Server Couchbase and Mysql

 

Couchbase is an open-source, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications.

 

    • Backend PHP Server Management Using Nginx with PHP

 

Multiple PHP servers to provide High Availability.

 

    • Monitoring Services with Zabbix

 

Zabbix is open source and used for Enterprise-Scale monitoring of all like Firewall, VM.

 

    • Understanding Mail Server

 

An internal mail cluster with more than two nodes for high availability for the mail server.

 

Enabling Monitoring Platforms

 

  • Asterisk Server Log
  • Chat Server
  • User Events for the Mobile Application on Android and IOS

 

Different Steps involved to build Real-Time Analytics

 

  • Deploying Agents
  • Data Ingestion Process
  • Data Processing – Apache Spark Streaming
  • Data Persistence – Cassandra
  • Rest API – Play Framework, Actor Model in Scala Language
  • Deploying Agents
  • Data Ingestion Process
  • Data Processing – Apache Spark Streaming
  • Data Persistence – Cassandra
  • Rest API – Play Framework, Actor Model in Scala Language
Read more