You are on page 1of 16

19 April 2016 Version 1.

Back-end Avaya Aura® Experience Portal


and SIP-enabled Avaya Aura® Contact Center

Overview
This document describes how to integrate Avaya Aura® Contact Center and a back-end Avaya Aura®
Experience Portal system using SIP header information. Avaya Aura® Contact Center supports the
following SIP header types:
 User-to-User Information (UUI) SIP header
 Avaya custom P-Intrinsics SIP Private Header
Each SIP message includes a number of message headers. These headers contain information that
enables the receiver to understand and handle the message properly. In a SIP-enabled contact center
solution, SIP headers can be used to transfer small amounts of call-related information between SIP-
enabled applications.

Avaya Aura® Experience Portal


Avaya Aura Experience Portal (AAEP) is an open standards-based self-service software platform. Self-
service solutions allow customers to automatically obtain assistance or information without the need for
agent interaction. Calls from your customers can be automatically answered by a self-service system
that prompts callers to describe the information they require and provides this information without the
need for a contact center agent. You can also use a self-service system to collect information from your
customers before they speak to contact center agents.
The Avaya Aura Experience Portal system consists of an Experience Portal Manager (EPM) and one or
more Media Processing Platform (MPP) servers. The Experience Portal solution network includes a
Private Branch Exchange (PBX) server such as the Avaya Aura Unified Communications platform, an
Automatic Speech Recognition (ASR) server, Text-to-Speech (TTS) servers, and Tomcat application
servers.

Avaya Aura® Experience Portal Orchestration Designer


Orchestration Designer is an Eclipse-based application development environment which supports the
development of Voice XML and CCXML speech applications. Orchestration Designer generates
Experience Portal compliant XML-based applications for deployment on software application servers
such as Apache Tomcat Server.
Voice XML (VXML) is a standard XML format for specifying interactive voice dialogs between a human
and a computer. Voice XML is designed for creating audio dialogs that feature synthesized speech,
digitized audio, recognition of spoken and DTMF key input, recording of spoken input, telephony, and
mixed initiative conversations. For example, a typical Voice XML play and collect application plays voice
prompts to customers asking them to enter digits using their phone. The application then collects the
customer digits and returns the digits for processing to the contact center.

AACC and back-end AAEP integration using SIP header Page 1 of 16


19 April 2016 Version 1.0

Call Control XML (CCXML) is a standard markup language for controlling how phone calls are placed,
answered, transferred, and conferenced. CCXML works with Voice XML to provide an XML-based
solution for any telephony application. Voice XML and CCXML are two separate languages. CCXML can
be integrated with a more traditional Interactive Voice Response (IVR) system and Voice XML dialog
systems can be integrated with other call control systems.

SIP-enabled Avaya Aura® Contact Center


Avaya Aura Contact Center is a context-sensitive voice and multimedia-enabled customer contact
solution that allows enterprises to automate and accelerate customer interactions.
Avaya Aura® Contact Center uses Session Initiation Protocol (SIP) architecture to provide maximum
interoperability and flexibility. Avaya Aura® Contact Center SIP-enabled architecture and Contact
Intrinsic data make it easy to develop screen pop applications, reducing the time, effort, and cost
required to launch new capabilities.
Avaya Aura® Contact Center (AACC) contains a SIP Gateway Manager (SGM) component which is the call
processor in a SIP-enabled contact center. The SIP Gateway Manager is a SIP element that can receive
and process calls from SIP-enabled communication systems such as the Avaya Aura® Communication
Manager platform.
In a SIP-enabled contact center each call or contact has associated Contact Intrinsic data. This Contact
Intrinsic data may contain data relevant to that call, the calling customer, and other information
retrieved by self-service or third party applications. Contact Intrinsic data enriches the context and
information presented to agents with each customer contact.
User-to-User Information (UUI): SIP-enabled systems can use SIP header User-to-User Information (UUI)
to transmit small amounts of data between systems within SIP messages. SIP header UUI information
can provide additional data about a call that a Voice XML application can use to determine what
processing needs to be done for that call. Or the Voice XML application can use customer interview data
to modify the UUI data, and then pass the customer call along with updated UUI information to the next
application in the solution. This SIP header UUI data may be used to support Avaya Aura® Application
Sequencing. Examples of UUI data include a customer account number obtained during a self-service
session. P-Intrinsics SIP Header: If your call-associated context information does not fit in the SIP UUI
header, you can use P-Intrinsics header information to pass the context information between SIP-
enabled applications. P-Intrinsics is an Avaya custom SIP Private Header (P-Header).
Contact Intrinsics: SIP-enabled Avaya Aura® Contact Center uses SIP header User-to-User Information
(UUI) or/and P-Intrinsics private header information to generate Contact Intrinsic data. Avaya Aura
Contact Center Contact Intrinsic data makes it easy to develop screen pops, reducing the time, effort
and cost required to launch new capabilities.
Avaya Media Server: Avaya Media Server is a software-based media processing platform. All media
processing is performed in software on the host CPUs. Avaya Media Server uses standard SIP signaling
and Real-time Transport Protocol (RTP) to transport audio, which enables it to work with a wide variety
of clients and gateways. Avaya Aura® Contact Center uses the media processing capabilities of Avaya
Media Server to support conferencing, announcements and dialogs in SIP-enabled contact centers. Each
Avaya Media Server in a contact center is configured in Contact Center Manager Administration as a
Media Server and is assigned to handle conference media services.

AACC and back-end AAEP integration using SIP header Page 2 of 16


19 April 2016 Version 1.0

Back-end Avaya Aura® Experience Portal with Interactive Voice Response


Avaya Aura Experience Portal provides back-end Interactive Voice Response (IVR) services like text-to-
speech, digit collection, music, and speech recognition. A combined Avaya Aura Experience Portal and
Avaya Aura Contact Center solution gives your customers exceptional service and improved efficiency.
Back-end Interactive Voice Response reduces contact center operating costs and improves Customer
Satisfaction (CSAT).
The following diagram shows a typical solution integration of an Avaya Aura Contact Center with a back-
end Avaya Aura Experience Portal system using the Play and Collect sample application.

In a typical back-end Avaya Aura Experience Portal integration, customer calls to the Avaya Aura Contact
Center are routed to Experience Portal applications for automated processing. Avaya Aura Experience
Portal (AAEP) applications play voice prompts asking the customer to select items from a menu, or to
input account numbers. The customer responds by entering digits on their phone, or by speaking (AAEP
supports optional Automatic Speech Recognition servers). The Avaya Aura Experience Portal
applications then collect the customer’s response and return it to Avaya Aura Contact Center for further
treatments or agent assistance.

AACC and back-end AAEP integration using SIP header Page 3 of 16


19 April 2016 Version 1.0

Call flow example


This call flow example shows how an Avaya Aura Experience Portal system interacts with Avaya Aura
Contact Center to handle a typical automated back-end Interactive Voice Response (IVR) customer
transaction.
1. Incoming customer calls to the Communication Manager are routed by Session Manager to
Avaya Aura Contact Center (AACC).
2. Avaya Aura Contact Center answers the call and executes a flow application, script, or/and
optional primary scripts. A primary script is an application executed or referenced by the Master
Script. Contact Center Manager Server records Master script and Primary script actions in
statistical records.
3. The Contact Center script issues a session-based GIVE IVR command for an external media
server (XDIALOG), supplying the URI identifier of the Avaya Aura Experience Portal.
4. Avaya Aura Contact Center retains control of the call and sends a SIP INVITE message to Avaya
Aura Experience Portal. Avaya Aura Contact Center specifies treatment parameters in the SIP
INVITE message.
5. Avaya Aura Experience Portal passes the call to a CCXML dialog application on the Tomcat
application server.
6. The CCXML dialog application accepts the call and retrieves IVR parameters from the SIP INVITE
message.
7. The CCXML dialog application invokes the Play and Collect Voice XML application
(PlayAndCollect) with the parameters retrieved from Avaya Aura Contact Center. SIP header-
based shared User-to-User Information (UUI) information is also extracted and passed to the
Voice XML application.
8. The Play and Collect Voice XML application streams Real-time Transport Protocol (RTP) streams
into the associated Avaya Media Server conference, and prompts the customer to enter digits
on their phone.
9. The Play and Collect Voice XML application collects the digits entered by the customer.
10. The Play and Collect Voice XML application then passes the customer’s digits back to the CCXML
dialog application.
11. The CCXML dialog application returns the collected digits to Avaya Aura Contact Center in a SIP
INFO message.
12. The CCXML dialog application then drops out (BYE).
13. The Avaya Aura Contact Center script retrieves the IVR collected digits.

AACC and back-end AAEP integration using SIP header Page 4 of 16


19 April 2016 Version 1.0

Sample application and code


Avaya supplies sample Experience Portal Orchestration Designer (OD) projects with code and
corresponding sample applications.
Dialog.zip Sample OD project and Call Control XML sample code zip file
Dialog.war Sample CCXML Application Web application archive.
PlayAndCollecty.zip Sample OD project and Voice XML sample code zip file.
PlayAndCollecty.war Sample Voice XML Application Web application archive.

The PlayAndCollect sample code contains all the Voice XML code, flows, English prompts & grammars
you need to pass UUI information to Avaya Aura Experience Portal. The following files are the most
significant in the sample code zip file:

Sample Orchestration Designer project files File purpose


Dialog\.project Orchestration Designer CC XML project file
Dialog\jsp\start.jsp Main CC XML code file
PlayAndCollect\.project Orchestration Designer Voice XML project file
PlayAndCollect\jsp\start.jsp Main Voice XML code file

If your call-associated context information does not fit in the SIP UUI header information, you can use P-
Intrinsics information to pass the context information between SIP-enabled applications. P-Intrinsics
information is contained in an Avaya custom SIP Private Header (P-Header). The sample code supports 5
key-value pairs; you can expand this up to a maximum of 10 key-value pairs.

This sample application supports incoming P-Intrinsics header information. You can use a front-end
Avaya Aura Experience Portal system to collect context information from a customer call and store it in
the P-Intrinsics SIP header. Experience Portal sends the customer call, complete with P-Intrinsics header
information, to Avaya Aura Contact Center. Contact Center takes the context information stored in the
P-Intrinsics SIP header and uses it to generate call-related Contact Intrinsic and Call Attached Data
(CAD). Contact Center then routes the call to an agent and performs a screen pop based on the Contact
Intrinsic. If the agent transfers the call back to Avaya Aura Experience Portal for back-end processing,
the sample back-end XML application uses the existing context information to skip the initial context
gathering procedures and proceed to different procedures.

AACC and back-end AAEP integration using SIP header Page 5 of 16


19 April 2016 Version 1.0

The following is a sample of the Dialog Call Control XML code. Avaya Aura Contact Center sends a SIP
INVITE message into the Avaya Aura Experience Portal system. Avaya Aura Experience Portal passes the
SIP call to a Dialog CC XML application. The CC XML application retrieves all available information
including UUI data and P-Intrinsics information from the Contact Center call. The CC XML application
then invokes a “Play and Collect” Voice XML application and passes in all the information collected up to
that point:

Dialog CC XML application code:


<log expr="'Input parameters received:\n\tvoicexmldialog: ' + voicexmldialog +
';\n\treturns: ' + returns + ';\n\tprompttoplay: ' + prompttoplay +
';\n\tnumberofdigits: ' + numberofdigits + ';\n\tvars: ' + vars +
';\n\ttermchar: ' + termchar + ';\n\tinterdigittimeout: ' + interdigittimeout +
';\n\tnotypeahead: ' + notypeahead + ';\n\tvxmlto: ' + vxmlto +
';\n\tvxmlfrom: ' + vxmlfrom + ';\n\tim: ' + im + ';\n\turltopush: ' + urltopush +
';\n\tuui: ' + sipuui + ';\n\tgslid: ' + gslid"/>

<send targettype="'ccxml'"
name="'start.dialog'"
target="session.id"
delay="'0s'"/>

The sample Play and Collect Voice XML application, when called by the CC XML application, plays
prompts to the customer and collects DTMF digits.

Play and Collect Voice XML application:

The Play and Collect Voice XML application then returns the collected digits data from the customer
back to the Call Control XML application:

The collected digits are returned in the collecteddigits variable.

AACC and back-end AAEP integration using SIP header Page 6 of 16


19 April 2016 Version 1.0

The Play and Collect Voice XML application returns the data collected from the customer back to the Call
Control XML application.
Example of Call Control XML code retrieving the collected digits (collecteddigits) from the Voice XML
application:

<!-- Save return values and log -->


<assign name="collecteddigits" expr="event$.values.collecteddigits" />
<log expr="' collecteddigits : ' + collecteddigits"/>

<!-- If this is a Play and Collect, then need to respond with the collected digits -->
<if cond="returns != 'true'">
<log expr="'Play only - exit now'" />
<disconnect connectionid="in_connectionid"/>
<else/>
<log expr="'Play and Collect - send collected digits'" />

<if cond="collecteddigits == undefined">


<log expr="'No digits collected.'" />
<assign name="collecteddigits" expr="'-1'" />
</if>

The Call Control XML application then uses the collected digits (collecteddigits) to construct a SIP INFO
message:

<!-- Construct a SIP INFO message to send the collected digits -->
<script>
var hints = new Object();
hints.sip = new Object();
hints.sip.requestmethod = 'INFO';
hints.sip.body = new Array(1);
hints.sip.body[0] = new Object();
hints.sip.body[0].type = 'application/vnd.nortelnetworks.digits';
hints.sip.body[0].msg = 'p=Digit-Collection\r\ny=Digits\r\nd=Digits%3D'+ collecteddigits + '\r\n';
</script>

The Call Control XML application sends the SIP INFO message, containing data collected from the
customer, back to Avaya Aura Contact Center:

<send name="''" target="in_connectionid" targettype="'SIPEndpoint'" hints="hints"/>

End of code samples.

AACC and back-end AAEP integration using SIP header Page 7 of 16


19 April 2016 Version 1.0

Overview of configuration steps


This section gives a high level overview of the main configuration steps in an integrated Avaya Aura®
Contact Center (AACC), Avaya Aura Unified Communications platform and back-end Avaya Aura
Experience Portal (AAEP) solution.

The examples used in this overview are based on the following server details:

Server IP Address
Avaya Aura Experience Portal (AAEP) server 172.18.171.32
Apache Tomcat application server 172.18.47.245
Avaya Media Server 172.18.71.161

1: Using Contact Center Manager Administration (CCMA), add the Avaya Aura Experience Portal
server as a Media Server. Avaya Aura Experience Portal supports TCP/TLS only, UDP is not
supported on the Avaya Aura Experience Portal side.

The above screen shows the Avaya Aura Experience Portal (AAEP1) server and the Avaya Media
Server (AMS) added as media servers.

Avaya Aura® Contact Center uses the media processing capabilities of Avaya Media Server to
support conferencing, announcements and dialogs in SIP-enabled contact centers. Each Avaya
Media Server in a contact center is configured in Contact Center Manager Administration as a
Media Server and assigned to handle conference, announcement or/and dialogs media services.
For this type of back-end IVR solution Avaya Media Server supplies only media conferencing
capabilities.

AACC and back-end AAEP integration using SIP header Page 8 of 16


19 April 2016 Version 1.0

2: Using Contact Center Manager Administration (CCMA), configure the Avaya Aura Experience
Portal media server to handle XDIALOG media services and treatment routes.

The above screen shows Avaya Aura Experience Portal (AAEP1) configured to handle external
media services (XDIALOG). The Avaya Media Server is configured to handle media conferencing
(CONF). Note the Treatment Address is configured with "sip:__sip-xdialog@siptraffic.com" to
match the service URI as used in the Contact Center Orchestration Designer GIVE IVR command.

3: Download the AAEP-AACC integration sample application (PlayAndCollect) from the Avaya
DevConnect Web site, http://www.devconnectprogram.com.

Download Experience Portal Orchestration Designer from the Avaya support Web site. Install
the software on a computer in your solution. Orchestration Designer supplies a number of
sample applications. Avaya recommends that you review these applications.

A. Download the Contact Center sample application from Avaya DevConnect and copy it to
Experience Portal Orchestration Designer computer.
B. Modify the files to make them writable. Select all of the files, right-click and select Properties.
Uncheck Read-only, and click Apply.
C. Using Orchestration Designer, import the Contact Center sample application. [File > Import >
General, Existing Projects into Workspace.]
D. Examine the sample code and if necessary edit the properties file.
E. Export the code to a Web Application Archive (WAR) file:
a. Select the Contact Center sample application project, right-click and select Export.
b. Expand Avaya OD Development.

AACC and back-end AAEP integration using SIP header Page 9 of 16


19 April 2016 Version 1.0

c. Select Export Orchestration Designer Speech Project.


d. Click Next.
e. Select a Destination Directory, for example configure the destination as
C:\AAOD7.0.1\Exported.
f. Click Next.
g. For Platform, select Experience Portal.
h. For Servlet container, select Apache Tomcat 6.0.

i. Click Next.
j. In the Packaging section, select Include extra files and folders, and on the pop-up
message box, check config.properties. Click OK.
k. In the Tracing section, uncheck Reset tracing in the deployed application to the default
(disabled) settings.
l. Click Finish.
F. Export runtime files for the project:
a. Select the Contact Center sample application project, right-click and select Export.
b. Expand Avaya OD Development.

AACC and back-end AAEP integration using SIP header Page 10 of 16


19 April 2016 Version 1.0

c. Select Export Runtime Support files.

d. Click Next.
e. For Application Server, select Apache Tomcat 6.0.
f. Check Export Orchestration Designer runtime configuration application.
g. Select a Destination Directory, for example configure the destination as
C:\AAOD7.0.1\Exported.
h. Click Next.
i. In the Pluggable Connector Common Libraries section, check Web services (Axis 1.4).
j. In the Pluggable Connector Common Libraries section, check the Contact Center sample
application library.
k. Click Finish.
G. This creates two files in C:\AAOD7.0.1\Exported:
a. Copy runtimeconfig.war to the application server directory
(/opt/AppServer/tomcat/webapps) alongside the Contact Center WAR file.
b. Copy runtimeSupportTomcat6.zip to the Tomcat lib directory,
/opt/AppServer/tomcat/lib.
H. Export the CCXML Dialog application to a Web Application Archive (WAR) file:
a. Select the Dialog sample application project, right-click and select Export.
b. Expand Avaya OD Development.
c. Select Export Orchestration Designer Call Control Project.
d. Click Next.
e. Select a Destination Directory, for example configure the destination as
C:\AAOD7.0.1\Exported.
f. Click Next.
g. For Platform, select Experience Portal.
h. For Servlet container, select Apache Tomcat 6.0.
i. Click Next.
j. Click Include extra file and folders.

AACC and back-end AAEP integration using SIP header Page 11 of 16


19 April 2016 Version 1.0

k. On the Select Resources window, select all of the resources. Click OK.
l. Click Next.

m. Click Finish.

4: Add a Tomcat application server to your solution.

 Obtain the AACC-AAEP back-end integration sample applications from the Avaya
DevConnect Web site, http://www.devconnectprogram.com.
 Copy the Dialog.war file to the Tomcat webapps directory.
 Copy the PlayAndCollect.war file to the Tomcat webapps directory.
 Restart Tomcat to automatically expand the two Web application archive (WAR) files.

The Dialog Call Control and Play and Collect Voice XML applications are now installed on the
Tomcat application server and can be accessed and used by Avaya Aura Experience Portal.

AACC and back-end AAEP integration using SIP header Page 12 of 16


19 April 2016 Version 1.0

5: On Avaya Aura Experience Portal, under System Configuration, add the Dialog and Play and
Collect applications.

The above screen shows the Voice XML Play and Collect application and the CC XML Dialog
application, both available on the Tomcat Application Server (172.18.47.245).

6: Configure the Dialog Application as an Inbound application.

Avaya Aura Experience Portal supports the mapping of a Universal Resource Indicator (URI) to a
specific application. The inbound URI then determines which application to launch.

Configure the Dialog Application to be launched by the URI “__sip-xdialog”. This Contact Center
provided URI is configured in CCMA—Media Services and Routes. Configure this application to
support shared UUI – for Operation Mode select Shared UUI. Configure Text-to-Speech (TTS) for
this application.

AACC and back-end AAEP integration using SIP header Page 13 of 16


19 April 2016 Version 1.0

7: Configure the Play and Collect application as an Inbound application.

In this example the Play and Collect application is configured to be launched by the number
“8902”.
Configure this application to support shared UII – for Operation Mode select Shared UUI.
Configure Text-to-Speech (TTS) for this application.

8: The Contact Center script sends sip:__sip-xdialog@siptraffic.com to AAEP. AAEP uses “__sip-
xdialog” to launch the Call Control XML application. The CC XML application invokes the Play and
Collect application to collect customer data and returns the data. The CC XML application returns
the collected digits to AACC in a SIP INFO message.

Example of Contact Center Orchestration Designer GIVE IVR script:


ASSIGN "sip:__sip-xdialog@siptraffic.com" TO serviceuri
ASSIGN "invite" TO method
ASSIGN "PlayAndCollect" TO voicexml
ASSIGN "VXML" TO apptype
ASSIGN "digitcollection" TO treatmenttype

GIVE IVR
SERVICE URI serviceuri
WITH VXML TREATMENT voicexml
PARAMETERS vxmlto, vxmlfrom, method, apptype, treatmenttype
RETURNS c_sip_digits_str_cv

ASSIGN "Digits Returned: " TO im_str


APPEND c_sip_digits_str_cv to im_str

IF c_sip_digits_str_cv = "12" THEN


QUEUE TO SKILLSET SK1
WAIT 2
ELSE
QUEUE TO SKILLSET SK2
WAIT 2
END IF

This example Contact Center script reads the returned digits from the c_sip_digits_str_cv STRING
variable. The return value can either be an INTEGER or a STRING, for example c_sip_digits_int_cv
or c_sip_digits_str_cv.

AACC and back-end AAEP integration using SIP header Page 14 of 16


19 April 2016 Version 1.0

Conclusion
A combined Avaya Aura® Contact Center and Avaya Aura Experience Portal solution gives customers
exceptional service and improved efficiency. Back-end Avaya Aura Experience Portal automation
reduces contact center operating costs and improves Customer Satisfaction (CSAT).
Avaya Aura Experience Portal uses Call Control XML and Voice XML applications to integrate with Avaya
Aura Contact Center. This gives enterprises complete flexibility and control of the solution integration.
The Avaya Aura Experience Portal and Avaya Aura Contact Center solution is highly flexible and efficient.
Avaya supplies sample Voice XML applications for the rapid integration of a back-end Avaya Aura
Experience Portal system with an Avaya Aura Contact Center.

Avaya Aura Contact Center with back-end Avaya Aura Experience Portal —at a glance
Avaya Aura Contact Center Microsoft Windows Server 2012 Release 2, 64 bit, Standard edition or
Release 7.0.0 Datacenter edition
Avaya Aura Experience Portal Red Hat Enterprise Linux 6.0, 64-bit
Release 7.0.1
Avaya Aura Experience Portal Release 7.0.1
Orchestration Designer
Apache Tomcat application Version 6.0.41 Red Hat Enterprise Linux 6.5, 64-bit
server
Avaya Aura Communication Release 6.2 FP4, 7.0
Manager
Avaya Aura Session Manager Release 6.2 FP4, 7.0
Avaya Aura Application Release 6.2 FP4, 7.0
Enablement Services server
P‐Intrinsics SIP header encoded Maximum of 10 key-value pairs:
Contact Intrinsics - key = 25 characters maximum
- value = 80 characters maximum
Only ASCII key-value pairs are supported.
User-to-User Information (UUI) Maximum 96 bytes of encoded SIP User-to-User Information (UUI) data.
SIP header encoded data

AACC and back-end AAEP integration using SIP header Page 15 of 16


19 April 2016 Version 1.0

Reference
For more information about Avaya Aura Contact Center, see the following documents on
http://support.avaya.com:
 Avaya Aura® Contact Center Overview and Specification
 Avaya Aura® Contact Center and Avaya Aura® Unified Communications Solution Description

For more information about Avaya Aura Experience Portal, see Planning for Avaya Aura® Experience
Portal on the Avaya support Web site, http://support.avaya.com.

For more information about Avaya Aura Experience Portal Orchestration Designer, see the Avaya
DevConnect Web site, http://www.devconnectprogram.com.

© 2016 Avaya Inc. All Rights Reserved.


Avaya and the Avaya Logo are trademarks of Avaya Inc. and are registered in the United States and other countries.
All trademarks identified by ®, TM or SM are registered marks, trademarks, and service marks, respectively, of Avaya Inc.
All other trademarks are the property of their respective owners. Avaya may also have trademark rights in other terms used herein.

AACC and back-end AAEP integration using SIP header Page 16 of 16

You might also like