Case Study - BiTEA Radio Streamer Service

Requirement

To create an audio streaming solution to take up to 8 channels per location across multiple locations and stream the audio to hundreds or thousands of users using minimum bandwidth with only a standard internet browser. Must work on desktop, tablet and mobile devices.

Solution

A .Net project to process the audio arriving via an 8 channel audio digitiser using USB connectivity. The audio is processed to look for silent passages between radio transmissions to conserve bandwidth and storage. The resultant audio is compressed and passed to a Shared Memory circular buffer where it is accessed from a .Net core backend application. Signal R is used to communicate the front end requests to the back end hub.

Access to the channels can be customised from an admin dashboard and integrated with Active Directory to ensure only authorised usage on the internal network.

I worked in conjunction with a local company, BiTEA, to provide the complete solution to Dorset police. I liaised directly with the Dorset Police team including site visits and remote video calls to ensure timely delivery and user acceptance.

Technologies

The solution was hosted using an onprem Dell server with Windows 2016 per location processing audio from a custom audio digitiser. All projects were built with Visual Studio 2019, C#. Parameters, logging, configuration and usage stored in SQL Server for the main location. Additional locations could be added to boost the number of channels and coverage. Communication between the servers was accomplished using a restful api interface so they all report in and access a single database.

Authorised users could access the front end interface via a simple webpage with a play button per channel.

Front end user screen

Tetra Radio Streamer

Admin channel setup

Admin user setup

Challenges

There were several challenges:

  1. 1
    Access to the client Public Safety network can only be done locally or via secure citrix session with monitoring and restricted access. This required that the solution worked straight out of the box and could integrate with exisiting systems and security requirements without causing the local IT ops guys issues or sleepless nights.
  2. 2
    Managing access for hundreds or thousands of users is a challenge for any IT department. We had to ensure that we could use the AD groups in a variety of novel ways to keep maintenance to a minimum and flexibility to a maximum. This resulted in a few post release tweaks to keep it simple from the admin perspective.
  3. 3
    Load testing. How do you successfuly and meaningfully test several hundred users all wanting to listen to the same audio at the same time? Well we used a load test tool to load test and monitor memory, connections, response times and performance to ensure as best we could that is was stable, no memory leaks and responsive. That had to be done in the workshop before delivery. The client has just upgraded their client licence so they are adding more and more clients as it's popularity grows - a good sign I think.

Skills Required

Skills & Tools

C#

All projects in the solution used C#. Mixture of .Net 4.7 and .Net Core 2 project types. Visual Studio 2019 integrated with Git

SQL Server

Simple 9 table design in SQL server 2016. Accessed via Dapper db layer with custom wrappers.

HTML & JScript

Basic HTML used for layout. Responsive and mobile friendly. JScript used in the front end to access audio streaming data, maintain Q and interface with Signal R hubs in backend

A bit about me

I've always had a fascination with electronics and software. From an early age I'd study schematics of books I borrowed from the library and built my first walkie talkie and metal detector from parts scavenged from old radios and tv's I'd found dumped by the roadside. I also loved making model aircraft.


That led me to join the Royal Air Force as an avionics engineer where I spent many happy years working on various systems culminating in a 7 year posting working on 51 Sqn.


After my tour in the RAF and benefiting from their excellent training in both avionics and accompanying software I left to join a start-up developing one of the first UK tax filing systems (if you've filed a tax return you've probably used some of the software I helped design with a great team at Digita - now part of Thompson Reuters).


I then decided to start my own contracting and consultancy business. I have held a number of senior positions, interviewed, recruited and built teams of software engineers and developers of various sizes. I consult and contract out my services to various companies and organisations mainly in the UK but have also completed projects for companies in Europe, USA, Canada and Australia. I have experience in many sectors including finance, insurance, recruitment, government, NHS, engineering, public safety both in the private and public sectors.


I have NPPV3+SC clearance to work with government agencies. 


I mainly work remotely from my home office (seems very popular these days!) where I have all of the tools, servers and software required to design, develop and deliver software-based solutions for companies that maybe don’t have the expertise, equipment or programmers to create and deliver the solution themselves. I work closely with the project lead or main sponsor, can travel overseas if required and work as part of a team or individually as the requirements dictates.

Besides architecting, designing complete systems or upgrading existing solutions I have extensive business knowledge, and work closely with companies to get the most out of their systems, be as efficient as possible, automate where possible, integrate disparate systems, migrate data, break up monolithic systems into microservices, innovate and look at ways of reducing costs through IT.


I now focus on helping businesses take advantage of Cloud based solutions via Microsoft Azure and other Microsoft based technology solutions.


If I can help, please feel free to give me a call, lets talk: 01621 835002


Clients have included:


7 Layers

Affinity Sutton

Allen Vanguard

Anderson Consulting

Arts Council

BiTEA Ltd

British Transport Police

Calorex

Deutsche Bank

Digita

Dorset Police

DPS software

Graham Sykes Insurance

Henderson Global Investors

MOD Devonport

MUSC

Museum of Modern Art

Nexus

NHS

Portland Financial

Retail Locations

South East Tankers

Spinnaker Global

TEEC

UBS

Work Request



__CONFIG_group_edit__{"kbqcz1nq":{"name":"All Icon(s)","singular":"-- Icon %s"},"kbqcz47u":{"name":"Problem, Solution Title(s)","singular":"-- Text %s"},"kbqczotj":{"name":"Problem, Solution Paragraph(s)","singular":"-- Text %s"},"kbqczy5e":{"name":"All Content Box(s)","singular":"-- Content Box %s"}}__CONFIG_group_edit__
__CONFIG_local_colors__{"colors":{},"gradients":{}}__CONFIG_local_colors__

Contact Tim