Avaya Client SDK

Introduction

Avaya Client SDK Developer Hub Structure

The Avaya Client SDK Developer Hub is organised by Operating System (OS) platform and Avaya Client SDK packages. Each platform lists its supported packages. Each package has a logical grouping of functionality that can be used independently or with other packages. These grouping of functionalities ensures developers have control over which SDK libraries are included with their application which in turn will reduce complexity and optimize the application size. Documentation for each package will include:

  • Guides articles: These will lead the developer through their first project using the SDK package.
  • Technical articles: Articles written by developers, for developers, on more advanced concepts. The library of technical articles will increase over time driven by developer feedback/questions.
  • API reference
  • Sample application

The Avaya Client SDK libraries can be downloaded by OS platform via the Developer Download tab.

The following supported packages by platform are shown in the table below:

Package Definition iOS Android Windows macOS JavaScript Infrastructure requirements1
Communication Services Calls (Audio, Video), Signaling Features (MWI, feature buttons, ...), Conferencing, Collaboration, Contacts, Presence, Messaging Service Yes Yes Yes Yes Yes Avaya Aura® Infrastructure
Communication Services (For IP Office deployments available from Client SDK 4.1) Calls (Audio, Video), Signaling Features (MWI, feature buttons, ...), Conferencing, Collaboration, Messaging Service Yes Yes Yes Yes N/A IP Office™ Infrastructure
Deskphone Services Vantage Platform services N/A Yes N/A N/A N/A Used in conjunction with the Communication package to provide additional call control capabilities with the Avaya Vantage device
Recording Management Services N/A N/A N/A N/A Yes Avaya Equinox Conferencing
Meeting Scheduling Services N/A N/A N/A N/A Yes Avaya Equinox Conferencing
Customer Interaction Services Agent, Supervisor, Work/Interactions and Team Services N/A N/A N/A N/A Yes Avaya Oceana
Customer Interaction Utilities Provides additional Customer Interaction functionality: eMail services N/A N/A N/A N/A Yes Avaya Oceana
Data Services Context Data N/A N/A N/A N/A Yes Avaya Oceana
Sharing Services Sharing Web Pages, Co Browse N/A N/A N/A N/A Yes Avaya Oceana

Note: See release notes for solution line up.

Avaya Client SDK Solution Architecture while using Avaya Aura® Infrastructure

Partners or Customer Developers can create applications over a mix of device platforms such as mobile, desktop or browser applications. No matter which platform is chosen, the SDK's methods and class provide an abstraction of the Avaya infrastructure. This abstraction allows developers to create their applications without the need to create a deep knowledge of the communication protocols or infrastructure elements.

This allows developers to create new or augment existing desktop and mobile solutions with communication, and collaboration work flows. These Applications can avail of a wide range of Unified Communications and Collaboration (UC&C) capabilities from voice and video call control (direct from the application or through the control of a SIP desk phone), to IM and presence integration, to a full conferencing, collaboration experience.

Similarly, developers can utilize JavaScript to integrate too or create an application using a web container, a browser extension or web portal. They will utilize WebRTC 1.0 for real time voice and video communication built directly into the browser (Chrome, Firefox or Edge) or in conjunction with third party extension which can add this capability to Firefox, Safari and Internet Explorer.

Applications utilizing the Avaya Client SDK JavaScript platform with WebRTC capabilities will deploy following components:

  • Avaya Aura® Web Gateway,
  • Avaya Aura® Media Server.

Client sdk deployment genetic TE

The Avaya Aura® Web Gateway provides an active-active and highly scale-able set of capabilities comprise of an Endpoint Service Gateway and Web Portal.

  • The Endpoint Service Gateway (ESG) provides the abstraction of the Avaya infrastructure for developers creating web based / JavaScript applications. This abstraction includes the conversion of WebRTC signalling to SIP which is required by the Avaya infrastructure. When acting as a WebRTC Signalling Gateway the Endpoint Service Gateway controls Audio and Video calls and provides a full range of call / conferencing controls. In addition, Presence is mediated through the gateway.
  • A Web Portal host the Avaya Equinox Conferencing, Meetings for Web client. This portal functionality is utilized by applications created by Avaya and is not accessible to third party developers

The Avaya Aura Media Server provide the Adaption and transcoding of WebRTC Media.

Avaya Client SDK Solution Architecture while using IP Office™ Infrastructure

IP Office™ is an integrated, modular communications solution. It provides basic telephony services, such as making and receiving calls, basic conferencing, voicemail, Presence, Directory and resiliency to meet the evolving needs of small, medium, and large enterprises. IP Office supports Application Presence for non-Telephony usage (example states - “available”, “busy”, “away”, “offline”, “do not disturb”) and Telephony Presence for Telephony usage (example states - "On a Call"). To avail all the IP Office services, "Avaya Softphone" license has to be installed in IP Office server and the User Profile should be Office-worker, Power User, or Teleworker. Note that only limited set of features will be availed with the "Third party IP Endpoints" license.

The following diagram shows the architecture of Avaya Client SDK when the IP Office™ infrastructure is deployed.

Client sdk deployment IPO

“Over The Top” Equinox Conferencing Deployment

This is a deployment of Equinox Conferencing where there is no Aura System deployed. This is referred to as “Over The Top” deployment, in that it can be placed in addition to another vendor’s communication system. This deployment, is supported on Web(JavaScript), Mobile and Desktop platforms supporting both SIP and HTTP(S) signalling. In an “Over The Top” deployment Signaling from the Client or Application to the Equinox Management Server is supported via HTTP(S).

When used with Avaya Equinox® conferencing 9.0.2 or higher, applications developers using these capabilities can create a conferencing client for the following new use cases:

  • Users can have their own virtual room
  • They can join a virtual room as named moderator or participant users
  • Users can Join as Guest users
  • Users configured as an Aura UC user joining a conference from another company that has deployed Avaya Equinox conferencing

These users can avail of full Audio Video and conferencing capability including application and screen sharing.

Client sdk Over the Top Equinox Conferencing deployment

Full Solution Deployment

The following diagram shows the additional functionality available through the Avaya Client SDK when the Avaya Oceana® Omni-Channel Contact Center infrastructure is also deployed. These Oceana Omni-Channel capabilities are developed on the Avaya Breeze platform utilizing several Breeze Snap-ins and are exposed to the developer community through the Avaya Client SDK JavaScript API's. The Unified Collaboration Model (UCM) Snap-in utilizes a Computer Telephony Integration (CTI) frame work to control of Avaya endpoints.

The solution can avail of browser based WebRTC media by addition of the Avaya Aura® Web Gateway (AAWG). In this solution the browser using http registers to Aura via the AAWG as a SIP endpoint. The Agent or supervisor application controls this SIP endpoint using UCM and CTI

Client sdk Full Solution deployments

Oceana Agent /Supervisor client and Avaya Mobile Video

The Client SDK 3.3 and Oceana 3.4 adds WebRTC support for an Oceana® agents / supervisors client. These capabilities allow agents and supervisors to avail of browser-based voice and video, within the application when an agent is assigned to an Oceana video skill set.

In Client SDK 4.0 and Oceana 3.5 This functionality was extended to support customer side deployment using the Oceana Web Voice & Video Client APIs solution which also utilizes the Avaya Aura Web Gateway (AAWG). The APIs for the customer side integration are a reduced set of API to that available in the Avaya Client SDK Communication Services package and are provided via a API wrapper layer to this package. These APIs can be accessed via the Download SDK quick link on the DevConnect Oceana Solution pages.

The following figures depicts a customer application(s) supporting click-to-call and click-to-video functionality initiated by end user from either their browser or mobile application (IOS & Android). This call is presented to an Oceana Agent who is running Workspaces with media provided in the Browser (WebRTC).

The Customer Web Servers handles the authentication of the user of the Customers application and passed an authorization token to the application which. This token is accepted by AAWG and the application is authorized to make calls to the Customers Avaya infrastructure.

A voice / video call is instigated from this client is presented to Aura as a SIP Session, by the AAWG. Its media is adapted by the AAMS server deployed with the AAWG. This call is routed to Oceana where it is queued. The media from this call is then anchored on the Breeze AAMS where it receives it call treatment. When assigned to an agent the media is presented to AAWG’s AAMS where the media is adapted to support the browser WebRTC codecs. The application will exercise call control for these sessions through by UAC with mid call actions instigate by the application.

Mobile Video AAWG

AACC Customer Endpoint Implementation

With release 7.1, Avaya Aura Contact Center (AACC) delivered a solution to handle video contact type. AACC will be able to configure video contact type, assign video skillset to an agent, route a video call, play audio treatments when the video call is in the queue, be able to report the call as a video call in real-time and historical reports. Transfer of the video calls to skillset or directly to another video agent / non-agent is also supported.

Video calls originating from Customer Applications are presented to the enterprise network via the Avaya Aura Web Gateway (AAWG). These Customer applications will utilize the Communication Package (JavaScript) of the Avaya Client SDK. AAWG acts as a WebRTC to SIP gateway converts the signalling to SIP. The SIP call is then routed to AACC via Avaya Session Manager (SM). AACC then routes this video call to an agent with video capable media endpoint. In release 7.1, AACC supports Vantage phone (running Equinox Android app) as hard phone and Equinox Desktop as a soft phone as agent's video endpoint.

The Communication Services JavaScript sample application will be updated and Published to DevConnect with Avaya Client SDK 4.5 (Mar 2020). If you require early access to this sample application please request support through the Avaya Client SDK Forum.

AACC Video High Level Architecture

Note: Web Based Customer applications using Communication Services Package (JavaScript) is supported by AACC. Mobile and desktop applications using other Communication Services Package platforms are not supported.