This is a sketch of the PhoneMyBot architecture. I have always found it useful to know how software is structured to understand the big picture and put everything else in context.
A high-level view of the interfaces that PhoneMyBot maintains with different services / networks is in the following figure. The main functions that PhoneMyBot communicates with are 1) the telephone (or other voice) network, 2) speech services: speech-to-text and text-to-speech, 3) the chatbot, and 4) the contact center.
PhoneMyBot's role is to exchange messages and streaming sessions with these services, while transforming voice into text and text into voice as needed.
As we know, PhoneMyBot is a purely cloud service, using one of the main suppliers of cloud computing services. In itself, this reduces the risks of the service not being reachable, as the low-level infrastructure is maintained in high availability mode.
PhoneMyBot's core is Interactive Media's proven Media Server, LiMS. LiMS is deployed at very large customers of Interactive Media's and processes millions of calls per month there. So we are confident that it's adequate for PhoneMyBot.
The Media Server controls the interaction processing with the help of a number of modules that handle the particulars of each interface. In addition, other modules handle alarms, administrative access, reporting, configuration.
The following figure gives a detailed view of how the different modules are combined, the entities they interact with, and how PhoneMyBot implements application-level high availability.
PhoneMyBot is deployed in an N+1 configuration fronted by load balancing. This means that more than one node is active at the same time and traffic is distributed among the active nodes. If one of the nodes goes down or fails to respond, the load balancer will concentrate the traffic towards the remaining nodes.
(the load balancer is also composed of two paired nodes managing a shared IP address. If one node goes offline, the other will handle all the traffic.)
In addition to the media server, PhoneMyBot's other modules consist of agents and adaptors. In particular:
Please let us know if you have questions beyond this overview: we'll be happy to answer.