Showing posts with label Architecture. Show all posts
Showing posts with label Architecture. Show all posts

Monday, May 9, 2011

CaaS–Communication as a Service: What is CaaS?

Communication as a Service (CaaS) is a architecture for communication in which a number of IP services are hosted in a cloud type environment – software that connects disparate end-points hosted in a multi-teneted environment. What makes CaaS somewhat different from software as a service is that there is a signaling layer within the architecture that allows to ferret endpoints to connect to each other based on the presence of the end point (a.k.a user agent).

How does CaaS apply to a telecommunication?

Video conferencing is a service that lets you communicate over the network from computer to computer.


The traditional way of delivering a service was bundling hardware and software for an application such as video conferencing. In CaaS, both the hardware and the software can be hosted in the cloud. The signaling was always part of the network itself, now signaling lives in the application layer.

How does a company implement CaaS?

First you need a very dynamic environment in the background, you must understand what a multi-teneted application is. You must understand how to take an application and expand it – provide security, isolation between data. You must understand how to build a SOA architecture. You must understand how to functionally decompose an application to provide a number of services. You must understand how to scale-up and scale-down – ex: virtualization.



Management Interface Layer: consists of 3 interfaces:

Configuration Interface: This interface addresses the question: how do you setup/configure the software?

Billing Interface: This interface addresses the question: how do you charge for the services?

Reporting Interface: This interface addresses the question: how do you get the usage, trending, business intelligence data?

Service Orchestration Layer: This layer is about service aggregation. Service Oriented Architecture lets you functionally decompose your application to provide a number of services. This layer is about aggregating all those services.

Communication Service Layer: These are the most basic services ex: click-2-dial service that looks up presence information and connects you to someone else you want to communicate with using the SIP request across the network.

SIP:Session Initiation Protocol that allows you to establish a media session between two users. Ex: http. SIP is an application layer protocol and hence does not reside within the network itself.

Management Application: These provide 5 different services:

  1. fault management services – addresses issues when app goes down
  2. configuration services
  3. aggregation services
  4. security services
  5. performance services

Business Support Systems/Operational Support Systems (OSS):OSS ensures that the application/network/database is up and running. BSS has more of business focus and defines what the services are and different from OSS.

IMS Infrastructure:IMS is the IP Multimedia Subsystem. It is just an infrastructure for SIP that allows SIP through wired or wireless networks.

Remote Domain: Allows you to aggregrate/federate domains in terms of presence (identification) between two CaaS applications. Ex: when two companies merge you want the employees to communicate with each other across domains.A federation service allows you to see the location of the two domains and gets the presence information of the employees of the two companies. Another example is Windows Office Communicator federates with MSN, Yahoo, AOL.

Tips for building CaaS:

  1. understand the signaling layer
  2. understand CaaS protocols
  3. understand SIP
  4. understand qualification: does your application qualify to be on CaaS?