How Atlogys is building Fast & Secure VOIP Apps

Posted by

A VoIP app (Voice over Internet Protocol) lets the user make and receive phone calls using an Internet connection instead of the device’s cellular service. Because a VoIP app relies heavily on the network, it’s no surprise that making calls results in high energy and battery use. When not in active use, however, a VoIP app should be completely idle to conserve energy.

VOIP (Voice/Video) apps are everywhere and almost everyone is using them whether knowingly or unknowingly. Their presence is huge & so is their acceptability amongst people. They are becoming a trend-setter for Businesses as they allow them to own their personal space where consumers can reach them directly. Parallel to Brick-Mortar shops, VOIP apps are becoming popular online shops where a customer can talk/bargain/order to vendor & vendor can give personalized quotes using power of Data Analytics.

image002

image004

Decoding Requirement

Our business client was looking to build a fast, secure, scalable & integrated Real-time communication (RTC) platform for Web/Android/iOS with power to cater 1 million users & limitation to deliver within few months. Communication includes Voice and video calls (including Screen Share), chat, call appointments, payments, exchanging documents etc. Taking IT Consulting to the next level, and giving out-of-box solutions, out business development teams worked closely with the client & framed the requirement in multiple sections based on priorities.

Converting Words into Action
To build a vibrant RTC platform in a shorter development time, there was a challenge & our CTO level strategic services played a role in framing-out the layer of technology stack:

 

  1. Lightweight Micro-Services : For the product, we have used micro-services architecture by splitting the system separate services (separate logical entity) that each handle a small set of functions/tasks, and communicate with each other over the network as and when required. The benefit of distributing different responsibilities of the system into different smaller services is that it enhances the cohesion and decreases the coupling. This made it easier to change and add functions and qualities to the system at any time. It also allowed the architecture of an individual service to emerge through continuous refactoring, and hence reduced the need for a big up-front design and allowed for releasing software early and continuously.
  2. Pubnub & Firebase: Third-Party Real-time Communication APIs for sending Push Notifications over Cross Platform. I.e.  APNS (ios), VOIP (ios), FCM (android) and Web Push Notifications.
  3. TokBox: Third-Party Real-time Communication API based platform for Video/Voice calls which was customized for automatic management of network Issues like Latency, Availability, Bandwidth Limitation, reconnects etc. Using tokbox we also integrated feature of Sharing screen during the video call.
  4. Twilio: Third party Programmable Chat API used for allowing users to in-app chat (text) seamlessly in real time Cross Platform. Using Twilio we implemented end to end secure and realtime in-app messaging with real time data failover and horizontally scalable architecture.
  5. GetStream: Third party API for building scalable newsfeeds which was used to manage feeds and followers in the application.
  6. Amazon AWS: Managing cloud infrastructure & real-time scalability & flexibility in modification of resources as per application behaviour.
  7. Braintree Payments: Braintree helped us to accept and process payments for charges of appointments between expert and user. We implemented advanced payment management including charging Pre checking out, Refunds etc.
  8. Reporting and Logging: Going modular, we spread logging at multiple levels at both backend & front-end for deep technical analysis.
  9. Analytics: Powerful analytics is the heartbeat of an application. We developed complex algorithms to track and capture user and application behaviour. Using Google Analytics we tracked and optimized user acquisition and engagement with mobile apps.

Features

  • Separate Experts App to sign up as supplier of services
  • Separate User App to sign up as receiver of services
  • Signup/Login functionality for experts and users
  • Profile and verification for experts
  • Admin Panel (web based) for stakeholder review and reporting
  • Feeds from Experts – atom, xml
  • Exploring expert profiles, following them, and feeds functionality for users
  • Experts can configure availability and create pricing charts
  • Scheduling an appointment with experts for users
  • Calendar Integration with reminders for appointments
  • Having a one to one Video Call with Expert
  • Feature of Screen sharing during video call
  • Text chatting with experts
  • Payment of appointment charges, Integration of Payment Gateway
  • History of transactions
  • Rate and review of experts
  • Search for experts on basis of talent, review, expertise, pricing along with Card Layout

 

Integrating this stack resulted in a smart RTC platformwhich gave our client an edge over RTC solutions available in market. Why? Because of –

  1. Seamless Call Experience – Imagine a dip in network when you are having a Video Call and switching automatically to voice. Our smart algorithm takes necessary decision by looking at several factors like Network, Device Power, Resources Availability, Environment etc.
  2. Easy to customize, scale & manage the Project – Modularized and scrum based way of managing multiple resources and development helped technical team in Enhancements/Debugging/Tracking things.
  3. Error Free Product- A combination of Manual & Automated Testing with multiple round Regression to ensure the Product Quality.
  4. Always On-Time Delivery – Maintaining the Project Delivery dates are crucial and keeping up the promises is Atlogys core value and ethics. We followed the 2 week sprint agile method of development and used Jira for transparent representation of work planned vs. delivered. Post sprint retrospectives and reviews allowed us to optimize and plan efficiently to minimize loopholes.
  5. An amazing after-delivery Support – This includes support for code maintenance and enhancement. It also includes support for cloud monitoring of backend servers and analyzing traffic and healthz data for ensuring 99.9% reliability and site uptime.