How many times has it happened that you've received a nagging call on your
cellphone by someone trying to sell you a credit card just when you're in the
middle of a crucial meeting, or maybe enjoying an afternoon nap on a holiday? In
another case, how many times have you wished that a person had called you
instead of seeking clarification about something via email? While you were
available on the phone, the sender didn't know and out of the fear of
disturbing you, just shot you a mail instead. Let's take the reverse case. How
many times did you try to reach a colleague for some urgent information, but hit
a stone wall? You first called on the office extension number, but the person
wasn't there on the seat. You then called on the person's mobile, which went
to voice mail. You then sent a sms, but didn't get a reply back. Finally, as a
last resort, you just sent an email asking the person to contact you when free.
Later, the person read your mail and tried to contact you, but faced similar
obstacles. Finally, after wasting so much time, effort, and money on phone
calls, you both just ended up discussing things over email. All these situations
are not a new phenomenon.
Concepts, building |
Chances are that you face them everyday. In fact, we all face them everyday,
which is quite sad because despite having so many different modes of
communication, we're not able to reach the people we want to when we really
need to. On an average, every corporate employee today uses at least three to
four modes of communication-landline, mobile, email, and chat. And yet,
reaching people is becoming increasingly difficult. Not being able to reach a
person is not only frustrating, but also counter productive and expensive with
so many modes of communication. It can also lead to delays in key decisions
being taken, which can lead to other problems. What's needed is an integrated
solution that will tell you whether a person is available and the best way of
reaching him/her. That's essentially what unified communications proposes to
do.
A successful unified communication deployment is one where you're always
contacted through the mode you prefer, and by the people you want to be
contacted.
While all this may sound like a distant dream, it actually isn't. In fact,
the technologies have already arrived, and the products and solutions are also
available. It's just a matter of time before we all start taking it for
granted, like email and mobile phones. In this story, we'll tell you how close
you really are to unified communication, and even do some sample deployments.
Though not full-fledged, the deployments will give you an idea of the
possibilities. The rest is up to you to explore.
Basic building blocks
A typical UC solution is a well-knit integration of various elements like
e-mail, chat, telephones (PBX or GSM), collaboration tools, audio and video-that
form the basic building blocks of such a system. Of course, you cannot forget
IP, which forms the backbone of this integrated system. This is because you need
a standard medium so that all these building blocks speak the same language and,
therefore, communicate with each other. As a result, PBX becomes IP PBX, audio
goes to become VoIP and enables audio conferencing over IP, e-mail takes up more
messaging and collaboration features, there is web conferencing and unified
messaging.
Note that while IMs provide almost all the functionalities from mails, voice
chat, PC-to-PC calling and connectivity over SMS-all this is currently
happening in the public domain. So all you need now is to implement these
functionalities at the corporate level. Now let us see the role of each of these
blocks separately to make an efficient UC system.
IP PBX- An IP based PBX system allows an organization to converge
both voice and data networks, over a LAN or a WAN. It uses standard
packet-switch protocols to carry voice across a data network. There are
state-of-the-art IP-based solutions that allow you to integrate incoming as well
as outgoing voice applications with applications that run on the Net like
real-time chat, Web collaboration, and e-mail. As a result, you can have
multiple interactions through a single agent simultaneously, no matter which
communication channel is being used by the customer.
VoIP- As you're using the same network for voice and data
communication, you save on infrastructure costs. Plus, of course you can use
your existing data links between your various branch offices for voice as well,
thereby saving on STD bills. There are various kinds of soft and hard phones
that enable VoIP as a preferred means of communication.
Presence server- is an important element that sits in the UC network
and keeps a record of whether the receiver is present or not. It also records
the information about the mode of communication that is being used by the user,
such as whether he is available on e-mail, IM, fixed line, cellphone, etc. This
information is collated and used by other call/phone manager systems or
communicators that accordingly send the message to the receiver over the
communication device being used by the user at that time.
E-mail-is one of the most preferred methods of written
communications in organizations. But over a period of time when it has been in
use, it is now time to see what more can you do with it. Today solutions such as
Exchange 2007 IBM Domino have enabled user to do much more than just sending or
receiving e-mail. You can do messaging and conferencing, call (telephone, fax)
management, document sharing and much more on these.
Unified messaging-This is not the same as unified communication as
it is very often misunderstood. Unified messaging is a subset of the larger
umbrella of solutions that unified communication provides. UM keeps your
communication limited to the extent of messaging and collaboration, and lets you
do voice mail, e-mail, text to speech, and view fax messages from one common
interface. For example, you can do all this with Outlook 2007. This is far less
than the capabilities of a UC system that takes you beyond UM to add more
features like collaboration/multimedia conferencing.
Audio conferencing-While this is the most commonly used mode of
conferencing even today, it has added a lot of features in it to become an
important element of UC. There are many solutions available in this space. Skype
and public IMs are in popular, there are many commercial solutions like those
from Polycom and Avaya.
Web conferencing-This is also an important component of a UC
solution. There are both hosted solutions like Webex and that from Citrix, and
you can also have one set up on your own over the Internet. Since everything is
going over the Internet while making a UC system work, Web conferencing becomes
the hot favorite as it can let you do all forms of data, voice and video
conferencing.
Voice mail-This refers to sending a recorded message. Though this
has been in use since long time, the real use of voice mail
beyond telephone's answering machines is being made by the UC systems. This
happens when voice mail too shifts to IP, to help deliver voice mail on any
network (GSM or PSTN) you are in. With a good UC solution in place, you can call
into your mail server from either device to have your voice messages read out.
UC Client-Now this is pretty obvious. Unless there is one client
that brings all the above mentioned components together into one console, there
can be no unified communication.
There are some such products/solutions already available in the market like
the one's powering MS Outlook and Office Communication Server 2007, that help
one element talk to the other and respond in the manner most suitable to the
user.
Integrating the blocks
To achieve the desired scenario described in the introduction, our typical UC
user connects to the UC system via one of different available means: over the IP
network (that can be his LAN or through the Internet), over a PSTN telephone
link or from a PDA or mobile phone using a GSM or CDMA network. Therefore, the
first point of integration is at the network level, where each of methods of
transmissions must be brought to a common IP layer that our UC system works
with. This will require an IPPBX gateway to bring the PBX (telephony) to an IP
platform. Additionally to support mobile networks you will need a device that
can link GSM/CDMA to IP. The next hand off can be done with software, where you
can setup 'preference registries', that contain information about how
different users prefer to handle their calls depending on their status. For
instance, if a user sets his status to 'In a meeting', all incoming calls
except from the user's boss can be sent as emails or be directed to a
colleague. After this comes all the different hardware and software that let you
actually do e-mail, chat, collaboration, VoIP and Video on IP. Even here, you
will easily find solutions that integrate mail, chat and collaboration. To add
voice and video conferencing, you may need to add one more step to the
checklist.
Vendors offer unified communications in the form of different 'editions'
or 'packages' that parcel different sets of components. For instance, one
edition of a UC solution can have IP telephony, messaging (email and chat) and
basic conferencing. A step up from there can include video conferencing and
voice-based access to messages. Solutions are also available that perform the
role of integrating all modes of communication but leave out their
implementation to other solutions---for instance, it can let users connect to it
to access their email, voice mail, faxes, phone calls and so on, but the actual
IPPBX part with call routing will need a dedicated call management solution.
Cisco Demos Unified Communications |
The PCQuest Team visited Cisco at their Delhi office and got to experience a demonstration of Unified Communications in action. The Cisco team demonstrated both IP phones as well as |
Protocols
Although TCP/IP is the basic Internet protocol there are a few more necessary
for an IP-based communication. Let's take a look.
SIP: Session Initiation Protocol is an ASCII-based standard specified
in IETF RFC 2543, used to initiate, modify and terminate interactive user
sessions involving multimedia. You can invite users to conferencing with
multicast sessions. Since this protocol supports mapping and redirection
services, you can communicate from any location. The requests from clients
identified by SIP URLs, can be sent through transport protocols such as UDP,
SCTP or TCP. SIP determines the end system, the communication media and partners
and the called party's desire to engage in communication. Once all this is
confirmed, the protocol fixes call parameters at either end with call transfer
and termination.
H.323: is a binary ITU standard which ensures compatibility in
videoconferencing, including call control and management, termination for both
point-to-point and multipoint conferences, and gateway administration of media
traffic, bandwidth and user participation. Both H.323 and SIP are 'intelligent
endpoint protocols,' that locates remote endpoints to establish media streams
between local and remote devices.
MGCP: Media Gateway Control Protocol describes the method of
communication between a media gateway, which converts data from the
circuit-switched network format to that required for a packet-switched network
and the media gateway controller. It keeps track of the number of carriers and
other IP telephony users.
Megaco or H.248: Listed by IETF as Megaco (RFC 3015) and by ITU-T as
Recommendation H.248, Megaco/ H.248 is a call-control protocol between a gateway
controller and a gateway. While MGCP makes it possible for the controller to
determine the location of each communication end-point and its media
capabilities, for choosing a type of service, Megaco/H.248 enhances this
functionality by supporting more ports per gateway as well as multiple gateways.
Other than H.323/SIP and H.248/MGCP, there are proprietary protocols from
various companies such as Skype that have been quite popular. 'Skinny' or
Skinny Client Control Protocol (SCCP) is a proprietary protocol used by Cisco
for communications between its Call Managers and VoIP phones.
Sreedhar Sambukumar (Ex-GM, Software Development) Siemens Public Communication Networks |
|
In my opinion, Unified Communication has not taken off in a big way in India. One of the challenges of a UC solution is that it doesn't necessarily adapt very well to already invested infrastructure. Many a UC solution expects a green field kind of setup for optimal benefit. Eg, if you have a classical TDM based PBX, most solutions expect digital/VoIP based standards.In India, the merger of enterprise networks with PSTN is limited due to Government regulations. |
RTP and RTCP: are two of the more common speech transmission
protocols. The Real-Time Transport Protocol or RTP defines the way for programs
to manage real-time transmission of multimedia data over multicast network
services. It is designed to support video conferences with multiple,
geographically dispersed participants. RTP combines data transport with a
control protocol (RTCP), making it possible to monitor data delivery for large
multicast networks. This allows the receiver to detect if there is any packet
loss and to compensate for any delay jitter. Both the SIP and H.323 use RTP. To
ensure security, RTP was improved to Secure RTP (SRTP), defined in RFC 3711.
SRTP provides for encryption, authentication, and integrity of the audio and
video packets transmitted between devices.
H.264 video codec : This video codec is used as a low bit rate compressed
encoding solution for moving pictures in video conferencing. It can be used with
both H.323 and SIP based solutions. It provides an umbrella for low bandwidth
conferencing over ISDN and IP. H.264 enables videoconferences to connect at half
the bandwidth and retain the same quality. This codec supports 60 fields per
second and an advanced method of reducing the pixelation when there are a lot of
motion or scene changes. H.264 eliminates the tiling seen on videoconferences,
whenever there is a 'scene' change or a lot of motion.
Quality of Service
On the Internet, you need the desired bandwidth for your call else you face
problems such as dropped calls, jitter, latency and poor quality reception. QoS
policies ensure that transmission rates, error rates, and other characteristics
can be measured and improved upon to avoid such irksome issues. They guarantee a
certain level of performance depending on application request. These guarantees
are important, especially in case of multimedia streaming like video
conferencing, which is delay sensitive. QoS is controlled at the router level,
so you need a router that lets you configure QoS for your WAN. Protocols such as
Resource Reservation Protocol (RSVP) provide differing level of service for
packets passing through a gateway host based on policy and reservation criteria.
Data, audio and video all have different requirements on timeliness and quality.
Using ATM, which lets you pre-select a level of quality in terms of service, QoS
can be measured and guaranteed in terms of the average delay at a gateway, the
variation in delay, and the transmission error rate.
Exchange 2007's predecessor, Exchange 2003, even with the separate but
related Live Communications Server 2005 added still does not qualify to be
called a true 'Unified Communications' platform. The reason is, even that
combination does not handle the part of telephony. That support now exists in
Exchange 2007. We are going to setup Exchange 2007 and look at the the options
it has to offer towards 'unified communications'.
Exchange does not implement a very high level of call and presence management,
but provides just the basic elements for it. For instance, you can create as
many dial-plans (rules for what number patterns a user can dial), but you can
associate only one of them at a time with a particular user.
Once UM role is configured, users can use Outlook (mail client, Web Access or Voice Access) to connect to Exchange and access mail, voice mail and fax messages |
Getting started
Before you go ahead to install Exchange 2007, you need to have quite a few
things handy. For instance, it will work only on a 64-bit system, with the
64-bit edition of Windows 2003. This also means you need 64-bit drivers for your
system for optimal performance. Also make sure the server has at least 1 GB of
RAM. For VoIP gateways, you should have something like Asterisk (described
elsewhere in this story) or Cisco Call Manager installed that tracks and manages
VoIP components on your network. PBX networks also be managed by VoIP management
software or have their own management software --- like ones from Avaya, Siemens
and NEC --- and these can work with Exchange 2007 as well.
We installed a fresh system in our Labs and even after installing Windows
Server 2003 R2, quite a few updates were needed before the Exchange installation
would start. This includes adding IIS, .NET Framework 2.0 x64 with a hot-fix,
installing the Windows PowerShell (for running the new Exchange Management
Shell), updates to TCPIP.SYS and MSDAPS.DLL, MS Core XML Services 6.0 and
Windows Media Encoder 10 x64 with its Voice Codec. The Media Encoder component
is required for Exchange 2007's TTS engine that's used by the Unified
Messaging Role. You need to also raise the forest and domain functionality level
to Native (2003) mode.
The installer will automatically check for these pre-requisites and warn you
about needing to install them before you can go ahead. The list can change
depending on what roles you select for installation. The default installation
works in a 30-day trial mode until you enter the product key (can be done only
post installation), that will promote it to either Standard or Enterprise
edition of the product.
Some UC Solutions |
Cisco Unity: Call manager, presence management, voice, video and web conferencing, designer to create convergence applications. Microsoft Exchange 2007: Messaging and NEC Voice Mail and Unified Messaging: Messaging, Siemens HiPath Xpressions: Messaging, call |
The UM Role
You need to select the 'Unified Messaging' role from the installation screen
to get unified messaging. Once installed, you must create Dial plans, UM mailbox
policies, IP gateways and Auto attendants. Dial plans let you configure what
kinds of numbers a user can call (for example: local extensions, outside
numbers, international numbers and so on). Mailbox policies (for UC) let you
setup dialing restrictions on where users can call-within the dial plan, to
local extensions-the kind of national and international number patterns they
can dial. UM IP gateways route communications between our Exchange box and an IP
PBX. Auto attendants will automatically pick up calls that come to specific
(configured) extensions, process them and maybe forward them to a different line
or mailbox.
Client access
Users can call in to the Exchange 2007 server using Outlook 2003 or 2007.
Messages from their voice and fax accounts will be organized into separate (read
only) folders labeled 'Voice Mail' and 'Fax' respectively, within the
'Search Folders' node in the folder tree. These are also accessible from the
web front-end. The web front end is slightly revamped from the 2003 with a more
detailed 'Options' screen that lets users manage their mobile devices (for
use with ActiveSync). Users can also view the calendars of other users with
free/busy schedules when they search for them from the global address book.
A nice looking and easy-to-use interface, seamless integration, lots of
features and good documentation in an enterprise-class solution-this is all
that we promise through this writeup about a collaboration and Telephony
servers, WildFire Jabber and Asterisk. These two work hand in hand by using a
plug-in called Asterisk-IM and give you a truly integrated Unified
Communications platform.
Let us see what these solutions are. WildFire Jabber is a modified version of
Jabber Messaging and Collaboration Server, which can run on any platform
including Linux, Mac and Windows. You can manage it from an easy-to-use Web
interface. Asterisk, on the other hand, is the most renowned open source
IP-Telephony Solution available. Not only many companies use it, there are also
some vendors who manufacture IP-PBX boxes with Asterisk embedded inside.
Asterisk-IM, which we will use, is a Java based plug-in for WildFire that adds
integration functionality for Asterisk into it.
When adding credentials, make sure to use the right port and Context for Asterix Server. Values for a default installation are as above |
But Asterisk has one drawback--natively it has only a CLI based management
and configuration interface. We solve this problem by using FreePBX, a graphical
interface for Asterisk that makes management and configuration a breeze.
To make things simpler, we also have a distribution called TrixBox Linux.
This CentOS based distro has all the required components for deploying a
production class IP-telephony solution. It integrates Asterisk, FreePBX,
SugarCRM, Maine, A4astersik (an billing and monitoring package for asterisk) in
one CD. All you, then, have to do is to install this distro and your full
fledged IP-PBX should be up and running in minutes.
The list of features in this Asterisk and WildFire combination easily
competes with any commercial UC solution, and it will be difficult for us to
list all of them in this story. So, we limit the scope of this article to
integrating WildFire and Asterisk Servers to exchange information and user
presence.
Pre-requisites
To start with, you will need TrixBox Linux running on a machine which has a
valid IP address (say 192.168.1.1), WildFire Jabber Server running on a Windows
Machine (say, with IP 192.168.1.2), at least two clients running any OS that are
either connected through a Hard IP Phone or with any Soft Phone installed.
Additionally, you will need Spark, a WildFire client that supports Asterisk-IM
plug-in, installed on both the clients. You will also require the Asterisk-IM
plug-in.
We assume that your WildFire and TrixBox setup is running individually and
you are able to place calls and chat between both client machines. If you face
problems in configuring TrixBox, visit http://dumbme.voipeye.com.au/trixbox/trixbox_without_tears.pdf
for help. Installing and configuring WildFire is simple too. You can get all the
above-mentioned applications on this month's PCQ Xtreme DVD. The Asterisk-IM
plug-in available on the website of WildFire Jabber doesn't work with the
latest WildFire version. So, while configuring use only the Astersik-IM.jar file
provided on this month's PCQ Xtreme DVD.
Once done, your Spark client will automatically change the status of the user to 'On Phone', whenever the user dials out or receives a call |
Configuration
The integration of WildFire and Asterisk/Trixbox is very straightforward. First
open up the folder 'C:\Program Files\ Wildfire\plugins' or wherever you have
installed WildFire in your machine and copy the Asterisk-IM.jar file from this
month's DVD to the folder. Now shutdown the WildFire Server and restart it by
clicking on the WildFire Server Agent. Now you will notice two new things. One,
a folder called Asterisk-IM is created on the plug-in folder and two, there is a
new Tab available on WildFire's management interface. Now, go to the
management interface and provide credential for the Asterisk Server. For the
values of the required fields for a default Asterisk installation, please refer
to the following screenshot. The only thing that might vary is the IP address of
the Asterisk server.
Adeesh Sharma, Anil Chopra, Anindya Roy, Rinku Tyagi and Sujay V Sarma