2. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2
Breeze Overview
3. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 33
What’s Breeze ?
Previously known as Engagement Development Platform (EDP),
Collaboration Environment (CE)
Avaya Breeze is an application development platform that allows
customers to add new capabilities to their Avaya solutions
It is a single integrated platform that extends across multiple devices
or systems, enabling enterprises and developers to build and deploy
collaboration applications in days without prior communication
development skills.
Breeze is a coherent set of:
– Virtual Server Platforms
Application and Management
With optional Avaya Aura® Media Services
– Application Programmer Interfaces (APIs),
– Software Development Kits (SDKs),
– Leveraged by Avaya, Partner, and Enterprise Developers
4. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 4
Single Common Application Platform
Simple, Consistent, Easy
Manageability
Dynamic
Application
and User
Provisioning
Reliability
N+M Geo-
Redundant
Scalability
35,000
Users
Security
Highly
Secure
Virtualization
VMware
Multi-modal: Voice, Video, Email and SMS
5. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 55
Breeze overview
A virtualized and secure application platform for Java programmer
Developers can focus on building the collaboration services they
need, without the need to understand the details of call processing.
A robust SDK with an easy-to-use API
The ability to intercept calls into and out of enterprise to:
– Redirect the calls to an alternate destination.
– Block calls and optionally play an announcement to the caller.
– Change the presented caller ID of the calling or called party.
The ability to place an outbound call for the purpose of playing
announcements and collecting digits.
The ability to invoke web services for added functionality.
The ability to expose web pages and web services for invocation by
remote browsers and applications.
6. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 66
Breeze overview – Cont’d
A Common Data Manager framework that services use to access
common information stored on System Manager.
A Collaboration Bus that allows services to leverage each others’
capabilities via point-to-point and publish/subscribe messaging
patterns.
Tools that log and monitor operations and provide troubleshooting
support.
Breeze can be deployed across multiple geographic locations with
each Breeze providing active service.
Breeze is also a deployment platform for Avaya products.
7. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 77
Engagement Development Platform 3.1 Architecture
Virtual Machine
Serviceability Logging,
Alarming
Hypervisor (VMware ESXi)
Serviceability
Process Lifecycle,
Monitoring, and Recovery
(watchd)
Security—HTTP Firewall
(Nginx)
OS (RedHat Enterprise Linux)
Security—Network Firewall (iptables)
Serviceability SNMP Agent
(netSNMP)
Serviceability Access
(SSH, ASG, pam)
J2EE /
JSR 289
Container
(WAS)
Security—SIP Firewall
(ASSET)
Collaboration API
Connectors /
Utility
Services
Business
Logic
Services
Workflow Engine
WFD
1
WFD
2
Collaboration Bus
Media
Services
Call
Manipulation
Call Event
and Control
Service
WFD
3
Eventing Framework
Eventing
Framework
Connector
Management and Serviceability
Agent Container (Jboss)
SMGR (EMI’s, Arbiter,DRS,
Trust/Certificate, Service Deploy,
RT-license
Provisioning
DB
HA
DB
CertLicensingLogging ProvDBSIP CAR HTTP Routing
8. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 88
Breeze deployed service types
Call Intercept services – called party and calling party services
Outbound Calling services
HTTP-invoked services
Collaboration Bus-invoked services
Service is the general name for snap-ins, connectors and etc.
9. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 99
What is a Snap-in?
Applications, connectors, modular
reusable code
Quickly create or integrate new
capabilities into processes and apps
Use only the functionality you need
Standardize use of best practices
Reuse capabilities across apps
Avaya
Snap-ins
Powered by Avaya
Engagement Development
Platform
10. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1010
Legacy
Clients
Mgmt
Clients*
Mgmt
Clients*
Mgmt
Clients
MgmtMgmtMgmt
SIP
SIP/PPM
SIP/MSML
SMGR with Breeze EM
SIP
Providers
SIP
HTTP(S)
Service
Specific
ASM 6.2 FP1*ASM 6.2 FP1*SM AMS 7.5**AMS 7.5**AMS
CM 6.2 ES
CM 6.2 ES
CM SBCSBCSBC SIP
Clients
Scopia
HTTP(S)
General Purpose
Breeze Cluster
SIP
WebRTC
Clients
WebRTC
Clients
WebRTC
Clients
Core Platform
Breeze Cluster PS-Snap-in
H.323
PSTN
Providers
H.248
H.323
Cli
H.323
Clients
H.323
Clients
Legacy
ClientsLegacy
Clients
H.248
GW
H.248
GW
H.248
GW
External
Systems
Internet
Mgmt
Clients*
Mgmt
Clients*
Designer
Clients
HTTP(S)
Mgmt
Licensed
Entitled
3rd Party
Snap-in Key
Closed
Cluster Key
Open
CollaborationCollaborationContext Store
Breeze
Cluster
CS-Manager
CS-REST
Work Assignment
Breeze Cluster WA-REST
Mgmt
REST
API
Engagement Designer
Real-Time Speech
WebRTC
SMS Connector
Email Connector
Scopia Connector
3rd Party Snap-in(s)
Engagement Call Control
IM&P Connector
SIP
Engagement Development Platform 3.1 High-level Architecture
CM 6.2 ES
CM 6.2 ESCS1000
R7.6
Magic
UniStim
Clients
SIP
Call Park & Page
Call Park & Page
11. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1111
Breeze Cluster and load balancing
Different clusters can have different sets of services
– Cluster Profiles (General Purpose, Work Assignment, and
etc.) are predefined with minimal required services
Provisioning can be specific to clusters
Defining a cluster sets up
– Data grid across all machines in cluster
– Optionally a HTTP load balancer to balance across all
instances in cluster (>= 2 Breeze instances)
Cluster SIP load balance relies on SM load balancing by
using Local Host Name Resolution
12. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1212
Cluster specifics
Breeze Cluster members must be co-located (LAN)
Each individual Breeze server must be in and can only be in
one cluster
– Otherwise snap-ins will not install
Each cluster must contain at least ONE Breeze instance and
up to 5 instances
– Snap-ins are installed on all members in a cluster.
Each SMGR can support up to 20 clusters
A cluster can be assigned a single cluster IP address (on two
Breeze servers) to allow the cluster to distribute HTTP/S
requests across all Breeze instances in the cluster.
Cluster member IPs and cluster IP must be on the same
subnet
13. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 13
Breeze
SM
(SIP Load Balancer)
Breeze
Container
Platform Components
Container
Breeze
Container
Breeze
Container
Platform Components
Avaya Snap-ins optionally store
state in the Data Grid.
Secondary HTTP Load Balancer
The HTTP Load Balancer runs on 1
of the cluster nodes with another
acting as backup. Load Balancer
represents a single cluster IP address
to other entities. Both nodes actively
process balanced traffic.
Primary HTTP Load Balancer
HTTP SIP
Data Grid
Breeze Cluster Illustration
SMGR
cluster
14. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1414
Breeze service development environment and
tools
Any Java IDE can be used for services development. Eclipse is the
IDE recommended by Avaya
The SDK includes Maven tools to build and package services.
Although the use of Maven is not required, it is the tool
recommended by Avaya.
15. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1515
Breeze SDK API capabilities available to snap-in
developers
Expose REST Web Services
Intercept calls to play announcements, collect digits, block, redirect,
change display
Initiate outbound calls to play announcements, collect digits
Initiate 2 party calls
Send Email / SMS
Send requests to other snap-ins / handle requests from other snap-
ins
Publish events to other snap-ins or subscribe to events from other
snap-ins
16. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1616
Questions that snap-in developers DO NOT have to
answer:
How do I scale up?
– How do I get multiple servers acting as a single cluster?
– Do I need HTTP and SIP load balancers?
– How do I share state across instances?
How to be highly available?
How do I make my product secure?
How do I integrate with System Manager?
How do I make my product serviceable by Avaya Client Services
and business partners?
How do I deploy onto VMware?
17. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1717
Breeze APIs
Collaboration Call API
– Process incoming calls and launch outgoing calls
Collaboration SIP Header Manipulation API
– Perform SIP header manipulation
Collaboration Bus API
– Send and receive messages between services
Collaboration Media Control API
– Play announcement and collect digits as part of the call processing,
external media processing servers, e.g. Avaya Media Server (AMS), is
required for media processing.
18. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1818
Breeze APIs – Cont’d
Eventing API
– Produce and/or subscribe to events in a loosely coupled fashion
Collaboration System Status API
– Check CPU utilization, overload status and other system information
from a service
Collaboration Service Data API
– Access global and service attributes
Collaboration User Data API
– Access data associated with their phone numbers and handles
19. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 1919
Breeze APIs – cont’d
Collaboration Logging API
– Log data based on service name and version
Collaboration Service API
– Obtain data about itself, like name version and etc.
Collaboration Conference API (Provided by Scopia Connector)
– Schedule conferences
Collaboration Email API (provided by Email Connector)
– Send emails
Collaboration SMS API (Provided by SMS Connector)
– Send SMS messages
20. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2020
Call Control Operations (subset)
Call.allow()
– Allows call to proceed
Call.divertTo()
– Deflects the call to a different destination (uses proxy)
Call.drop()
– Blocks a call or drops an established outbound call
Call.initiate()
– Initiates an outbound call (target set when creating Call instance).
Call.isCallingPhase() isCallBreezehase()
– How to determine orig / term phase
Call.getXParty()
– Where X is calling, called, alerting, answering
21. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2121
Participant operations (subset)
getHandle(), getDomain(), getDisplayName()
– Retrieve information about this party’s address and display
name.
get/setPresentedHandle(), get/setPresentedDomain(),
get/setPresentedDisplayName
– Caller ID manipulation mechanisms. The “presented”
identity is the one seen by the far end.
– Both caller and calling ID / display can be manipulated
getCall()
– Get a handle to a Call object
22. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2222
Richer Call Control
Call Manipulation API extended to include the following
capabilities:
– 2-party Make Call (e.g. “call me call you”)
– Fork Call
– Parallel forking
– Multiple invocations can be used to fork to multiple numbers
– Media Invocation (can invoke media at any point in call)
– Speech Search
– Get/set contextual information (context ID)
– Snap-in Call Control
– Snap-in that did not intercept the call can affect the call
– Snap-in on CE 1 can affect call being handled on CE 2 in same
cluster
23. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2323
Media control operations
play()
– Plays an announcement to the given participant
collect()
– Starts digit collection on the given participant
promptAndCollect()
– Composite operation to play announcement and collect
digits
stop()
– Stop a media operation in progress
24. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2424
Breeze Connectors
Breeze comes pre-loaded three connectors
– Scopia Conferencing Connector
– Email Connector (SMTP)
– Clickatell SMS Connector
25. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 25
View of how Connectors are used
Engagement Development Platform
Collaboration Bus
Email
Connector
SMS
Connector
Email
Server
Clickatell
REST SMTP
Scopia
Scopia
Connector
Call and Media Control
Session
Manager
AMS
HTTP
REST REST
Snap-in Snap-inSnap-in
26. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 2626
Collaboration
Environment
Connectors are pluggable
Collaboration
Environment
Collaboration Bus
Email
Connector
Clickatell
SMS
Connector
Email
ServerClickatell
REST SMTP
Scopia
Scopia
Connector
HTTP
REST
Collaboration Bus
Email
Connector
Email
ServerWebText
REST SMTP
Scopia
Scopia
Connector
HTTP
REST
Any developer can implement a
Connector for a Channel by
using the CB API and the
defined message schema
New Connectors can be
dynamically deployed like any
other snap-in
In this case, the Avaya-provided
Clickatell SMS Connector was
replaced with a WebText SMS
Connector
Dynamic Team Formation snap-in
code didn’t have to change to
leverage new Connector
Dynamic
Team
Formation
Dynamic
Team
Formation
WebText
SMS
Connector
27. Avaya - Proprietary. Use pursuant to your signed agreement or Avaya policy. 27
Avaya Snap-ins
68. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 69
Aura Fundamental for EDP implementation
69. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 70
Sequenced Applications (SM SIP call)
Sequenced Applications
A new concept in the Enterprise Communications world
A series of applications automatically engaged by SM, depending on
the user
• Comes from the Service Provider world – but simplified to fit the
enterprise
• Each application applied in a pre-defined order
• Each application in a Sequence “Sees” all requests
• Application can be selectively applied based on media attribute
• Each application can deny, modify, or forward initial SIP requests
70. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 7171
Applications Can Be Identified as “Mandatory” or Not
– An Unresponsive Mandatory Application Will Fail the Call
– A Timeout will Fail the Call
– Timer is Settable - Timer “B”
– Error Codes of 500,503,408 will Fail the Call
– If SIP Monitoring has Found the Application Unresponsive, All
Calls will Fail
– CM Should Be a Mandatory Application
– Other Applications May or May Not Be Mandatory
– Call Blocker Is Probably Not Mandatory
– Call Recording May be Mandatory for Finance Transactions
Mandatory Applications in Sequenced Application
71. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 7272
Sequenced Applications
CM
Origination (user #1) Termination (user #2)
Session
Manager
Direct MediaUser #1 User #2
APP
Termination (user #2)
<to CM>
Origination (user #1)
<to CM>
Termination (user #2)
<to APP>
72. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 73
Avaya Aura Core
SM
SM
SM
Call Analyzer Example
DB
Linda’s
CM
Call
AnalyzerJohn’s
CM
1
INVITE
(ORIG DONE)
INVITE
(ORIG)
2
3 10-11
403
INVITE
(TERM DONE)
INVITE
(TERM)
4
5 8-9
403
INVITE
(TERM)
6
403
7
12403
John
Linda
The Call Analyzer
application can
be developed
with EDP.
73. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 74
Benefits of Sequenced Applications
Business benefits
Increased agility and flexibility
Lower TCO
Improved customer service
Proof points
Requires no upgrades to the call processing system (Communication
Manager / Session Manager) – major differentiator from our legacy model
and what our competitors offer
Applications can be added / licensed per user or group of users
New versions of applications can be added on the fly; migrating part of the
users in a pilot
Customers / Partners / OEM’s can quickly develop new applications;
Application development in weeks vs. months
Once applications exist, customer can deploy them in days vs. weeks or
months
74. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 7575
Explicit Users
– SIP Users Connected Directly with URE of SM
– Registered with SM
– Administered with SMGR UPM, Having Individual Phone Numbers
– Can Have Origination and Termination Application Sequences
Implicit Users
– Not Registered Users
– Users on Third Party PBXs (SIP or non-SIP)
– DCP, Analog or H.323 CM Users
– Identified by Phone Numbers or Extensions
– Can Have Origination and Termination Application Sequences
– Normally Identify Implicit Users with Number Ranges, but Can
Administer Individual Phone Numbers
Common to Explicit Users and Implicit Users
– No SM Dial Plan Routing Required for Application Sequences
Explicit User vs. Implicit User
75. Avaya – Confidential & Proprietary. Use pursuant to your signed agreement or Avaya Policy 7676
CM “Types”
CM Feature Server (CM-FS)
– Only Endpoint Signaling Supported – SIP
– Trunk Gateways are Optionally Supported (G450/G430)
– Application Sequencing Fully Supported
– Half-Call Model Call Processing
– No AES Support
CM Evolution Server (CM-ES)
– Supports SIP, H.323, DCP and Analog Endpoints
– Supports all CM Trunk Types
– All Gateways are Supported (G650/G450…)
– Limited Application Sequencing
– Full-Call Model Call Processing, BUT Mimic Half-Call
Model on Interfacing with SM for SIP User
– Supports AES