You are on page 1of 101

Avaya Orchestration Designer 7.

0
- Knowledge Transfer
Product Management
Kris Chakravarthi
December 2013

Avaya Orchestration Designer


Application Development and Service Creation
Orchestration Designer

Open standards based tool for design and


maintenance of your apps and workflows
Why does it Matter?

Accelerates application time to market, reduces

development costs, improves self service quality


Background and Capabilities

One tool for design, simulation, maintenance of

multi-channel inbound/outbound self service


Leverages best practices from Dialog Designer
and SCE for Contact Center
Supports Experience Portal, Voice Portal, Media
Processing Server, Interactive Response and
Avaya Aura Contact Center
Built on Eclipse open source framework for
easier integration with other 3rd party tools
Provided at no cost with Experience Portal.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Orchestration Designer 7.0


Pre built integrations for outbound, Email, SMS and language analysis elements

Email and SMS Editors


Text processing for Email/SMS
Text processing
Language detection
Email/SMS simulation
New Pluggable Data Connectors
Email
SMS
REST
Outbound Call
AACC
Documentation Generation

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Orchestration Designer key value


propositions
Reusable elements, faster time to market and ROI
Enables common branding
(splash screen, labeling,
etc.) and a similar look and
feel

Enables efficient and


consistent workflow design
for assisted and automated
services

Allows businesses to
maintain and exploit their
existing infrastructure.

Provides a single tool to


design and orchestrate the
customer experience
across multiple channels

Allows the reuse of


existing web-based
integrations, services, and
assets

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects and Channels


OD Development Team
Neil Goldsmith

Messaging Projects
Messaging projects support non speech channels
Email and SMS are first 2 channels supported.
Each project supports one type of incoming channel.
Same project cannot handle an email and an SMS.
Codebase is setup to facilitate addition of new channels to OD,
but will require collaboration with OD development team to
implement.

Incoming channel is selected


during project creation.
This selection dictates the
structure of the project and
cannot be changed.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects GUI


GUI
Same look and feel as speech projects
Flow palette will change to represent
items topical to that channel.
Reuse of familiar speech palette items.
Announce node is used to send an email

in an Email project.
Collect node is used to gather incoming SMS.

Views and editors are reused from speech

applications with only slight modifications where


necessary.
Same problems view, same simulation view, same property view,
etc.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects Variables


Each Channel type will add its own
set of variables to the projects.
SMS and Email will remove speech based
variables and add a set of message based
variables that contain data on the
incoming message. Individual message
fields will differ between SMS and Email.
Future channels can control the variables
defined for their project.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects
Project structure is similar to speech projects
with changes to include those resources new
to the messaging apps.
Email adds an email directory for creation of

email resources.
New icon in OD Navigator indicates message project
type.

Reuse of Speech oriented resources across


messaging apps.
Prompts are used to construct an Email or SMS.
Grammars are used to parse the content of an Email or SMS, even

though their internal format will differ from a speech based grammar.

Even though resources are reused, differences do exist, therefore,


resources and flows/flow items cannot be copied between projects
of different types (even between different channels).
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects - Runtime

The ColorGuess sample app is a good app to understand the basics of

how to build a message app. This SMS based sample app is included
with the OD Message sample apps.
The main flow looks very similar to how a speech apps main flow looks.
First check the type of the incoming SMS to determine if it is a normal
message or a notification message. A notification message is typically a
return receipt message or a message indicating an event has taken place.
The input node gathers user input. It looks very
similar to how a speech app gathers input. In
this case our grammar will parse the incoming
SMS using our color grammar to look for a
match. If no match is found, the app exits.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects - Runtime

If the input matches to one of our grammar entries, we then compare it to a

random color we have generated from our list in the calcresult node.
Based on the comparison, we then send a response of correct or wrong back to
sender.
Prompts are built just like a speech prompt.
We can assemble using text and variables
to create a response. You can also send
SMS responses built in the SMS editor,
which we will discuss in the next section.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Email and SMS Editors and


Simulation
OD Development Team
Shweta Behere

SMS Editor

An SMS message is
created by adding an
SMS file to your
project.
The editor allows you
to enter the body of
your SMS message.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Insert Variables

You can embed simple or complex OD


variables in the body of your message.

Use insert variable menu item on


toolbar
OR
Use insert variable context menu

Uses _{var}_ notation for variables

Same for sms and email editors

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

OR

Email Editor

An email message is
created by adding an
email file to your project.
The editor allows you to
enter the body of your
email message.
Your email can be plain
text or HTML format.
You can also add
attachments to your
email.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Email Attachments

Use attach file menu item on


toolbar
OR
Use Attach File button in the
Message Details section of email
editor

Can be local or external

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

OR

Email Preview

You can preview how your


email will look.
Use preview email menu item on
toolbar

OR
Use preview email context menu

Preview shows up in the email


preview view which is a tabbed
view in the message/speech
perspective.

Runtime email preview:


Automatically shows up during
email application simulation

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

OR

SMS Simulation

Simulation of an
SMS app will show
the incoming and
outgoing SMS
messages.

When you start an


SMS app
simulation, you
must provide the
incoming SMS
message to your
app in the text box
Enter SMS
Message. This is
similar to simulating
a call in a speech
app.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Email Simulation

Simulation of an Email app will show the incoming and outgoing


Email as well as a preview of how the formatted email will look.

You can preset the incoming user email in your simulation profile
under the message tab, where you can simulate typical email
parameters.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messages tab

Provides details on outgoing messages

Same for sms and email simulation

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Notification PDC
OD Development Team
Neil Goldsmith

Notification PDC General


The Notification PDC allows you to send an Email or SMS from a
Speech or Message app (but not Call Control aka CCXML).
The PDC is added via the Pluggable Connectors tab in project
properties.
An option to create a CAV is available
in a checkbox. This variable indicates
how many characters are stored in the
CDR on the platform and will override
the default.
Addition of this PDC will add an email
and sms dir to your project so you can
store the respective resources.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Notification PDC GUI


GUI
2 new entries will be added to the data palette.
Email and SMS resources can be created in your

project just as you would a typical Message Project.


Adding an Email or SMS to your flow is easy. Drop in
the sendEmail or SMS palette item, bind your Email or
SMS to that node, define its properties and handle the
error condition.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Notification PDC Email


Send Email properties:
Email indicates source of the email
To Variable that indicates where to send.
From Origination of email
Cc and Bcc copy and Blind Copy
Subject Subject of email
Reply To email address used to reply.
Display Name Displayed in the From field
instead of From address
Return ID Variable to hold return ID of email
Delivery Notification Will trigger a notification
and instantiate a defined app
when event occurs.
Priority Priority of email.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Notification PDC SMS


Send SMS properties:
SMS indicates source of the SMS
To Variable that indicates where to send.
From Origination of SMS
Return ID Variable to hold return ID of SMS
Request Receipt A return receipt will trigger
an app to execute when SMS is sent.
Priority Priority of SMS.
Validity Period Max time to wait to send SMS.
User Reference Data Additional data added to the SMS.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Messaging Projects GUI


Notification PDC talks directly to the platform web service,
bypassing the textbrowser.
Allows for more options during send.
You might choose to use the Notification PDC in an SMS project to
send an SMS in order to use more options than you get with the
browser.
Request a receipt when SMS is sent.
Set a priority
Set a time validity on max age to send SMS.
Send user custom reference data.
If you choose to be notified on a receipt request, you can configure
an app on EPM that will execute when receipt is sent.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments PDC


OD Development Team
Neil Goldsmith

AACC Treatments General


AACC Treatments PDC (aka Give IVR) is a PDC that supports
integration with AACC via SIP and SIP messaging.
The purpose is to provide an initial self service segment to the call to
perform such things as secure data gathering, customer validation
or play a prompt before routing to an agent.
AACC answers an incoming call from session manager
The call will be directed by an AACC primary script to deliver the call to

Experience Portal.
The script issues a Give IVR command to a Media Server that routes the
call to Experience Portal.
Experience Portal is configured to initiate a CCXML page that will then
run the OD VXML application.
The OD VXML application will execute a specific operation as requested
by the AACC script.
If required, the OD application will return data back to AACC with the
call, which is then routed to an agent.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments Types


AACC can request the OD application to perform one of four
functions:
Play Only Simply play a dialog to the caller. Does not return
data.
Digit Collection Collect a string of digits and return that string
with the call.
Pin Validation Validate a callers ID and return boolean
true/false if validation succeeded (not supported in AACC 6.3).
Context Creation Return a series of name/value pairs along
with optional cad data (a string of custom data).

You can also predefine a custom treatment.


Requires custom configuration on both AACC and OD side.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments PDC


The PDC is added to your
OD application by selecting
AACC Treatments.
You can add custom
treatments and also see
what default treatments are
available.
Default treatments cannot
be modified.

No palette items in your data


node are needed to add to
your flow. Your app is
enabled to handle AACC
treatment messages when
you enable the PDC.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments Variables


Once the PDC is added to your
application, 2 new variables will be
created.
aacc_data: contains data passed in the SIP

header (some optional) as defined by the AACC


script. The CCXML page will extract the
incoming data and pass it to the application to
be assigned in these fields. The application
should set the returnvalue field for any data
passed back to AACC. The CCXML page will
assign the sip fields for formatting.
aacc_context: Used only for the context
creation treatment. This variable contains one
default field: cad. The other fields are created
by the app writer. These new fields should be
assigned a value and are passed back to AACC
as name/value pairs.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments CCXML

A CCXML page called ccxml.jsp will be added to your application.


This is the page you should invoke when configuring your application on the
VPMS applications page.
You do not need to modify the CCXML content.
The CCXMLs job is to extract the incoming data from the SIP header and
make it available to the application and then invoke the application. It will
also extract the return data set by the application, format the SIP message
and send the call along with the data back to AACC.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments AACC CC Manager


Configuration on AACC
Contact Center Manager
requires you to define a media
server that points to at least
one MPP on EPM. You can
enter multiple MPPs and calls
will cycle through them.
You next define a route for
the XDialog service. The
treatment address should
begin with sip:__sip-xdialog
You will then define the target
media server for this service
name. This should be the
MPP reference(s) you created
earlier.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments Scripting


AACCs flavor of Orchestration Designer can be
found on the Scripting page of the AACC Contact
Center Manager. Install and launch that version
and create a new application/script.
Script should be similar to example on the right.
voicexml defines the OD VXML application you

want to run. The CCXML page will invoke this


voicexml for you. Dont make the mistake of putting
the CCXML page here.
treatementtype defines what treatment the
application is expected to perform. One OD
application can handle many treatment types by
simply checking the value in this field.
Variable fields for the predefined aacc_data variable
can be defined and given a value here. You can
also define custom variables, but the application will
have to capture their value by name.

Once your script is defined, open the


Master_Script application and you can map your
application/script to your target CDN.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments VPMS configuration

Configuration on the VPMS for Experience Portal Applications page


For the URI, you should target the ccxml.jsp page that is added
to your application.

The application launch entry should indicate __sip-xdialog

as the launch type. This is a specific target for incoming


SIP calls that contain that treatment address and was
defined in AACC Contact Center Manager Media Services
and Routes.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

AACC Treatments Simulation


Simulation of the PDC requires a few
manual changes to setup.
In your simulation profile under the
Call Control Protocol Parameters, you
can define the data that is normally
passed by AACC. At a minimum, you
need:
treatmenttype what treatment to
perform.
voicexml What VXML app to invoke.
returns whether app returns data.

Because the simulator will not let you


invoke the ccxml.jsp page contained
in the speech application, you must
create a separate callcontrol project
and copy the ccxml.jsp to that.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

OD 7 General Enhancements
OD Development Team
Wilson Yu

Overview
Generate Project Documentation
Support Multi-lingual VXML Nodes
Transfer Calls to AACC with Customer Data
Convert Project Variables to Configurable Variables
Package Multiple Projects for Websphere Deployment
Misc. Enhancements

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Project Documentation Generation

Right-click on the project to show the


context menu, and select
Orchestration Designer->Generate
Documentation option.
By default, the project is selected in
the pop-up dialog and the directory is
\data under the project, where files
are to be generated.
You can choose a different project
and/or browse to a different directory
on your machine if desired.
Click OK to kick off the generation.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Once the process is done, the web


browser pops up in the editor area
displaying the main html page of the
documentation.
A bunch of files (html, css, pdf, jpg)
have been generated in the chosen
directory to support the content and
look and feel.
The left pane of the html page provides
the menu to navigate to the different
categories of information. The right side
displays the information corresponding
to each menu link. At the far right top
corner, the Print icon links to the PDF
of the page.
In the samples above, the screen on
the left gives you the overview of the
project. The screen on the right
displays of the bitmaps of all the flows
in the project.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Call Transfer to AACC (SIP)

Currently customers need to follow the 2 sample apps - XferToCDMwUUI and


XferToLandingPad, which involve writing custom code, adding operations to transcode
and adding the right SIP headers. We want to make it easier.

Six new palette item stack in the Template section. These are based on the existing
VXML transfer items. They are pre-configured with certain settings so that only minimal
work is necessary for developers to transfer calls to AACC with UUI and custom data.

The first 3 items are used for SIP based AACC. The last 3 items are for AML based
AACC, which involves the landingpad web service for data transfer.
Palette

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Flow Editor

For blind transfer, 1 external properties are automatically added. The value is set to PIntrinsics=. Users are expected to expand it by adding customer data string but keeping
the prefix. If you are using a variable/field, you would be need have the variable value to
contain the exact prefix too.

For bridged and consultation transfers, 2 external properties are automatically added
and partially configured for passing custom data using SIP headers. The first property
sets up the header name P-Intrinsics. The other is to be filled in for the value.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Passing custom data using the P-Intrinsics


header.

<i>key2=value2</i>

Up to 5 key/value pairs.

<i>key3=value3</i>

Using <cad> for optional call attached data.

Concatenated string with no CRT character


and no space between tags

<cc>
<i>key1=value1</i>

<i>key4=value4</i>
<i>key5=value5</i>
<cad>CAD</cad>
</cc>

The transfer item is pre-configured with Transfer to AACC property set to true, which enables other
properties below it.

Developers to fill in either AAI Data or AAI Variable/Field to transfer UUI information. If UCID
variable is specified, the value will be appended to the UUI string. PD,00;C8, or 04 will
prepended to the UUI string for Shared UUI or Service Provider mode respectively.

The UUI string will be automatically transcoded to Hex Ascii at the time of transfer.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Call Transfer to AACC (AML)

The call transfer to AML based AACC requires enabling


the AACC Landingpad Web Service (Axis 1.4) PDC. It
sets up the required library for talking to the Landingpad
web service for reserving a Landingpad before the call
transfer.

Need to configure the AACCLandingpadClient.properties


file in the projects WEB-INF/lib directory.

The destination number will be assigned automatically at


runtime. There is no need to modify the default
<landingpad auto>. In fact, the landingpad number
returned from the web service will be assigned here.

Fill in the AAI Data or AAI Variable/Field properties for the


UUI value.

Shared UUI = PD,00;C8, or Service Provider = 04 .

You can assign variable that contains UCID in the UCID


Variable/Field.

You will end up with a string in this format:


<Transfer Mode><UUI>;FA,<UCID>

The string will be transcoded and assigned to the aai


property in the generated VXML transfer tag.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Multi-lingual VXML Nodes

Designed to streamline the multilingual call flow.

You no longer need the Set Language operation in a


data node in between the VXML nodes (such as
Announce, Prompt/Collect and Menu) to switch
between different languages.

You can have one node play text prompts in different


languages. For example, you want a menu node to
play a prompt in different languages to solicit user
inputs.

You only need to set up one node (P/C or Menu) to


recognize user inputs in different languages (provided
you have a grammar for different languages).

Simply, set the new language property in the Prompt or


Grammar item. It provides you the list of languages
that the projects supports to choose from.

Leaving the property blank would default to the start


language or the language changed by the Set
Language operation.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Proj. Variables to Conf. Variables

We need to support a criteria that there are already a bunch of regular variables in a
project, and these variables are already tied to the call flow logic like the data node
operations. One needs to easily convert these variables to configurable variables so that
some rules/logic can be configured at runtime to enhance the flexibility of the project.

Simply, you can do that in 2 steps.

Enable the AVP/AEP Configurable Application Variables PDC.

Open/re-open the variables editor, select the project variables that you need to convert,
and select the Change Type to Configurable Variable in the right-click menu.

You are done. All the operations that reference the variables are not affected.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Websphere Deployment

Previously, you would have to export each project/module and deploy them individually. We
aim to alleviate the pain of deploying and maintain a project with multiple modules on
Websphere Application Server.

This new feature allows export of the main project to include all the modules in one .ear file.
Administrator can just deploy this one .ear file on the IBM console, and the application
including the dependent modules would run seamlessly.

Use the Export Wizard as before to export the main project. Select IBM Webphere as the
Servlet Container. The new last page of the wizard Configure Deployment Package
would automatically have the projects (including the main and modules) populated. These
are the projects that go into the .ear package. You can manipulate the package by adding or
removing projects (except for the main).

The resulted .ear package would contain all the files necessary for a successful deployment.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Simulator supports ASR and TTS on different


servers via MRCP

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Separate tabs
for ASR and
TTS MRCP
server settings
for simulation

Misc. UI Features

Double Click to open items in their respective editor. Works for prompt, grammar,
phrase, web service and database operation items.
Open editor

Highlighting operations that use the selected local variable for easy debugging.

Support copy and paste multiple prompt items, and support copying text from one TTS item
to another in the same project or across project. Support using Alt+C, Alt+P and Alt+I for
copy, paste and insert items in the prompt editor.

New operations to encode and decode strings between ASCII and Hex. It is often used
for transcoding UUI between Enterprise Portal and other interaction centers like AACC.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

WebLM

If you run the Orchestration Designer applications on MPS, then


you must install a separate WebLM license server and configure
the license information of Orchestration Designer

Use the WebLM.war file that is available on the Orchestration


Designer 7.0 installation DVD to install the WebLM license
server software

WebLM licensing installation instructions and the release notes


are also available on the Orchestration Designer 7.0 installation
DVD

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST Web Services Connector


OD Development Team
Samaresh Kowshik

Introduction to REST
REST = REpresentational State Transfer
It is an architecture style for developing web services
Example: The World Wide Web
Unlike the SOAP standard, which is used for ODs
Axis/Axis2 web services, REST is not a protocol. It is a
collection of loose constraints that the designer of a web
service should adhere to, leaving the implementation of
those constraints for the developer to decide.
A web service that adheres to all the principles defined
by REST is considered RESTful.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Introduction to REST
Clients interact with a REST web service via a Uniform
Resource Locator (URL) and request methods defined in
the Hypertext Transfer Protocol (HTTP) standard.
URL:
https://www.google.com/search?q=avaya&aq=f&oq=avaya
&sourceid=chrome&ie=UTF-8
HTTP Vocabulary: GET, POST, PUT, DELETE, HEAD,
TRACE, OPTIONS, CONNECT, PATCH

REST does not require a web service conform to any


specific return format, though the most common ones
are XML and JSON.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Why REST?
Pros
Uses existing protocols
and standards (dont
reinvent the wheel)
Less overhead than
SOAP
Faster than SOAP
Simpler to implement
and consume

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Cons
Clients user must be

more involved in
interactions with the
web service compared
to SOAP

REST in OD 7.0 New WSOP


The familiar File->New menu
has the new Web Service
Operation File (REST) entry.

Selection of the entry


brings up a simple
wizard that asks for
the WSOPs file name.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 Usage in Flow

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 Enable Connector

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 WSOP Editor

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 WSOP Editor

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 WS Information


Timeout is set to 45
seconds by default

REST URL shows a preview


of the final URL that will be
used for the request

User can select one of four


HTTP Methods to send or
receive data:

Server/Endpoint URL is where


the user may enter the URL to
use for the request

GET: requests a resource from the


server
POST: requests a resource be
changed
PUT: requests a new resource be
added
DELETE: requests a resources be
deleted

URL Format builds the REST


URL using the Input
Parameters (next slide) as
either parts of a query string or
a path
Query: ?q=avaya&sourceid=chrome
Path: /usa/product/avaya-auraorchestration-designer

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 Input Parameters

REST Parameter used to build


query string in URL

Variable and Field for storing


return value

URL Parameter Type overrides


URL Format selected in general
WS Information. Options are
WSOP Defined, Path, Query.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 Output Parameters

Return Parameter takes Xpath


expression or (ALL) to store
entire return into the variable

Variable and Field for storing


return value

Edit Output opens Output Editor


that shows XML representation
of return from web service

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0 Output Parameters


(Advanced Options)
Output Format is set to Server
Default by default and sets the
return object to be what the
server returns. Other options
are XML, JSON, and String.
Custom Content Type allows
adding unusual or custom
MIME/Internet Media types.
Primarily used for JSON returns.
Clear Output Cache used for
Output Editor.
Restore Defaults resets all
Advanced Options

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Use Java Object is enabled by


default. Deselecting it changes
Output Format values to XML
String and JSON String

REST in OD 7.0 Output Parameters


(Output Editor)

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

REST in OD 7.0
Authorization/Headers

Authorization
allows setting the
user name and
password as well
as security info
Headers allow
sending or
receiving of data
in the HTTP
header

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff to AACC
OD Development Team
Ross Yakulis

Handoff To AACC
Send message channel input to an AACC for agent
processing.
Allows application to decide what information to pass to
the agent.
When agent replies, the reply will be sent back to the
client on the same channel as the input was received.
The interface from OD to AACC is email. See:
Application Notes for Configuring Avaya Aura Contact
Center R6.2 to WEBTEXT.com SMS V2.0 Issue 1.0

This is the same interface that the Social Media Manager


uses
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Enable the
Connector
Enter the to
address (the
address
AACC is
listening on)
Enter the
from address

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Simple Flow
that just sends
all input to
AACC
Normally you
would only send
to an agent if
the application
could not handle
the input in self
service

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Wizard to
crate new
AACC
handoff
message
Only supply
name

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Select variables for
Subject and SubHeading of
message to AACC
Then add
parameters
Parameters are
variables that you
want to be part of
the message
Reply To Customer
are the default
values when the
agent replies

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Add an
operation to
the data node
and select the
saved AACC
message

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Create a
message to
send to EPM.
This example
uses email
The To: is
configured on
EPM email
connection for
incoming mail
Could also
use SMS

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Agent Desktop
When the
message in
previous slide
arrives at the
EPM the
application is
launched and
passed the input
message.
The application
then executes the
send to AACC
operation
And an email is
send to AACC
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Here the email
arrives at the
agent desktop.
On the left you can
see the To, From
and Message
Subject.
On the right you
can see the
message body
with the
subheading and
parameters

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Click Here
to Reply to
Customer

Handoff To AACC
Reply To, From,
Subject and
Body are
automatically
populated.
The Agent
enters their reply
and clicks the
send icon at the
bottom of the
page.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Agent Reply
here

Handoff To AACC
Confirmation that reply
message was sent to the
client.
The OD runtime will send
the reply on the same
channel as the original
input was received
Input ->To AACC -> Reply
Email -> Email -> Email
SMS -> Email -> SMS

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Handoff To AACC
Reply Received by
customer

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Simplified UUI
OD Development Team
Ross Yakulis

Simplified UUI
New operation PrepareAAI
Supports both Shared mode and Service Provider mode
Service Provider mode only allows application data
Shared mode allows for UCID or application data or
both.
Previously you had to hex encode the data then
assemble into a final string. Now it is one operation.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Simplified UUI
Shared mode examples of the output
PD,04;C8,<hex encoded application data>;FA,<ucid>
PD,00;FA,<ucid>
PD,04;C8,<hex encoded application data>
Servicer Provider mode examples of the output
04<hex encoded application data>

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Miscellaneous
OD Development Team
Ross Yakulis

Show Caught Exceptions


New option in ddrt.properties
Showcaughtexceptions (enabled | disabled )
When an exception is caught by the application a stack
trace is still printed to the trace.log.
Useful when debugging

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Enable Trace for Experience Portal


Allows you to toggle
tracing options from the
EPM Applications
configuration page.
Overrides the settings
in the ddrt.properties

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Language Detection
OD Development Team
Ross Yakulis

Language Detection
New Connector that detects
language in text.
Connector has a single
operation that takes an input
text variable, result variable and
a hint. The hint is the language
hint with the default being en.
The result is the ISO-639-1
language code

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Language Detection
The longer the text the better the accuracy.
Text containing mixed language will return the language code for the most
dominant language in the text
The "hint" function works such that the "hinted" language will be returned
unless the top scoring language is (a) different and (b) exceeds the score of
the "hinted" language by ~2%.
If text is in an unsupported language, the recognizer will return one of the
known languages.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Language Detection
Languagesrecognizedbycharacterset:
Language
Armenian
Hebrew
Arabic
Thaana
Devanagari (Hindi)
Bengali
Gurmukhi
Gujarati
Oriya
Tamil
Telugu
Kannada
Malayalam
Sinhala
Thai
Lao
Tibetan
Burmese&Myanmar
Georgian
Ethiopic
Tagalog
Khmer
Mongolian
Sundanese

Code Returned
hy
he
ar
dv
hi
bn
pa
gu
or
ta
te
kn
ml
si
th
lo
bo
my
ka
am
tl
km
mn
su

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Language Detection
Languagesrecognizedbycharacterngrammodels:
Danish
German
English
Spanish
Finnish
French
Croatian
Indonesian
Icelandic
Italian
Japanese
Korean
Dutch
Norwegian
Polish
Portugeuse
Russian
Serbian
Swedish
Turkish
Chinese (Simplified)
Chinese (Traditional)

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

da
de
en
es
fi
fr
hr
id
is
it
ja
ko
nl
no
pl
pt
ru
sr
sv
tr
zh-cn
zh-tw

Launch Outbound Call PDC


OD Development Team
Jianing Han

Launch Outbound Call PDC Overview


Launch Outbound Call PDC allows user to launch
outbound call from either speech application or message
application.
Launch Outbound Call PDC is abstracted so that the
user does not have to create WSOP or write Java code
Two Items in Launch Outbound Call PDC:
LaunchVXMLCall and LaunchCCXMLCall

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Launch Outbound PDC GUI


Launch Outbound Call PDC is enabled via the Pluggable
Connectors tab in the Orchestration Designer page of
the project properties.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Launch Outbound PDC GUI (Cont.)


Experience Portal needs to be chosen via Runtime
the Runtime Platform in the
General tab in Orchestration
Designer in project properties.
NOTE: Launch Outbound call PDC is NOT
supported in desktop mode. This
means that you cannot run it from
application simulator.

Two new entries are added to


data Palette:
LaunchVXMLCall
LaunchCCXMLCall
Adding LaunchVXMLCall/LaunchCCXMLCall to your flow:

Drag and drop from the palette in your data node


Define the properties
Check result variable

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

LaunchVXMLCall
LaunchVXMLCall properties:
Result Return value from AAEP Web Service. success or error
string.

applicatioName -- The name of the VoiceXML application which can


be run after the outbound call is connected.
Note: The application name must match the one that you add to AAEP
through EPM.

toURI -- The destination that the VoiceXML application must call.


applicationURL -- The URL of the VoiceXML application
fromURI -- The origination of the call
ConnectTimeoutSecs -- The maximum time, in seconds, that the
system must wait for the outbound call to be connected

Parameters The name and value pairs for the VoiceXML application
UUI -- The user-to-user (UUI) information for the outbound VoiceXML
call.

Zone: The zone ID which the VoiceXML application is on.


Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

LaunchCCXMLCall
LaunchCCXMLCall properties:
Result Return value from AAEP Web Service. success or error
string.

applicationName -- The name of the CCXML application which can be


run after the outbound call is connected.
Note: The application name must match the one that you add to AAEP
through EPM.

applicationURL -- The URL of theCCXML application


toURI -- The destination that the CCXML application must call.
LaunchTimeout -- The maximum time to wait for CCXML app. to start
Parameters The name and value pairs for the CCXML application
UUI -- The user-to-user (UUI) information for the outbound CCXML
call.

Zone: The zone ID which the CCXML application is on.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Misc.
Required LaunchVXMLCall properties:
applicationName
toURI
fromURI

Required LaunchCCXMLCall properties:


applicationName

NOTE:
1.

The application configured on AAEP must be enabled for Launch Outbound Call to be
successful.

2.

Launch Outbound Call PDC is only available on OD7.0.

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

VXML Send and Receive


OD Development Team
Ross Yakulis

Sending Events between CCXML and


VXML Overview
With this release, application developers can pass events between CCXML
and VXML.
CCXML can send to a dialog
<send name="'update'" target="dialogid targettype="'dialog'" namelist="message" delay="'0s'" />
VXML receives asynchronous events using the catch.
<catch event="externalmessage.update"> </catch>
Note: event arrives in VXML as externalmessage.<sent event name>,
The property externalevents.enable = true, enables asynchronous events. If false, events are synchronous.
VXML can send events to CCXML
<send async="true" event="playedmessage" body="I played the message" contenttype="text/xml" timeout="5s" />
VXML can only send back to CCXML.
CCXML receives events from VXML
<transition event="dialog.user.playedmessage" state="in_dialog">
Note: event arrives in CCXML as dialog.user.<sent event name>
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

Sending Events between CCXML and


VXML Overview
VXML can receive events synchronously
Use the receive tag to receive a synchronous event -> <receive />
In the synchronous mode, events can arrive and be queued or be thrown away if the application is not listening. The

externalevents.queue property controls this behavior. If true events are queues for synchronous retrieval. If false events
are discarded if the application is not listening.
No example application for synchronous events.

Only on the Platform


The desktop browser does not support the send and receive in VXML
No GUI representation for send and receive. Need to use VXML servlet and add minimal code
Example:

The SendToVXML (CCXML) and ReceiveFromCCXML (VXML) example


application pair demonstrate the asynchronous behavior.
See http://www.w3.org/TR/voicexml30/#ExternalCommunicationModule for
additional details.
Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

SendToVXML - ReceiveFromCCXML

CCXML

Avaya Proprietary. Use pursuant to your signed agreement or Avaya policy.

VXML

You might also like