Kuji Consulting
I got brought in to help with a Regust contract related to the phone system billing systems for offices.
Migration To Raspberry Pi for running PABX software
The project goal is to move to using Raspberry PIs for servers to run the PABX software.
Our strategy is to initially implement this in new offices, with a well-defined plan to transition the existing systems as needed gradually.
Automated Raspberry Pi Image creation running Pabx systems and with a dockerised version of server management software.
This was done via packer and ansible.
Ansible, a powerful tool, was utilised to ensure adaptability and ease of use. This allows our technical team to use the same scripts for server maintenance and upgrades, even in the field, making them feel empowered and integral to the project’s success.
The management is done via dockerised systems created for Arm and X86.
Setup of Ansible Tower and Ansible scripts for server management
Ansible Tower and Ansible scripts were set up to pull server information and perform maintenance and information-gathering tasks.
A Laravel application was created to store and report on the server information. It also provided a simple configuration interface for the Ansible scripts to customise their actions per server.
Part of this was also to create a local development environment using docker.
01
Help fix legacy applications to manage customer PABX numbers and billing.
02
Create replacement applications to manage customer PABX numbers and billing.
03
Create ansible scripts to start managing servers
04
Setup AWX Tower to run Ansible scripts
Migration to Azure containers and Azure DevOps
As part of the migration to the Raspberry Pi and Docker images, build pipelines in Azure DevOps were created to automate the building and storage of the images.
The old app was also migrated from a physical server to a docker container running on Azure Containers.
Scrape phone information
Wrote a puppeteer script to download call information files. Some data from the system also needed to be scraped.
The main reason for needing this was the lack of API on the phone systems.