Knowledge Transfer
Avaya Aura® Experience Portal 7.1
and
Avaya Aura® Orchestration Designer 7.1
April 2016
Logistics & Agenda
by Samir Jain
2
Call Logistics
Session is being recorded
– Conference will be silenced. *6 to unmute your line to
interact.
This presentation is not a substitute for formal product or
certification training.
Contents of this presentation are proprietary and protected by Avaya NDA.
Do not share this presentation without authorization.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
3
Avaya Aura® Experience Portal 7.1 and
Avaya Aura® Orchestration Designer 7.1 - Agenda
Value Proposition - Samir
Overall Technical Prerequisites - Samir
– Technical Prerequisites
– Hardware & Software Requirements
–
Orchestration Designer
–
Experience Portal
Platform Installation / Upgrade - Samir
Architecture – JP
– Redirector
– Application
HTML5 Enhancements
– Experience Portal Enhancements - JP
– Application Development Experience - Wilson
– Redirector Configuration – Wilson (Presenter), JP (SME) web page and deployment
Break (15 minutes)
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
4
AAEP 7.1 and AAOD 7.1 – Agenda – (cont.)
Engagement Designer Integration - Ross
– New PDC to call an Engagement Designer Workflow from an Orchestration Designer
Application
– New Engagement Designer Snap-ins for the Dynamic Tasks to call an Orchestration Designer
Application from a Workflow
Experience Portal Mobile Web Example - JP
Enhancements
– Orchestration Designer - Ross
–
Processing Asynchronous REST Requests in Orchestration Designer
–
Real Time Events
–
Conversation Management PDC with Cross Channel Conversations in Orchestration Designer
– Experience Portal - JP
Single Sign-on with System Manager – JP (Karen SME)
Currency with 3rd party components – JP (OP & ED)
Closing - Samir
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
5
Abbreviations and Trademarks
We may use the following abbreviations for Avaya product
names in this presentation.
–
–
–
–
–
–
Avaya Aura® Experience Portal
Avaya Aura® Orchestration Designer
Avaya Aura® Communication Manager
Avaya Aura® Session Manager
Avaya Aura® System Manager
Avaya Session Border Controller for
Enterprise
– Avaya Aura Messaging
= AAEP
= AAOD
= CM
= SM
= SMGR
= SBCE
= AAM
Avaya product names are trademarks or registered
trademarks in the U.S. and other countries.
All brand names and product names are trademarks or
registered trademarks of their respective companies.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
6
Value Proposition
by Samir Jain
7
Smart Phone Adoption
74.9% of mobile phones
are smart phones in the
US1
5X Adoption!
Telephone penetration rates that
took 50 years took
10 years for Smartphones…
Up from 65.2% since
previous December 2013
US is #13 Globally2
A smartphone is not a
phone, but a computer
with a phone application
1 – Comscore – Feb 2015
2 – Statista - 2014
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
8
Global use of smartphones for customer service
The smartphone is slowly coming to the core of customer
service engagement
Use smartphone to…
46%
Download apps for customer service
Comment on social media - service
45%
70%
Phone call centres
50%
Phone call centre & look at web on smartphone
Scan in-store to get best prices
44%
Visual IVR options on smartphone – see department options & select by touching smartphone screen
China
88%
Spain
69%
Indonesia
88%
USA
60%
India
86%
UK
54%
UAE
84%
Belgium
47%
Singapore
78%
Germany
31%
Source: BT/Avaya, 2015.Global data.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
9
Changing Behaviors and Expectations
Customers Want to Serve Themselves
And They Want to
Self Serve via Smart
Phones
Customers Want
to Self Serve
71%
53%
of online customers agree that
self-service is good because it
puts them in control2
of customers say they appreciate the ability
to raise complaints or issues to a business
via an app 1
67%
of customers want visual IVR options
on a smart phone 2
46%
Sources:
1.
Research from Oracle
2.
The Autonomous Customer 2015, Commissioned by BT and Avaya, 2015
of customers want to download customer
service apps on a smart phone 2
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
10
BUT CUSTOMERS ALSO WANT ACCESS TO LIVE SUPPORT
IN A SEAMLESS, INTEGRATED FASHION
of customers would like apps that allow them to
communicate with service staff while online (like web
chat, video, phone or messaging)
of US &
of customers want to switch from web chat to
phone
of UK
customers want an advisor available on phone / webchat when internet shopping
of customers would like video on phone calls
so that they can see the agent when
discussing complex issues
Sources:
•
The Autonomous Customer 2015, Commissioned by BT and Avaya, 2015
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
11
Mobile Experience Today – Lack of Connection
Welcome
Mobile application enables
data capture and rich
customer context:
Authentication, Location,
Photos, etc.
All of this is lost when
transitioning to Contact Center
Start Claim
Enter Data
Dial 1-888-297-4700 ?
This will exit the application
and dial 1-888-2974700 and lose all your
context, would you like to
continue?
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
Need Help?
12
WHAT happens in your contact center today?
… app doesn’t offer option to
transfer customer to agent?
…customer has to start transaction again in
another channel?
…customer has to go through another round of
identification and verification?
…transaction information from app not
available to contact center agent?
…customer has to repeat details
already provided as agent unware
of activities done in app?
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
13
What is Communication Enabling Mobile
Applications?
Continuity of Context between the mobile user experience and the
contact center
– Identity and authentication
– Location
– Intent
Choice of appropriate channel of communication
– Voice Calls – real-time or callback
– Chat
– Web Calls
Rich Interaction
The channel is not the issue
The issue is the issue
– Photos
– Text
– Location
Closed loop reporting
Gartner claims 87% of businesses will compete primarily on Customer
Experience by 2017
How are you getting ready?
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
14
Business Value
of Avaya Aura Experience Portal 7.1
LEVERAGE EXPERIENCE PORTAL
INVESTMENT
COMMUNICATION ENABLE MOBILE
APPLICATIONS
•
• Orchestrate interactions with context across
voice, video and text
Introduce Experience Portal customers to
Avaya BreezeTM Snap-ins without disrupting
existing implementations
•
• Enable mobile communication into Avaya
BreezeTM
Extend value of both Engagement Designer
and Orchestration Designer applications
•
Increase automation of business work flows
leveraging Orchestration Designer
• Support outbound and inbound Mobile Web
Experiences through HTML5/CSS
• Provide wait treatment for Avaya BreezeTM
enabled video sessions
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
15
Value Proposition
Avaya Aura® Experience Portal 7.1 and Orchestration Designer 7.1
Overview
Avaya Aura® Experience Portal self-service platform is the foundational element of the
Automated Experience product portfolio and used with Avaya Aura® Orchestration Designer
as a service creation environment for implementing speech and multichannel applications
and delivering an end-to-end customer experience.
Avaya Aura® Experience Portal 7.1 will continue to build on the open web service based
interface, provide security/privacy and support for bi directional text based channels (along
with Orchestration Designer 7.1) and drive investment protection by enabling migration on
existing supported hardware and software configurations.
.
What’s New since 7.0.1?
Two way Integration between Avaya BreezeTM, Context Store and Engagement Designer
(ED) snap-ins and Orchestration Designer/Experience Portal allowing Orchestration
Designer applications to call ED Workflows and vice versa for more comprehensive
multichannel exchanges between Customer and Customer Care:
Launch OD applications for any channel from ED work flows with context
Launch or return to an ED work flow from an OD application with context
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
16
Value Proposition – cont.
Avaya Aura® Experience Portal 7.1 and Orchestration Designer 7.1
What’s New since 7.0.1? – cont.
Experience Portal 7.1 enables the Mobile Web as a managed channel. Currently, many if
not all customer care channels allow for voice communications and the capabilities
brought on by the web and Smartphones (i.e. Email, SMS, Chat, Video). What is missing,
however, is the ability to integrate this into the existing processes for Contact Centers’
customer engagement. This is where Experience Portal 7.1 will deliver this core
integration point.
Functionality will include:
• HTML5/CSS/JQuery Environment for Mobile Web Interactions including text,
images, forms, and Jquery/Javascript widgets
• Access to HTML5 Browser extended data elements such as geolocation, images,
access to and launch of external applications
• Ability to send associated meta data to OD framework for association with Context
Store Elements
• Ability to explicitly push Web Pages and Session data from Orchestration Designer
(and by proxy from Web Services accessing OD)
Explicitly, we will NOT be in the Mobile Applications business, we will be supporting
Customer Interactions for Customer Care and support a value proposition that allows the
line of business, marketing, customer care and IT to mutually benefit from this solution.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
17
Overall Technical Prerequisites
by Samir Jain
18
Orchestration Designer 7.1
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
19
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
20
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
21
Experience Portal Install/Upgrades
OVA based systems can be upgraded through traditional
software media – (supported since 7.0.2)
Supported upgrades: From 6.0.x or greater
OS requirements:
– RHEL 6.7 or later update for new installs
– RHEL 6.4 or later update for upgrades
Hardware:
– Supported Server Upgrades: HP DL360 G7 and HP
DL360p G8.
– EP 7.1 supports CSR3 – HP DL360 G9
– IBM x3550 no longer supported
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
22
VMWare & OVA
OVA Hardware Requirements/Footprint:
– 4 socket, 1 core each
– 120 GB storage
OVA Hardware Reservation:
– 9500 MHz total
– 4 GB RAM
Supported VMWare Versions:
– 5.5 and 6.0
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
23
Platform Installation / Upgrade
by Samir Jain
24
Orchestration Designer 7.1
There are no changes to the installation or upgrade procedures for Orchestration Designer 7.1.
See the documentation below for instructions on upgrading or installing Orchestration Designer.
– https://downloads.avaya.com/css/P8/documents/100177415
Experience Portal 7.1
There are no changes to the installation or upgrade procedures for Experience Portal 7.1. See
documentation below for instructions on upgrading or installing Experience Portal.
– Implementing Avaya Aura® Experience Portal on a single server
https://downloads.avaya.com/css/P8/documents/100183021
– Implementing Avaya Aura® Experience Portal on multiple servers
https://downloads.avaya.com/css/P8/documents/100183020
– Upgrading to Avaya Aura Experience Portal 7.0.1
https://downloads.avaya.com/css/P8/documents/100183026
– Deploying Avaya Aura® Experience Portal in an Avaya Customer Experience Virtualized
Environment
https://downloads.avaya.com/css/P8/documents/100183019
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
25
Experience Portal – Orchestration Designer
Architecture
by Jai Pugalia
26
AAEP Overall Architecture
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
27
Mobile Architecture - 1
DMZ
HTTP
Reverse
Proxy
Firewall
Firewall
Application Server
OrchestrationDesigner
Designer
Orchestration
Orchestration
Designer
HTMLApplications
Applications
HTML
HTML
Applications
Redirector
EPM
EPM
EPM / Aux
EPMs
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
28
Mobile Architecture - 2
DMZ
HTTP
Reverse
Proxy
(8)
HTML exchange
Internal App IP
Firewall
(1)
External
Redirector
IP Address
Params *
Firewall
(8)
HTML exchange
External App IP
Application Server
Orchestration Designer
HTML Applications
(7)
Redirect to External
HTML App IP Address
With Params from EPM
Redirector
(2)
Internal
Redirector
IP Address
Params *
Reverse Proxy
• Load Balancer for Redirector
• Maps external IP addresses to
Internal IP addresses
(3)
LaunchHTML
Web Service
Call **
Redirector
• Receives App Name
from Mobile browser
• Calls EPM with data
• Sends Redirect (302)
to the Mobile browser
(6)
External HTML App IP Address
DD Session ID
Tomcat Session ID
Data Store Key ***
EPM
* Note: Params are:
• <AppName> – Name of HTML app to launch
• c<ConversationId> – The key into the context store
• u<ucid> – Contains the UCID
** Note: Web service called containing data from
Parameters passed into the Redirector
*** Note: Data Store could be either the Context Store or
the Conversation Store
EPM
• Fields WS requests from Redirector
• Launches HTML Applications
• Return application specific parameters
to Redirector
• Save CDR/SDR/ADR Reporting Data
from OD Runtime in reporting DB
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
(4)
Internal
HTML App
IP Address
(5)
DD Session ID
Tomcat Session ID
Data Store Key ***
29
EDP Integration Architecture
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
30
EDP Integration Flow
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
31
Multi-Channel Conversations/Context
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
32
HTML5 Enhancements
by Jai Pugalia & Wilson Yu
33
Experience Portal HTML Enhancements
by Jai Pugalia
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
34
HTML Application Configuration - 1
New application type HTML
– Two stage add process
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
35
HTML Application Configuration - 2
New application type HTML (cont.)
– Two stage add process (cont.)
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
36
HTML Licensing
Works with license version 7.0
New license type – HTML Units
– Required for HTML5 capability
– Each unit allows for one HTML
launch
– System wide enforcement
– Enforced on daily basis
– System Monitor shows daily usage
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
37
HTML Monitoring
System Monitor
– Shows status of HTML
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
38
HTML Resource Usage Threshold
EPM Settings
– HTML Resource Usage Threshold
– Triggers an alarm once the threshold is reached
Note: A major alarm is triggered when the resource usage has exceeded.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
39
HTML Maintenance Reports
All relevant pages support HTML
– Examples:
– Audit Log Viewer
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
40
HTML Historical Reports
All relevant reports support HTML
– Examples:
– Contact / Session Summary
– Contact / Session Detail
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
41
HTML Management Interface Web Service
All relevant management web services methods support HTML
–
–
–
–
–
–
–
getApplicationNames
getApplicationInfo
setApplicationInfo
addApplicationInfo
deleteApplicationInfo
getAppConfigurableVars
setAppConfigurableVars
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
42
HTML5 Application Development Experience
by Wilson Yu
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
43
OD Web Perspective
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
44
Create a new Web channel project
1. Click on the icon
in the tool bar on
top.
2. Fill the project
name in the
wizard dialog.
3. Click Finish
Custom templates for JSP generation
Javscript
and CSS
files
Static html files
Support simulation
Language folder containing localized resources
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
Runtime JSP files
45
Complete the new project
1.
Find the Return item in
the palette, drag it into
the flow editor and
connect the 2 nodes.
Change the Name of the
Return if you prefer.
2.
Select the AppRoot
node. Set the Title
Message property to
“Welcome to your first
app”, Message Style to
“font-weight:bold”, Show
Web Content to “Yes”
3.
Save the flow.
Note: By default, Show Web
Content is set to No, in which
case AppRoot is not used as
the first page of the app but
the next node is.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
46
Run the app from Simulator
1. Select the project and click on the
Run Application button in
Application Simulator view.
2. The simulator will start up
Tomcat, and launch the first page
of the app in the default web
browser. The default browser can
be changed in Preferences>Avaya Aura->Application
Simulation by providing the
executable’ s path and name.
3. This app has 2 pages. The Start
and Exit.
4. In the Navigtor, you can find 2 jsp
files – Start.jsp, Exit.jsp - in the
jsp folder under the project root.
These 2 files directly emit HTML
to the web browser at runtime.
The JSP files in the jsp folder are
generated for runtime purpose.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
47
Add a Collect node
1. Drag and drop the Collect item
from the palette onto the flow.
Change the name. Connect all
the nodes.
2. Double-click on the new
Collect node to open its editor.
By default, it has one Text
Input. The list of inputs can be
modified by removing and
adding new items from the
palette.
3. Use the Properties view to
configure each Input item. OD
creates a system variable
using the Name.
4. Before configuring the Label ID
of an Input item, a Textset
resource file needs to be
created.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
48
Text set resource
1. A Textset file is a special
OD resource that holds a
list of language specific text
strings. Under each
language supported by the
project, you can have
multiple Textset files for
organization purpose.
2. Create a new Textset file by
select Textset file from the
project’s context menu
New.
3. Manage the list of text
strings by adding, deleting,
and editing in the Textset
Editor.
4. Screenshot shows wiring
the name text label ID to the
flow input.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
49
Run the app
Check the Problems view
and make sure it is clear of
errors.
Run the app from
Simulator.
The label Name for the text
input matches the text item
in the Textset file.
When user hits Next, the
web page submits the input
to the app server, and the
app server in turn stores
the value in the OD system
variable created for the
Input.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
50
Confirm User Input
1. Add an Announce node to the flow
to show what the user has entered
previously and ask for confirmation.
2. Similar with the Collect node used
earlier, the Announce node is a
template node based on the Form
node. The difference is the
Announce node comes with a
prompt element by default and a
different node icon to depict its
purpose.
Confirm.prompt
3. Create a prompt file by right-clicking
on the prompt element. OD will
prompt you for the prompt file name,
create the file and open the prompt
editor.
4. The palette in the prompt editor
offers 3 useful items for creating the
UI to show information.
Web Element – supports displaying different types of
information automcatically.
HTML Text – display the HTML text including tags.
Text Variable - display text value from variables as is.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
51
Confirm User Input (cont.)
1. Add a Choice Input to allow user to choose
Yes or No.
2. Add a Data node to process the user choice.
Add logic to the data node so that when the
user choose No, route him/her back to
GetInfo. Otherwise, Exit.
3. Here is what the ConfirmInfo page looks like
when running the app:
ProcessConfirm
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
52
Form node palette
1.
Can be used in Form, Collect and
Announce nodes for collecting user
input.
2.
Can have multiple instances and used
in combination to form a web page to
collect different types of data.
3.
Each input type generates HTML5 on
the web browser. Its appearance and
responsiveness depends on the web
browser type and the CSS + Javascript
framework. Jquery Mobile is used by
default.
4.
Text Input supports various text-based
data types – number, date, range and
etc.
5.
Choice Input provides multiple choices
in form of radio buttons or dropdown.
6.
Location Input detects, shows and
submits user’s location.
7.
Voice, Picture and Video Input each
activates device’s camera and
microphone, and submit file to app
server.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
53
Menu node
Menus are used for branching in the flow. A
menu node contains multiple links. Users
click on a link to lead to a branch of the flow.
This example shows 2 links added to the
menu node by using the Web Choice items
from the Menu palette. Configure each Web
Choice item using text from Textset.
The menu variable’s value field will store the
name of choice that the user clicks on at
runtime.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
54
Prompt editor and palette
1.
Prompts are used in the Form, Collect, Announce and
Return nodes for showing messages and variable
content to users on the web browser.
2.
Prompts are language dependent. When you create a
prompt, the file will be replicated for each language in
the project.
3.
Messages and variable values can be formatted and
styled using the HTML tags.
4.
Web Elements automatically style the variable data
according to the type you configure. For example, if the
variable contain geographic coordinates from the user
input, you would set the type property of the Web
Element to Map, the map graphic would show up.
Therefore, this element is most appropriately used to
match an Input item.
5.
You can use the combination of HTML Text and Text
Variable items to create a HTML coded string. The
example on this screen shows how you loop through a
variable collection to create a table with 2 columns –
Name and Phone. The resulted table displays contact
information from a complex variable named contacts.
Each phone number also shows as a clickable link to
launch a call.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
55
Web page example with prompt set up in previous
page
Web
Element
type=map
HTML Text
and Text
Variable
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
56
Data node - Set Web Error item
Use the Set Web Error item in the Data node to set a user error and show it on the web page which
follows the Data node in the flow execution.
The configuration showing above can be found in the StockAndWeatherWeb sample app. It shows
the logic in the ExecuteWeatherQuery Data node that if the city entered is invalid, user will be
routed back to the GetCity Collect node, and the error message is showing.
When Set Web Error is first dragged and drop into the editor, its default responsibility is to clear the
error. By configuring the properties, you set the error message and it will show up in the next Form
node.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
57
Approot – On Session Timeout event handler
The event handler helps to execute
logic for cleanup and reporting
purposes.
It is triggered when session timeout
occurs on the app server. It is an
app server supported event.
The timeout value is administered
using the app server’s admin tool.
The administrator decides the value
based on the business need.
Consider how much time user
needs to stay on a web page.
Tomcat/conf/web.xml:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
Only Data nodes get executed in
the path pointed by the event
handler.
Once the Data nodes have been
executed, the OD session officially
ends.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
58
Jquery Mobile Theme
You can customize the look and feel using the free online tool http://themeroller.jquerymobile.com/
Using this tool, it is easy to change the font and color in different areas of
application web pages. Create a theme with different swatches, download
your creation and install it onto the app.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
59
Steps to install a theme
1.
Unzip the theme package into a directory.
2.
Right-click on the project in Eclipse and load up
the Properties.
3.
Go to Orchestration Designer->JS/CSS/Theme
tab as shown above.
4.
Click on the Add File button to add the two css
files from the theme directory which has been
expanded from theme package.
5.
Fill in the Theme Name. It should match the
name of the <themename>.css file.
6.
Select the swatch which you want to use from
the theme.
7.
Click OK.
8.
If you find images missing in the buttons when
you run the app, copy the images directory
from the theme package into the project’s css
directory.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
The files copied
into the css folder
and links
generated
automatically on
the JSP files.
60
Customize All Pages
A scenario may require you to have
some custom code added to all the
web pages. For example, a header
or footer is needed.
OD can generated custom
templates to allow such
customization. Simply follow the
steps:
1. Open the Properties dialog of the
project.
2. Check “Use custom templates…” in
the JS/CSS/Theme tab. Click OK.
3. OD generates a set of template
files based on existing sample
ones.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
61
Customize All Pages (cont.)
Edit the Form_template.jsp with the following code to customize all the Form,
Collect and Announce nodes with a footer.
…….
<footer>
<hr/>
<p class="footer" style="text-align: center; font-size:12px">© 2015
Autosurance, Inc. · <a href="#" data-toggle="modal" datatarget="#aboutModal">Privacy</a> · <a href="#" data-toggle="modal" datatarget="#aboutModal">Terms of Use</a></p>
</footer>
</div>
</body>
</html>
Re-generate the project and run it.
Add the same code to Approot_template.jsp if it’s
used for welcome page.
Add the same code to Return_template.jsp and
Menu_template.jsp for the Menu nodes.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
62
Customize a single node
Customize a single node. You would right-click on the target node and select
“Customize…” from the context menu. This action will cause OD to create a
template with the node’s name and open the file for editing.
In the JSP editor, insert the message (in red as an example). Once you are done editing,
save and re-generate the project. A new JSP file is created in the jsp folder.
<$ if (titleMsg != null && !titleMsg.equals("")){ $>
<p><$=titleMsg$></p>
<br>
<$}$>
<p>This is a special message</p>
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
63
Multilanguage Support
Add new language code xx-xx to Preferences.
Add the new language code to the project in Properties.
OD creates a new folder for the language with the name you
choose. The folder is populated with the existing Prompt and
Textset files. The text in each of the files has to be localized.
Based on the web browser’s language settings, the flow will use
the files of the language to display.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
64
Sample Applications
StockAndWeatherWeb - This application is the HTML5 version of the well-known
StockAndWeatherAudio speech app. It presents users a menu with options to check
stock quote or weather. Users enter a stock symbol or city name in the textbox. The
stock quote or weather information will be returned to the users’ web page. This app
demonstrates working with Menu, Collect and Announce nodes. It uses the web
service connector to retrieve information and demonstrates error handling.
PromptItemsForWeb - This app demonstrates various uses of the prompt
palette items to display a list of items from database or data file. It first
initializes a variable collection from a data file (it could have been database
also). It then displays couple of attributes of each item in the list all on one
page. For each item, it provides a URL to launch a page to display more
content (such as picture or video) that would take up more space.
DataCollectionWeb - This application demotrates the use of various
palette items offered by the OD environment in developing UI rich HTML5
pages for collecting user information.
SaveContextToCSWeb - This app shows how to create and update
context information in the context store using the Workflow Integration data
connector.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
65
Deployment and Redirector
To deploy the HTML5 application on an app server, you would go
through the Export wizard the same way as other channel app types.
We support Tomcat 7/8, Wesphere 8.5.5, Weblogic 12c and JBOSS 7.
HTML5 applications have to be configured as managed applications on
Experience Portal Manager (EPM).
A component based on our concept of the Redirector has to be
configured to help launch the application from EPM. We provide a
sample of the Redirctor as reference on how it should be implemented.
This is a simple
wizard to retrieve the
sample Redirector
war file
Launch wizard to export the
app to a deployable war or
ear file.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
66
Debugging Tips
Every modern web browser such Chrome, Firefox and IE comes with a
useful developer’s tool that allows you to see the HTML, CSS and
Javascript that are driving a UI component showing on the browser. It is the
tool that you would use instantly when the UI is stuck. When that happens,
mostly likely you have a Javascript error or invalid HTML.
If you see a raw Java exception showing on the web page, you might have
run into an uncaught exception on the app server side. Check the OD
trace.log file or the console and look at the exception stack trace to see
where exactly the error is originated.
You can try out things by directly editing the JSP files in the jsp folder of the
project but be aware that these files are auto-generated. Whenever you
modify/save the flow or use the Generate Project menu option, your
changes will be gone. Make sure you use the templates in the custom
folder to save the permanent change.
Useful sites: http://www.w3schools.com/, http://www.tutorialspoint.com/jsp/,
https://learn.jquery.com/jquery-mobile/
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
67
Redirector Application
by Wilson Yu
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
68
Introduction:
The HTML5 Redirector Sample Application is an application that redirects the initial requests from a remote device to an OD HTML
application. It is deployed on a customer server that can be accessed from the public network. The following is a sample architecture
setup:
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
69
Deployment:
The Web Archive file (WAR file) can be dropped into Tomcat’s webapp
directory. Once exploded, there will be configuration and log files located in the
Redirector’s WEB-INF directory. Tomcat may or may not need be restarted, but
once deployment is done, the standard URL to access the Redirector and start
an application is of the form:
http://<host:port>/Redirector/<appName>/c<conversationid>/u<ucid>
For example:
http://148.147.10.134:7080/Redirector/0%3Aautosurancemobile/cAVAYA_EmailURLTest_ep7testavayacom-tonywavayacom/u10001000091453841688
Additional query parameters may be added to the URL and will be sent to the
application for use there.
NOTE: The Redirector will deploy successfully on Tomcat 6 and above.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
70
Setup:
Adding EPMs and credentials is done by accessing the setup utility located in the WEB-INF directory. Launching either the setup.bat
(Windows) or setup.sh (Unix) scripts will start the utility and display the current configuration:
[root@pascal WEB-INF]# ./setup.sh
0-Timeout (ms): 5000
1-Log Enabled: false
2-Max Log Size (MB): 10
Configured Servers:
None.
(A)dd a server, (D)elete a server, (S)et a parameter, or (Q)uit
setup>
Figure 1 Initial configuration
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
71
Initially the configuration will have no servers configured as displayed in figure 1. Use the (A)dd command by entering “A” at the setup
prompt to add a new server:
setup> a
Enter address (hostname or IP): 10.0.0.10
Enter priority (0-65535): 0
Enter username: redirector
Enter password:
New certificates:
Subject: CN=scaaep134,O=Avaya,OU=EPM
Issuer: CN=scaaep134,O=Avaya,OU=EPM
Serial Number: 8d492e702d6aad12
Signature Algorithm: SHA256withRSA
Valid from Mon Sep 07 22:33:50 PDT 2015 until Thu Sep 04 22:33:50 PDT 2025
Certificate fingerprints
MD5: 31a1 8b3a b54b 0123 11b1 c33d 2f5b 63f3
SHA: 0e4c 923a 41df 0bc0 6a82 8181 3e2d 36ce 0796 7152
Accept the new certificate(s) and add this server configuration? [Y/n]:
0-Timeout (ms): 5000
1-Log Enabled: false
2-Max Log Size (MB): 10
Configured Servers:
Id Address
Pri
Username
0
10.0.0.10
0
redirector
(A)dd a server, (D)elete a server, (S)et a parameter, or (Q)uit
setup>
Figure 2 Configuration after adding a new server
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
72
Sequential prompts for the server address, priority, username and password will appear.
The address can be either a hostname or IP address, optionally followed by a port number
separated by a colon.
The priority establishes the order in which the configured servers will be processed. Lower values
for priority will be processed first and servers with equal priorities will be randomly ordered on each
request (i.e. servers with equal priorities will be assigned an approximately equal number of
requests). The displayed list of servers is sorted based on ascending order of priority.
The username and password should match the values configured on the EPM for a user with the
Web Services feature.
Once filled out, a test connection will be made to the EPM server with the supplied address and
credentials. Additionally, checks are made to see if the necessary certificates are already in the trust
store. If any new certificates are found when connecting to the server, the certificates are shown along
with a prompt to confirm acceptance of the new certificates. If the test connection fails, a prompt to
force acceptance of the configuration will be displayed. If the connection is successful and there are
no new certificates, the configuration is automatically accepted and the setup prompt is again
displayed.
A server configuration can be deleted using the (D)elete command from the setup prompt and entering
the corresponding Id number when prompted.
Similarly, the value for one of the global parameters can be adjusted by using the (S)et command from
the setup prompt, entering the parameter number, and entering the new value when prompted.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
73
Configuring HTML Redirector
New page HTML Redirectors in EPM web application
– Accessible from Multi-Media Configuration -> HTML menu item
– Configure HTML redirector per zone
– HTML redirector communicates with EPMs for launching HTML
applications using the Application Interface web service.
Note: If a reverse proxy is used, then you need to configure the
reverse proxy details here.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
74
Run-time:
Once running, the Redirector will log activity to the log.txt file located in the WEB-INF directory, rolling the log when the configured Max Log Size
is hit. Initially, only errors (non-302 responses and exceptions) will be stored in the log, unless the Log Enabled flag is changed to true
(i.e. the default value is false). Otherwise, all HTTP response codes sent back for each request are logged, including 302 responses
with the associated redirection URL.
URL Generator PDC:
Orchestration Designer applications can use the Redirector to launch HTML applications by enabling the Generate URL to HTML Application
PDC in the project’s properties. Further documentation will be provided on the feature, but a sample scenario would be a developer wants to
send an email to a customer and include a URL to launch an app. Within the email app’s Data node, a Generate URL item would then be
added and can be used for this purpose.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
75
HTML application URL Generator
Generates a URL to an OD HTML
application configured on EP
Application Name is the name of the
configured application not the project
name
If a conversation has been started the
conversation id is added to the query
string
Uses the configured HTML Redirector
address in the URL
Also appends the session:ucid to the
query string.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
76
76
Break
77
Orchestration Designer Application Integration with
Engagement Designer Workflows
by Ross Yakulis
Definitions
OD – Orchestration Designer
EP (AAEP) – Experience Portal
ED – Engagement Designer
Workflow – Engagement Designer Application (output of
ED)
Dynamic Task – ED Extensions for new functionality.
EDP – Engagement Designer Platform (Breeze)
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
79
Multi level flows
Business
Analyst
Engagement Designer High Level flow
Step3
Start
Step1
Step2
End
Step4
IT Developer
OD Speech
OD SMS
Solution Overview
AAEP
Workflow
WebRTC
Work
Assignment
Context Store
Speech
EP Dynamic Tasks
EPM
MPP
EDP (Breeze)
App Server
Service Bus
Scalability
Security
Virtualization
Inter-Service
Messaging
Workflow
Management/
Serviceability
Scalability
Agent & Consumer
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
81
EDP/ED First.
EDP/ED
EP/OD
2-way SMS/Email Conversation
Workflow
EP Dynamic Tasks (Web Service Call)
Completion Event
OD SMS/Email
Application
Context
Store
Workflow
Place Call with UUI
OD Speech
Application
Context
Store
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
82
EDP/ED First – Telephony
Call comes into EDP and ED answers the call, and
brings OD into the call for IVR processing
-orED workflow creates a new 2 party call to the customer
and EP/OD for IVR processing
– UC2_ExistingCallODAdded
– UC3_NewCallToOD
There are 2 options for passing context with the option 1
being recommended option
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
83
EDP/ED Option 1 Use Context Store
Context is passed to OD in the context store and the
context id is passed in the UUI (call context).
OD retrieves data from the context store and updates
and/or adds new data. The context id in the UUI is
automatically stored into the OD variable
avayaContextId.
When the workflow detects the call leg to OD is dropped
the workflow knows OD is finished and results are in the
context store.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
84
EDP/ED Option 2 do not use Context Store
Context is passed only in the UUI (96 byte limit).
– Must contain an instance id of the workflow.
OD retrieves data from the variable avayaContextId
– The OD application is responsible for interpreting the
format of the data and how the values are delimited
OD has to send and event back to the workflow with any
return data. The workflow instance id denotes the
destination of the event.
When the workflow receives the return event it can
retrieve data from the event and proceed.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
85
EDP/ED First – SMS/Email
ED workflow uses EP Dynamic Tasks to provide EP/OD
2-way SMS/Email for customer interaction.
– UC4_SMSTwoWayConfirm
– UC4_SMSTwoWayConfirmEventsOnly
– UC5_EmailTwoWayConfirm
There are 2 options for passing context with the option 1
being recommended option
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
86
EDP/ED Option 1 Use Context Store
Context is passed in the context store and the context id
is passed as a request parameter.
– Context must contain the instance id of the workflow
OD retrieves data from the context store and updates
and/or adds new data. The context id is passed as a
request parameter and automatically stored into the
variable avayaContextId.
OD has to send an event to the workflow telling the
workflow the interaction is complete. The workflow
instance id denotes the event’s destination. Return data
is in the context store.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
87
EDP/ED Option 2 use request parameters
Context can be passed in request parameters only
– The OD application would define variables that match the
request parameter names.
– Request parameters are stored into OD variables
automatically
– Request parameters must contain an instance id of the
workflow
OD has to send an event to the workflow telling the
workflow the interaction is complete. The workflow
instance id denotes the event’s destination. Return data
is in the event sent to the workflow.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
88
EP/OD First –Start workflow
Call comes into EP and OD answers the call collects
data and decides to start a workflow to continue the
transaction
– UC1A_ODLaunchWFEvent
– UC1B_ODLaunchWFContextStore
Context can be passed 2 ways
– All context is in the event sent to EDP/ED/Workflow, OD
supports 8 string parameters that can be named as
appropriate
– Context is in the context store and the context id is passed
in a single event parameter.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
89
EP/OD First.
EP/OD
EDP/ED
Start Workflow Event
OD Application
Workflow
Context
Store
EP/OD
EDP/ED
Transfer Call with UUI
Workflow
OD Application
Context
Store
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
90
EP/OD First –Transfer Call
Call comes into EP and OD answers the call collects
data and transfers the call to EDP/ED
– No use case supplied.
Context is passed in the context store and the context id
is passed in the shared UUI.
- or Context is passed in the shared UUI (96 byte limit).
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
91
Workflow PDC
To support the various integrations a new pluggable data
connector Workflow (PDC) is added to OD.
– Operations for context store access
– An operation to start a workflow
– An operation to send an event to a workflow
– Automatically adds the avayaContextId to the application
– At runtime, automatically stores the context id from either
UUI or request parameter into the avayaContextId variable.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
92
Workflow PDC UI
Enable The
Workflow PDC
Palette Items for
the Workflow
PDC
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
93
EP Tasks
To support the various integrations two tasks have been
added to the Engagement Designer Palette under
Experience Portal menu group.
– Launch SMS Service:
– Task to start an OD SMS application
– Launch Email Service:
– Task to start an OD Email application
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
94
EP Tasks UI
Experience Portal
Tasks on the
Engagement
Designer Palette
Experience Portal
Task Properties
“From” is the
number/address
configured on
EP. “To” is the
users number or
email
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
95
Configuration on Experience Portal
Experience Portal
Configuration, need to
tell OD applications
where the Context
Store and EDP are
located.
– Platform Host Address
is the EDP SIP Entity
Address
– Context Store Address
is the Context Store
cluster IP address
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
96
Configuration on Engagement Development
Platform
Need to tell the EP tasks where the EP is located
– Need to configure the EP location and a user/password
with Web Service Privileges
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
97
Configuration on Engagement Development
Platform (continued)
Need to tell the ED tasks where the Context Store is
located, this sets the Primary Cluster address. Select
your cluster then select EngagementDesigner.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
98
Experience Portal Mobile Web Example
by Jai Pugalia
Mobile Experience Example
Call into the contact center;
You will receive a message
that the wait time is long
You will be offered an SMS to
continue the conversation on
your smartphone browser
Sign in to file a claim
Once the claim is filed via
HTML, the application sends
an SMS notification and email
and starts an EDP workflow to
the process the claim.
The EDP workflow processes
the claim and notifies the client
via SMS.
Welcome
Start Claim
Need Help
Enter additional
information
Communication enabling the mobile
device allows connection to assisted
service with the context of the interaction
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
100
Mobile Web Call Flow Example
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
101
Incoming Voice Call sends SMS
EDP - Context Store
1
d
Application Server
Orchestration Designer
Voice Application
Firewall
Firewall
DMZ
HTTP
Reverse
Proxy
1
c
2
a
MPP
Email Servers
2
c
EPM
SMSC
Start
2
b
1
a
1
b
PSTN
SBC/Gateway
Channels:
Components:
Voice
SMS
Email
HTML
Multiple
Customer
Experience Portal
Avaya
Avaya Aura® Session Manager
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
102
Launch HTML App
3
a
HTTP
Reverse
Proxy
Application Server
Firewall
3
g
Firewall
DMZ
Orchestration Designer
HTML Applications
3
f
Redirector
3
b
3
c
3
e
3
d
Email Servers
EPM
SMSC
PSTN
SBC/Gateway
Channels:
Components:
Voice
SMS
Email
HTML
Multiple
Customer
Experience Portal
Avaya
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
103
HTML App Runs, Sends Email/SMS, Launch WF
EDP - Context Store
4
a
4
b
Application Server
HTTP
Reverse
Proxy
4
c
Orchestration Designer
HTML Applications
Firewall
Firewall
DMZ
7
a
6
c
5
a
6
b
6
a
Email Servers
5
c
7
d
EPM
SMSC
5
b
PSTN
7
c
SBC/Gateway
Channels:
Components:
Voice
SMS
Email
HTML
Multiple
Customer
Experience Portal
Avaya
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
7
b
EDP - Work Flow
(EP Dynamic Tasks)
104
HTML Terminates & Updates Reporting Info
HTTP
Reverse
Proxy
Application Server
Orchestration Designer
HTML Applications
Firewall
Firewall
DMZ
Sends
SDR/CDR
Email Servers
Batched in groups of up to
500 with a 1 minute timeout
for uploading to EPM as is
done for app logs
EPM
SMSC
PSTN
SBC/Gateway
Channels:
Components:
Voice
SMS
Email
HTML
Multiple
Customer
Experience Portal
Avaya
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
105
Orchestration Designer Enhancements
by Ross Yakulis
Processing Asynchronous REST
Requests in Orchestration Designer
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
107
Orchestration Designer
Web service call
– Create a REST web service operation in OD.
– The operation must pass the web service
– session:sessionid
– the MPP IP address, get from request. getRemoteAddr(). Need to
write Java to get the value and store into an OD variable.
– a handler URL for the reply
Getting the reply
– Need to add a catch for externalmessage.<vxmlevent>
– vxmlevent is the name the web service reply handler sends
to the CCXML basic HTTP IO Proccessor
– When the event is caught, use goto and a capture
expression to get the result data. The expression is
application.lastmessage$.content
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
108
Web Service
Web Service
– Axis Limitations
– Must return 200 Okay
– Must return some data, even if it is dummy data ({"result":“okay"})
– After completing the request the results are posted to the
handler URL with the CCXML session id and the MPP IP
address.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
109
Web Service Reply Handler
Use the IP address and session id to send an event to
CCXML. vxmlevent is the name of the event to be sent
to the VXML application and message is the data
Note to invoke the CCXML HTTP IO Processor you have
to have mutual authentication setup between the
application server and the Experience Portal system
Send avaya.vxml.event with parameters vxmlevent and
message as well as session id.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
110
Experience Portal
Default CCXML has a transition for the event
avaya.vxml.event
– Input vxmlevent, name of the event to send to vxml
– Input message, the payload or reply from the web service.
– This transition sends an event to the vxml application
Note, the data for the external event to VXML is limited
to a single string currently. So the data may need to be
parsed once the application receives it.
– Could also send the data as a string delimited by | which
OD would treat as a collection.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
111
Static Runtime Model
OD Speech
OD
data
Node
WS
Handler
Request + Callback URL and CCXML Session Id
Asynchronous REST
Web Service
Reply + CCXML Session Id
Start Dialog
HTTP Post to the
basic httpioprocessor (avaya.vxml.event)
with vxmlevent set to asyncwsreply
Voice Browser
CCXML Browser
Event to VXML
(externalmessage.asyncwsreply)
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
112
Real Time Events
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
113
RealTime Events
PluggableConnectorLifeCycleAdapter class has
extended
– reportBreadCrumb
– reportAlarm
– Existing methods: applicationStarted,
initialVariablesPosted, applicationReturned,
sentApplicationExit,
Allows a developer to create a custom PDC to send
events in real time to a destination
Example available by request on the devconnect forum
– Example uses JMS to send events to a queue and a web
page that displays the data
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
114
Conversation Management PDC with
Cross Channel Conversations in
Orchestration Designer
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
115
Conversations
Conversations
– Conversations allow you to store context information
between application sessions.
– This context is stored in a repository on Experience Portal.
– Alternately, the Context Store can be used as the
repository as configured on EP.
– Context consists of name/value pairs stored in application
variables.
– A unique ID is used to identify a conversation. The
application does not see this value.
– Conversation data may be shared between apps of
different types
– Speech, HTML5, SMS, Email
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
116
Conversation Management PDC
Conversation
Management PDC in
project properties
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
117
Conversation Editor
File in your project used
to map your conversation
variables. Open to edit in
the conversation editor.
Conversation Editor to
map application variables
to be saved to the
conversation store.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
118
Conversations in Action
The application will be passed a conversation ID from the EP
platform when the application starts up.
The conversation PDC will automatically search and load all
conversation data from the repository if an existing
conversation is found.
When exiting an application, all conversation variables will be
written to the repository.
A conversation has a lease in seconds ranging from 60
seconds to 30 days. Every time the conversation is
accessed, the lease is reset. Once the lease expires, the
conversation is removed from the store.
The lease timeout can be adjusted by modifying the CAV
value avayaConversationLease. Default lease is 24 hours.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
119
Data Node
• The Start Conversation palette item in
the data node creates the
conversation.
• The End Conversation palette item in
the data node will destroy the existing
conversation from the repository.
• AddConversationAlias allows you to
supply a variable whose value
provides a mapping for conversations
between different application types.
Explained further on the next slide.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
120
Cross Channel Conversation
Applications of different types (speech, email, SMS, HTML5)
can use conversations. However, the PDC cannot always
use the internal conversation ID when changing between
application types.
By adding an alias, applications can find the conversation.
The alias should be set to the variable that represents the
“from” address of the initial application that is invoking the
new application.
Take for example an HTML5 application that launches an
SMS application. The HTML5 application will set the alias as
the “from” variable that is used when launching the SMS.
When the SMS application executes, it will refer to the “from”
field populated by the platform to find the conversation. The
from value should match what was set by the HTML5 app.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
121
Cross Channel Conversation Example
A Speech app gathers make, color and model
of car from the active caller which is stored in
the conversation repository upon exit. It then
creates an alias using the from address. The
app then sends an SMS using that fromSMS
value in the from field of the SMS.
The SMS app will execute and will gather the
conversation data automatically based on the
alias. The SMS app will echo back your
decision in a return SMS to the original caller.
Note: Both apps must map the same
variables by name in the Conversation Editor.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
122
EP Conversations Configuration
– Local EPM
– Conversations are stored in the database on the Local EPM Server. Only supports conversations for
SMS applications.
– Primary EPM
– Conversations are stored in the database of the Primary EPM server. Supports conversations for all
channels.
– Conversations are not available if Primary EPM goes down.
– Context Store
– Conversations are stored in the context store of the EDP. Supports conversations for all channels.
– Use this option for high availability of conversations. (Specify the Cluster IP address of the Context
Store on the EDP.)
– Requires OD 7.1 or later. OD 7.0.1 SMS applications will continue to use Local EPM even if this option
is chosen.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
123
Experience Portal Enhancements
by Jai Pugalia
WebLM License Server
Ships with WebLM 7.0
– WebLM 7.0 mandates EULA acceptance for all licenses.
– All existing licenses on the co-residing WebLM server must be reinstalled using WebLM web interface after upgrading.
Note: WebLM will no longer load licenses which were manually copied to the Licenses folder.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
125
Administrative Enhancements - 1
Certificates
– Tab Root Certificate
– Disable Signing to allow customers to use their own signed
certificates for mutual authentication with SIP proxy servers and
application servers.
Note: Need to run the ImportServerCertificate.sh script with --external
option on each server to install the signed certificates.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
126
Administrative Enhancements - 2
Locked user accounts
– Configurable user locked out message
– Indefinite lock out (-1) until manually unlocked.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
127
Administrative Enhancements - 3
Confirm CAV File Removal
– Configurable Application Variable page
– When you click the Remove link, confirmation dialog is displayed
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
128
Certificate Enhancements
Server Certificates
– Generated certificates have Extended Key Usage with attributes
– serverAuth
– clientAuth
– Imported certificates must have Extended Key Usage with
attributes
– serverAuth
– clientAuth
External Certificates
– Script for installing signed third party certificates for performing
mutual authentication with external servers like SIP proxy
Servers and application servers.
– ImportServerCertificate.sh script must be run with the
--external option on each server (EPM & MPP)
Note: Before installing these certificates, you must go to the EPM Root Certificate
web page and disable signing ability of the root certificate.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
129
Reporting Enhancements - 1
Contact Summary – Trending By option
– Compare different categories of information over a
period of time.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
130
Reporting Enhancements - 2
Application Summary Call Flow – View SVG Output
– Scalable Vector Graphics rendering of the call flow
graph by browser for desirable quality and sharpness.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
131
Single Sign-On with System Manager
by Jai Pugalia
Single Sign On Requirements
System Manager server and Primary EPM server require
a fully qualified domain name (FQDN) that can be
resolved in the DNS server. The domain name of the
Primary EPM server must match the domain of the
System Manager server.
Date and time for System Manager server and Primary
EPM server must be synchronized.
Maximum session timeout of the System Manager and
the Primary EPM must match.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
133
Single Sign On Enable Pre-requisites
Import System Manager certificate and add it to the Trusted
Certificate on the Primary EPM.
- Use URL of the form https://<SMGR FQDN>
Follow the instructions documented in the README.txt located under
Support/SMGR folder of the ISO image to copy Experience Portal
files to the System Manager system. This is a one time step.
Note: The README.txt is also available under $AVAYA_HOME/Support/SMGR folder of the Primary EPM.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
134
Single Sign On with System Manager
New web page called System Manager Settings.
– Navigation Link Display: Display name that shows up on the System Manger web page. It is a link and click
on this link on System Manager will take the user to the EPM home page.
– User Name: A System Manager user who has System Administrator role and is authorized to register Resource
Type and Resource Instance with System Manager.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
135
System Manager User Role Mapping - 1
Assign one or more Experience Portal built-in system
roles.
– Login to the System Manager system as a System Administrator and select “Groups & Roles”.
Select “Roles” and expand “System Administrator” role.
•
Experience Portal system built-in roles in the System Manager:
o
Experience Portal Administration
o
Experience Portal User Manager
o
Experience Portal Auditor
o
Experience Portal Maintenance
o
Experience Portal Privacy Manager
o
Experience Portal Reporting
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
136
System Manager User Role Mapping - 2
•
POM Managed Application built-in roles in the System Manager:
o
Experience Portal POM Administration
o
Experience Portal POM Campaign Manager
Note: Single Sign-On for POM requires POM 3.0.2 or later
•
ICR Managed Application built-in roles in the System Manager:
o
Experience Portal ICR Administration
o
Experience Portal ICR Reporting
Note: Single Sign-On for ICR requires ICR 7.0.1 or later
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
137
System Manager User Role Mapping - 3
Add Experience Portal permissions to a System Manager
role.
– When adding permission mapping to a customer role in the System Manager, the System
Manager Administrator user needs to do the following:
– Select “Experience Portal” in the “Element or Resource Type” drop-down list.
– In the “Element or Resource instance” drop-down list, the EPM “Navigation Link Display” configured in the
System Manager Settings page should appear in the list.
– Click on the Next button takes the user to the Permission Mapping page which shows all the available
Experience Portal permissions that can be selected.
Note: “EP Navigation Link” permission is selected by default. Without this permission, the System Manager user will
not be able to click on the “Experience Portal System” link under the “Elements” tab on the System Manager home
page.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
138
System Manager User Role Mapping
Note: Multiple EPMs can enable Single Sign-On with the same System Manager. The Element or Resource Instance
contains the value of the Navigation Link Display configured on the EPM System Manager Setting web page.
If “All” is selected in the “Element or Resource Instance” drop-down list in the permission mapping, the permissions
assigned will be applied to all the EPMs.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
139
Permission Mapping for Experience Portal permissions
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
140
System Manager User Role Details
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
141
Single Sign-On from the System Manager:
Start a Browser and login to the System Manager with a valid System Manager user with assigned Experience Portal
permissions. After successful login to the System Manager, click on the “Experience Portal System” link under the
“Elements” tab and click the triangle icon to expand the left menu and click on the EPM link. The user will be brought to
the EPM web page without entering credentials. The permissions assigned will determine which web pages may be
accessed by the user.
Note: When performing Single Sign-On, the System Manager Full FQDN name is required to use.
The following shows a sample screen shot of the System Manager Dashboard page. The “Experience Portal System”
link is under the “Elements” tab.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
142
Experience Portal Manager System Home Page
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
143
After clicking the EPM link, the System Manager user is signed in using single sign-on to the EPM
without entering any credentials.
The following sample screen, which shows the EPM “Users” page, shows the System Manager user
login as type “SMGR” and its assigned permissions which should match the permissions assigned in
System Manager.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
144
Single Sign On System Manager Limitations
Cannot delete EP/POM/ICR Resource Type, EP/POM/ICR System Roles in System
Manager
No Locale Support
No Organization Support
– System Manager does not allow the Administrators created in “Tenant Management” to access the “Experience
Portal System” from the System Manager dashboard. Therefore, in this Experience Portal release there will be
no organization support for System Manager Single Sign-On. An organization System Manager Administrator is
not allowed to Single Sign-On to the EPM. There will be no EPM organization roles / features mappings in
System Manager.
No Notification Mechanism between System Manger and Primary EPM for web session
timeouts.
– System Manager does not send out notifications to the EPM when a System Manager session
expires/terminates/logout. The System Manager does not have ability to receive notifications
when the EPM session expires. Session will be invalidated when the next request is made.
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
145
Currency Updates with 3rd Party Components
by Jai Pugalia
Orchestration Designer 7.1
OD 7.1 common runtime supports applications developed and
exported from OD 7.0, which means both OD7.1 and OD 7.0 apps
can co-exist on the same app server running OD 7.1.
Both OD 6.0 and 7.0 applications can be upgraded directly to OD
7.1 in the OD 7.1 Eclipse environment
HTML5 applications require Chrome 40+ or Firefox 35+ for
simulation and testing on desktop.
OD 7.1 supports the following applications servers:
– Tomcat7 and Tomcat8
– WebLogic 12c
– Websphere 8.5.5
– JBoss7 and Jboss EAP
OD 7.1 design environment requires Eclipse 4.2, 4.3 or 4.4.
Either J2SE 1.7 or 1.8 are supported
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
147
Experience Portal 7.1
Java 1.7.0_97
Tomcat 6.0.45 (Main EP/MMS) and 8.0.32 (AppServer)
Postgres 9.2.15
Red Hat Security Updates
© 2015 Avaya Inc. – Confidential & Proprietary Use pursuant to your signed agreement or Avaya Policy.
148
Q&A
149
© Copyright 2026 Paperzz