Cisco, Meet Avaya. Avaya, Meet Cisco.
Come together, right now
--Lennon and McCartney
If you are as old as I am, you have almost certainly been asked this question at least once in your life: "Beatles or Stones?"
While that's an easy answer for some folks, I happen to really like both bands. No single Beatle had the stage presence of Mick Jagger, and to this day it's hard to beat a Lennon and McCartney song. Both bands produced great albums that stand the test of time, and their considerable impacts on music and popular culture are undeniable.
Today, I am faced with different, yet similarly earth-shattering questions: "Windows PC or Mac?" "Android or iPhone?" "Uber or Lyft?"
You know what? I use them all depending on what I'm trying to accomplish. They each do something "better" than the other, and ultimately, my usage is based on need rather than brand loyalty.
Here in the world of communications, I am all over the map when it comes to vendors and technology. On my desk, I have two Avaya physical telephones (a SIP 9641 as well as a Vantage Android tablet), while on my PC I run Microsoft's Skype for business, Avaya's Equinox Client, and Cisco's Webex Teams. When it comes to Web conferencing, I am fluent in just about any product you can possibly mention. No matter what meeting I am asked to join, I know which buttons to press when I need to go on mute or share my screen.
United We Stand, Divided We Fall
As a knowledge worker, I am comfortable with the many different products I exercise on a daily basis, and as a software developer, I am constantly looking for ways to make them work better together. Rather than putting each vendor and its products into different silos, I strive to create an ecosphere of technologies that not only do what they were originally designed to do but augment the feature sets of their competitors. To sweeten the pot, I want my communications products to seamlessly integrate with software and devices that are not inherently communications-based.
Oil and water? I think not.
To demonstrate what I am talking about, allow me to showcase an integration I recently put together that ties together two of the fiercest competitors in the communications industry with what might be the most cutting-edge digital technology of our time.
My Three Loves
If you have been following my blogging over the past several years, you will find a number of reoccurring themes. Near the top of the list is the Internet of Things (IoT). Not only have I written extensively about IoT, I have developed software and solutions that gather and act upon telemetry data from a variety of sensors connected to several different IoT platforms.
Next would be my love of workflow engines. Creating clever pieces of software is fine and dandy, but I want them to become part of a much greater whole. I want to take advantage of voice and text without having to write the code that implements those mediums. I want to work with databases and cloud services without having to recreate them on my own. Ultimately, I want to construct flows that combine, organize, and manage data so that action can be taken upon that data.
Of course, the reason I began writing blogs in the first place was to share my thoughts on communications in general. I started by dissecting point-to-point SIP call flows, but these days I'm more interested in how team collaboration solutions (or by a different name, workstream communications) create a more fluid and natural way to work. While their underpinnings may still be SIP, the feature sets these tools deliver are light years away from old-school dial tone, conference, and transfer.
Make It So, Number One
Enough talk. It's time to put my words into something more concrete.
To demonstrate how my top three loves can be combined, I created a proof of concept that uses the Arrow Connect IoT cloud platform, a Silicon Labs Thunderboard React multipurpose sensor, Cisco's Webex Teams, and Avaya Breeze. My goal was to show that these silos of really cool functionality can be culled together to create something even greater.
The flow is simple enough. I use IoT sensors to gather information about the physical world and take action on that information in real time. More specifically, I use IoT events to dynamically create Webex Teams spaces. I then bring people into those spaces in order to allow the team members to interact with one another and additional IoT events as the sensors detect and report them to the space. This creates a platform for the right people to immediately come together to respond to real-world problems.
The reason I can do all this is that every one of my chosen platforms exposes itself to the outside world with RESTful Web Services. In the case of the IoT platform, Arrow Connect can send a RESTful POST message when one of its monitored sensors detects a specific IoT condition (e.g. temperature > 80 degrees). Avaya Breeze can receive that POST message and launch the appropriate workflow (i.e. a Breeze Snap-In). That workflow instructs Webex Teams to create a new space and invite users into that space. The workflow can then relay IoT data into the Webex Teams space as if the sensor was an actual person conversing with the other team members.
Pictorially, my workflow looks like this:
The workflow waits for the Arrow Connect platform to tell it to run. Upon launching, it creates a Webex Team Space (labeled "Emergency Response State"), adds users to the space, and then relays the IoT message to the space. I use a restdb database to associate the IoT sensor(s) with the team members assigned to handle any events that sensor generates. This allows me to dynamically change the team's composition without having to recode the Breeze workflow.
In the following example, I configured the Breeze workflow to launch when the sensor detects a light value above 2,000 lumens. It continues to update the team on the current IoT conditions until the light returns to an acceptable level.
For a use case, consider a hospital that needs to carefully manage its blood supply. If the temperature of the room storing the blood rises above six degrees centigrade, the hospital needs to quickly compile a team of people that can both solve the temperature problem and save the blood supply from imminent ruin.
On their own, these platforms lack one or more of the necessary components to complete the proof of concept -- Breeze isn't natively aware of IoT data and events, IoT sensors can't send messages to Webex Teams, and Arrow Connect has no idea what a Webex space is. However, by opening these systems up to the outside world, each platform becomes a building block for a solution that can tie all these disparate pieces together. This allows silos to be replaced by holistic cooperation.
The point of this article isn't about me and my programming skills. I'm simply using open interfaces that anyone in the world can access. The real point is that openness makes for powerful, unique, and transformational solutions regardless of the vendors involved. Arrow Connect and Avaya Breeze are great products on their own. So is Webex Teams. And for that matter, so are Slack, Microsoft Teams, and Glip. Bringing them together makes the sum so much more incredible than its individual parts. To my old ears, it's like Mick Jagger jamming with the Beatles on a Grateful Dead tune at Woodstock. What once seemed impossible becomes the sweetest music in the world.