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:
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.
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:
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 Avaya Aura Media Server provide the Adaption and transcoding of WebRTC Media.
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.
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:
These users can avail of full Audio Video and conferencing capability including application and screen sharing.
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
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.
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.
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.