SHARE



ABOUT THE AUTHOR


Andrew Prokop
Andrew Prokop has been heavily involved in the world of communications since the early 1980s. He holds five United States...
Read Full Bio >>
SHARE



Andrew Prokop | November 23, 2015 |

 
   

An Introduction to Avaya Engagement Call Control Web Services

An Introduction to Avaya Engagement Call Control Web Services Like Cisco, Avaya has adopted its own API attitude -- and it's worth talking about.

Like Cisco, Avaya has adopted its own API attitude -- and it's worth talking about.

Not only do I write for No Jitter, but I am also an avid reader of all its articles. While I enjoy nearly every topic my fellow writers explore, I am especially intrigued by those that address programming and APIs (Application Programming Interfaces). That's not surprising, though, since most of my professional life was spent writing software for the company formerly known as Nortel. I began with Intel 8085 Assembler Language and spent the last several years writing object oriented Java applications.

So, it's natural that I was thrilled to see Beth Schultz's recent article on Cisco's approach to APIs (Adopting an API Attitude at Cisco) and their shift from product team centric to developer centric. I have struggled with poorly designed APIs, and was happy to learn that Cisco has put a new focus on how their APIs are designed, documented, delivered, and ultimately supported. I know firsthand how that kind of attention to detail can simplify even the most complex software development projects.

Avaya understands this, too, and its Engagement Development Platform (EDP) is opening up access to Avaya servers and services in ways that were not possible a few short years ago. Sitting in the middle of just about everything, EDP applications have insight into communications workflows that isn't possible with traditional APIs such as TSAPI and JTAPI.

For the first year or so, developers were limited to writing their EDP applications in Java and creating what Avaya calls Snap-ins (think Java Servlet). As an old Java programmer myself, I was perfectly happy with that approach. However, as powerful and as flexible as I might find Java, for others it can be a square peg in a round hole, and if they can't use their preferred language, they have no interest in EDP. Consequently, this limits the pool of great developers and applications.

The new Avaya Engagement Call Control (ECC) Snap-in changes all that. Instead of requiring programmers to use Java for application development, ECC exposes a vast array of call control and voice mail functions through a series of RESTful Web services. This makes ECC language agnostic and allows developers a choice of programming languages and scripting tools including Python, Ruby, Node.js, .Net, PHP, and yes, even Java.

ECC Web Interfaces

To begin with, ECC provides an extensive list of functions that can be invoked on calls of all types -- digital, H.323, SIP, analog, station-to-station, and trunk:

  • Make call
  • Get call
  • Drop call
  • Drop connection
  • Answer call
  • Hold call
  • Retrieve call
  • Get call forward
  • Set call forward
  • Cancel call forward
  • Get connections by address
  • Get call connections
  • Get connections details
  • Redirect call
  • Single step transfer
  • Consult initiate
  • Complete transfer
  • Complete conference

As a longtime software developer, I can immediately envision a dozen applications that I could write with those function calls including click-to-call from a corporate webpage or CRM (Customer Relationship Management) application. Given that so many of today's applications and workflow management solutions support Web services extensions, integration with Avaya call control becomes downright trivial.

In addition to call control, Avaya exposes an extensive number of additional Web services calls that can control voice mail operations on Avaya Aura Messaging:

  • Get Messagebox by Id
  • Get Message by Id
  • Get All Messages
  • Get Message Flags
  • Set Message Flags:
  • Get Message Parts
  • Get Message Part by Id
  • Get Message Part Content
  • Purge All Messages in Trash

By using these function calls along with the previously mentioned call control APIs, it becomes an easy task to combine visual voice mail with click-to-call to create a powerful soft phone that can run as a standalone application or be embedded into an employee Web portal. The beauty of Web services is that they don't restrict the developer, the platform, or the solution. Add scalability, portability, and security to the mix and you've got yourself a winning API strategy.

Wetting Your Toes

This is about the time when I would really like to get down and dirty and take you into the weeds of JSON formatted messages and responses, but I will spare you. However, I will tell you that ECC provides two essential modes of operation. First, it gives developers the ability to tell an Avaya system to do something. That something might be as simple as making a station-to-station voice call or as complicated as dropping a specific participant from a conference call.

Second, developers need to know when something has happened. This might be an alerting call, an answered call, a dropped call, or an acknowledgement that someone left a conference call. These events consist of the following:

  • ALERTING
  • ANSWERED
  • PARTICIPANT_DROPPED
  • CONFERENCED
  • TRANSFERRED
  • HELD
  • UNHELD
  • ACTIVE
  • FAILED

Of course, on a busy telephone system, there will be thousands of these events happening all day long. To keep applications from becoming swamped with too much information, ECC applications register against the stations they wish to monitor. They see all the events that matter to them and are spared from having to process anything that isn't of interest.

Next Steps

The process for obtaining the documentation (which is quite good) and SDK (Software Development Kit) for ECC is easy. Simply go to the Avaya DevConnect page and everything you need for ECC is there for the downloading. Developers familiar with Web services and client/server programming should have no trouble understanding the function calls and their associated events.

Beside providing an extensive set of open interfaces, ECC wants to make writing communications software easy for non-communications programmers. Since I have been so immersed in this technology for 30+ years, I am not the best judge of how well they succeeded with this initiative. However, from what I can tell, anyone who has ever picked up a telephone shouldn't have any difficulty writing fairly sophisticated applications. Knowing more will certainly help, but it's not a requirement.

In closing, I hope you see that like Cisco, Avaya has adopted its own API Attitude. It began with Engagement Development Platform and a powerful set of Java APIs, and has matured nicely with a strong set of Web services APIs that make programing as simple as navigating to a webpage.

Andrew Prokop writes about all things unified communications on his popular blog, SIP Adventures.

Follow Andrew Prokop on Twitter and LinkedIn!
@ajprokop
Andrew Prokop on LinkedIn





COMMENTS



August 16, 2017

Contact centers have long been at the leading edge of innovation in communications technology, given their promise of measurable ROI and the continual need to optimize customer interactions and sta

July 12, 2017

Enterprises have been migrating Unified Communications & Collaboration applications to datacenters - private clouds - for the past few years. With this move comes the opportunity to leverage da

May 31, 2017

In the days of old, people in suits used to meet at a boardroom table to update each other on their work. Including a remote colleague meant setting a conference phone on the table for in-person pa

August 16, 2017
World Vision U.S. is finding lots of goodness in RingCentral's cloud communications service, but as Randy Boyd, infrastructure architect at the global humanitarian nonprofit, tells us, he and his team....
August 11, 2017
Alicia Gee, director of unified communications at Sutter Physician Services, oversees the technical team supporting a 1,000-agent contact center running on Genesys PureConnect. She catches us up on th....
August 4, 2017
Andrew Prokop, communications evangelist with Arrow Systems Integration, has lately been working on integrating enterprise communications into Internet of Things ecosystems. He shares examples and off....
July 27, 2017
Industry watcher Elka Popova, a Frost & Sullivan program director, shares her perspective on this acquisition, discussing Mitel's market positioning, why the move makes sense, and more.
July 14, 2017
Lantre Barr, founder and CEO of Blacc Spot Media, urges any enterprise that's been on the fence about integrating real-time communications into business workflows to jump off and get started. Tune and....
June 28, 2017
Communications expert Tsahi Levent-Levi, author of the popular BlogGeek.me blog, keeps a running tally and comprehensive overview of communications platform-as-a-service offerings in his "Choosing a W....
June 9, 2017
If you think telecom expense management applies to nothing more than business phone lines, think again. Hyoun Park, founder and principal investigator with technology advisory Amalgam Insights, tells ....
June 2, 2017
Enterprises strategizing on mobility today, including for internal collaboration, don't have the luxury of learning as they go. Tony Rizzo, enterprise mobility specialist with Blue Hill Research, expl....
May 24, 2017
Mark Winther, head of IDC's global telecom consulting practice, gives us his take on how CPaaS providers evolve beyond the basic building blocks and address maturing enterprise needs.
May 18, 2017
Diane Myers, senior research director at IHS Markit, walks us through her 2017 UC-as-a-service report... and shares what might be to come in 2018.
April 28, 2017
Change isn't easy, but it is necessary. Tune in for advice and perspective from Zeus Kerravala, co-author of a "Digital Transformation for Dummies" special edition.
April 20, 2017
Robin Gareiss, president of Nemertes Research, shares insight gleaned from the firm's 12th annual UCC Total Cost of Operations study.
March 23, 2017
Tim Banting, of Current Analysis, gives us a peek into what the next three years will bring in advance of his Enterprise Connect session exploring the question: Will there be a new model for enterpris....
March 15, 2017
Andrew Prokop, communications evangelist with Arrow Systems Integration, discusses the evolving role of the all-important session border controller.
March 9, 2017
Organizer Alan Quayle gives us the lowdown on programmable communications and all you need to know about participating in this pre-Enterprise Connect hackathon.
March 3, 2017
From protecting against new vulnerabilities to keeping security assessments up to date, security consultant Mark Collier shares tips on how best to protect your UC systems.
February 24, 2017
UC analyst Blair Pleasant sorts through the myriad cloud architectural models underlying UCaaS and CCaaS offerings, and explains why knowing the differences matter.
February 17, 2017
From the most basics of basics to the hidden gotchas, UC consultant Melissa Swartz helps demystify the complex world of SIP trunking.
February 7, 2017
UC&C consultant Kevin Kieller, a partner at enableUC, shares pointers for making the right architectural choices for your Skype for Business deployment.
February 1, 2017
Elka Popova, a Frost & Sullivan program director, shares a status report on the UCaaS market today and offers her perspective on what large enterprises need before committing to UC in the cloud.
January 26, 2017
Andrew Davis, co-founder of Wainhouse Research and chair of the Video track at Enterprise Connect 2017, sorts through the myriad cloud video service options and shares how to tell if your choice is en....
January 23, 2017
Sheila McGee-Smith, Contact Center/Customer Experience track chair for Enterprise Connect 2017, tells us what we need to know about the role cloud software is playing in contact centers today.