Friday 10 October 2014

Part 2: SIP Based Call Centres - 12 years on - Time for a light weight cloud approach to contact centre architectures

So what does a cloud architected contact centre look like? I guess looking at from an architectural requirements:

  • No Single Point of failure
  • NoSQL Database for "Big Data" based Agent and caller statistics (not mandatory but useful)
  • Scalable transaction engine for orchestration of resources - linking customers with agents and agents and supervisors (We used to call this a queue and scheduler - or just the ACD)
  • Media Relay/Anchoring so that recording of the session can take place.
  • Light weight client applications (HTML5, CSS, Javascript, WebRTC).
  • Elasticity on demand compute - to scale for more sessions, more agents etc. Or for that matter less.
  • Some form of orchestration to be able to dynamically scale the platform based on either dynamic demand or customer requirements. Dynamic demand is an interesting one here as it implies the platform can "self-scale".
  • Multi-tenancy, so we can accommodate multiple customers without them "bleeding" into each other.
  • Support for SIP Signalling (to be able to connect to telcos using SIP trunking)
  • Transcoding of codecs voice (& video).
  • Conference bridge/RTP mixer, to make supervisor passive monitoring of agents  possible.
So that's the high level requirements out of the way.  How might you lego-brick build such an idea as a prototype? I'd start with Freeswitch and Kamailio/OpenSIPS, and I think I might even look at commercial SIP to WebRTC gateway like Genband's SPIDR.

For the Virtualisation piece I guess I would start with OpenStack and/or Xen hypervisors.

That's my shopping list. Next time some pictures of the components and glue-ing them together.

No comments: