Dimitri Osler
(NO) Value in Unified Communications
There is no value in Unified Communications without a lean approach
UUID: 63818502-8416-11e8-abea-17532927e555
This ebook was created with StreetLib Writehttp://write.streetlib.com
Index
Steve Osler’s preface
Part 1
Introduction
Terminology
Unified Communications That Work
Simplify
Presence and Chat
Presence and Calendar Sync
Queue Audio Notifications
Geolocation
File Sharing
Screen Sharing
Video Calls
Conferences
Automation
Call Generation
Faxing
Call / SMS Reminders and Notifications
IVR, ASR, and TTS
Login Automation
Automated Deployment
Call / Chat Queueing and Routing
Automatic Call Forwarding on Presence Status Change
Mobility
Integration
Click2call, Hot-Key Dialing
Call Pop-up
Caller ID Name Look-up and Contacts Import
Team Members Import and Sync
Analysis
Storage
Protection / Care
Industries
Office / Open Spaces
Office Access System Automation
In / Out Times
Presence Integration
Contact Centers - Sales / Support Teams
Website Integration
Automatic routing and business integration
CRM / Ticketing system integration
Remote Desktop Support
Marketing
Automated Dialing / Predictive Dialing
SMS / FAX Campaigns
Teams Management & Training
Video / Audio Conferences
Chat Conferences / Collaboration
Webinars
Retail / Education / Healthcare / Production Sites
Paging / Intercom
Man Down / Emergency Calls / Nurse Calls
Responsible Person Look-up
Hospitality
FIAS Integration
Technology
Web vs. Native Administration Interface
Web vs. Native Team and Users Collaboration Tool
Client / Server Signaling
Data Storage
Media
Interface and Notifications
Conclusions
Mobile Native Apps vs. Web Apps
Technology limitations
CPU and Battery Usage
Call Interruption Protection
Conclusions
Signaling
The past: H.323 / MGCP
SIP and XMPP
History
Transport Protocols and Syntax
Usage and Differences
Conclusion
SIP Calls Analysis
Before Starting the Analysis
Open the Network Trace
Graph
SIP Protocol
Registration
Calls
SUBSCRIBE to Voicemail / BLF Monitoring
Reason
SIP Responses and Debug
Transport Protocols Over the Web
BOSH
WebSocket Protocol
How It Works
Media
SDP
RTP / RTCP
RTCP
Jitter Buffer & Call Quality
RTCP with Feedback
Symmetric RTP / RTCP
Audio Codecs, Bandwidth & Quality
Bandwidth
Frame Size and Bandwidth
Transcoding
Narrowband and “Toll quality” Codecs
Wideband Codecs and High-Definition (HD) Audio
RTP Sessions Debug
Conclusion
Video Codecs
H.264 / H.265
VP8 / VP9
Conclusion
Faxing
Fax Over RTP
Audio Clear Channel
Fax Over RTP - Possible But Not Reliable
T.38
Conclusions Regarding Fax Transmission and T.38
Media Transmission Over the Internet
NAT / PAT and STUN
WebRTC
History and Current Status
SDP
Direct Media via ICE (Interactive Connectivity Establishment) and TURN
DTLS
Supported Codecs
DataChannel
Conclusions
Part 2
Integration
Requirements
Network
Services
Application
Buy or Develop?
Middleware Software
Customizations
Costs
When to Develop
How to Develop the Integration
Events
Actions
Integration Mode
Integration via Communication Client or Server?
Via Communication Client ICC (First-party Call Control)
Via Communications Server ICS (Third-party Call Control)
URL / Application Pop-ups (ICC / ICS)
Windows TAPI (ICC or ICS)
UC Server Web APIs
UC Server Action URLs / Web Hooks
Smart Routing
Automatic / Predictive Dialer
Faxes and SMSes
Tracking of Calls via Tags and Extra Variables
History Analysis
Syslog
CDR
Queue
Chat / Geolocation
Hospitality
FIAS
Other Integrations
Conclusions
Security
Passwords and Authentication
Basic HTTP
Digest Authentication
Password Exchange over XMPP
SCRAM
Conclusions
Signaling TLS / SSL
TLS 1.2
Forward Secrecy
Certificate Authority (CA)
Conclusions
Configurations / Provisioning
Device Access
Passwords
Two Factor Authentication
Single Sign-On
Brute Force Attacks
Signaling Encryption and SIP ALG
Secure Media Transmission
SRTP
SRTP DTLS
ZRTP
Conclusions
VPN Usage
Conclusions
Market Analysis
Hosted, Managed, or Cloud? Or Something Else?
What is the “Real Cloud”?
Recurring or Perpetual (Lifetime) Subscriptions
Deployment in a Managed Data Center or In-House?
Hybrid is the Answer
Deployment by the Customer or via an IT Integrator?
Conclusions
Requirements Analysis
Number and Location of Sites
Site Size
Internet Reliability / Critical Business Application
Bandwidth Usage and Video Calls
Features
PSTN Termination
Legacy Features
Security and Confidentiality
Call Data Record and History
Conclusions
Backwards Compatibility
Upgradability and Release Policy
Proprietary / Open Source
Standards
One Shot / Per User and Scalability
Platforms Support for SIP / XMPP
Cisco
Avaya
Unify
Shoretel XMPP
IBM Sametime
WhatsApp
Lync / Skype for Business (Federation)
Google
Mitel (federation)
Switchvox
Innovaphone
Ringcentral
Wildix
Platforms Support for WebRTC
Conclusion
Deployment Plan
Audio Calls
PSTN Trunking
Internet Connectivity
Phones and Endpoints
Collaboration Utility / Softphone
Desk Phones
Integration
Feature Keys
EHS or Bluetooth Headset Support
Video Support
Backlight
Gigabit / Fast Ethernet / WiFi
PoE (Power over Ethernet)
FXS / ATAs
WiFi phones
Mobile Apps
Wireless DECT Phones
GSM Mobility
Autoconfiguration / Provisioning
Trunking
SIP Trunking
Survivability and Failover
PSTN Connectivity via Media Gateways or on the Server?
PSTN Connectivity
Networking and Reliability
Firewall / Routers
SIP-ALG
Switches and PoE
LAN Network Separation
PoE Switches
PoE Classes
Energy-Efficient Ethernet
Failover / Redundancy / Load Sharing
Account Management
List Creation
Import of Users
Single Sign-on
Start Simple, Add Later
First Deployment
Continue Improving
What’s Next? Chat Bots and Workstreams
Sources and Additional Reading
Appendix A - Q.850 - ISDN Error codes
Appendix B - List of SIP response codes
1xx—Provisional Responses
2xx—Successful Responses
3xx—Redirection Responses
4xx—Client Failure Responses
5xx—Server Failure Responses
6xx—Global Failure Responses
Notes
Dimitri
Osler
(No)
Value in Unified Communications
There
is no value in Unified Communications
without a lean approach
Steve Osler’s preface
It
was the winter of 2004, on the Caldonazzo lake, a common holiday
place in Trentino, a Region in the middle of the Italian Alps.
There,
near the fireplace with a cold Guinness, the Wildix project was
born.
We
didn’t know the extent of what would happen in the following
years;
we didn’t know we would have success with our idea; we definitely
didn’t know we’d spread throughout the European continent and
start a company in the US. We
were just sitting there chatting, when we began discussing how
something was, and still is, wrong in the PBX and UC market.
At
that time, the big deal in the industry was about replacing TDM
telephony systems with a new VoIP protocol. The market was still
dominated by big vendors, and we were discussing how we could
position a new product in the market. Our
thought process was simple: a business invests money to have a
return
on the investment. What was, and what is, the return on
investment
for a PBX or UC&C? Surprisingly,
very few people know or think about the return of the money
invested
in a new UC system. There is a reason for this: For a very long
time,
the PBX was considered a part of the building infrastructure,
much
like the lighting or heating system. For a century, a phone was
just
a phone, and it was clear what it was used for and nobody cared
as
long as they had a dial tone. At
the end of the ‘90s, the IP protocol was good enough to carry the
voice of people. It was clear that the market was about to get
disrupted, and as usual, the Vendor that was inside the market,
didn't understand it. They
thought the VoIP was just another, less expensive way to carry
the
voice. The reality is, when you put your stuff online, a world of
possibilities opens up - and they missed it. Dimitri
had just gotten his degree in computer science and didn't know
shit
about telephony; this turned out to be the base of his success in
designing a new PBX system. Having
no clue about the established market of telephony, permitted him
to
think outside of the box. And he did. Having no idea of the
common
sales points used by the establishment, we started to develop our
own, and we admit, were pretty naive. We
started with the assumption that if somebody pays a dollar, he
wants
that dollar back, with interest. This
idea became the first pillar of our proposal:
Our PBX will help customers to develop more business. Our
second assumption was developed by looking at the growing web
software market at the time. The importance of features were
becoming
less important than being able to use those features. Thus,
the second pillar of our proposal was born:
To produce a software that was easy to use. Because what good is
a
feature, if no one can utilize it? The
third idea was related to the lack of security of the phone
systems
at the time. In the ’70s, Steve Jobs’ first business was selling
blue boxes to trick the AT&T phone system into accepting free
international calls. In the 2000s, attacking phone systems to
steal
international calls and then sell them on the new VoIP
termination
market was, an illicit, but very lucrative business. This
became the third pillar of the Dimitri’s strategy:
In designing the products, everything that connects to the
network
must be able to guarantee its own security. This
is what Dimitri formalized on that cold evening: UC&C that
helps
to increase business, that is easy to use to empower people, and
that
takes care of its own security to minimize the costs.It
took several years to develop everything Dimitri had in mind, but
all
of his ideas proved to be correct, and are beneficial for many
businesses around the world today. After
12 years, Dimitri finally decided to write a book about
how business communication should work.
In it, you'll find everything you need to know to avoid losing
money
in a market that is still in turmoil after many years.Steve
OslerWritten
in Tallinn August 2017
Part 1
Why UC&C must be Lean
and the road to WebRTC
Introduction
Ten years have passed since we wrote the book
Asterisk and Surroundings and the follow-up Asterisk and the VoIP
Open
Source World, which described the open source VoIP
movement and the adoption of SIP. Within the
telecommunication and PBX market, this movement was
initiated by Asterisk, and followed by projects such as
Freeswitch and Callweaver.
Over the last ten years, a revolution has taken place. Our
book
has been at the forefront of this change, leading the industry
in the right direction. SIP was just the first disruptive protocol.
It was followed by XMPP and, more recently, by WebRTC.
Companies, many of them
startups, embraced this new open
communications movement and thrived. Companies like
Digium, Fonality, and RingCentral experienced consistent
market growth. In addition, Wildix, the company I started with
Stefano back in 2005, is also part of this group.
Late adopters like Cisco, Avaya, and Unify were eventually
forced to change by the market, and inevitably lost a market
share to these fast-acting companies.
Those who resisted the change either merged with other
companies, reduced their business, or eventually went
bankrupt (Nortel, AAstra, Ericsson, Alcatel, and Siemens (now
known as Unify)). These companies lost their technological
leadership.
If we look at the market for IM apps, the landscape has
completely changed. Just ten years ago, applications like
Skype and Windows Messenger were ubiquitous. Nowadays,
chat/call client Skype (despite taking over the Windows
Messenger user base) is rapidly losing its user base to
Whatsapp, Facebook Messenger, and Google Hangouts. The
latter of the services did not even exist five years ago. All of
them are based on XMPP and WebRTC.
Following the spirit of Asterisk and Surrounding, which
became a reference book in Italy, I decided that it was time to
update
and expand the view of the market.
So, how can you take advantage of these technologies, and
deploy a Unified Communication Platform which:
● Increases productivity
● Increases the number of customers and their satisfaction
● Is secure and easy to manage
Over the last fifteen years, I have contributed to the
deployment of thousands of systems in all business sectors.
Now, I will use this experience to describe the advantages of
adopting these technologies, which will improve the
performance of your organization while avoiding common
pitfalls.
The final goal is to obtain more results from the investment
we are going to make–a better communication system. The majority of
organizations are wasting their time and money on systems that do
nothing for their business. Instead of
looking for improvement, administrators are attracted to two
things: saving money and avoiding risks.
Both choices bring results in the short term, but are
terrible in
the long term. They force organizations to spend more money
reinvesting because the “old new system” must be replaced.
If you are looking to improve the way your organization
communicates, read on. However, if you are mostly attracted
to the idea of saving money and avoiding risks, make sure you
read this book before making a bad choice.
The book follows a logical path, guiding the reader along the
way. It starts by highlighting the advantages that can be
achieved, continues by describing the technologies that can
give us these results, and, finally, describes best practices to
follow to immediately start building your new communication
system.
The first two chapters explain how these new technologies can
revolutionize your business by automating, simplifying,
and streamlining processes. In addition, reducing and
improving the quantity of communications within the
company is discussed.
The third chapter explains, in simple terms, what SIP, XMPP,
WebRTC, and Web mean, and why they are so important in
any communication solution. At the same time, I will also
explain why other protocols are being abandoned.
The fourth chapter introduces the technologies and
methodologies that allow for the integration of a
communication solution with external applications, achieving
the partial or full automation of many processes.
The fifth chapter addresses the security concerns that arise
when a service connected to the Internet is deployed. Security
is a serious topic and, unfortunately, it is either overlooked,
exposing organizations to risks, or incorrectly addressed through
cumbersome solutions.
The sixth chapter clearly outlines the advantages of using a
product with an Open Source License / Open Protocols over a
proprietary one. It also clarifies the differences between both
solutions.
The seventh chapter
explains how to deploy a new
communication system. It outlines the decision-making
process when choosing between cloud or hosted, how to
develop a migration plan from an old solution, and the
system’s network requirements.
My hope is that:
● organizations considering the adoption of a new UC system
● IT Managers and IT companies deploying UC solutions
● teams who are developing UC platforms on the market
will be motivated to build simple and effective communication
systems based on innovative solutions and solid standards.
Terminology
Throughout
the book, I use the following terms:Team
- the people inside the organization, even if only a
single personUsers
- the consumers of products and services provided by the
teamCommunication
System - the software/hardware solution that provides
Telephony or
Unified Communications servicesCRM
- a Customer Relationship Management application
Unified Communications That Work
Why should we have leaner communication?
Because the goal of a modern communication system is to help the
company
remove waste by facilitating higher quality and less frequent
communication.
Let’s see how.
We live in an age that
offers a record number of possibilities
to communicate. Landlines, mobile phones, email, social
media, faxes, public messengers including Skype, Whatsapp,
Viber, WeChat, and Facebook Messenger just to name a few.
In addition to these applications, we have access to corporate
CRMs, ticketing systems, chat systems, blogs, and forums.
Often the use of new medias do not necessarily lead to the
dismissal of the old ones.
Too much communication leads to loss of time and efficiency.
Too much uncontrolled information leads to slower
processing times and user dissatisfaction.
Simplify
Consider
the following example of a mail exchange:Look familiar?In
most organizations, users are kept as distant from the team as
possible, and they are forced to use email for communication.
Conversations are carried out over a series of replies, forwards,
and
CCs, involving an ever-expanding chain of people. There is no
simple
way for a customer to get in touch with the team by means of a
chat
session, which could possibly be upgraded to a phone call, video
call, or chat conference.In
many organizations, the team keeps using email to exchange
information that should really be shared in real-time to be
effective.From
a customer perspective, real-time communication (chat, calls, and
conferences) is clearly better. The question is whether it is
also
better for the organization.The
answer is yes. It allows the organization to achieve more in less
time. It also prevents misunderstandings, and as the customer
gets a
better service, the team will achieve better results.Of
course, there are a few limitations:Human
resources (people) are limitedProcesses
might be not optimized, leading to overuse of these human
resourcesIf
the team is overloaded by real-time communications, the time
needed
to reply will go up. Management often reacts to this overload by
creating queues of incoming emails, leads, and calls. Is this a
real
solution?By
themselves, queues get longer and make the service experience
worse.A
unified communication solution can solve these problems. Now
let’s
see now how different features can help us achieve the goal of
simplifying communication.
Presence and Chat
When
contacting an organization, most users will first check the
organization’s website to see the contact options available.
Typically, these include a phone number (with working hours) and
an
email address.Modern
Unified Communication (UC) systems now can offer much more. They
can
show, in real-time, whether or not someone is available. They
also
allow the user to start a chat session, which can become an audio
or
video session right from the organization’s website.By
offering a list of organizational units or people inside the
company,
the website allows visitors to find the right contact by
themselves.This
is achieved by maintaining a basic and extended presence. A
website
can show the status (busy, DND, available, away, etc.) of the
team
members, including their phone status. Preferably the presence
would
be extended with a status message that indicates how long the
team
member will be busy.A
returning customer can then automatically get in touch with the
team
member who served them the first time.Within
any organization, a lot of time is wasted asking team members
whether
they are currently available, or writing and replying to emails
which, if converted to a chat session, would require much less
time.
Presence and Calendar Sync
Presence
is a very useful tool, and its settings can be easily automated.
How?
By using a calendar.Most
team members already indicate upcoming meetings, working hours,
vacations, holidays, etc., in their calendar. A smart Unified
Communication system must use this information to automatically
change the availability (presence) of the user.Presence
information can also be used to route incoming calls to a user,
thus
automating the call forward management based on the user’s
status.
Queue Audio Notifications
In
a retail shop or public office, a customer has a clear perception
of
the queue of customers in front of them. The customer can easily
see
the number of team members working on the queue, the size of the
queue, and can quickly calculate the time needed to reach the top
of
the queue.In
communication systems, the status of queues and team members are
hidden from the customer, unless the customer is informed during
the
call.The
customer, when calling the company, must know immediately if the
team
is available. If the team is not available, or if a call cannot
be
processed fast enough, the customer’s precious time is being
wasted. In this scenario, the customer must be informed of the
delay
and given the option to provide contact details (allowing him/her
to
be contacted later).Thus,
during a phone call, the user must know how much time, on
average,
they must wait before receiving an answer. If the time is too
long,
the system itself should inform the caller and offer the option
of
leaving a voicemail message or requesting a callback, which will
allow the team to contact the customer later.
Geolocation
The
service provided by many organizations is strictly tied to
location.
Let’s consider, for example, a service like Uber. With Uber, the
location of each driver, together with their availability, is
vital
to provide a quality service to customers. The same is true for a
delivery or on-site support service.In
these cases, the geolocation of every single team member becomes
very
useful information; information which must be added to a website,
together with presence status (availability).The
information can be made visible to the team handling the customer
requests or directly to customers themselves (on the
website).Inside
an organization, geolocation is a very useful tool.
Knowing–without
asking–where each person is located is extremely helpful,
especially in organizations where team members work remotely,
often
visit customers, or roam between offices. When team members are
in
different time zones, the location information allows them to
contact
others at an appropriate time of the day.Example of a geolocation implementation
File Sharing
Many
companies still fill their mailboxes with transferred files and,
in
particular, with multiple revisions of documents.A
unified communication system must provide a way to transfer files
in
real-time between team members and between users and team
members.
Moving file transfer to a real-time protocol greatly increases
business opportunities. With these technologies, a website
visitor
can immediately receive an offer or specific documentation,
instead
of waiting for an email.Immediate
file sharing also allows the company to bypass the annoying
restrictions of mail servers including file size and file
extensions
(.zip and .exe files are usually not allowed).Online
collaboration tools (such as Google Docs and Office 365) further
simplify the management of document revisions, and allow team
members
to both download copies of the documents and work on them
simultaneously.
Screen Sharing
Support
and sales teams need more options to quickly share content with
users. Screen sharing is a great tool for making online
presentations
to potential customers.Support
teams can also use it to provide real-time assistance to
customers.Screen
sharing is not something new, but unfortunately its usage is
often
complicated by both technical and human difficulties in getting
the
communication started. Typical scenario:
“
..conversation
ongoing..T:
Now please go to the website teamviewer.com and download the
application.C:
Where?T:
T-e-a-m-v-i-e-w-e-r.com.C:
Ok, I am opening it, and then? T:
Go to the download area.C:
Sorry, I cannot find it... wait... ok, downloading.T:
Downloaded?C:
Yes, now what should I do?..Installation
performed..T:
Now give me the codes you see on your screen.C:
1321...T:
I cannot connect...C:
My mistake, one more 1 at the end.T:
OK, seems to be connecting, Wait, I need to update the version of
my
TeamViewer...Updated..C:
Looks like your client is disconnected.T:
Yes, free license limitation.”I
imagine that most of you have been through this situation, either
as
a customer/user or as a team member providing support.The
solution is to have screen sharing completely integrated inside
the
UC platform. The solution should also allow for remote control.
The
activation of a session must be as easy as possible, ideally from
within a chat session or website, with a single click starting a
screen sharing session, instead of requiring the user to visit
other
websites.Inside
an organization, screen sharing should become the substitute to
visiting your colleague’s desk to perform activities like:Providing
support on a computerSeeing
the latest revision of a documentAttending
a presentationAll
of these activities require just a few seconds over screen
sharing,
and are possible even when the team members and customers are not
physically close to each other.
Video Calls
Video
is another media which, like screen sharing and file sharing,
allows
companies to reach their goals more quickly. Besides being much
more
engaging than a simple phone call, a video session allows the
company
to show details via the camera, such as defects in a product or
sample ideas.
Conferences
The
latest and most significant simplification in communication tools
within an organization is the possibility of attending virtual
conferences.Similar
to screen sharing sessions, the key factor is ease-of-use.It
should be possible to upgrade an ongoing audio call or chat
session
between team members, or between a customer and team member, to a
conference involving more people. Additionally, the conference
must
immediately support all the following media to be
effective:Screen
sharingVideo
callsChat
and presenceConferencing
allows efficient communication with team members and users
outside
the organization and simplifies decision making.
Automation
< [...]