Unique Voice Trading Platform

Highlights

  • tick Investment by one of the biggest critical communication providers from the UK
  • tick Collaboration suite with full-turret capabilities such as
    • tick Chat/IM
    • tick PSTN
    • tick Hoot
    • tick Recording
    • tick Conference
    • tick Group Chat/IM.
  • tick Servers are configured in Japan, UK and USA for faster network access.
  • tick A prototype was developed by our team for an upgraded version to support a cloud-based collaborative conference platform.

Overview

  • check-mark Client had very good knowledge and prior experience in various VoIP solutions for traders and wanted to develop Next Generation Voice Trading Platforms for Financial Institutions which uses Phone Trading Order Flow.
  • check-mark The trading platform comprises the usual front-end, middleware, and backend architectures, where we expose a customizable interface to our end users (traders) via a Windows Client Application. The VoIP implementation is based on PjSIP, connecting to tiny Asterisk-based nodes, and serving voice control mechanisms via the Windows Client.
  • check-mark The Windows Client takes care of decision making with respect to Voice Nodes, and has a stack of VoIP Implemented into it, to individually handle Call Making. Apart from Voice, the client exposes various other trading utility functions such as multi-channel speaker module, inter-intra organization IM, recording/archival and other user maintenance functions.
octopi-story

Problem Faced

  • tick Half of the technology we had never worked before, and new learning for us and our team's ability to adapt new technology helped us achieve completion for this application.
  • tick Long-term technology solution and development with "NAT" as the biggest issue and resolved those NAT issues and also the CORS issue related to the new installs.
  • tick
    Conference Solution, Group Chat feature included with out of the box thinking
  • tick Echo cancellation was an important challenge.
  • tick Kubernetes and Docker cloud-based dynamic conference with API-based and SDK-based creation of Kubernetes. Adding and removing users for the conference

Goal

To develop the most secured voice trading platform in collaboration with the client’s technical head as the application is specific to traders. The Windows Client design was provided, and an admin interface was to be developed to manage the calls and logs. Chat/IM, PSTN, Hoot, recording, conference, group chat/IM, and all the health monitoring happen in the admin interface. The functionality should also include automated email for various actions and, for the IM, offline IM should be supported, and all deployment should be automated.

  • check-mark Multiple user roles having different access to the subset of data
  • check-mark Efficient search and filter functionality
  • check-mark Distributor access for adding leads
  • check-mark Provision for adding Salesman
  • check-mark Provision for adding prospects or customers with
    • check-mark Lead source and track all stages of the CRM.
    • check-mark Segregated by Lead Type & Lead
    • check-mark Reschedule the customer for the telemarketer.
  • check-mark Provision to qualify or disqualify a lead
  • check-mark Getting the daily schedule list for Telemarketers
  • check-mark Provision for managing SM and TM by their respective distributor

Solution

  • tick API integration with the existing sales data is retrieved for the necessary details alone. For all the sales data and customer data, the existing database is used, and for the collection agent login, tracking, generating reports, and list of activities of the application, a separate database is maintained.
  • tick A SIP URI for each conference was created, and we hosted it on an Apache Web Server. We also have a Docker container to move to Kubernetes.
  • tick The backend API was developed with a multi-layered architecture that handles the data layer with chat, contact, and user-related services and contact mapping with various unique return codes. Also, the bulk upload feature was enabled for the Contact List and Speed Dial features. Architecture separated by API DataLayer, DataObject, Threads, Utilities, Web API, and SIP-related functionalities. All communication- and IM-related functionalities were handled in the SIP layer.
  • tick Shell application was created for various functionalities, with generating hashcode with timestamp for secured data validations.
  • tick The application collects all conference health data, and the backend receives regular updates from relevant helpers; if no update is received within a certain timeframe, the node is considered to be terminated. Build the containerized Docker image and then push the containerized app into the Container Registry, and also deploy by navigating to Kubernetes Engine > Workloads, and after that, increase the number of pods.
  • tick Message Queue is planned, and Dialplan has added offline sending of SIP messages even if a host or SIP peer is offline; they will get the message once they come back online. This is achieved using the. Call file to requeue and device state. For all offline IM, run a script within the dial plan using the SYSTEM application to call a bash file with certain variables that will then automatically generate the. Call files. The maximum retry for sending the IM was configurable.
  • tick The Admin Module takes care of the private wire ARD mapping, adding contacts, Hoot details, and Hoot users, speed dial setup with bulk data upload, group details, server details, archive details, and all recording details.
  • tick The Vox Section of the Windows Client includes Active Conference, PSTN, Ringdown, Call History, Conference, Contact, Hoot, and Speed Dial with advanced settings.
  • tick Various functionalities include Favorites,
  • tick A deployment automation script was written so that the application could be deployed in multiple locations and servers for the provision of the traders, as a few of them only wanted the data on their servers. Various automated checkpoints are done for pjsip configuration, auto-testing of calls, hoot, outgoing calls, and ftp.
  • tick Various daemons were running to check the MySQL backup service, python scripts, email and hoot services, and Ip Blocker, with a proper error log to capture errors. Also, scheduling service to auto-update the user presence status in the database.

Technology

python
c-sharp
mysql
NET_Core
pjsip

Status

The application was rebranded, and one of the biggest critical communication companies invested in and proceeded with the platforms in-house development of further enhancements and maintenance. We are proud to have been associated with this application and team for close to 4 years.

Let's develop your ideas into reality