W H I T E P A P E R
© 2017 Persistent Systems Ltd. All rights reserved. 10
www.persistent.com
Scalability of the solution:
In order to scale the solution, the components themselves has to be scalable. The scalability aspects of few
components are discussed below
1.
Twilio SIP trunk:
Twilio’s Elastic SIP trunk scales automatically and supports unlimited concurrent calls.
Twilio SIP trunk supports multiple origination URI for efficient load balancing. Calls are forwarded to the
origination URI based on priority and weight of the URI. This allows association of multiple PBX
instances and therefore multiple voice agents -
https://www.twilio.com/blog/2015/07/sip-trunking-load-balancing-and- failover-made-easy.html
2.
Asterisk IP-PBX
: Asterisk PBX can be deployed on a scalable infrastructure such as EC2 or IBM
Softlayer which supports seamless scaling. Asterisk PBX hosted on premise can be scaled by providing
more hardware and software resources
3.
Watson cognitive services
(STT, TTS and Conversation): The Watson cognitive services are cloud
hosted services on IBMBluemix and are scalable.
4.
Orchestrator:
No heavy lifting is done by orchestrator; it delegates calls to respective component.
Orchestrator can be vertically scaled easily. The horizontal scaling is possible via router/load balancer
and as such orchestrator does not maintain any state which might impact horizontal scalability.
5.
Dialog Assistant
: The dialog assistant is domain specific and performs the function of enriching the
response by connecting to other internal/external APIs and/or services. The dialog assistant has to be
carefully designed so as to not introduce great latency during enrichment of the response.
Multi-tenancy of the solution:
Multi-tenancy can be achieved by using these two features:
a. Multiple origination URI configured in Twilio dashboard
b.. Asterisk'sACD -Automatic call distribution queues
TwilioMultiple origination URL:
Twilio places forwards calls to origination URI with lowest priority. If SIP session isn't established, due to busy
endpoint or any other failure, then Twilio dials the next origination URL
Asterisk'sACD -Automatic call distribution queues:
Asterisk's ACD - Automatic call distribution queues where a pool of voice agents wait to answer calls and
incoming calls are queued, usually in a FIFO order, and assigned to next available voice agent.
Limitations:
1. Twilio does not support SIPS (SIP secure) and only supports G.711 audio codec which means other
efficient audio codecs like G.722 or G.729 cannot be used