The company developed different kinds of solutions for video and audio communications.
I joined a CTO who wanted to build a cloud solution for controlling incoming calls inside some institute or organization. For example, it could be a call center which defines its own rules for the incoming calls or a bank who wants to help their online customers while keeping a small support team as effective as possible. One of the customers was a prison that wanted to schedule incoming video calls for the prisoners for some limited amount of time.
The CTO I worked with was an expert in all the relevant communication techniques and low level bits and bytes of all the video/audio codecs and protocols. But it was his first experience with cloud solutions.
The product we built consisted of multiple different parts. On the one hand it had to include all the relevant components for the smooth connection of multiple call participants. On the other hand, it had to include all the customer’s logic for connecting these calls. In addition, we had to supply some SDK to the customer, so even non-technical people can use it in order to build their algorithms and be able to test them in a standalone sandbox environment.
So eventually we came up with the following architecture:
- We used Twisted (Python) and Django (Python) Frameworks for connecting the calls.
- We used Node.js for operating customer flows and the sandbox environment.