AOD DevGuide
AOD DevGuide
Developer's Guide
Release 8.1.2
Issue 1
October 2022
© 2012-2022, Avaya Inc.
“Permitted Modification(s)” means Licensee’s modifications of the
All Rights Reserved. Sample Application Code as needed to create applications,
READ THIS CAREFULLY BEFORE ELECTRONICALLY interfaces, workflows or processes for use with Avaya products.
ACCESSING OR USING THIS PROPRIETARY PRODUCT!
“Specification Document” means any notes or similar instructions in
THIS IS A LEGAL AGREEMENT (“AGREEMENT”) BETWEEN YOU, hard copy or machine readable form, including any technical,
INDIVIDUALLY, AND/OR THE LEGAL ENTITY FOR WHOM YOU interface and/or interoperability specifications that define the
ARE OPENING, INSTALLING, DOWNLOADING, COPYING OR requirements and conditions for connection to and/or interoperability
OTHERWISE USING THE AVAYA SOFTWARE DEVELOPMENT KIT with Avaya products, systems and solutions.
(“SDK”) (COLLECTIVELY, AS REFERENCED HEREIN, “YOU”,
“YOUR”, OR “LICENSEE”) AND AVAYA INC. OR ANY AVAYA “Source Code” means human readable or high-level statement
AFFILIATE (COLLECTIVELY, “AVAYA”). IF YOU ARE ACCEPTING version of software written in the source language used by
THE TERMS AND CONDITIONS OF THIS AGREEMENT ON programmers and includes one or more programs. Source Code
BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT programs may include one or more files, such as user interface
THAT YOU HAVE FULL LEGAL AUTHORITY TO ACCEPT ON markup language (.mxml), action script (.as), precompiled Flash code
BEHALF OF AND BIND SUCH LEGAL ENTITY TO THIS (.swc), java script (.js), hypertext markup language (.html), active
AGREEMENT. BY OPENING THE MEDIA CONTAINER, BY server pages (.asp), C# or C# .Net source code (.cs), java source
INSTALLING, DOWNLOADING, COPYING OR OTHERWISE USING code (.java), java server pages (.jsp), java archives (.jar), graphic
THE AVAYA SOFTWARE DEVELOPMENT KIT (“SDK”) OR interchange format (.gif), cascading style sheet (.css) , audio files
AUTHORIZING OTHERS TO DO SO, YOU SIGNIFY THAT YOU (.wav) and extensible markup language (.xml) files.
ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS
AGREEMENT. IF YOU DO NOT HAVE SUCH AUTHORITY OR DO
NOT WISH TO BE BOUND BY THE TERMS OF THIS “Sample Application Code” means Software provided for the
AGREEMENT, SELECT THE “DECLINE” BUTTON AT THE END OF purposes of demonstrating functionality of an Avaya product through
THE TERMS OF THIS AGREEMENT OR THE EQUIVALENT the Avaya Software Development Kit.
OPTION AND YOU SHALL HAVE NO RIGHT TO USE THE SDK.
“Software” means data or information constituting one or more
DEFINITIONS. computer or apparatus programs, including Source Code or in
“Affiliates” means any entity that is directly or indirectly controlling, machine-readable, compiled object code form
controlled by, or under common control with Avaya Inc. For purposes LICENSE GRANT.
of this definition, “control” means the power to direct the management
and policies of such party, directly or indirectly, whether through SDK License.
ownership of voting securities, by contract or otherwise; and the A. Provided Licensee pays to Avaya the applicable license fee (if
terms “controlling” and “controlled” have meanings correlative to the any), Avaya hereby grants Licensee a limited, non-exclusive, non-
foregoing. transferable license (without the right to sublicense, except as set
forth in 2.1B (iii)) under the Intellectual Property of Avaya and, if
“Avaya Software Development Kit” or “SDK” means Avaya applicable, its licensors and suppliers to (i) use the SDK solely for the
technology, which may include Software, Client Libraries, purpose of Licensee's internal development efforts to develop
Specification Documents, Software libraries, application applications, interfaces, value-added services and/or solutions,
programming interfaces (“API”), Software tools, Sample Application workflows or processes to work in conjunction with Avaya products;
Code, and Documentation. (ii) to package Client Libraries for redistribution with Licensee’s
complementary applications that have been developed using this
“Client Libraries” mean any enabler code specifically designated as SDK, subject to the terms and conditions set forth herein; (iii) use
such and included in a SDK. Client Libraries may also be referred to Specification Documents solely to enable Licensee’s products,
as “DLLs”, and represent elements of the SDK required at runtime to services and application solutions to exchange messages and
communicate with Avaya products or other SDK elements. signals with Avaya products, systems and solutions to which the
Specification Document(s) apply; (iv) modify and create Derivative
“Change In Control” shall be deemed to have occurred if any person, Works of the Sample Application Code, Specification Documents and
entity or group comes to own or control, directly or indirectly, Documentation solely for internal development of applications,
beneficially or of record, voting securities (or any other form of interfaces, workflows or processes for use with Avaya products,
controlling interest) which represent more than fifty percent (50%) of integration of such applications, interfaces, workflows and processes
the total voting power of or to the Licensee. with Avaya products and interoperability testing of the foregoing with
Avaya products; and (v) compile or otherwise prepare for distribution
“Derivative Work(s)” means: any translation (including translation into the Sample Application Code with Permitted Modifications, into an
other computer languages), port, compiling of Source Code into object code or other machine-readable program format for
object code, combination with a pre-existing work, modification, distribution and distribute the same subject to the conditions set forth
correction, addition, extension, upgrade, improvement, compilation, in Section 2.1B.
abridgment or other form in which an existing work may be recast, B. The foregoing license to use Sample Application Code is
transformed or adapted or which would otherwise constitute a contingent upon the following: (i) Licensee must ensure that the
derivative work under the United States Copyright Act. Permitted modifications made to the Sample Application Code as permitted in
Modifications will be considered Derivative Works. clause (iv) of Section 2.1A are compatible and/or interoperable with
Avaya products and/or integrated therewith, (ii) Licensee may
“Documentation” includes, programmer guides, CDs, manuals, distribute Licensee’s application that has been created using this
materials, and information appropriate or necessary for use in SDK, provided that such distribution is subject to an end user
connection with the SDK. Documentation may be provided in pursuant to Licensee’s current end user license agreement
machine-readable, electronic or hard copy form. (“Licensee EULA”) that is consistent with the terms of this Agreement
and, if applicable, any other agreement with Avaya (e.g., the Avaya
“Intellectual Property” means any and all: (i) rights associated with DevConnect Program Agreement), and is equally as protective as
works of authorship throughout the world, including copyrights, Licensee’s standard software license terms, but in no event shall the
neighboring rights, moral rights, and mask works, (ii) trademark and standard of care be less than a reasonable degree of care, and (iii)
trade name rights and similar rights, (iii) trade secret rights, (iv) Licensee ensures that each end user who receives Client Libraries or
patents, algorithms, designs and other industrial property rights, (v) Sample Application Code with Permitted Modifications has all
all other intellectual and industrial property rights (of every kind and necessary licenses for all underlying Avaya products associated with
nature throughout the world and however designated) whether such Client Libraries or Sample Application Code.
arising by operation of law, contract, license, or otherwise, and (vi) all
registrations, initial applications, renewals, extensions, continuations, Your Licensee EULA must include terms concerning restrictions on
divisions or reissues thereof now or hereafter in force (including any use, protection of proprietary rights, disclaimer of warranties, and
rights in any of the foregoing). limitations of liability. You must ensure that Your End Users using
applications, interfaces, value-added services and/or solutions, b) License Restrictions. To the extent permissible under applicable
workflows or processes that incorporate the API, Client Libraries, law, Licensee agrees not to: (i) publish, sell, sublicense, lease, rent,
Sample Code or Permitted Modifications adhere to these terms, and loan, assign, convey or otherwise transfer the SDK; (ii) distribute,
You agree to notify Avaya promptly if You become aware of any disclose or allow use the SDK, in any format, through any
breach of the terms of Licensee EULA that may impact Avaya. You timesharing service, service bureau, network or by any other means;
will take all reasonable precautions to prevent unauthorized access (iii) distribute or otherwise use the Software in the SDK in any
to or use of the SDK and notify Avaya promptly of any such manner that causes any portion of the Software that is not already
unauthorized access or use. subject to an OSS License to become subject to the terms of any
OSS License; (iv) link the Source Code for any of the software in the
C. Licensee acknowledges and agrees that it is licensed to use the SDK with any software licensed under the Affero General Public
SDK only in connection with Avaya products (and if applicable, in License v.3 or similar licenses; (v) access information that is solely
connection with services provided by or on behalf of Avaya). available to root administrators of the Avaya products, systems, and
D. With respect to Software that contains elements provided by third solutions; (vi) develop a applications, interfaces, value-added
party suppliers, Licensee may install and use the Software in services and/or solutions, workflows or processes that causes
accordance with the terms and conditions of the applicable license adverse effects to Avaya and third-party products, services,
agreements, such as “shrinkwrap” or “click-through” licenses, solutions, such as, but not limited to, poor performance, software
accompanying or applicable to the Software. crashes and cessation of their proper functions; and (vii) develop a
applications, interfaces, value-added services and/or solutions,
No Standalone Product. Nothing in this Agreement authorizes or workflows or processes that blocks or delays emergency calls; (viii)
grants Licensee any rights to distribute or otherwise make available emulate an Avaya SIP endpoint by form or user interface design
to a third party the SDK, in whole or in part, or any Derivative Work in confusingly similar as an Avaya product ; (ix) reverse engineer Avaya
source or object code format on a standalone basis other than the SIP protocol messages; or (x) permit or encourage any third party to
modifications permitted in Section 2.1B of this Agreement. do any of (i) through (x), inclusive, above.
Proprietary Notices. Licensee shall not remove any copyright, trade Responsibility for Development Tools. Licensee acknowledges that
mark or other proprietary notices incorporated in the copies of the effective utilization of the SDK may require the use of a development
SDK, Sample Application Code and redistributable files in Licensee’s tool, compiler and other software and technology of third parties,
possession or control or any modifications thereto. Redistributions in which may be incorporated in the SDK pursuant to Section 2.4.
binary form or other suitable program format for distribution, to the Licensee is solely responsible for procuring such third party software
extent expressly permitted, must also reproduce Avaya’s copyright, and technology and the necessary licenses, including payment of
trademarks or other proprietary notices as incorporated in the SDK in licensing royalties or other amounts to third parties, for the use
any associated Documentation or “splash screens” that display thereof.
Licensee copyright notices.
U.S. Government End Users. The SDK shall be classified as
Third-Party Components. You acknowledge certain software “commercial computer software” and the Documentation is classified
programs or portions thereof included in the SDK may contain as “commercial computer software documentation” or “commercial
software distributed under third party agreements (“Third Party items,” pursuant to FAR 12.212 or DFAR 227.7202, as applicable.
Components”), which may contain terms that expand or limit rights to Any use, modification, reproduction, release, performance, display or
use certain portions of the SDK (“Third Party Terms”). Information disclosure of the SDK or Documentation by the Government of the
identifying the copyright holders of the Third Party Components and United States shall be governed solely by the terms of the Agreement
the Third Party Terms that apply is available in the attached Schedule and shall be prohibited except to the extent expressly permitted by
1 (if any), SDK, Documentation, or on Avaya’s web site at: https:// the terms of the Agreement.
[Link]/Copyright (or such successor site as designated
by Avaya). The open source software license terms provided as Third Limitation of Rights. No right is granted to Licensee to sublicense its
Party Terms are consistent with the license rights granted in this rights hereunder. All rights not expressly granted are reserved by
Agreement, and may contain additional rights benefiting You, such as Avaya or its licensors or suppliers and, except as expressly set forth
modification and distribution of the open source software. The Third herein, no license is granted by Avaya or its licensors or suppliers
Party Terms shall take precedence over this Agreement, solely with under this Agreement directly, by implication, estoppel or otherwise,
respect to the applicable Third Party Components, to the extent that under any Intellectual Property right of Avaya or its licensors or
this Agreement imposes greater restrictions on You than the suppliers. Nothing herein shall be deemed to authorize Licensee to
applicable Third Party Terms. Licensee is solely responsible for use Avaya's trademarks or trade names in Licensee's advertising,
procuring any necessary licenses for Third Party Components, marketing, promotional, sales or related materials.
including payment of licensing royalties or other amounts to third
parties, for the use thereof. 2.10 Independent Development
Licensee understands and agrees that Avaya, Affiliates, or Avaya’s
Copies of SDK. Licensee may copy the SDK only as necessary to licensees or suppliers may acquire, license, develop for itself or have
exercise its rights hereunder. others develop for it, and market and/or distribute applications,
interfaces, value-added services and/or solutions, workflows or
a) No Reverse Engineering. Licensee shall have no rights to any processes similar to that which Licensee may develop. Nothing in this
Source Code for any of the software in the SDK, except for the Agreement shall restrict or limit the rights of Avaya, Affiliates, or
explicit rights to use the Source Code as provided to Licensee Avaya’s licensees or suppliers to commence or continue with the
hereunder. Licensee agrees that it shall not cause or permit the development or distribution of such applications, interfaces, value-
disassembly, decompilation or reverse engineering of the Software. added services and/or solutions, workflows or processes.
Notwithstanding the foregoing, if the SDK is rightfully located in a
member state of the European Union and Licensee needs Nonassertion by Licensee. Licensee agrees not to assert any
information about the Software in the SDK in order to achieve Intellectual Property related to the SDK or applications, interfaces,
interoperability of an independently created software program with value-added services and/or solutions, workflows or processes
the Software in the SDK, Licensee will first request such information developed using the SDK against Avaya, Affiliates, Avaya’s licensors
from Avaya. Avaya may charge Licensee a reasonable fee for the or suppliers, distributors, customers, or other licensees of the SDK.
provision of such information. If Avaya refuses to make such
information available, then Licensee may take steps, such as reverse
Feedback and Support. Licensee agrees to provide any information,
assembly or reverse compilation, to the extent necessary solely in
comments, problem reports, enhancement requests and suggestions
order to achieve interoperability of the Software in the SDK with an
regarding the performance of the SDK (collectively, “Feedback”) via
independently created software program. To the extent that the
any public or private support mechanism, forum or process otherwise
Licensee is expressly permitted by applicable mandatory law to
indicated by Avaya. Avaya monitors applicable mechanisms, forums,
undertake any of the activities listed in this section, Licensee will not
or processes but is under no obligation to implement any of
exercise those rights until Licensee has given Avaya twenty (20)
Feedback, or be required to respond to any questions asked via the
days written notice of its intent to exercise any such rights.
applicable mechanism, forum, or process. Licensee hereby assigns
to Avaya all right, title, and interest in and to Feedback provided to security exposures. Compromised passwords represent a major
Avaya. security risk. Avaya encourages You to create strong passwords
using three different character types, change Your password regularly
2.12 Fees and Taxes and refrain from using the same password regularly. You must treat
such information as confidential. You agree to notify Avaya
To the extent that fees are associated with the license of the SDK, immediately upon becoming aware of any unauthorized use or
Licensee agrees to pay to Avaya or pay directly to the applicable breach of Your user name, password, account, API Key, or other
government or taxing authority, if requested by Avaya, all taxes and credentials as provided by Avaya for use of the SDK, or subscription.
charges, including without limitation, penalties and interest, which You are responsible for ensuring that Your networks and systems are
may be imposed by any federal, state or local governmental or taxing adequately secured against unauthorized intrusion or attack and
authority arising hereunder excluding, however, all taxes computed regularly back up of Your data and files in accordance with good
upon Avaya’s net income. If You move any Software, including the computing practices.
SDK, and as a result of such move, a jurisdiction imposes a duty, tax,
levy or fee (including withholding taxes, fees, customs or other duties
Third Party Licensed Software
for the import and export of any such Software), then You are solely
liable for, and agree to pay, any such duty, taxes, levy or other fees. A. “Commercial Third Party Licensed Software” is software
developed by a business with the purpose of making money from the
Audit. Avaya shall have the right, at its cost and expense, to inspect use of that licensed software. “Freeware Licensed Software” is
and/or audit (i) by remote polling or other reasonable electronic software which is made available for use, free of charge and for an
means at any time and (ii) in person during normal business hours unlimited time, but is not Open Source Licensed Software. “Open
and with reasonable notice Licensee’s books, records, and accounts, Source Software" or "OSS" is as defined by the Open Source
to determine Licensee’s compliance with this Agreement. In the event Initiative (“OSI”) [Link] and is software licensed
such inspection or audit uncovers non-compliance with this under an OSI approved license as set forth at [Link]
Agreement, then without prejudice to Avaya’s termination rights licenses/alphabetical (or such successor site as designated by OSI).
hereunder, Licensee shall promptly pay Avaya any applicable license These are collectively referred to herein as “Third Party Licensed
fees. Licensee agrees to keep a current record of the location of the Software”.
SDK. B. Licensee represents and warrants that Licensee, including any
employee, contractor, subcontractor, or consultant engaged by
No Endorsement. Neither the name Avaya, Affiliates nor the names Licensee, is to the Licensee’s knowledge, in compliance and will
of contributors may be used to endorse or promote products derived continue to comply with all license obligations for Third Party
from the Avaya SDK without specific prior written permission from Licensed Software used in the Licensee application created using the
Avaya. SDK including providing to end users all information required by such
licenses as may be necessary. LICENSEE REPRESENTS AND
High Risk Activities. The Avaya SDK is not fault-tolerant, and is not WARRANTS THAT, TO THE LICENSEE’S KNOWLEDGE, THE
designed, manufactured or intended for use or resale as on-line OPEN SOURCE LICENSED SOFTWARE EMBEDDED IN OR
control equipment or in hazardous environments requiring failsafe PROVIDED WITH LICENSEE APPLICATION OR SERVICES DOES
performance, such as in the operation of nuclear facilities, aircraft NOT INCLUDE ANY OPEN SOURCE LICENSED SOFTWARE
navigation or aircraft communications systems, mass transit, air CONTAINING TERMS REQUIRING ANY INTELLECTUAL
traffic control, medical or direct life support machines, dedicated PROPERTY OWNED OR LICENSED BY AVAYA OR END USERS
emergency call handling systems or weapons systems, in which the TO BE (A) DISCLOSED OR DISTRIBUTED IN SOURCE CODE OR
failure of the Avaya SDK could lead directly to death, personal injury, OBJECT CODE FORM; (B) LICENSED FOR THE PURPOSE OF
or severe physical or environmental damage ( “high risk activities”). If MAKING DERIVATIVE WORKS; OR (C) REDISTRIBUTABLE ON
Licensee uses the Avaya SDK for high risk activities, Licensee does TERMS AND CONDITION NOT AGREED UPON BY AVAYA OR
so at Licensee’s own risk and Licensee assumes all responsibility END USERS.
and liability for such use to the maximum extent such limitation or
exclusion is permitted by applicable law. Licensee agrees that Avaya C. Subject to any confidentiality obligations, trade secret or other
and its suppliers will not be liable for any claims or damages arising rights or claims of Licensee suppliers, Licensee will respond to
from or related to use of the Avaya SDK for high risk activities to the requests from Avaya or end users relating to Third Party Licensed
maximum extent such limitation or exclusion is permitted by law. Software associated with Licensee's use of Third Party Licensed
Software. Licensee will cooperate in good faith by furnishing the
No Virus. Licensee warrants that (i) the applications, interfaces, relevant information to Avaya or end users and the requester within
value-added services and/or solutions, workflows or processes two (2) weeks from the time Avaya or end user provided the request
Licensee develops using this SDK will not contain any computer to Licensee.
program file that includes time code limitations, disabling devices, or OWNERSHIP.
any other mechanism which will prevent the Avaya product (including
other software, firmware, hardware), services and networks from As between Avaya and Licensee, Avaya or its licensors or suppliers
being functional at all times (collectively “Time Bombs”); and (ii) the shall own and retain all Intellectual Property rights, in and to the SDK
applications, interfaces, value-added services and/or solutions, and any corrections, bug fixes, enhancements, updates,
workflows or processes Licensee develops using this SDK will be improvements, or modifications thereto and Licensee hereby
free of computer viruses, malicious or other harmful code, black irrevocably transfers, conveys and assigns to Avaya, its licensors and
boxes, malware, trapdoors, and other mechanisms which could: a) its suppliers all of its right, title, and interest therein. Avaya or its
damage, destroy or adversely affect Avaya product or services licensors or suppliers shall have the exclusive right to apply for or
and/or end users; b) allow remote/hidden attacks or access through register any patents, mask work rights, copyrights, and such other
unauthorized computerized command and control; c) spy (network proprietary protections with respect thereto. Licensee acknowledges
sniffers, keyloggers); and d) damage or erase such applications, that the license granted under this Agreement does not provide
interfaces, value-added services and/or solutions, workflows or Licensee with title or ownership to the SDK, but only a right of limited
processes developed using this SDK or data, or any computer files or use under the terms and conditions of this Agreement.
systems of Avaya, Affiliates, and/or end users (collectively “Virus”). In
addition to any other remedies permitted in the Agreement, if Grant Back License to Avaya. Licensee hereby grants to Avaya an
Licensee breaches its warranties under this Section, Licensee will, at irrevocable, perpetual, non-exclusive, sublicensable, royalty-free,
its expense, take remedial action to eliminate any Time Bombs fully paid up, worldwide license under any and all of Licensee's
and/or Viruses and prevent re-occurrence (including implementing Intellectual Property rights related to any Permitted Modifications,to
appropriate processes to prevent further occurrences) as well as (i) use, make, sell, execute, adapt, translate, reproduce, display,
provide prompt, reasonable assistance to Avaya to materially reduce perform, prepare derivative works based upon, distribute (internally
the effects of the Time Bomb and/or Virus. and externally) and sublicense the Permitted Modifications and their
derivative works, and (ii) sublicense others to do any, some, or all of
Disclaimer. Any software security feature is not a guaranty against the foregoing.
malicious code, deleterious routines, and other techniques and tools
employed by computer “hackers” and other third parties to create
SUPPORT. SUPPLIERS MAKE ANY WARRANTY, EXPRESS OR IMPLIED,
THAT THE SDK OR DOCUMENTATION IS SECURE, SECURITY
No Avaya Support. Avaya will not provide any support for the SDK THREATS AND VULNERABILITIES WILL BE DETECTED OR
provided under this Agreement or for any Derivative Works, SOFTWARE WILL RENDER AN END USER’S OR LICENSEE’S
including, without limitation, modifications to the Source Code or NETWORK OR PARTICULAR NETWORK ELEMENTS SAFE FROM
applications built by Licensee using the SDK. Avaya shall have no INTRUSIONS AND OTHER SECURITY BREACHES.
obligation to provide support for the use of the SDK, or Licensee's
application, services or solutions which may or may not include CONSEQUENTIAL DAMAGES WAIVER.
redistributable Client Libraries or Sample Application Code, to any
third party to whom Licensee delivers such applications, services or EXCEPT FOR PERSONAL INJURY CLAIMS, AVAYA SHALL NOT
solutions. Avaya further will not provide fixes, patches or repairs for BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL OR
any defects that might exist in the SDK or the Sample Application CONSEQUENTIAL DAMAGES IN CONNECTION WITH, ARISING
Code provided under this Agreement. In the event that Licensee OUT OF OR RELATING TO THIS AGREEMENT OR USE OF THE
desires support services for the SDK, and, provided that Avaya offers SDK, OR FOR THE LOSS OR CORRUPTION OF DATA,
such support services (in its sole discretion), Licensee will be INFORMATION OF ANY KIND, BUSINESS, PROFITS, OR OTHER
required to enter into an Avaya DevConnect Program Agreement or COMMERCIAL LOSS, HOWEVER CAUSED, AND WHETHER OR
other support agreement with Avaya. NOT AVAYA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Licensee Obligations. Licensee acknowledges and agrees that it is LIMITATION OF LIABILITY.
solely responsible for developing and supporting any applications,
EXCEPT FOR PERSONAL INJURY CLAIMS, IN NO EVENT SHALL
interfaces, value-added services and/or solutions, workflows or
AVAYA'S TOTAL LIABILITY TO LICENSEE IN CONNECTION WITH,
processes developed under this Agreement, including but not limited
ARISING OUT OF OR RELATING TO THIS AGREEMENT EXCEED
to (i) developing, testing and deploying such applications, interfaces,
FIVE HUNDRED DOLLARS ($500). THE PARTIES AGREE THAT
value-added services and/or solutions, workflows or processes; (ii)
THE LIMITATIONS SPECIFIED IN THIS SECTION WILL APPLY
configuring such applications, interfaces, value-added services
EVEN IF ANY LIMITED REMEDY PROVIDED IN THIS
and/or solutions, workflows or processes to interface and
AGREEMENT IS FOUND TO HAVE FAILED OF ITS ESSENTIAL
communicate properly with Avaya products; and (iii) updating and
PURPOSE.
maintaining such applications, interfaces, value-added services
and/or solutions, workflows or processes as necessary for continued INDEMNIFICATION.
use with the same or different versions of end user and/or third party
licensor products, and Avaya products. Licensee shall defend, indemnify and hold harmless Avaya, Affiliates
and their respective officers, directors, agents, suppliers, customers
CONFIDENTIALITY. and employees (“Indemnified Parties”) from and against all claims,
Protection of Confidential Information. Licensee acknowledges and demand, suit, actions or proceedings (“Claims”) and damages,
agrees that the SDK and any other Avaya technical information losses, liabilities, costs, expenses, and fees (including fees of
obtained by it under this Agreement (collectively, “Confidential attorneys and other professionals) (“Damages”) based upon an
Information”) is confidential information of Avaya. Licensee shall take allegation pertaining to wrongful use, misappropriation, or
all reasonable measures to maintain the confidentiality of the infringement of a third party’s Intellectual Property right arising from
Confidential Information. Licensee further agrees at all times to or relating to Licensee’s use of the SDK, alone or in combination with
protect and preserve the SDK in strict confidence in perpetuity, and other software, such as operating systems and codecs, and the,
shall not use such Confidential Information other than as expressly direct or indirect, use, distribution or sale of any software, Derivative
authorized by Avaya under this Agreement, nor shall Licensee Works or other products (including but not limited to applications,
disclose any Confidential Information to third parties without Avaya's interfaces, and application programming interfaces) developed
written consent. Licensee further agrees to immediately 1) cease all utilizing the SDK.
use of all Confidential Information (including copies thereof) in Licensee shall defend, indemnify and hold harmless the Indemnified
Licensee's possession, custody, or control; 2) stop reproducing or Parties from and against all Claims and Damages arising out of or
distributing the Confidential Information; and 3) destroy the related to: (i) personal injury (including death); (ii) damage to any
Confidential Information in Licensee’s possession or under its control, person or tangible property caused, or alleged to be caused by
including Confidential Information on its computers, disks, and other Licensee or Licensee’s application created by using the SDK; (iii) the
digital storage devices upon termination of this Agreement at any failure by Licensee or Licensee’s application created by using the
time and for any reason. Upon request, Licensee will certify in writing SDK to comply with the terms of this Agreement or any applicable
its compliance with this Section. The obligations of confidentiality laws; (iv) the breach of any representation, or warranty made by
shall not apply to information which (a) has entered the public domain Licensee herein; or (v) Licensee’s breach of any obligation under the
except where such entry is the result of Licensee's breach of this Licensee EULA.
Agreement; (b) prior to disclosure hereunder was already rightfully in
Licensee's possession; (c) subsequent to disclosure hereunder is TERM AND TERMINATION.
obtained by Licensee on a non-confidential basis from a third party This Agreement will continue through December 31st of the current
who has the right to disclose such information to the Licensee; (d) is calendar year. The Agreement will automatically renew for one (1)
required to be disclosed pursuant to a court order, so long as Avaya year terms, unless terminated as specified in Section 10.2 or 10.3
is given adequate notice and the ability to challenge such required below.
disclosure.
Either party shall have the right to terminate the Agreement, upon
Press Releases. Any press release or publication regarding this thirty (30) days written notice to the other party.
Agreement is subject to prior written approval of Avaya.
NO WARRANTY. Notwithstanding language to the contrary, Avaya may terminate this
Agreement immediately, upon written notice to Licensee for breach of
The SDK and Documentation are provided “AS-IS” without any Section 2 (License Grant), Section 5 (Confidentiality) or Section 12
warranty whatsoever. AVAYA SPECIFICALLY AND EXPRESSLY (Compliance with Laws). Avaya may also terminate this Agreement
DISCLAIMS ANY WARRANTIES OR CONDITIONS, STATUTORY immediately by giving written notice if a Change In Control should
OR OTHERWISE, INCLUDING THE IMPLIED WARRANTIES OF occur or if Licensee becomes insolvent, or voluntary or involuntary
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, proceedings by or against Licensee are instituted in bankruptcy or
NONINFRINGEMENT AND SATISFACTORY QUALITY. AVAYA under any insolvency law, or a receiver or custodian is appointed for
DOES NOT WARRANT THAT THE SDK AND DOCUMENTATION Licensee, or proceedings are instituted by or against Licensee for
ARE SUITABLE FOR LICENSEE'S USE, THAT THE SDK OR corporate reorganization or the dissolution of Licensee, which
DOCUMENTATION ARE WITHOUT DEFECT OR ERROR, THAT proceedings, if involuntary, have not been dismissed within thirty (30)
OPERATION WILL BE UNINTERRUPTED, OR THAT DEFECTS days after the date of filing, or Licensee makes an assignment for the
WILL BE CORRECTED. FURTHER, AVAYA MAKES NO benefit of its creditors, or substantially all of the assets of Licensee
WARRANTY REGARDING THE RESULTS OF THE USE OF THE are seized or attached and not released within sixty (60) days
SDK AND DOCUMENTATION. NEITHER AVAYA NOR ITS
thereafter, or if Licensee has ceased or threatened to cease to do Dispute Resolution. Any Dispute will be resolved in accordance with
business in the regular course. the provisions of this Section 15. The disputing party shall give the
other party written notice of the Dispute in accordance with the notice
Upon termination or earlier termination of this Agreement, Licensee provision of this Agreement. The parties will attempt in good faith to
will immediately cease a) all uses of the Confidential Information; b) resolve each controversy or claim within 30 days, or such other
Licensee agrees to destroy all adaptations or copies of the longer period as the parties may mutually agree, following the
Confidential Information stored in any tangible medium including any delivery of such notice, by negotiations between designated
document or work containing or derived (in whole or in part) from the representatives of the parties who have dispute resolution authority.
Confidential Information, and certify its destruction to Avaya upon
termination of this License. Licensee will promptly cease use of, Arbitration of Non-US Disputes. If a Dispute that arose anywhere
distribution and sales of Licensee products that embody any such other than in the United States or is based upon an alleged breach
Confidential Information, and destroy all Confidential Information committed anywhere other than in the United States cannot be
belonging to Avaya as well as any materials that embody any such settled under the procedures and within the timeframe set forth in
Confidential Information. All licenses granted will terminate. Section 15.2, it will be conclusively determined upon request of either
party by a final and binding arbitration proceeding to be held in
The rights and obligations of the parties contained in Sections 2.3, accordance with the Rules of Arbitration of the International Chamber
2.6, 2.7, 2.10, 2.11, 2.12, 3, and 5 through 17 shall survive any of Commerce by a single arbitrator appointed by the parties or (failing
expiration or termination of this Agreement. agreement) by an arbitrator appointed by the President of the
International Chamber of Commerce (from time to time), except that
ASSIGNMENT. if the aggregate claims, cross claims and counterclaims by any one
Avaya may assign all or any part of its rights and obligations party against the other party exceed One Million US Dollars at the
hereunder. Licensee may not assign this Agreement or any interest time all claims, including cross claims and counterclaims are filed, the
or rights granted hereunder to any third party without the prior written proceeding will be held in accordance with the Rules of Arbitration of
consent of Avaya. The term “assign” includes, but is not limited to, the International Chamber of Commerce by a panel of three
any transaction in which there is a Change In Control or arbitrator(s) appointed in accordance with the Rules of Arbitration of
reorganization of Licensee pursuant to a merger, sale of assets or the International Chamber of Commerce. The arbitration will be
stock. This Agreement shall terminate immediately upon occurrence conducted in the English language, at a location agreed by the
of any prohibited assignment. parties or (failing agreement) ordered by the arbitrator(s). The
arbitrator(s) will have authority only to award compensatory damages
COMPLIANCE WITH LAWS AND IMPORT/EXPORT CONTROL. within the scope of the limitations of Section 8 and will not award
Licensee shall comply with all applicable laws and regulations, punitive or exemplary damages. The arbitrator(s) will not have the
including without limitation those applicable to data privacy, authority to limit, expand or otherwise modify the terms of this
intellectual property, trade secret, and fraud. Licensee is advised that Agreement. The ruling by the arbitrator(s)) will be final and binding on
the Technical Information is of U.S. origin and subject to the U.S. the parties and may be entered in any court having jurisdiction over
Export Administration Regulations (“EAR”) and may be subject to the parties or any of their assets. The parties will evenly split the cost
applicable local country import/export laws and regulations. Diversion of the arbitrator(s)’ fees, but Avaya and Customer will each bear its
contrary to U.S. and/or applicable local country law and/or regulation own attorneys' fees and other costs associated with the arbitration.
is prohibited. Licensee agrees not to directly or indirectly export, re- The parties, their representatives, other participants and the
export, import, download, or transmit the Technical Information to any arbitrator(s) will hold the existence, content and results of the
country, end user or for any use that is contrary to applicable U.S. arbitration in strict confidence to the fullest extent permitted by law.
and/or local country regulation or statute (including but not limited to Any disclosure of the existence, content and results of the arbitration
those countries embargoed by the U.S. government). Licensee will be as limited and narrowed as required to comply with the
represents that any governmental agency has not issued sanctions applicable law. By way of illustration, if the applicable law mandates
against Licensee or otherwise suspended, revoked or denied the disclosure of the monetary amount of an arbitration award only,
Licensee's import/export privileges. Licensee agrees not to use or the underlying opinion or rationale for that award may not be
transfer the Technical Information for any use relating to nuclear, disclosed.
chemical or biological weapons, or missile technology, unless
authorized by the U.S. and/or any applicable local government by Choice of Forum for US Disputes. If a Dispute by one party against
regulation or specific written license. Additionally, Licensee is advised the other that arose in the United States or is based upon an alleged
that the Technical Information may contain encryption algorithm or breach committed in the United States cannot be settled under the
source code that may not be exported to government or military end procedures and within the timeframe set forth in Section 15.2, then
users without a license issued by the U.S. Bureau of Industry and either party may bring an action or proceeding solely in either the
Security and any other country’s governmental agencies, where Supreme Court of the State of New York, New York County, or the
applicable. United States District Court for the Southern District of New York.
Except as otherwise stated in Section 15.3 each party consents to
WAIVER. the exclusive jurisdiction of those courts, including their appellate
The failure to assert any rights under this Agreement, including, but courts, for the purpose of all actions and proceedings arising out of or
not limited to, the right to terminate in the event of breach or default, relating to this Agreement.
will not be deemed to constitute a waiver of the right to enforce each
and every provision of this Agreement in accordance with their terms. Injuctive Relief. Nothing in this Agreement will be construed to
preclude either party from seeking provisional remedies, including,
SEVERABILITY. but not limited to, temporary restraining orders and preliminary
If any provision of this Agreement is determined to be unenforceable injunctions from any court of competent jurisdiction in order to protect
or invalid, this Agreement will not be rendered unenforceable or its rights, including its rights pending arbitration, at any time. The
invalid as a whole, and the provision will be changed and interpreted parties agree that the arbitration provision in Section 15.3 may be
so as to best accomplish the objectives of the original provision within enforced by injunction or other equitable order, and no bond or
the limits of applicable law. security of any kind will be required with respect to any such
injunction or order.
GOVERNING LAW AND DISPUTE RESOLUTION.
Governing Law. This Agreement and any dispute, claim or Time Limit. Actions on Disputes between the parties must be brought
controversy arising out of or relating to this Agreement (“Dispute”), in accordance with this Section within 2 years after the cause of
including without limitation the formation, interpretation, breach or action arises.
termination of this Agreement, or any issue regarding whether a AGREEMENT IN ENGLISH.
Dispute is subject to arbitration under this Agreement, will be
governed by New York State laws, excluding conflict of law The parties confirm that it is their wish that the Agreement, as well as
principles, and the United Nations Convention on Contracts for the all other documents relating hereto, including all notices, have been
International Sale of Goods. and shall be drawn up in the English language only. Les parties aux
présentes confirment leur volonté que cette convention, de même
que tous les documents, y compris tout avis, qui s'y rattachent, soient
rédigés en langue anglaise.
ENTIRE AGREEMENT.
This Agreement, its exhibits, schedules and other agreements or
documents referenced herein, constitute the full and complete
understanding and agreement between the parties and supersede all
contemporaneous and prior understandings, agreements and
representations relating to the subject matter hereof. No
modifications, alterations or amendments shall be effective unless in
writing signed by both parties to this Agreement.
REDISTRIBUTABLE CLIENT FILES.
The list of SDK client files that can be redistributed, if any, are in the
SDK in a file called [Link].
SCHEDULE 1 to Avaya SDK License Agreement - Third Party
Notices
CODECS: WITH RESPECT TO ANY CODECS IN THE SDK, YOU
ACKNOWLEDGE AND AGREE YOU ARE RESPONSIBLE FOR
ANY AND ALL RELATED FEES AND/OR ROYALTIES, IF ANY. IT IS
YOUR RESPONSIBILITY TO CHECK.
THE H.264 (AVC) CODEC IS LICENSED UNDER THE AVC PATENT
PORTFOLIO LICENSE FOR THE PERSONAL USE OF A
CONSUMER OR OTHER USES IN WHICH IT DOES NOT RECEIVE
REMUNERATION TO: (I) ENCODE VIDEO IN COMPLIANCE WITH
THE AVC STANDARD ("AVC VIDEO") AND/OR (II) DECODE AVC
VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A
PERSONAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO
PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS
GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE.
ADDITIONAL INFORMATION FOR THE H.264 (AVC) CODEC MAY
BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://
[Link].
Contents
Chapter 1: Introduction.......................................................................................................... 31
Purpose................................................................................................................................ 31
Prerequisite knowledge.................................................................................................... 31
New in this release................................................................................................................ 32
Warranty............................................................................................................................... 32
Viewing the Eclipse documentation......................................................................................... 32
Viewing the Orchestration Designer documentation.................................................................. 32
Documentation for related products and technologies............................................................... 33
Chapter 2: Getting familiar with the Orchestration Designer user interface..................... 35
Overview.............................................................................................................................. 35
Before you begin................................................................................................................... 36
Accessing the Concepts section of the Eclipse Workbench User Guide..................................... 37
Orchestration Designer workbench......................................................................................... 37
Orchestration Designer views................................................................................................. 38
Avaya OD Navigator view................................................................................................ 38
Navigator view................................................................................................................ 40
Features of Navigator view and Avaya OD Navigator view.................................................. 40
Folder structure of speech, message flow, data, and web projects....................................... 40
Folder structure of a call control project............................................................................. 41
Editor view...................................................................................................................... 42
Outline view.................................................................................................................... 42
Application Simulator view............................................................................................... 43
Problems view................................................................................................................ 43
Tasks view...................................................................................................................... 44
Snippets view.................................................................................................................. 44
Properties view............................................................................................................... 44
Search view.................................................................................................................... 44
Console view.................................................................................................................. 45
Email Preview view.......................................................................................................... 45
Reorganizing views or tab groups........................................................................................... 45
Options for reorganizing views or tab groups........................................................................... 46
Orchestration Designer menu and toolbar options.................................................................... 47
Chapter 3: Process for an Orchestration Designer application development.................. 53
Checklist for developing an Orchestration Designer application................................................. 53
Plan before you build............................................................................................................. 54
Envision the user experience............................................................................................ 54
Anticipate potential problems and issues........................................................................... 56
Map the flow................................................................................................................... 57
Create a modular design.................................................................................................. 58
New Data Project wizard: Specify Project Parameters page field descriptions...................... 88
New Data Project wizard: Specify Language Parameters page field descriptions.................. 89
Chapter 7: Call control applications..................................................................................... 90
CCXML, Orchestration Designer, and call control applications.................................................. 90
Opening the Call Control perspective...................................................................................... 91
Call control projects............................................................................................................... 91
Call control project management............................................................................................ 91
Creating a call control project........................................................................................... 91
New Call Control Project wizard: Create a Call Control Project page field descriptions.......... 92
New Call Control Project wizard: Specify Project Parameters page field descriptions............ 93
New Call Control Project wizard: Select CCXML Template page field descriptions................ 93
Building a call control application............................................................................................ 94
CCXML editor....................................................................................................................... 94
CCXML editor tab descriptions......................................................................................... 95
Formatting the code syntax.................................................................................................... 95
Adding a snippet to the CCXML code...................................................................................... 96
Using database operations and Web service operations in a call control project......................... 96
Example transition for invoking a database operation......................................................... 97
Creating a JSP file and selecting a JSP template..................................................................... 98
Adding and modifying a JSP template..................................................................................... 99
Deploying a call control application......................................................................................... 99
Chapter 8: Web applications................................................................................................ 100
Web applications................................................................................................................. 100
Orchestration Designer web application resources................................................................. 101
Web Project Management.................................................................................................... 103
Creating a web project................................................................................................... 103
New Web Project wizard: Create a Web Project page field descriptions............................. 104
New Web Project wizard: Specify Project Parameters page field descriptions..................... 104
New Web Project wizard: Specify Language Parameters page field descriptions................ 105
Web application Security...................................................................................................... 105
Web application customization............................................................................................. 106
Customizing CSS.......................................................................................................... 107
Customizing JSP........................................................................................................... 108
Customizing a single node............................................................................................. 109
Resolving error on ODWebJet project............................................................................. 110
Hiding Back button......................................................................................................... 110
Generating dynamic text for Menu options....................................................................... 110
Chapter 9: Workflow Integration.......................................................................................... 112
Orchestration Designer workflow integration.......................................................................... 112
Workflow PDC..................................................................................................................... 112
Orchestration Designer using Context Store.................................................................... 113
SMS and Email Orchestration Designer........................................................................... 114
Orchestration Designer workflow configuration....................................................................... 115
New Axis2 Web Service Operation wizard: Select Method page field descriptions.............. 319
New Axis2 Web Service Operation wizard: Map Input Parameters page and Map Output
Parameters page field descriptions................................................................................. 319
Editing a Web service operation file................................................................................ 321
Web Service Operation Editor field descriptions............................................................... 321
Web service operation management (REST)......................................................................... 325
Creating a REST Web service operation file.................................................................... 325
New REST Web Service Operation wizard: Web Service Name page field descriptions...... 325
Configuring a REST Web service operation file................................................................ 325
REST Web Service Operation Editor field descriptions..................................................... 326
Employing a Web service operation file in a call flow or a message flow.................................. 335
Regenerating a Web service client code................................................................................ 335
Web service headers........................................................................................................... 336
Configuring web services to use SHA-2 certificate hashing..................................................... 336
Chapter 22: SMS................................................................................................................... 338
SMS files............................................................................................................................ 338
SMS file management......................................................................................................... 339
Creating an SMS file...................................................................................................... 339
New SMS wizard: Create an SMS page field descriptions................................................. 340
Editing an SMS file........................................................................................................ 340
Inserting a variable in an SMS message body.................................................................. 340
Insert Variable dialog box field descriptions..................................................................... 341
Chapter 23: Email.................................................................................................................. 342
Email files........................................................................................................................... 342
Email file management........................................................................................................ 343
Creating an email file..................................................................................................... 343
New Email wizard: Create an Email page field descriptions.............................................. 344
Editing an email file....................................................................................................... 344
Inserting a variable in an email message body................................................................. 345
Insert Variable dialog box field descriptions..................................................................... 346
Previewing an email file................................................................................................. 347
Chapter 24: Conversations Management........................................................................... 348
Conversations..................................................................................................................... 348
Cross Channel Conversations.............................................................................................. 349
Chapter 25: Multichannel notifications............................................................................... 351
Multichannel notifications..................................................................................................... 351
Example of a multichannel notification................................................................................... 352
Chapter 26: Launch outbound call from a speech, or a message, or a data, or a web
application............................................................................................................................. 353
Outbound call launch from an Orchestration Designer application........................................... 353
Example to launch an automated outbound call from an Orchestration Designer application...... 354
Chapter 27: Inbound SMS or email message handoff to Avaya Aura® Contact Center
for agent assistance............................................................................................................. 355
®
Forward an inbound SMS or email message to Avaya Aura Contact Center........................... 355
AACC message file management......................................................................................... 356
AACC message file....................................................................................................... 356
Creating an AACC message file..................................................................................... 357
New AACC Message wizard: Create a new AACC message page field descriptions........... 357
Configuring an AACC message file................................................................................. 357
AACC Message editor field descriptions.......................................................................... 358
®
Specifying a parameter to pass to Avaya Aura Contact Center........................................ 359
®
Changing the parameter passed to Avaya Aura Contact Center....................................... 360
®
Removing the parameter passed to Avaya Aura Contact Center...................................... 361
Chapter 28: AACC treatments............................................................................................. 362
AACC treatments................................................................................................................ 362
Default AACC treatment types.............................................................................................. 364
AACC treatment management.............................................................................................. 364
Creating an AACC treatment.......................................................................................... 364
AACC Treatments dialog box field descriptions................................................................ 365
Editing an AACC treatment............................................................................................ 366
Deleting an AACC treatment.......................................................................................... 367
®
Example on assigning a return value to return the data to Avaya Aura Contact Center............ 368
Chapter 29: Call transfer to Avaya Aura® Contact Center................................................ 369
Call transfer to Avaya Aura® Contact Center by using the Open Interface Web Services........... 369
®
Transferring a call to Avaya Aura Contact Center using the Open Interface Web Services. 369
®
Example procedure for blind transfer of an inbound call to Avaya Aura Contact Center by
using the Open Interface Web Services........................................................................... 371
Configuring the [Link] file to transfer an inbound call to Avaya
®
Aura Contact Center by using the Open Interface Web Services...................................... 372
Call transfer to a SIP-enabled Avaya Aura® Contact Center.................................................... 373
®
Transferring a call to a SIP- enabled Avaya Aura Contact Center..................................... 373
®
Example procedure for blind transfer of a call to a SIP-enabled Avaya Aura Contact
Center.......................................................................................................................... 375
Chapter 30: Application testing by simulation................................................................... 376
Testing applications by simulation......................................................................................... 376
What can be tested by simulation......................................................................................... 376
Limitations of testing by simulation........................................................................................ 377
Debugging features in Orchestration Designer....................................................................... 377
Using element level debugger in the simulation environment.................................................. 378
Debug perspective views..................................................................................................... 379
Setting the Debug perspective.............................................................................................. 380
Debugging the breakpoints set in the Java code.................................................................... 380
Project flow breakpoint management.................................................................................... 381
Adding a breakpoint to a project flow............................................................................... 381
.................................................................................................................................... 796
Publish Realtime Event Variable
.................................................................................................................................... 797
Record ...................................................................................................................... 797
Region ..................................................................................................................... 801
Report ...................................................................................................................... 802
Report Alarm ............................................................................................................. 805
Return Event ............................................................................................................ 807
Say As ..................................................................................................................... 807
Send Email .............................................................................................................. 808
Send SMS ............................................................................................................... 812
Send to AACC ......................................................................................................... 815
Set OD Date/Time ..................................................................................................... 816
Set VDU Fields .......................................................................................................... 817
Set Web Error .......................................................................................................... 817
Sequence ................................................................................................................. 818
Simple Variable ......................................................................................................... 819
SMIL Link ............................................................................................................... 820
SMS ........................................................................................................................ 820
Supervised Transfer...................................................................................................... 821
Set UUI for Conference Disconnect (AES) .................................................................. 821
Switch ........................................................................................................................ 822
Text.............................................................................................................................. 822
Text Block ................................................................................................................ 825
Text Variable................................................................................................................. 826
Throw ...................................................................................................................... 831
Trace ........................................................................................................................ 833
Transfer .................................................................................................................... 835
Transfer Call ............................................................................................................. 836
Try ............................................................................................................................ 837
Purpose
This document describes the details about the user interface of Orchestration Designer and
various speech application resources that are used to create speech applications that comply with
VoiceXML, call control applications that comply with CCXML specification, and message
applications that comply with TextXML.
This document is intended for anyone who wants to gain a high-level understanding of the product
features, functionality, capacities, and limitations within the context of solutions and verified
reference configurations.
Prerequisite knowledge
The primary users of Orchestration Designer are likely to be highly knowledgeable and skilled in
telecommunications and Internet technologies. Therefore, this documentation does not cover
topics related to those areas. The users must be proficient and knowledgeable in the following
areas:
• The operating systems on which the users develop and deploy Orchestration Designer
applications.
• Computer networking concepts and technologies.
• Telecommunications concepts and technologies, including switches and gateways.
• Basic programming logic and practice.
Note:
Although not required to develop applications in Orchestration Designer, knowledge and
experience of Java programming is helpful.
Orchestration Designer is built on several existing technologies and tools. Hence, Orchestration
Designer users must become familiar with the following technologies:
• Eclipse open-source software
• Java servlet technology
• Servlet engine technologies
• Speech recognition and synthesis technologies
• Database administration
Warranty
Avaya Inc. provides a 90-day limited warranty on Orchestration Designer. Refer to your sales
agreement or other applicable documentation to establish the terms of the limited warranty. In
addition, Avaya’s standard warranty language as well as details regarding support for
Orchestration Designer, while under warranty, is available on the support website at http://
[Link]/support.
[Link]
The Orchestration Designer documentation is also available in the form of an online Help.
• On the Eclipse user interface, click Help > Help Contents > Avaya Orchestration Designer
- Self Service.
Overview
Avaya Orchestration Designer is a Java-based tool that you can use to create the following:
• Speech applications that comply with VoiceXML version 2.1.
• Call control applications that comply with specifications of CCXML version 1.0, January 19,
2007.
• Message applications that comply with TextXML.
The tool is designed as an Eclipse plug-in, which provides an integrated GUI for the design and
implementation of the following:
• Speech applications that can operate with Interactive Response, Voice Portal, Media
Processing Server, and Avaya Experience Portal systems
• Message applications that can operate with the Avaya Experience Portal system
• Data only applications that can operate with the Avaya Experience Portal system
• HTML5 applications that can operate with the Avaya Experience Portal system
Orchestration Designer is also a suite of self-service products and Avaya Contact Center
products, namely, Avaya Experience Portal, Avaya Interactive Response (IR), Media Processing
Server (MPS), and Avaya Aura® Contact Center. As a single tool, you can use Orchestration
Designer to design, simulate, and maintain the contact routing scripts with inbound and outbound
self-service support. It accelerates service design and deployment, reduces cost, and enhances
customer experience.
Orchestration Designer integrates seamlessly with Avaya Breeze® platform. With this integration,
the Orchestration Designer application can interact with the Engagement Designer workflows and
pass the collected data in several ways:
• Orchestration Designer can start a workflow and pass collected data to that workflow by
using Context Store. The workflow receives data from Orchestration Designer to process the
information and complete the transaction.
• Orchestration Designer supports integration of Orchestration Designer SMS and Email
applications with Engagement Designer workflow. With this integration, the Orchestration
Designer application receives data from Engagement Designer workflow, interacts using one
more text messages, and returns the data to the Engagement Designer workflow.
• An Engagement Designer workflow can initiate a new call to the customer and plug
Orchestration Designer into the call to provide IVR services.
• An Engagement Designer workflow can also plug Orchestration Designer into an existing
call.
Orchestration Designer works with the widely accepted [Link] development framework. It
provides a drag-and-drop environment for development and maintenance of speech, touchtone,
and message applications.
Multi-Channel Self Service
With the Multi-Channel Self Service (MCSS), you can extend the current Experience Portal or
Orchestration Designer product capabilities to include channels other than inbound voice,
telephony.
Key capabilities of MCSS include:
• Application processing of inbound SMS and Email.
• Send response to an inbound SMS and email.
• Send outbound SMS and email from cross channel applications.
For example, a speech application sending an SMS or email confirmation.
• New application type Web in Orchestration Designer.
• Application design palettes specific to a channel.
• Generic message flow with custom XML generation for social media and other channels.
• Transfer items to AACC agent for handling with reply using SMS and email.
• Web channel to collect information through HTML5 pages.
Inbound processing of SMS and email adds text channels to Experience Portal. You can build
Orchestration Designer applications to process and respond to incoming SMS and email. With the
outbound SMS and email, the application on a given channel can provide additional feedback to
the user through another channel.
For example, a speech application sends confirmation of a transaction to the user by SMS or
email. Items that cannot be handled in Self Service can be transferred to an AACC agent by using
a connector.
Note:
Before you use Orchestration Designer, you must configure the basic settings mentioned in
the Getting Started with Avaya Orchestration Designer guide to configure the environment and
ensuring that the environment is ready to use. The Getting Started with Avaya Orchestration
Designer guide is available on the Orchestration Designer ISO image.
These views are available in the standard Orchestration Designer Speech, Message, Call
Control, Data, and Web perspectives. For information about menus and the toolbar items, see
Orchestration Designer menu and toolbar options on page 47.
Name Description
Table continues…
Name Description
Links the Avaya OD Navigator item with the opened
Link with Editor
editor.
When multiple editors are open and you click an
editor, the system highlights the item that the editor
links in the Avaya OD Navigator view. This makes it
easier to locate the item.
Similarly, when you click an item in the Avaya OD
Navigator view, the system shows the editor that is
linked to the item. Link with Editor synchronizes
the tree view in the Avaya OD Navigator view with
the opened editor.
Navigator view
The Navigator view is a standard Eclipse view that provides a hierarchical view of the resources in
the Orchestration Designer speech, call control, and the message flow projects. For greater
control over your resources while designing applications, see Avaya OD Navigator view on
page 38.
Tip:
You can use the Generate option to generate individual files and the project resources.
For example, to regenerate a project grammar without regenerating the entire project, in
the Navigator view or in the Avaya OD Navigator view, right-click the *.gram file, and
then click Orchestration Designer > Generate.
For more information about the Navigator view in Eclipse, see “Navigator view” in the Eclipse
Workbench User Guide.
Usually, the derived files in the Data folder are hidden, and the system does not show the
derived files in the Navigator view.
Important:
Do not manually edit these files.
The Data folder also contains:
- log folder. The system writes the log files that are created during application testing to the
log folder. You can view these log files for debugging your applications.
- temp folder. The temp folder stores any messages that you record during application
testing.
The Data folder is available only in the Navigator view.
• <Language name>: Contains the resource files of the speech, or the message flow, or the
data, or the web projects. For example, prompt files and grammar files. When you create or
import a project resource file, such as a prompt file or grammar file, Orchestration Designer
stores the file in the appropriate subfolder within the <Language name> folder.
The name of this folder is the name that you assign to the project primary language. For
more information, see New Speech Project wizard: Specify Language Parameters page field
descriptions on page 67.
• Flow: Contains the [Link] file. The [Link] file is the core file of the speech, or
message flow, or data, or web project.
In a speech project, the [Link] file contains the call flow of the speech application. In a
message flow project, the [Link] file contains the message flow of the message
application. In a data project, the [Link] contains the data flow of the data application. In
a web project, the [Link] file contains the web flow of the web application. You can use
the call flow editor to create and edit the call flow, the message flow editor to create and edit
the message flow, the data flow editor to create and edit the data flow, and the web flow
editor to create and edit the web flow.
• Icons: Contains several icons used for Orchestration Designer.
Important:
Do not delete or edit these icons.
• WEB-INF: Contains all output files that the system creates when you generate or build the
project. These files are packaged when preparing the application for deployment.
• Work: The Tomcat servlet engine uses the Work folder as a temporary folder. The system
creates the Work folder when you simulate the project for the first time.
Important:
Do not manually edit the contents of the Work folder.
• connectivity: Contains the database operation files and Web service operation files that you
create for the call control project.
• jsp: Contains the .jsp files that you create for the call control project.
• vxml: Contains the VoiceXML files of the speech applications that the call control project
associates.
• WEB-INF: Contains the output files that the system creates when you generate or build the
call control project. The system packages these files when preparing the call control project
for deployment.
Editor view
By default, the Editor view is located in the upper-right area of the window. The main area of the
Editor view is called the “workspace”. The workspace is where you do most of the development
work for building an Orchestration Designer application project.
Within the Editor view, you can start numerous subeditors to create, update, and manage an
Orchestration Designer application.
For more information about the Editor view, see Editor view tabs on page 42.
Outline view
By default, the Outline view is located in the lower-left corner of the window. The Outline view is a
standard Eclipse view. In Orchestration Designer, the Outline view is available only in the following
conditions:
• When the call flow editor or the message flow editor is the active editor.
• When you edit a Java (*.java) file.
You can select any of the three views in the upper-right corner of the Outline view. For more
information, see Outline view option descriptions on page 43.
Problems view
The Problems view tab shows the errors, warnings, and informational messages that are
generated while saving a project or any of the project elements. Simultaneously, Orchestration
Designer displays a Code Generation error message, unless you click Do not show me this
message in the future. The Problems view also shows any errors that are generated while
compiling the Java code.
If you double-click the error, warning, or informational message in the Problems view,
Orchestration Designer navigates to the exact location where the problem occurs. This feature
makes it easier to debug an application and resolve the problem.
By default, Orchestration Designer shows the Problems view in a tabbed notebook with the Tasks
view and the Application Simulator view, in the center of the lower area of the window.
Tasks view
The Tasks view is a standard Eclipse view. The Tasks view shows the tasks related to various
types of errors that might occur, such as Java syntax errors. You can also manually add tasks to
this list for things to remember to take care of.
For more information about the Tasks view in Eclipse, see the “Tasks view” section in the Eclipse
Workbench User Guide.
By default, Orchestration Designer shows the Tasks view in a tabbed notebook with the Problems
view and the Application Simulator view, in the center of the lower area of the window.
Snippets view
The Snippets view contains shortcut snippets in JSP or CCXML that you can add onto your
CCXML or JSP page while building call control projects.
Properties view
The Properties view is a change of the standard Eclipse Properties view. In a layout optimized for
Orchestration Designer, the Properties view displays property names and values for nodes,
palette options, or other items. The properties available for editing vary according to the editor,
node, or the item you are working with. For more information about the properties you can edit for
a particular node, option, or other item, see the Help topic for that node, option, or item.
For more information about the standard Properties view in Eclipse, see the Eclipse Workbench
User Guide.
By default, Orchestration Designer shows the Properties view in a tabbed notebook with the
Console view, in the lower-right area of the window.
Search view
The Avaya OD Search displays the search results in the Search view. For more information, see
Avaya OD Search on page 152.
For information about the toolbar options available in the Search view, see Search view option
descriptions on page 44.
Show Next Match Highlights the next match in the Search view and
opens the associated editor.
Highlights the previous match in the Search view
Show Previous Match
and opens the associated editor.
Deletes the search results that you select.
Remove Selected Matches
Table continues…
Name Description
Remove All Matches Deletes all the search results.
Run the Current Search Again Reruns the current search so that removed search
results reappear or changes are reflected.
Console view
The Console view shows information about the status and activity of the Tomcat server.
• If you run simulations, the system writes the CCXML, VoiceXML, TextXML, and connector
logs to the Console view window.
• If you enable the debug output for the tracing function, then the Console view shows the
VoiceXML output generated by the speech application and the TextXML output generated by
the message application. This information is read-only, but it can be helpful in debugging
applications, especially if you can read and understand VoiceXML and TextXML codes. To
enable the debug output for tracing function, see Enabling tracing for simulation on page 382.
By default, Orchestration Designer shows the Console view in a tabbed notebook with the
Properties view, in the lower-right area of the window. The Console view displays in the
foreground if you start Tomcat or click the Console tab.
Procedure
1. On the Eclipse user interface, right-click tab label.
2. Select the required options to reorganize views or tab groups.
For more information, see “Options for reorganizing views or tab groups”.
Name Description
Fast View Minimizes the selected tab view, which is accessible
through a clickable icon in the lower-left corner, for
a “fast view” access later.
Detached Use Detached for the selected tab view to detach
from Speech or Message perspective, the same
way that the Move option does.
Restore Restores the default settings of the selected tab
view. You can also click Reset Perspective on the
Window menu to restore the tab view settings to
the default position and size.
Move Use Move to move the tab view or the complete tab
group, if more than one, outside the perspective.
For example, to the Desktop area outside the
Eclipse window.
Size Adjusts the size of the panel border relative to the
option selected. Only borders that can be adjusted,
per selected tab, are active options. Options are
Left, Right, Top, and Bottom.
For example, on the Avaya OD Navigator tab, to
make the area wider, select Size > Right, and then
drag the dark blue highlighted border to make the
view wider.
Minimize Minimizes the size of the tab view that you select.
Maximize Maximizes the size of the tab view that you select.
Close Closes the tab view that you select.
• Will interactions with customers be enhanced if you display information visually on a mobile
web browser?
Ensure that the message application does not get into an infinite loop.
Example questions to anticipate potential problems in a data application:
The following are the two common approaches to map the flow for a data application:
• Describe the flow verbally. Verbally talk through all scenarios. Record these verbal walk-
throughs.
• Use a flow diagram.
• Have you ensured that the data application does not get into an infinite loop?
Example questions to anticipate potential problems in a web application:
• What if the user is not using a mobile device?
• Do you have an application to send out a link (to launch the web application) through text
messages?
• How does the application fit into your multi-channel strategy?
The following are the two common approaches to map the flow for message applications:
• Create a list of the messages that the system must send to the customers and the expected
responses from the customers.
• Use a flow diagram. Create a flow diagram to show the major points in the message flow.
Use this diagram to show where in the message flow:
- Offer options to the customer.
- You require a response from the customer and what must be the valid response.
- The message application must send an SMS or email message to the customer.
- The message application must forward the inbound message to Avaya Aura® Contact
Center for assisted care.
- The message application must access a database to retrieve or record customer data.
- The message application must access a web service to respond to a customer request.
The following are the common approaches to map the flow for web (HTML5) applications:
• Identify the data and its types to collect from the customers.
• Categorize input fields and organize them into different web pages.
• Decide the data processing and visual feedback that you want to provide to the users
between each data collecting web page.
• Design the flow in a sequence to collect and process information. Finally, give the feedback
to the user for confirmation.
• Maintenance ease. The application is easier to maintain, even if you are not reusing many
codes. When using a modular approach, you can change the code in one part of the
application without necessarily requiring a rebuild of the entire application.
• Debugging ease. A modular approach makes it easier to debug an application because you
can isolate the trouble areas where errors occur.
• Concurrent engineering capabilities. A team of developers can work on the different pieces of
an application separately.
- Numbers
Caution:
Do not use double-byte or extended ASCII characters when naming Java components.
If you have designed the project to be a subdialog or a reusable module, which you can use in a
larger application, you must select the option that deploys the project to a directory for reusable
modules. You can then import the module into another speech, or message flow, or data flow, or
web project and use the project as a module node.
Note:
You can import a reusable module only in a project that is created for a channel that is same
as that of the reusable module. For example, you can import a reusable speech application
module only in a speech project.
If you have designed the project to be the primary application or a standalone project, you can
transport the WAR or EAR files to the server on which you want to execute the application.
For more information about deploying applications, see Module nodes on page 140 and
Application deployment on page 406.
Tip:
Carefully plan the speech application and list the application resources that are
required. Create or import the application resources before building the call flow. That
way, the resources are ready and available when needed.
The following is a list of the application resources available in Orchestration Designer:
• Phrases. Phrases are prerecorded audio files that are called and played back to callers, or
text strings that are synthesized into audible form by using text-to-speech (TTS) technology.
For more information, see Phrases on page 160.
• Phrasesets. Phrasesets are used to group phrases that are usually related to a particular
speech application. The main advantage of grouping phrases, besides better organization, is
that phrasesets improve file resource efficiencies, which translates into quicker build times.
For more information, see Phrasesets on page 162.
• Prompts. Prompts are speech elements that are used to announce information to a caller or
prompt the caller to provide a specific type of response. Prompts are composed of one or
more segments. These segments can consist of phrases, audio variables, text variables, or
TTS text. You can also use conditional statements to determine which prompt segments must
be used in certain circumstances.
For more information, see Prompts on page 193.
• Media. Media elements include audio, video, static image, and text files. To create media
prompts, you can reuse the existing audio prompts editor with the media palette items and
the settings. You can now intermix the existing audio elements with the new media elements
within the same prompt to achieve synchronization between the respective servers or
players.
For more information, see Media on page 180.
• Variables. Variables in Orchestration Designer can take any of several different specialized
forms. Some of the specialized forms include audio variables and text variables used for
TTS, and the standard programming variable types.
For more information, see Variables on page 220.
• Grammars. Grammars are speech elements used in conjunction with the automated speech
recognition (ASR) technology. Grammars are lists of possible responses that the callers
provide when responding to the prompts using spoken replies. Grammars define which words
or phrases the ASR engine can recognize and respond to.
For more information, see Grammars on page 235.
• Languages. In Orchestration Designer, you can assign more than one language to a speech
project. You can create applications that offer callers the option to select languages, provided
those languages are available on your system.
For more information, see Language and localization on page 269.
• Database operations. You can use database operations to connect and interact with SQL
databases. Using database operations, you can write the information collected from a caller
to the database. You can also retrieve information from the database to make the information
available to the caller.
For more information, see Database operations on page 287.
• Web service operations. Web services are Internet-based applications that you can use to
perform a wide variety of functions. In Orchestration Designer, you can start web services by
using a Web-service operation file.
For example, you can use a web service to enable callers to get stock quotes or weather
forecasts for their region. Or you can use Web services to enable callers to find out the
availability of airline flights or hotel reservations. Almost any Web service in which the
information can be presented using audio files or text-to-speech can be used in an
Orchestration Designer application.
For more information, see Web Services on page 311.
• Event types. Orchestration Designer includes most of the common types of event handlers as
part of the options available from the palette. In addition, you can use the Event Handler
Editor to create your own custom event types.
For example, you can create a custom event handler to throw an exception when the amount
of a transaction request exceeds the currently available limit on a credit card account
belonging to the caller. Then, you can add this event type to the application so that, when the
application throws this event, the application goes to a node that informs the caller that the
credit limit does not allow this transaction to be completed.
For more information, see Events on page 305.
• SMS files. Use SMS files in a speech application to send SMS messages, also called as
notifications.
For more information, see SMS files on page 338.
• Email files. Use email files in a speech application to send email messages, also called as
notifications.
For more information, see Email files on page 342.
• AACC treatments. Use AACC treatments to process the calls that Avaya Aura® Contact
Center transfers to the Orchestration Designer speech application. The Orchestration
Designer speech application processes the calls based on the treatment type that Avaya
Aura® Contact Center requests.
For more information, see AACC treatments on page 362.
8. Click Finish.
The Eclipse user interface opens the project flow editor, where you can design and build
your project call flow.
For more information about the project flow editor, see Overview of Orchestration Designer
project flow editor on page 126.
For information about setting the project properties, see Orchestration Designer project
properties on page 479.
Name Description
Project name Name for the project.
Caution:
Do not use double-byte or extended ASCII
characters or Java reserved words such as
Try, Catch, and Switch when naming the
project.
Note:
Project names must follow Java naming
conventions. For more information, see
Conventions for naming Java components on
page 59.
Use default location Check box to use the default project location for
generating and saving the project files. Avaya
recommends that you use the default location.
Location Full path of the directory in which you want to
generate and save the project files.
To use a different location, clear the Use default
location check box.
Orchestration Designer saves and displays this information only as part of the project properties.
However, this information can be useful.
For example, if you are developing similar applications or slight variations of an application for
different clients, you can use these fields to specify the client name, information about the purpose
of the application and how does the application vary, and so on.
You can also specify information about the VXML compatibility and category for your project on
the Specify Project Parameters page.
Name Description
Project
VXML Compatibility The VXML version that is compatible with the run-
time platform on which the application is targeted to
run.
By default, Orchestration Designer sets the project
VXML compatibility to 2.1.
Tip:
To run video-enabled application (IVVR), you
must set the project VXML compatibility to 2.1
+ IVVR.
Meta Information
Vendor The vendor name or the name of vendor company.
Category The category name for the application or the project
module.
For example, if you are building a banking
application and this module handles savings
account queries, you can type Savings query
module.
Tip:
If you intend to use this project as a reusable
module, what you specify in the Category field
determines where in the Call Flow Editor
palette this module appears. If you leave this
field blank, the module appears in the
Modules group. If you specify a category
name, the module is grouped with other
modules that have the same category name.
Description Brief description for the project.
You can provide information such as the variable
values that are accepted and returned from this
module, and other similar information.
Name Description
Language Package Name A logical name for the primary language for your
project. The name does not impact the run-time
language settings.
Orchestration Designer uses this name for the
<language name> directory in the Navigator view.
Tip:
Specify a descriptive name such as US_Eng
for U.S. English or Can_Fr for Canadian
French. For information about file-naming
conventions and restrictions, see Conventions
for naming Java components on page 59.
Speech Recognition (ASR) Language The name of the ASR package that you want to use
for speech recognition. This field contains a list of
ASR languages supported in Orchestration
Designer.
Note:
See the documentation of your ASR run-time
engine and use of the engine-supported
language codes configured on the voice
platform. For example, some engines or
platforms do not accept “en-us.” Instead, these
engines or platforms require “en-US.”
Table continues…
Name Description
Text-to-speech (TTS) Language The name of the TTS package that you want to use
for speech synthesis. This field contains a list of
TTS languages supported in Orchestration
Designer.
Note:
See the documentation of your TTS run-time
engine and the use of engine-supported
language codes configured on the voice
platform. For example, some engines or
platforms do not accept “en-us.” Instead, these
engines or platforms require“en-US.”
Localization Bundle Language The localization bundle that you want to use.
Localization bundles are packages of classes in a
*.jar file that the servlet engine uses to convert the
run-time application data to the form of audio
variables. The VoiceXML interpreter, Avaya
Application Simulator, translates this run-time data
to standard phrases and plays the phrases back in
the form of prerecorded audio files.
This field contains a list of localization bundles
supported in Orchestration Designer.
Orchestration Designer cannot detect third-party VXML subdialogs, except Nuance OSDM and
NDM, contained in the .war file. To import other third-party VXML subdialogs, you must specify the
number of VXML subdialogs contained in the .war file and the module definitions for the VXML
subdialogs.
Note:
Nuance does not certify OSDMs against Apache Tomcat 7. Therefore, you should upgrade to
Nuance Dialog Module (NDM) for future support and changes. For more information, refer to
Nuance documentation and support.
When you want to integrate a third-party VXML subdialog in an Orchestration Designer speech
application without using a .war file, specify a module definition for the third-party VXML subdialog
and use the VXML subdialog as a reusable module in Orchestration Designer.
You can reuse the reusable modules in more than one speech applications. You can use the
reusable modules when common project elements are needed in more than one speech
applications and also when you use a speech module that uses the same phrases as the parent
application.
7. If the .war file contains third-party VXML subdialogs, other than Nuance OSDM or NDM
VXML subdialogs, do the following:
a. In the Number of reusable dialogs contained in archive field, type the number of
VXML subdialogs in the .war file.
b. Click Next.
c. On the Set information about this module page, click a module and specify a module
definition for the module.
The number of modules in the module list depends on the number of VXML
subdialogs that you specify in the Number of reusable dialogs contained in
archive field.
You must specify module definitions for all modules in the module list.
d. Click Finish.
Result
The Eclipse user interface imports the Orchestration Designer reusable module and VXML
subdialogs as reusable modules in the <eclipse>/Orchestration Designer/Modules
directory, and displays the reusable modules in the form of module items in the Modules Palette of
the project flow editor.
Name Description
Dependencies Any other modules on which the Orchestration
Designer reusable module, or the Nuance OSDM or
NDM VXML subdialog that you select in the Module
field has resource dependency.
This field is read only.
Input Parameters The input parameters of the Orchestration Designer
reusable module, or the Nuance OSDM or NDM
VXML subdialog that you select in the Module field.
This field is read only.
Output Parameters The output parameters of the Orchestration
Designer reusable module, or the Nuance OSDM or
NDM VXML subdialog that you select in the Module
field.
This field is read only.
Name Description
URL The URL of the Servlet/JSP/VXML subdialog for the
module being created. This URL is mandatory.
Note:
After you specify the URL, you can modify the
URL in the module.<module name>.entry
point context parameter or in the Java code.
For more information about modifying the URL
by using the module.<module name>.entry
point context parameter, see:
• Configuring Orchestration Designer project
development, runtime, and Java servlets
settings on page 501
• Application tab field descriptions on page 502
• Context parameters for an Orchestration Designer
project on page 504.
Category A category name for the VXML subdialog, if
applicable. The system uses the category name for
grouping the VXML subdialog in the Palette pane of
the call flow editor.
Vendor The name of the third-party integration vendor. For
OSDMs and NDMs, the vendor must be Nuance.
Description A description for the VXML subdialog that you want
to create.
GET To apply the Get method to the VXML subdialog
call.
POST To apply the Post method to the VXML subdialog
call.
Input Parameters Add to add and define input parameters, value, and
description for the VXML subdialog. For OSDM
support, the add parameters are specified in the
OSDM documentation.
Send as namelist Check box to pass parameters through the
namelist, such as OSDMs or as child parameter
items, rather than params.
Output Parameters Add to add and define output parameters, value,
and description for the VXML subdialog. For OSDM
support, the add parameters are specified in the
OSDM documentation.
Return Multi-part Data Check box to post data of different media types
from the subdialog call. For example, MIME or
multi-part such as OSDM record.
Result
After creating a module definition for the SCE application:
• The Eclipse user interface displays the module in the Palette pane of the project flow editor.
• Orchestration Designer creates a folder in <eclipse home>/OrchestrationDesigner/
Modules directory in the SCE application. To share this folder with other users, move the
folder to the <eclipse>/OrchestrationDesigner/Modules directory and restart
Orchestration Designer.
Name Description
Post To apply the Post method to call the SCE
application.
Input Parameters Add to add the following parameters:
• SERVICE: The name of the SCE application as
the default value for the SERVICE parameter.
• SUBDIALOG: True as the default value for the
SUBDIALOG parameter.
• CALL_ID: The call id (session:sessionlabel) or
the variable that identifies the call as the default
value for the CALL_ID parameter.
In addition to the above input parameters, you can
add other input parameters that you want to pass to
the SCE application.
Send as namelist Check box to pass parameters through the namelist
instead of params.
Output Parameters The output parameters to receive values from the
SCE application.
Return Multi-part Data Check box to post data of different media types
from the subdialog call.
To use the NDM 5.2.x or later VoiceXML subdialogs in the Orchestration Designer speech
application, you must add the NDM_Sessionstart item from the Palette pane to the call flow
editor. You must then add the NDM 5.2.x or later VoiceXML subdialogs that you want to use from
the Palette pane to the call flow editor. After you add all the NDM VoiceXML subdialogs that you
want to use, add the NDM_Sessionend item from the Palette pane to the call flow editor.
Orchestration Designer uses the NDM_Sessionstart item to start the NDM session and the
NDM_Sessionend item to end the NDM session.
Note:
Before editing the Java class, connect the VXML Servlet node to the next in the call
flow and save the speech project. Orchestration Designer does not allow editing of the
Java class until Steps 2 on page 77 and 3 on page 77 are completed.
4. After the project is built, right-click the VXML Servlet node, and select Edit
<VXMLservlet>.java from the pop-up context menu. <VXMLservlet> is the name of your
VXML servlet node.
5. In the Java class editor, add the method public void
markupLanguageGeneration(PrintStream out, Submit submit, SCESession
session) { along with your custom VoiceXML code.
Note:
The ability to integrate variables into and from the VXML Servlet node is not easily
supported. Do not use this node to pass variable values.
Orchestration Designer uses the message gateway to receive the inbound SMS message or email
message, determine the appropriate message application to handover the inbound message, and
then launch the text browser to run the message application. The text browser is installed on
VPMS. The text browser is the link between the message gateway and the Orchestration Designer
message application.
The text browser supports TextXML schema. The text browser validates each input document
against the TextXML schema. TextXML starts with the <TextXML> tag and follows a structure
similar to the VoiceXML structure. Unlike speech applications in which you can create or modify
VoiceXML, you cannot create or modify TextXML in message applications. The Orchestration
Designer runtime generates the TextXML.
The text browser uses grammars to interpret the body of the inbound SMS message. For an email
message, the text browser uses grammars to interpret the subject and the body of the inbound
email message.
The text browser supports single-slot SRGS literal grammars as well as built-in grammars. For
more information about grammars used in message applications, see Grammar compatibility and
compliance for speech application on page 237 and Supported built-in grammar types in message
applications on page 262.
The text browser invokes a message application from the application server by using the HTTP or
HTTPS Get and Post requests. When invoking the initial page of the message application, the text
browser passes all session related variables, including the message properties and the UCID to
the message application. If you use an external text processing engine, then the text browser also
passes the text contained in the inbound SMS or email message to the message application. The
text browser also passes information related to administrative variables, reporting, and outbound
Web services to the Orchestration Designer runtime.
Orchestration Designer supports exit variables in message applications the same way that it
supports in speech applications. In addition to the exit variables used by the speech applications,
message applications also use the exitParentId variable. Unlike speech application, which
considers the entire conversation in a call as one single session, a message application considers
the process of receiving an inbound SMS or email message and sending one or more outbound
message responses as one session. The message application processes the other inbound
messages as separate sessions even if the inbound messages are correlated to the first inbound
message. To bind the correlated messages together for reporting, message applications use the
exitParentID variable.
The text browser captures the exit variables from the Orchestration Designer runtime and passes
the exit variables to the message gateway.
The structure of the TextXML that is returned by the application server is similar to a subset of
VoiceXML. Currently, only <prompt>, <field>, <grammar>, <goto>, <submit>, and <catch>
elements are supported in the TextXML that is returned by the application server. The system
validates the TextXML that is returned by the application server against the TextXML schema.
Tip:
Carefully plan the message application and list the application resources that are
required. Create or import the application resources before building the message flow.
That way, the resources are ready and available when needed.
The following is a list of the message application resources available in Orchestration Designer:
• Prompts. Use prompts to send automated SMS messages from an SMS channel message
application and email messages from an email channel message application.
Prompts are composed of one or more segments. In an SMS channel message application,
these segments can consist of SMS, Text, or Text Variable items. In an email channel
message application, these segments can consist of Email, Text, or Text Variable items.
You can also use conditional statements to determine which prompt segments should be
used in certain circumstances.
For more information, see Prompts on page 193.
• Variables. Variables in Orchestration Designer can take any of several different specialized
forms. For example, standard programming variable types.
For more information, see Variables on page 220.
• Grammars. Use grammars in conjunction with the automated text processing technology.
Grammars are lists of possible text contained in the inbound SMS or email messages.
Grammars define which text the text processing engine can recognize and respond to.
For more information, see Grammars on page 235.
• Languages. In Orchestration Designer, you can assign more than one language to a
message flow project. You can create message applications that can process inbound SMS
and email messages in different languages, provided those languages are available on your
system.
For more information, see Language and localization on page 269.
• Database operations. Use database operations to connect and interact with SQL databases.
You can use database operations to write the information collected from an inbound SMS or
email message to the database. You can also retrieve information from the database and
send the information in an outbound SMS or email message.
For more information, see Database operations on page 287.
• Web service operations. Web services are Internet-based applications that you can use to
perform a wide variety of functions. In Orchestration Designer, you can invoke Web services
by using a Web service operation file.
For example, you can use a Web service to get stock quotes or weather forecasts for a
region. You can then send this information in the form of an SMS or email message to the
customers.
For more information, see Web Services on page 311.
• Event types. Orchestration Designer includes most of the common types of event handlers as
part of the options available from the Palette pane. The built-in events for message
applications include [Link], [Link], noinput, nomatch, and Internal Error. In
addition, you can use the Event Handler Editor to create your own custom event types.
For example, you can create a custom event handler that generates an exception whenever
the hotel room that is requested in the inbound SMS message is already reserved. Then, you
can add this event type to the SMS channel message application so that when the SMS
channel message application generates this event, the SMS channel message application
goes to a node that informs the customer that the requested hotel room is already reserved.
For more information, see Events on page 305.
• SMS files. Use SMS files in a message application to send SMS messages.
For more information, see SMS files on page 338.
• Email files. Use email files in a message application to send email messages.
For more information, see Email files on page 342.
• AACC message files. Use AACC message files to send additional information along with the
inbound SMS or email message to Avaya Aura® Contact Center for assisted care.
For more information, see AACC message file on page 356.
4. On the Create a Message Flow Project page, specify the name and location for the
message flow project.
5. Click Next.
6. On the Specify Project Parameters page, specify the project parameters, and then click
Next.
7. On the Specify Language Parameters page, set the parameters for the primary language
that you want to use for the message flow project.
8. Click Next.
9. On the Specify Channel page, select the channel that you want to use for the message
flow project.
10. Click Finish.
Caution:
Do not use double-byte or extended ASCII
characters or Java reserved words such as
Try, Catch, and Switch when naming the
project.
Note:
Project names must follow Java naming
conventions.
For more information, see Conventions for naming
Java components on page 59.
Use default location Check box to generate and save the project files in
the default project location. Avaya recommends that
you use the default location.
Location Full path of the directory in which you want to
generate and save the project files.
To use a different location, clear the Use default
location check box.
information appear anywhere in the output. This information is primarily for your internal use. The
system saves and displays this information only as part of the project properties. However, this
information can be useful. For example, if you are developing similar applications or slight
variations of an application for different clients, you can use these fields to specify the client name,
information about the purpose of the application, and how does the application vary.
Name Description
Meta Information
Vendor The name of the vendor.
Category A category name for the application if you want to
deploy the application as a reusable module. For
example, if you are building a banking application
and this module handles savings account queries,
you can type Savings query module.
Tip:
When you deploy the application as a reusable
module, the system shows the reusable
module in the form of a module item under the
category name in the Palette pane of the
message flow editor. If you do not specify a
category name, then the system shows the
reusable module in the form of a module item
under Modules in the Palette pane of the
message flow editor.
Description A brief description for the project.
You can provide information such as the variable
values that are accepted and returned from the
application.
those languages are available on your system. For more information, see Language and
localization on page 269.
• Database operations: You can use database operations to connect and interact with SQL
databases. Using database operations, you can write the information collected from a caller
to the database. You can also retrieve information from the database to make the information
available to the caller. For more information, see Database Operation on page 708.
• web service operations: web services are Internet-based applications that you can use to
perform a wide variety of functions. In Orchestration Designer, you can invoke web services
by using a web-service operation file. For example, you can use a web service to enable
callers to get stock quotes or weather forecasts for their region. Or you can use web services
to enable callers to find out the availability of airline flights or hotel reservations. Almost any
web service in which the information can be presented using audio files or text-to-speech can
be used in an Orchestration Designer application. For more information, see web Services on
page 311.
• The SMS and email are available if you enabled the Notification PDC as that will allow you to
send outgoing SMS or email using the platform web service call.
7. Click Finish.
Result
After you click Finish, the system opens the call flow editor, where you can design and build your
project call flow.
For more information, see Overview of Orchestration Designer project flow editor on page 126.
For information about setting the other project properties later, see Orchestration Designer project
properties on page 479.
Caution:
Note:
For example, if you are developing similar applications or slight variations of an application for
different clients, you can use these fields to specify the client name, information about the purpose
of the application and how does the application vary, and so on.
You can also specify information about the category for your project on the Specify Project
Parameters page.
Name Description
Meta information
Vendor The vendor name or the name of vendor company.
Category The category name for the application or the project module.
For example, if you are building a banking application and this
module handles savings account queries, you can type Savings
query module.
Tip:
4. On the Create a Call Control Project page, specify a name and location for the project.
5. Click Next.
6. On the Specify Project Parameters page, specify the project parameters.
7. Click Next.
8. On the Select ccxml Template page, select the ccxml template that you want to use for
your call control project.
Alternatively, you can create a JSP page for the call control project by using the JSP FIle
wizard. For more information, see Creating a JSP file and selecting a JSP template on
page 98.
9. (Optional) If you have already created a call control project, do the following:
a. Click Create new CCXML file on the main toolbar in the Call Control perspective.
The Eclipse user interface displays the New CCXML page.
b. On the Create a CCXML page, select the project and then click Next to navigate to
the Select CCXML Template page.
10. Click Finish.
Name Description
Project name Name for the project.
Caution:
Do not use double-byte or extended ASCII
characters or Java reserved words such as
Try, Catch, and Switch when naming the
project.
Note:
Project names must follow Java naming
conventions.
Use default location Check box to use the default project location for
generating and saving the project files.
Table continues…
Name Description
Location Full path of the directory in which you want to
generate and save the project files.
To use a different location, clear the Use default
location check box.
Name Description
Project
Mode Unavailable in the current release of Orchestration
Designer.
Type Unavailable in the current release of Orchestration
Designer.
Meta Information
Vendor The vendor name or the name of vendor company.
Category A category name for the application or the project
module.
Description A brief description for the application or the project
module.
You can use the templates to begin with the CCXML content and JSP content, if you are using a
JSP template, as well as the elements in your CCXML pages, and ultimately your call control
application. The context of the template determines where the CCXML shows up.
After you define the template, you can open, review, and edit the CCXML template by using the
Orchestration Designer CCXML Templates preferences page. For more information, see CCXML
template management on page 533.
Name Description
Use ccxml template Check box to use a CCXML template for your call
control project.
Templates are ’New ccxml’ templates found in Link to create, edit, or remove CCXML templates.
the ccxml templates page
For more information, see information, see CCXML
template management on page 533.
Name / description The CCXML template that you want to use for your
call control project. The following are the options:
• Basic: Contains basic CCXML content and
structure.
• Accept call: Contains basic CCXML content with
transitions to accept a call.
Preview Shows the preview of the CCXML template that you
select.
CCXML editor
You can use the CCXML editor for editing the CCXML and JSP templates and pages to create the
logic for the call control project.
After you create a base call control project by using the New Call Control Project wizard, the
Eclipse display of the base call control project shows tabs to assist you in editing and evolving the
call control application.
The type of content that you can add or edit is controlled by the [Link] that governs allowable
content supported by the Avaya Experience Portal platform. The [Link] file is located in the
Eclipse/plugins/[Link]/dtd directory.
Important:
Orchestration Designer does not support all CCXML commands that are specified in the
CCXML specification. For more information about the supported CCXML command set, see
the [Link] file.
Procedure
1. On the Eclipse user interface, click Window > Preferences.
2. On the Preferences page, in the left pane, do one of the following:
• Click XML > XML Files > Editor > Syntax Coloring.
• Click Web > JSP Files > Editor > Syntax Coloring.
3. In the Syntax Coloring pane, set the display format.
4. Click Apply and Close.
At run time, Orchestration Designer uses Dbproxy and Wsproxy proxy classes to invoke database
operations and Web service operations respectively, from within your CCXML content. You can
write the code, either manually or by using call control projects, to invoke the database operations
or Web service operations. To automatically invoke the proxy classes, Avaya recommends that
you use the database operations and Web service operations snippets that are available on the
Snippets tab within the CCXML editor.
Note:
You can click the JSP Templates link to navigate to the Templates page of
preferences.
6. Click Finish.
The Eclipse user interface adds the code from the template file to the JSP project file
within Eclipse. You can then modify the JSP file as per your requirement.
Web applications
A Web Channel allows Avaya Experience Portal developers to continue using the Avaya
Experience Portal drag-and-drop paradigm to develop projects that interact with users on the
HTML browser that exists on smart-phones and mobile devices. In the Avaya Experience Portal
design environment, you can create new projects that are marked for Web Channel. New palette
items in the flow editor provides the capability to create nodes that are translated to web forms
and pages for collecting and displaying user information.
Similar to a speech application development, you can create a flow sequence that collects inputs
from the user, performs logic on the input data and displays the data to the user.
The difference between a web application and a speech application is that, the speech application
interacts with users through voice prompts while the web applications does that visually through
HTML elements rendered by the web browser on a user’s mobile device.
You can use the same look and feel in the development environment, which includes the flow
editor, navigator view, simulation view and various other existing tools in the Eclipse environment,
to create web channel projects. The web channel projects are supported by the similar resource
structure as other channels, plus few additional resources for HTML5 elements such as css, js,
jsp, and html files. Deployment and common runtime library files are same for projects of all
channels.
The web feature in Orchestration Designer does not provide an HTML editor. The web UI of a web
channel project is auto generated, and the web elements are displayed in a single-column layout.
Due to its pure HTML nature, a web application developed in Orchestration Designer can be
viewed by end users using any HTML5 web browser even from large screen computing devices.
HTML5 applications also support customization of different look and feels. Developers can
customize the applications by editing the generated resources without affecting the functionality
provided by the Orchestration Designer tools.
As an Orchestration Designer project type, the web channel projects, like others, use the
Orchestration Designer session and variables to pass input data from one flow node to another. A
simple flow entails that the form node is used to prompt and collect input data from the end user,
passes the data to the data node for processing and displays the processed data back to the end
user.
You must host a web application as a managed application on Avaya Experience Portal to take
advantage of the reporting and multi-channel capabilities.
Web channel is an eclipse plugin with extensions that support the following functionalities:
• Web Perspective
• New Project Wizard
• Import, upgrade, and export
• New palette items for flow editor
• Code generator to produce runtime code for the flow
• Simulate or test run the application from the design environment
• Project properties that help with customization
Web Perspective is a new Eclipse perspective that contains the navigator, simulator, editors,
console and properties that enable developers to create, design, test and maintain all the web
channel projects. Developers can also view and integrate other projects of different channels
using Web Perspective.
Developers can create a new web project using the button in the toolbar or by using an option in
the New menu to launch the New Web Project wizard. The web project created by the wizard has
the structure and initial resources that set up a working scaffold for the developers. Developers
can add some minimal content to the main flow and run the application from the simulator.
Flow editor and Code Generation
The main feature of Orchestration Designer is to allow developers to design an automated self-
service application using the flow editor. Developers use the items provided in the palette of the
flow editor to design forms that collect inputs, add logic to process the collected data, and then
add elements to additional forms to display the processed data. The flow editor converts the
graphically created flow of developers into a runtime code that in turn produces an interactive UI
and logic at runtime.
The flow editor generates JSPs that present the UI to end users. These JSPs then render HTMLs
to the browsers of end users on mobile devices. Any instance of the Form node, including the
Menu, Collect, and Announce templates in the flow editor results in a JSP file in the project’s
jsp folder.
Palette Items
The flow editor supports new palette items for developing input and display elements that are
generally required for web forms. For more information on new Palette items supported by web
applications, see Detailed Palette option descriptions on page 659.
Related links
Orchestration Designer web application resources on page 101
For example, before the Announce node is fully functional, you must:
1. Create one or more prompts by using the New Prompt wizard.
2. Assign the prompts to the Announce node.
3. Populate the prompts in the Announce node.
4. Define the next node that the web application must execute after the Announce node.
Tip:
Carefully plan the web application and list the application resources that are required.
Create or import the application resources before building the application flow. That
way, the resources are ready and available when needed.
The following is a list of the application resources available in Orchestration Designer:
• Prompts. Prompts are web elements that are used to display information to a user or prompt
the user to provide a specific type of response. Prompts are composed of one or more
segments. These segments can consist of text, location, picture, or a video. You can also use
conditional statements to determine which prompt segments must be used in certain
circumstances.
For more information, see Prompts on page 193.
• Variables. Variables in Orchestration Designer can take any of several different specialized
forms. For example, standard programming variable types.
For more information, see Variables on page 220.
• Languages. In Orchestration Designer, you can assign more than one language to a web
project. You can create web applications in different languages, provided those languages
are available on your system.
For more information, see Language and localization on page 269.
• Database operations. You can use database operations to connect and interact with SQL
databases. Using database operations, you can write the information collected from a user to
the database. You can also retrieve information from the database to make the information
available to the user.
For more information, see Database operations on page 287.
• Web service operations. Web services are Internet-based applications that you can use to
perform a wide variety of functions. In Orchestration Designer, you can start web services by
using a Web-service operation file.
For example, you can use a web service to enable callers to get stock quotes or weather
forecasts for their region. Or you can use Web services to enable callers to find out the
availability of airline flights or hotel reservations. Almost any Web service in which the
information can be presented using audio files or text-to-speech can be used in an
Orchestration Designer application.
For more information, see Web Services on page 311.
• Textset files. Use textset files in a web application to display text, labels to the user.
For more information, see About textset files on page 123.
• CSS. By default, css directory contains the css files that come with jQuerymobile. You can
change or replace them if you have your own packages or versions to use.
• JS. JS are the Javascript files of the application. These include the jQuerymobile scripts and
any other Javascript files that the web application uses. You can add or remove the JS files
using the project settings.
• HTML. These are the static HTML files of the web application. For example, the
[Link] file is used to take pictures and display them on the screen.
• JSP. The JSP files contain the main code used to render the UI of the web application. The
JSP files are generated based on the web application flow designed in the flow editor.
The JSP files are responsible for the HTML output that the end users interact with, in the web
browser.
• Custom directory. The custom directory contains JSP template files that you can use to
customize the auto-generated JSP files in the jsp directory.
7. Click Finish.
Result
After you click Finish, the system opens the web application flow editor, where you can design
and build your project web application flow.
For more information, see Overview of Orchestration Designer project flow editor on page 126.
For information about setting the other project properties later, see Orchestration Designer project
properties on page 479.
Caution:
Note:
For example, if you are developing similar applications or slight variations of an application for
different clients, you can use these fields to specify the client name, information about the purpose
of the application and how does the application vary, and so on.
You can also specify information about the category for your project on the Specify Project
Parameters page.
Name Description
Meta information
Vendor The vendor name or the name of vendor company.
Category The category name for the application or the project module.
For example, if you are building a banking application and this
module handles savings account queries, you can type Savings
query module.
Tip:
threats and attacks. However, since you use Orchestration Designer primarily for application
development, you must ensure you deploy and configure the application properly and that all the
custom resources in the application are protected.
You can use below recommendations and standards to ensure application security.
Security Scanner
You can use a security scanner called Zed Attack Proxy (ZAP). ZAP is an open-source tool by a
group named Open Web Application Security Project (OWASP). The scanner looks for security
holes in the target application by automating attacks. It generates reports and recommendations to
mitigate certain types of attacks. Use this application before the application is ready to be
deployed. For more information on ZAP and its creator OWASP, see [Link] and
[Link]
Setting HTTP headers
The following HTTP headers and settings are considered the most useful and supported by
modern web browser for mitigating well-known attacks:
• X-Content-Type-Options: nosniff
• X-Frame-Options: DENY -or- X-Frame-Options: SAMEORIGIN
• X-XSS-Protection: 1; mode=block
For more information on headers, see [Link]
List_of_useful_HTTP_headers.
The header value “X-Frame-Options: SAMEORIGIN” is added by default in the JSP pages
generated by Orchestration Designer. You can configure these headers in most web servers
without changing the application for different types of resources. Alternatively, you can implement
and deploy a filter on application server. For more information on implementing and deploying
Java filter, see [Link]
By default, Orchestration Designer generates these JSP files based on a set of system templates.
The JSP file in the jsp folder gets regenerated or overwritten whenever you edit and save the
flow editor, or when you select the Generate Project menu option. Therefore, ensure you do
not change these files, unless you need to change them temporarily for testing purpose.
You can use JSPs to create a dynamic layout of the HTML UI components. You can customize a
JSP if you need to add an HTML-based UI widget that is not present in the flow node palette.
Orchestration Designer provides a set of customizable JSP template files in the project’s custom
folder. When you create a new project, Orchestration Designer automatically creates a custom
folder and populates the folder with four sample template files. Each of these template files
correspond to a particular type of JSP page. These files form the base for creating working
templates for customizing a flow node.
CSS and JavaScript
The unique capability of Orchestration Designer is to generate standard HTML5 based on the
items that you use in the flow editor to design the application. In HTML-based applications, CSS
and JavaScript play a key role in giving HTML5 elements a unique look and feel and making them
interactive. Orchestration Designer applications are also highly interactive and have a unique look
and feel. By default, Orchestration Designer leverages JQuery Mobile, one of the most popular
open-source web framework in the industry, for its mobile style look-and-feel and responsiveness.
Note:
Orchestration Designer is not a web design tool and does not provide HTML, CSS, or
JavaScript editor.
Orchestration Designer provides a tool to manage CSS and JavaScript files and directly make
them work on the application’s webpages with a few clicks. If you do not have experience with CSS
or don’t have any existing CSS to work with, then you can leverage the JQuery Mobile framework
and its tool to create themes.
To create a theme for JQuery Mobile, see [Link]
Customizing CSS
About this task
Orchestration Designer provides a tool to manage CSS and JavaScript files and directly make
them work on the application’s webpages with a few clicks. If you do not have experience with CSS
or don’t have any existing CSS to work with, then you can simply leverage the JQuery Mobile
framework and its tool to create themes.
To create a theme for JQuery Mobile, see [Link] After you create a
theme, download the package, and follow the below procedure to use the theme in an
Orchestration Designer application.
Procedure
1. Unzip the theme package into any directory.
2. Right-click the project in Eclipse and click Properties.
3. Go to the Orchestration Designer > JS/CSS/Theme tab.
4. Click the Add File button to add the css files from the theme directory of your theme
package.
5. Enter the name of the theme in Theme Name field. Ensure the theme name matches the
name of the <theme>.css file.
6. Select the swatch from the theme.
7. Click OK.
If you add a CSS file using the Add File button, then Orchestration Designer copies the file
into the css folder of the project root and creates a link in every webpage of the
application.
You can use the JS/CSS/Theme property tab to add the CSS or JavaScript that you create.
Orchestration Designer copies the JavaScript files into the js folder and creates a link
in every webpage of the application. If the file already exists, then use Add Link button.
This adds only the link to the webpages.
By default, the Use JQuery Based Framework checkbox is selected. Clear this checkbox
to remove all the JQuery links from the webpages.
Next steps
On running the application, if the images are missing in the buttons, then copy the images
directory from the theme package into the images folder of the project’s css directory.
Customizing JSP
About this task
You can have the same look and feel across all the forms in a web application. For example, you
can have header and footer on all pages of your web application matching the company’s website.
The header will have the company logo and footer will have the links to general information.
Follow the below steps to customize an application to have a common look-and-feel across
multiple pages:
Procedure
1. Right click the project that you want to customize and click Properties. click
Orchestration Designer > JS/CSS/Theme tab.
2. In the Properties dialog, select Orchestration Designer > JS/CSS/Theme.
3. Click the Use custom templates instead of system templates to generate jsp files
check box.
4. Click Ok.
Orchestration Designer automatically adds four new template files -
AppRoot_Sample_template.jsp, Form_Sample_template.jsp,
Menu_Sample_template.jsp, and Return_Sample_template.jsp, to the custom
directory. These new files are the working template files that Orchestration Designer uses
to generate JSPs instead of the system template files.
5. Add the HTML code in each of the four files, and save all the changes.
Modify the Approot_templat.jsp file to use Start page as your front page. You can
ignore this file if the Show Web Content property of the AppRoot node is set to “No”.
Modify the Return_templat.jsp file to create a unique looking ending page. This file
works for the Return node.
Similarly, modify the Menu_template.jsp and Form_template.jsp for Menu node and
Form node respectively.
6. Right click the project and then select Orchestration Designer > Generate Project.
Alternatively, you can make changes in the web flow editor and save.
Orchestration Designer regenerates all JSP files in the jsp folder based on the four new
template files.
2. Orchestration Designer creates a new template file with the node’s name -
<nodeName>_template.jsp , in the custom folder, and automatically opens up the file in
the JSP file editor.
3. Add code to the JSP file wherever necessary, and save the changes.
4. Right-click on the project in the Navigator and select Orchestration Designer > Generate
Project from the context menu.
The JSP file in the jsp folder of the node gets regenerated based on the template file.
5. You can continue to make changes iteratively to the template file. The JSP file in the jsp
folder of the node gets regenerated whenever you select the Generate Project menu
option, or save any changes in the flow editor.
Note:
If you get an error while generating runtime JSP files in a project with custom
templates, see Resolving error on ODWebJet project on page 110.
Related links
Resolving error on ODWebJet project on page 110
Note:
Ensure that the variable that you specify in Text Variable for Choice property contains
the value as Textset text id in the <textset id>:<text id> format.
4. In the flow, before the Menu node, assign the Textset text id to the variable that you specify
in Text Variable for Choice property using logic or data operations.
Workflow PDC
About Workflow PDC
A Pluggable Data Connector(PDC), Workflow PDC, supports integrations in Orchestration
Designer. The Workflow PDC supports following operations:
• Operations for context store access
• An operation to start a workflow
• An operation to send an event to a workflow
• Automatically add the avayaContextId variable to the application
• At runtime, automatically store the context id from either UUI or request parameter into the
avayaContextId variable
Related links
HTML application URL generator PDC on page 118
Oceanalytics Realtime events on page 120
Orchestration Designer using Context Store on page 113
SMS and Email Orchestration Designer on page 114
Enabling Orchestration Designer project pluggable data connectors on page 493
Orchestration Designer using Context Store on page 113
Orchestration Designer project properties: Pluggable Connectors tab field descriptions on
page 494
The same formats are applicable when using the Get Variable From Context operation.
All Context Store operations support a TouchPoint variable, or constant. TouchPoints associate a
text tag with a particular context store operation that is stored in a context audit trail, a feature in
the Context Store. The Create Context operation supports Persist parameter that takes a true or
false value. When Persist is true, and the Context Store is configured appropriately, then the
context data and audit trail data are persisted to an external database.
While creating a context, if a context id is not provided, then the Create Context operation creates
and returns a context ID.
Related links
Workflow PDC on page 112
Enabling Orchestration Designer project pluggable data connectors on page 493
Orchestration Designer using Context Store on page 113
Orchestration Designer project properties: Pluggable Connectors tab field descriptions on
page 494
Enabling Orchestration Designer project pluggable data connectors on page 493
Workflow PDC on page 112
Orchestration Designer using Context Store on page 113
SMS and Email Orchestration Designer on page 114
HTML application URL generator PDC on page 118
Oceanalytics Realtime events on page 120
Orchestration Designer project properties: Pluggable Connectors tab field descriptions on
page 494
Workflow Management
Starting a Workflow
Creating an event to start the workflow
About this task
Orchestration Designer starts a workflow by sending an event to Avaya Breeze® platform. On
receiving the event, Avaya Breeze® platform searches for workflows that have that event as the
“start” event and creates a new instance of that workflow.
The start event must be defined on the Avaya Breeze® platform platform as a custom event and
then added as the start event for a workflow. To define the event that will start the workflow:
Procedure
1. Log in to System Manager.
2. Click Elements > Avaya Breeze™.
3. In the left pane, click ConfigurationEvent Catalog.
4. On the Event Catalog Configuration page, click New.
5. On the Event Catalog Editor page, enter information in the fields as seen in the table below
and click Commit.
Field Value
Family ODEvent
Family Display Name ODEvent
Type STARTWFEVENTONLY
Type Display Name An arbitrary string
Version 1.0
Schema Name STARTWFEVENTONLY
Schema Type JSON
Schema {"title" : "STARTWFEVENTONLY", "type" :
"object", "properties" : { "type" : {"type" :
"string"}, "vehicle" : {"type" : "string"}, "action" :
{"type" : "string"}, "phone" : {"type" : "string"},
"param5" : {"type" : "string"}, "param6" : {"type" :
"string"}, "param7" : {"type" : "string"},
"param8" : {"type" : "string"}}}
The event family is fixed as “ODEvent”. You can use different event types to start different
workflow applications. When creating an event, by default Orchestration Designer
assumes the names param1 through param8. You can change the names of the
parameters to more meaningful values, but the number of parameters should be 8.
f. Click Continue.
g. Click Save.
Redirector
A Redirector is a web archive file (war) that must be deployed on a Tomcat server. It is based on
Java and requires a JRE and Tomcat servlet container. The main purpose of the Redirector is to
hide Experience Portal information. This information is used for initializing the Orchestration
Designer application session when the user sends the first request from the browser.
You must deploy the Redirector component as an application only on the Tomcat application
server. This component starts the HTML5 applications that are configured as managed
applications on Experience Portal Manager (EPM). A sample Redirector application is provided as
a reference on how the component must be implemented. You can export and use this sample
application from Orchestration Designer. For more information about application installation, see
the Redirector setup document that you get with the [Link] package.
Related links
Workflow PDC on page 112
Oceanalytics Realtime events on page 120
Enabling Orchestration Designer project pluggable data connectors on page 493
Orchestration Designer using Context Store on page 113
Orchestration Designer project properties: Pluggable Connectors tab field descriptions on
page 494
• {"od_apptype":"speech","od_appname":"TestOceanalytics","od_vpappname":"TestOceanalyt
ics","od_language":"english",
"od_ucid":"undefined","to":"5551212","from":"5551234","exitCustomerId":"","exitInfo1
":"","exitInfo2":"","exitReason":"","exitTopic":"","exitPreferredPath":"1","exitPare
ntId":""}
• sequenceNumber: The sequenceNumber is maintained for each event type, for each
application server and increases by 1 for each event sent. In case of a connection issue, the
sequence numbers might have a gap or might be reset to 0. The receiver can use the
sequence number to detect connection issues.
• eventTimeStamp: The system time when the event is sent. The eventTimeStamp is in
milliseconds.
• The fields eventFamily, eventAction, eventCategory, eventVersion, sourceType, and snapinID
having fixed values.
• <JSON Payload>: OD adds the following values:
- od_apptype: Type of the OD application such as email, SMS, speech, and so on.
- od_appname: The name of the OD application.
- od_vpappname: The name for the OD application, configured on the Experience Portal
Manager.
- od_language: Language selected for the OD application.
- od_ucid – The ucid if present.
Related links
Workflow PDC on page 112
HTML application URL generator PDC on page 118
Enabling Orchestration Designer project pluggable data connectors on page 493
Orchestration Designer using Context Store on page 113
Orchestration Designer project properties: Pluggable Connectors tab field descriptions on
page 494
Built-in events
For applications, Orchestration Designer (OD) sends the “OD_EVENT_START” event at the start
of a call. In addition to the standard fields, the “to” and “from” values are sent in the event payload.
The to and from values vary depending on the channel. For example, on the speech channel, the
to and from values are DNIS and ANI, whereas on SMS, the values are the phone numbers of the
SMS.
When the application ends, OD sends the “OD_EVENT_RESULT” event. In addition to the
standard fields, the to, from, exitCustomerId, exitInfo1, exitinfo2, exitParentId, exitPreferredPath,
exitReason, exitTopic values of the session variable are sent in the event payload.
To send events, you must enable the Publish Realtime Oceanalytics Event PDC. When the
PDC is added to the application, a Configurable Application Variable (CAV), avayaSendRTE is
automatically created with the default value of “true”. You can enable or disable the sending of the
automatic events through an application by toggling this field between true and false. Events are
not sent if there is any value in avayaSendRTE other than “true”.
Note:
The avayaSendRTE variable only affects the built-in events. Custom events are always sent.
User events
An application developer can send a custom event and give a name to that event. All events of
that name are published to the same topic. For the payload of the event, the developer can select
a variable and let Orchestration Designer (OD) serialize the variable into JSON. The selected
variable can be a complex variable, a simple variable, or a collection.
Example
If the developer selects a variable myeventdata, then the following payload is generated:
"aaodEvent" : {
"myeventdata":{
"status":"ACTIVE",
"item":"Insurance Claim IVR"
},
<standard fields:>
}
Alternatively, the developer can choose to specify attribute value pairs. Both the
attribute name and value can be either constants or a variable. Using the attribute/
value event type the following payload might be generated:
"aaodEvent" : {"attributeone":"valueone",
"attributetwo":"valuetwo",
<standard fields>
}
Alternatively, the developer can specify attribute - value pairs. Both the attribute name and the
value can be either a constant or a variable. Using the attribute - value event type, the following
payload is generated:
"aaodEvent" : {"attributeone":"valueone",
"attributetwo":"valuetwo",
<standard fields>
}
Textset files
To complete the configuration of an input field in a Collect node or a choice in a Menu node, you
must choose a label or a text id from a textset resource file. The textset file is designed to contain
all the language specific text information such as names of the input fields and names of the menu
options that the users are able see in the web browser.
3. In the context menu, select the Create New Textset File option.
4. In the New Textset wizard, select the project name from Available Projects.
5. Specify the Textset file name.
6. Click Finish.
Result
A new textset file, <[Link]> gets created in the textsets folder of your
project.
Note:
If a user configures multiple languages, then the new label name automatically populates in all
textset files of different languages. User must fill in the language specific value manually in
each textset file.
2. In the Properties window, click in the Value column of the Label ID property.
If you are using a Location Input item, then click in the Value column of the Text in
textset property.
3. In the Select an Id from a Textset window, right click on a textset or a textset ID.
4. Click Add Text.
5. Enter the text name.
6. Enter the text value.
7. Click OK.
8. In the Select an Id from a Textset window, click OK.
feature, and setting the number of backup files maintained. For more information, see Backing
up a call flow on page 543.
Name Description
Workspace Located in the upper-right area, workspace is the
largest area within a project flow editor. Before you
build an Orchestration Designer application, the
workspace is blank. You can add and connect
nodes in the workspace. You can also print a project
flow by using the File > Print.
<project name> [[Link]] tab Located at the top of the workspace, shows the
main project flow.
Table continues…
Name Description
Palette Located in the left of the workspace, contains the
nodes that you can drag into the workspace to
create a project flow. The nodes are grouped as
follows:
• Templates node: Contains predefined system
nodes that you can use in an application.
• Application Items: Contains nodes that you can
use for creating custom nodes that are to be used
in an application.
In addition, the following functional options are also
available within the Palette pane:
• Select: Selects one or more items in the
workspace. For more information, see Selecting
objects in a workspace on page 143.
• Connection: Connects the nodes to create the
project flow. For more information, see
Connecting nodes in a workspace on page 144.
• Label: Adds notes and comments to the
workspace. For more information, see Adding
comments to a workspace on page 145.
• Bookmark: Creates markers to make it easier to
locate specific nodes in larger, more complex
applications. For more information, see Adding a
bookmark to an Orchestration Designer project
flow on page 145.
When you open a node in a node editor, the Palette
pane shows the options that are available for that
node. For more information, see Node
management on page 148.
Node editor tabs Located at the bottom of the workspace, shows the
node editors that are open. You can use these tabs
to quickly switch between node editors and the
main flow.
Application Flow tab Located at the bottom of the workspace, shows the
main call flow or message flow workspace. For
more information, see Node management on
page 148.
AppRoot node
When you create a speech, or a message flow, or a web flow project, Orchestration Designer
automatically creates the AppRoot node as the initial node for the call flow, or message flow, or
web flow. The AppRoot node is the starting point for all call flows and message flows, and cannot
be renamed or deleted.
You can also set global capabilities for the speech, or message flow, or web flow project from the
AppRoot node. That is, you can use the AppRoot node to set event handlers that the system
recognizes and responds to, from anywhere in the call flow, or message flow, or web flow. For
more information, see Setting global application properties on page 141.
The following are the examples of the types of parameters and capabilities that you can set in the
AppRoot node of a speech application:
• You want the system to perform some type of cleanup at the end of each call, irrespective of
where, when, or how the call terminates. You can use a call disconnect event handler in the
AppRoot node. The call disconnect event handler redirects the application to a form that is
set up to record data about the call. This data can include how the call was terminated,
whether by the caller or by the system, and where the caller was in the call flow when the call
was terminated.
• You can determine how the system functions whenever a caller does not respond as
expected, either by not responding at all or by responding with something that does not
match what is expected. You can also assign the system a generic prompt to play to callers
when an error situation occurs.
• You want to provide a set of caller commands to which the system can respond regardless of
where the caller is in the call flow. For instance, you want to provide access to the general
help information from anywhere or allow the caller to cancel transactions.
• You can set a variety of properties, such as time-outs and speech recognition confidence
settings, that are then applied system wide.
The following are the examples of the types of parameters and capabilities that you can set in the
AppRoot node of a message application:
• You can determine how the system functions whenever a customer does not respond as
expected, either by not responding at all or by responding with something that does not
match what is expected. You can also assign the system a generic prompt that sends a
message to the customers when an error situation occurs.
• You can configure the AppRoot to send the generated exceptions to Avaya Experience
Portal Media Processing Platform (MPP). The default event handlers on MPP can then
handle the exceptions.
• You can capture ECMA data from the session and store it in the session variables.
The following are the examples of the types of parameters and capabilities that you can set in the
AppRoot node of a web application:
• You want the system to perform some type of cleanup at the end of each session. A web
application supports only On Session Timeout event handler, which is responsible for clean
up and reporting, in the AppRoot node. Only the Data nodes led off by the Next item of the
event handler are executed. In the subsequent Data nodes, you can add logic items and
report items to complete the cleanup and/or reporting before the Orchestration Designer
session is finally destroyed.
The On Session Timeout event handler handles the HTTP session out event that an
application server triggers, after the end user closes the web browser, or leaves the web
browser idle in the middle of an interaction with the application.
Note:
Every application server supports the time-out setting for ending an HTTP session which
has been idle for a specified amount of time. The administrator determines this time-out
value based on the business need.
• You can also use the AppRoot of a web application as the welcome page of the application.
By default, AppRoot is not used as the first web page of the application. To turn the feature
on, set the Show Web Content property of the AppRoot node to true. To make it a welcome
page, set the Graphic, Graphic Style, Title Message and Message Style properties which
show a graphic and a title message underneath on the welcome page.
You can set the following properties for the AppRoot of a web application:
• Comments: Type any comment that you want to add as a description of the purpose or
content of the node. Orchestration Designer uses the text in the Comments property for the
popup hint that appears when you move the pointer over the node icon in the workspace. If
you leave the Comments property blank, Orchestration Designer uses the name of the node
for the pop-up hint.
• Graphic: Enter the path and name of the graphic file that you want to display on top of the
web page. For example, css/images/[Link].
• Graphic URI Variable: Select the variable that contains the path of the graphic file. Ensure
that you copy the image files in the directory that is accessible using url or uri, and that the
value of the variable assigned to the Graphic URI Variable property matches the url or uri.
• Graphic URI Variable Field: Select the field of the variable that contains the graphic file
path.
• Graphic Style: Enter the CSS style property or properties for the image. For example, to
make the image as wide as the browser window, you can enter the property width:100%.
• Title Message: Enter the message that you want to display on the web page, below the
graphic.
• Message Style: Enter the CSS style property or properties for the way you want to display
the message. For example, to make the message bold, you can enter the property
fontweight: bold.
• Show Web Content: Set this property to “Yes” if you want to use the AppRoot node as the
first page of the application.
The following are the examples of the types of parameters and capabilities that you can set in the
AppRoot node of a data application:
• You can capture ECMA data from the session and store it in the session variables.
The options and parameters that can be set in the AppRoot node are available in the Palette
pane, and are classified in the following two basic types:
• Application Items. Includes the parameters and options, other than the event handlers, that
control how an application responds on a global level. For more information, see AppRoot
node Application items on page 131.
• Event Handlers. Includes the options that determine how the application handles any
exceptions that are not defined within a specific node or field. For more information, see
AppRoot node event handlers on page 134.
Name Description
Input Parameter on page 731 Creates a placeholder for input expected from
another module. Use this item when you are
creating the project to be used as a module. When
you drag this item into the workspace, Orchestration
Designer automatically creates a variable with the
same name.
Capture Expression on page 678 Captures the data through an ECMA script into the
Orchestration Designer variables.
Table continues…
Name Description
Prompt on page 784 In a speech application, the Prompt item indicates
what prompt to play when the conditions of the
event to which the prompt is attached are met.
In a message application, the Prompt item
indicates what prompt the system must execute
when the conditions of the event to which the
prompt is attached are met.
To use the Prompt item, you must attach the
Prompt item to another item, specifically, any of the
AppRoot node event handlers on page 134 except
the On Disconnect item in a speech application.
Prompt items cannot stand alone in the AppRoot
node as they can in other nodes.
After you attach the Prompt item to another item,
you must assign a prompt to the Prompt item in the
Properties view.
For more information, see Prompts on page 193.
Grammar on page 724 In the AppRoot node, the Grammar item works
only in conjunction with the Link item. You can use
the Grammar item to communicate with the Link
item about which ASR or DTMF grammar to use.
Note:
The Grammar item is available in the
AppRoot node of speech applications only.
For more information, see Grammars on page 235.
Link on page 749 Informs the speech application which node to go to
when the system recognizes a specific spoken or
DTMF response from the caller. To use the Link
item, you must specify either a DTMF or ASR
response or both to be recognized. To use the ASR
option, you must attach a Grammar item to the
Link item. To use the DTMF option, specify the
required DTMF combination of key presses in the
Link item or attach a DTMF grammar item.
Note:
The Link item is available in the AppRoot
node of speech applications only.
Table continues…
Name Description
Goto on page 723 Informs the application which node to go to when
the conditions of the event to which the Goto item is
attached are met. To use the Goto item, you must
attach it to another item, specifically, one of the
AppRoot node event handlers on page 134 except
the On Disconnect item in a speech application.
You cannot attach a Goto item to an event handler
that has a Throw item already attached.
Throw on page 831 Informs the application which event to throw when
the conditions of the event to which the Throw item
is attached are met. To use the Throw item, you
must attach it to another item, specifically, one of
the AppRoot node event handlers on page 134
except the On Disconnect item in a speech
application. You cannot attach a Throw item to an
event handler that has a Goto item already
attached.
Property on page 786 Sets properties for ASR, DTMF, and transitional
audio prompts at a global level. The following are
examples of the types of properties that you can
set:
• Recognition timeouts
• Confidence and sensitivity levels
• Terminating key presses
Note:
The Property item is available in the AppRoot
node of speech applications only.
External Property item on page 716 Sets custom properties for ASR. These custom
properties are required in some cases. For
example, in conjunction with some ASR engines
such as some of the Nuance ASR software.
For more information, refer to the documentation of
your ASR software.
Note:
Although the External Property item is
available in the AppRoot node of both speech
and message applications, the current release
of Orchestration Designer does not support the
use of the External Property item in message
applications.
Table continues…
Name Description
Flush Prompts on page 721 Causes queued output to be played before
transitioning to the next node in a speech
application. When executed, the Flush Prompts
item directs the voice browser to play all queued
output immediately.
Note:
If you use the Flush Prompts item in an
AppRoot node, the system plays the prompts
that are configured in the node that is currently
executed, and then fetches the next node.
Avaya recommends that you use the Flush
Prompts item on individual nodes, where you
want the system to fetch and play prompts,
rather than applying the Flush Prompts item
globally in the application.
Note:
The Flush Prompts item is available in the
AppRoot node of speech applications only.
Name Description
Catch on page 681 Determines how an event that meets specific
criteria is to be handled when the event is thrown.
For this event handler to function, you must assign
to it at least one Prompt, Goto, or Throw item.
Exit on page 714 Exits the application or returns the events from a
module to the calling application. If there are more
serious errors, use the Exit event handler.
No Input on page 756 Determines what the application does whenever the
caller or the customer fails to respond. For the No
Input event handler to function, you must assign at
least one Prompt, Goto, or Throw item to the No
Input event handler.
Table continues…
Name Description
No Match on page 757 Determines what the application does whenever the
system cannot match the response from a caller or
a customer with any expected response. For the No
Match event handler to function, you must assign at
least one Prompt, Goto, or Throw item to the No
Match event handler.
On Disconnect on page 762 Determines how the speech application responds
when the caller hangs up, no matter where in the
call flow the disconnection occurs.
Note:
The On Disconnect event handler is available
in the AppRoot node of speech applications
only.
Return Event on page 807 Returns an event to the calling application. You can
use this event handler to propagate an event caught
in a module to the calling application, or to throw a
different event back to the calling application.
Transfer on page 835 Special transfer that you can add as a child of an
event handler (Catch) and transfer the caller to an
extension, that is, to an agent, in the event that the
speech application experiences unrecoverable
errors. For example, the application server stops
responding.
The Transfer item generates a Blind Transfer in a
destination that is hard coded or comes from a
variable.
Note:
The Transfer event handler is available in the
AppRoot node of speech applications only.
For more information, see AppRoot node Application items on page 131.
Nodes
Each node is represented by an icon and label in the Palette pane. When you drag the node into
the workspace, the node represents a functional piece of code that performs some action.
For example,
• In a speech application, you can use nodes to:
- Play an announcement to the caller.
- Play a prompt to the caller and collect input from the caller. The caller can respond by
either speaking or by pressing the touchtone keys on the telephone.
- Present a menu to the caller. The caller can select from the options on the menu, and
respond either by speaking or by pressing the touchtone keys on the telephone.
- Perform a data transaction that sends the data collected from a caller to a customer
database. The data transaction then retrieves the information from that database to
present to the caller.
- Perform a Web service operation to connect to a Web service, collect the information that
is requested by the caller, and then present the information to caller.
- Send SMS or email messages to the customers.
• In a message application, you can use nodes to:
- Send SMS or email messages to the customers.
- Collect user input from the inbound messages.
- Perform a data transaction that sends the data collected from the inbound message to a
customer database. The data transaction then retrieves the information from that database
and sends this data in an outbound message to the customer.
- Perform a Web service operation to connect to a Web service, collect the information that
is requested in the inbound message, and then send the information to the customer in an
outbound message.
• In a data application, you can use nodes to:
- Perform a data transaction that sends the data collected from a caller to a customer
database. The data transaction then retrieves the information from that database to
present to the caller.
- Perform a Web service operation to connect to a Web service, collect the information that
is requested by the caller, and then present the information to caller.
- Send SMS or email messages to the customers.
• In a web application, you can use nodes to:
- Collect user input from the HTML input widgets.
- Perform a data transaction that sends the data collected from a user to a customer
database. The data transaction then retrieves the information from that database to
present to the user.
- Perform a Web service operation to connect to a Web service, collect the information that
is requested by the user, and then present the information to user.
- Send SMS or email messages to the customers.
Orchestration Designer offers three types of nodes to build projects. All three types of nodes are
available in the Palette pane of the call flow editor, message flow editor, and web flow editor.
These nodes are grouped into two or three sets depending on whether the module nodes have
been imported into the Orchestration Designer workbench.
The following are the different types of nodes that are used to build speech, message, and web
applications. These node types are described in detail in the subsequent sections.
• Templates (Composite nodes). Composite nodes contain preset functionality and options,
which are used as templates. These nodes are easier to use than the Application Items
(basic nodes), but they are also intended to be more limited in scope.
• Application items (Basic nodes). Simpler, more generic nodes. These nodes offer greater
flexibility than the other two types of nodes. However, to use these nodes effectively, you
should be familiar with programming concepts and terminology.
• Module nodes. Available only if you import reusable speech or message project modules into
the Orchestration Designer workbench. In speech projects, these modules can be
Orchestration Designer projects, Nuance Open Speech Dialog Module (OSDM) modules,
Nuance Dialog Module (NDM) modules, or any other Web application that can be invoked as
a VXML <subdialog>. These modules are custom-built modules and can vary widely in
simplicity, complexity, and flexibility.
Note:
Orchestration Designer supports the following OSDM and Nuance Dialog Module (NDM)
versions:
- OSDM versions: Address OSDM 2.0.3, Core OSDM 2.0.4., and Name OSDM 2.0.1
- NDM versions 5.0 and later
In message flow projects, you can import only those reusable message application modules
which are created and exported by using Orchestration Designer.
You can import a reusable module only in an Orchestration Designer project that is created
for a channel that is same as that of the reusable module. For example, you can import a
reusable speech application module only in a speech project.
For more information about composite nodes (Templates), see Detailed node descriptions on
page 622.
Note:
A deleted node has a marker in the Task tab and the associated Java class is marked with a
warning marker. The task may be deleted if you want to retain the Java code in the project.
Important:
Be aware that Orchestration Designer does not regenerate the Java code and you may
encounter Java errors in the future upgrades if the Orchestration Designer run-time API
changes. In such cases, you have to manually rectify the Java errors.
Name Description
Name A name that reflects the central purpose of the
node. Use naming conventions for Java
components. For more information, see
Conventions for naming Java components on
page 59.
Preferred Path True to use the preferred path at the time of
application execution. The default value is true.
If you set this property to false and execute the
node, the value in the session:exitPreferredPath
session object is set to 0. After
session:exitPreferredPath is set to 0, the system
does not reset it when executing a node that has
Preferred Path set to true.
The exitPreferredPath value is stored in the session
data record (SDR) in Avaya Experience Portal, and
then sent to IQ for reporting.
Secure Fetch True if you want the next node in the call flow or
message flow to get and post data by using HTTPS.
If you set this property to true, the system generates
the URL for the next node in the call flow or
message flow as HTTPS and uses the configured
fetch secure port.
Table continues…
Name Description
Comments A comment that you want to add as a reminder or
description of the purpose or content of the node.
You can leave this field blank.
Orchestration Designer uses the text that you enter
in the Comments property for the pop-up hint that
appears whenever you move the pointer over the
node in the workspace. If you leave the Comments
property blank, Orchestration Designer uses the
name of the node for the pop-up hint.
Name Description
Name A name that reflects the central purpose of the
node. Use naming conventions for Java
components. For more information, see
Conventions for naming Java components on
page 59.
Table continues…
Name Description
Preferred Path True to use the preferred path at the time of
application execution. The default value is true.
If you set this property to false and execute the
node, the value in the session:exitPreferredPath
session object is set to 0. After
session:exitPreferredPath is set to 0, the system
does not reset it when executing a node that has
Preferred Path set to true.
The exitPreferredPath value is stored in the session
data record (SDR) in Avaya Experience Portal, and
then sent to IQ for reporting.
Secure Fetch True if you want the next node in the call flow or
message flow to get and post data by using HTTPS.
If you set this property to true, the system generates
the URL for the next node in the call flow or
message flow as HTTPS and uses the configured
fetch secure port.
Comments A comment that you want to add as a reminder or
description of the purpose or content of the node.
You can leave this field blank.
Orchestration Designer uses the text that you enter
in the Comments property for the pop-up hint that
appears whenever you move the pointer over the
node in the workspace. If you leave the Comments
property blank, Orchestration Designer uses the
name of the node for the pop-up hint.
Module nodes
In a speech application, a module node is a speech project that is treated as a secondary call flow
or module. In a message application, a module node is a message flow project that is treated as a
secondary message flow or module. In a web application, a module node is a web flow project that
is treated as a secondary web flow or module. The module node invokes the speech project
module or message flow project module, or web flow project module and transfers the application
focus to that module.
Note:
The name under which the system groups these modules varies depending on the source of
the module. For instance, any modules that you create in Orchestration Designer are grouped
together under the category name that you specify in the Category field in Orchestration
Designer properties in the Properties for <project name> dialog box. For more information,
see Orchestration Designer project properties on page 479. Other modules, such as Nuance
OSDM modules or other custom modules, are grouped together under Modules or other label
that is specified in the appropriate category fields.
To use a module node, you must first create a speech project or message flow project or a web
project to be used as the module. You must then deploy it into the Orchestration Designer
workspace.
For more information, see Deploying a speech, or a message flow, or a web project as an
Orchestration Designer reusable module on page 421.
Note:
You can import a reusable module only in an Orchestration Designer project that is created for
a channel that is same as that of the reusable module. For example, you can import a
reusable speech application module only in a speech project.
Note:
A deleted node has a marker in the Task Tab and the associated Java class is marked with a
warning marker. The task may be deleted if you want to keep the Java code in the project.
Important:
Be aware that Orchestration Designer does not regenerate the Java code and you may
encounter Java errors in the future upgrades if the Orchestration Designer run-time API
changes. In such cases, you have to manually rectify the Java errors.
Tip:
You can provide a description for the module in the Comments property. For example,
provide information about what the module does or why you are using the module.
Orchestration Designer uses the text that you enter in the Comments property for the pop-up
hint that appears whenever you move the pointer over the node in the workspace. If you leave
the Comments property blank, Orchestration Designer uses the name of the node for the
pop-up hint.
3. From the Palette pane, drag the AppRoot node application items and AppRoot node event
handlers that you want to add to the AppRoot tab workspace.
4. In the AppRoot tab workspace, select the AppRoot node application item or the AppRoot
node event handler.
5. In the Properties view, set the properties.
6. Similarly, set the properties for all the AppRoot node application items and AppRoot node
event handlers that you drag to the AppRoot tab workspace.
Note:
The click-and-drag method selects only nodes and does not select connectors. To
add connectors to a selected group, use the following Control-click method.
• Multiple objects that are not grouped together in the workspace, or to select connectors,
press and hold the Control key, and then click each object that you want to select.
Note:
If the Label item is hidden, click the arrow next to the Bookmark item to view the
Label item.
2. In the workspace, click the location where you want to add the label.
3. Type the text that you want to add inside the label.
Note:
When you drag a label into the workspace and type the text in it, the label box expands
to accommodate the text. You can drag the handles to adjust the height and width of
the label. After you manually adjust the height and width of the label, the label no
longer expands automatically. Text that does not fit into the space, is hidden until you
manually adjust the size of the label.
Note:
If the Bookmark item is hidden, click the arrow next to the Label item to view the
Bookmark item.
2. In the workspace, click the location where you want to add the bookmark.
3. Type the text that you want to add inside the bookmark.
Note:
If you call an OSDM or a NDM module, Orchestration Designer enforces the subdialog
call. If the reusable speech module that you call uses a complex variable as an input
parameter, Orchestration Designer enforces the local call. In both the cases, the
Module Call Type dialog box is not displayed.
Note:
After you set the call type, you cannot edit it. If you want to edit the call type, you can
delete the reusable speech module from the call flow editor, and then drag a new
instance of the reusable speech module into the call flow editor.
Node management
For a node to be of any practical use, you must modify or edit the node. Each node has an
associated node editor where you can modify existing flows or create new ones.
The node editor for each node has its own set of palette options which is available in the Palette
pane. Most nodes also include a default structure in the node details editor which you can modify.
Note:
A deleted node has a marker in the Task tab and the associated Java class is marked with a
warning marker. The task may be deleted if you want to keep the Java code in the project.
Important:
Be aware that Orchestration Designer does not regenerate the Java code and you may
encounter Java errors in the future upgrades if the Orchestration Designer run-time API
changes. In such cases, you have to manually rectify the Java errors.
• In the workspace, click the node that you want to rename. In the Properties view, in the Name
field, specify a new name for the node.
2. From the Palette pane, drag the item to the location in the node editor where you want to
add the item.
Note:
You can copy, cut, and paste elements only between projects that are created for the
same channel. For example, you can cut, copy, and paste elements only from one SMS
channel message application to another SMS channel message application.
• Within a project, from one part to another part, within the same flow.
Upon using the copy, cut, and paste operations, the names of the objects are preserved unless
conflicts are discovered, in which case modified similar names are auto-generated.
Before you cut, copy, or paste an object, review Caveats for copying, cutting, and pasting
elements on page 151.
Note:
Use the Shift key to copy or cut multiple consecutive nodes in a flow, or multiple consecutive
items in an editor. Use the Control key to copy or cut multiple nonconsecutive nodes in a flow,
or multiple nonconsecutive items in an editor.
Procedure
1. Right-click a node, resource, prompt, phrase, or grammar, and then perform one of the
following actions:
• Click Cut to cut the selected object.
• Click Copy to copy the selected object.
2. Right-click the location where you want to paste the object, and then click Paste.
The copied object appears with the same name or modified name depending on whether
the operation is performed in the same project or between different projects respectively.
Important:
You cannot undo a copy and paste operation after you save the changes.
• When splitting large call flows or message flows into multiple call flows or message flows,
use Cut to move nodes from one flow to the other rather than Copy. Copy creates variables.
Cut moves the nodes from one flow to the other.
Note:
You can copy, cut, and paste elements only between projects that are created for the same
channel. For example, you can cut, copy, and paste elements only from one SMS channel
message application to another SMS channel message application.
Avaya OD Search
In addition to the other Eclipse search plug-ins, you can use Avaya OD Search to search for the
speech or message project element references, nested inside the project resource files, without
manually opening different editors to locate these elements.
You can use the search plug-in to:
• Search the speech or message project element references that you want to modify or delete.
• Quickly determine where resource elements, such as prompts, grammars, variables,
phrases, and TTS entries, are referenced in other container resource files such as database
operation, Web service operation, prompt, and flow files.
With the Avaya OD Search plug-in, you can use wildcards within your searches to search for
project element references within the defined scope. You can use the asterisk (*) and question
mark (?) wildcards for searching partial element names.
Note:
• If you select an element in Avaya OD Navigator and open the Search dialog box, the
system automatically lists the selected element name in the Search by item name field.
• The system retains the values specified in the Search by item name field as a list and
the list appears when you reopen the Search dialog box to perform another search.
• You can use the following wildcards to search partial element names:
- Use the asterisk (*) to represent any series of characters.
- Use the question mark (?) to represent any single character.
4. (Optional) Select the Case Sensitive check box to search the entries that exactly match
the capitalization specified in the Search by item name field.
5. (Optional) Select the Search for unused items check box to search the elements that are
not used in any container resource such as the call flow or message flow. If you select the
Search for unused items check box, the Search by item name field is unavailable.
Note:
To search unused elements within a project, in the Avaya OD Navigator view, right-
click the <project name> folder and use the Search Unused option.
6. In the Search For Type area, select the check box corresponding to the type of element
that you want to search.
7. In the Scope area, click the scope of the search. Click one of the following options:
• Workspace: To search in all the projects and files in the workspace.
• Selected resources: To search in the project where the selected resource is located.
• Enclosing projects: To search in any number of projects selected in the workspace.
• Working set: To search only in the resources that belong to the selected working set.
8. Click Search.
The system displays the search results and their corresponding locations as a tree in the
Search view. The results are also highlighted in the tree. The tree is part of the project >
file > node > item hierarchy. You can double-click the highlighted searched element to
open the element in the appropriate editor.
Note:
You can right-click the resource file in the Avaya OD Navigator view and click
Orchestration Designer > Search.
The system displays the Search dialog box.
2. Click the Avaya OD Search tab and specify the search parameters, and then click Search.
For more information, see Searching a project element on page 153.
The system displays the search result in the Search view.
3. You can perform the following actions in the Search view:
• View the search results and the corresponding locations of the searched element
references. The results are listed as a tree in the Search view, which represents the
project > file > node > item hierarchy for the searched element.
• Double-click an element in the search result to open the element in the appropriate
editor.
• Right-click an element in the search result and click Show In > Avaya OD Navigator to
locate and highlight the element in the Avaya OD Navigator view.
• Drag an element from the search result into the appropriate editor to create a
corresponding node. For example, you can drag a prompt into the call flow editor to
create an Announce node, drag a database operation element into the call flow editor
to create a data node referencing that database operation element, or drag a phrase
element into a prompt file.
Subflow management
Subflows
Creating and working with subflows is similar to creating and working with main flows. However,
the following are the differences:
• Palettes are similar with all modules listed. However, return items are different.
• Subflows have a Begin node which is the entry point to the flow. There is no AppRoot in a
subflow. AppRoot is defined in [Link].
• Subflows support multiple return points, forwarding the request to the next node in the calling
call flow or message flow. Main flows allow only one return, that is, exit.
The following are the considerations about subflows:
• Subflows are always contained within the same application scope as the main flow.
• Subflows share project variables.
• Subflows share resources such as prompts, grammars, DB operations, and WS operations.
• Subflows share application context and session objects at run time.
• Subflows can be nested, that is, you can call other subflows or modules.
• There is no limit to the number of subflows in a project. However, the subflows are not
intended to replace modules. Therefore, you should design applications, particularly large
applications, appropriately.
• Implicit variable item names, such as names of Menu, Prompt & Collect, and Transfer items,
must be unique across all flows in a project. When adding or renaming these items, the call
flow editor, message flow editor, and project variables enforce uniqueness.
• Subflow code is generated in a separate package. For example, [Link] generates
Java code in the [Link] package.
• Servlet names/mappings changed ([Link]). For example, [Link] has servlet
names starting with MySubflow-<node name> and servlet mappings starting with /
MySubflow-<node name>.
• With subflows, there should be no impact on the run-time performance. Servlets are part of
the same Web application, and requests are forwarded when entering or returning from a
subflow.
Modules Subflows
• Project resources are self-contained. • Shared project resources such as prompts,
grammars, and variables.
• Reusable across projects.
• Reusable only within a project.
• Better for multiple developers.
• Not good for multiple developers.
- You can work separately on your modules
without affecting the work of other developers. - Multiple project files are shared and updated by
various editors, such as variables and [Link].
• Separate application contexts at run time.
Trying to merge updates to these files is difficult.
- Session data is independent.
• Same application context at run time.
(Orchestration Designer runtime has
- Session data is shared.
mechanisms to share Java objects across
modules.) - Requests are forwarded while entering or
exiting subflows. There is no round trip HTTP
- The voice browser fetches the speech
request or response.
application module as a VoiceXML <subdialog>.
- In a speech application, all VoiceXML is part of
- The text browser fetches the message
the same dialog.
application module as a TextXML <subdialog>.
- In a message application, all TextXML is part of
the same dialog.
Creating a subflow
Procedure
1. On the File menu, click New > Other.
2. In the New dialog box, double-click Avaya OD Development.
3. Click Flow File, and then click Next.
4. In the New Call Flow wizard, in the Available Projects pane, click the project in which you
want to add a subflow.
5. In the Name field, type a unique name for the subflow.
The system creates a new <subflow name>.flow file in the flow folder.
Invoking a subflow
Procedure
1. From the Palette pane of a flow editor, drag Sub Flow into the flow workspace.
Note:
You can invoke a subflow from any flow within your application.
2. In the Properties view of the subflow node, in the Flow Name field, click the name of the
subflow that you want invoke from the flow.
To set the other properties of the subflow node, see Sub Flow Begin node on page 652.
Note:
When you select a subflow, the system adds return points to the node. Each return
point is used to divert the flow to the next node when returning from the subflow. You
can add, rename, or delete return points from a subflow.
Note:
Multiple return points allow you to return from a subflow and execute different parts of
the flow depending on the return point that is used. Similar to a “switch” statement in
programming.
Important:
When you copy other nodes that reference a variable that was renamed during an
earlier copy and paste operation, then the copied nodes may not reference the right
variable when pasted. For example, if you copy a Prompt & Collect node named
AccountNum and rename it to AccountNumCopy, then all nodes in the selection
change to reference the AccountNumCopy node.
If you later copy and paste other nodes that reference AccountNum, then these nodes
continue to reference AccountNum. This is because at this point the project has both
the AccountNum and AccountNumCopy variables.
• Copying a subflow reference node to another project copies the subflow and all nested
resources to the target project.
Note:
You can copy a subflow from one project to another project only if the two projects are created
for the same channel. For example, you can copy a subflow from one speech project to
another speech project only.
Important:
Back up your project so that you can revert if you encounter problems.
• Although renaming is supported, do not rename a subflow. Never rename a [Link].
• If you copy or cut from a main flow to a subflow, the Java code is also copied and moved. If
you reference a code in the flow package without a fully qualified name, such as project
variables, the user-defined code can have compile errors.
• You must organize imports to fix import statements. Perform one of the following actions:
- Press Control+Shift+O. This opens Java class: Source > Organize Imports.
- From the Package/Project Explorer view, right-click Java class: Source > Organize
Imports.
• Cutting and pasting in the same flow is no longer supported because it is just a move
operation.
Important:
Do not create infinite loops. Do not create circular references to subflows.
The system generates a PDF and an HTML output for the project documentation and saves the
output at the directory location that you specify. If you use the default \data directory to save the
generated documentation, the system creates a docs folder within \\workspace\<project
name>\data folder, and saves the generated documentation in the docs folder. The workspace
folder is the folder that you specify to save the project when you start Eclipse.
Note:
The default directory path is \\workspace\<project name>\data.
4. Click OK.
Result
The system displays the [Link] page of the generated HTML output in the editor workspace.
Next steps
In the left navigation pane of the generated .html page, click the links to view the related
information.
On the upper-right side of the generated .html page, click Print to view the contents of the .html
page in a PDF format.
Phrases
One of the key elements to create speech applications with Orchestration Designer is the phrase.
You can use phrases to build prompts, which in turn are used to guide the caller through the call
flow.
In speech and interactive voice response (IVR) applications, phrases are among the most basic
building blocks. Phrases consist of prerecorded audio files.
Phrases can be as short as one word or as long as several complete sentences. Phrases can
even be music recordings, which is often the case with transitional audio prompts. For more
information, see Transitional audio prompts in speech applications on page 200.
Although you can use text-to-speech technology to render audible output to callers, prerecorded
audio phrases are usually preferable whenever possible. Audio phrases give a finished speech
application a more professional presentation and a more satisfying experience to the caller.
Important:
You can use phrases and phrasesets only in speech applications. Call control, message, and
data applications do not incorporate phrases or phrasesets.
• “forty-eight”
• “cents”
• “in your checking account.”
Because a return statement from the system often must use variable values, for example, the
balance amount in the checking account in the preceding example, the number and currency
words can be contained within and used as variables.
Assembling phrases
You can gain access to phrases only from the Prompt File Editor. In this editor, you can assemble
phrase files and other prompt segments into the prompt for use in the speech application.
For more information, see Prompt file editor in a speech application on page 202.
Types of phrases
Orchestration Designer uses two types of phrases: standard and custom.
Standard phrases
Standard phrases are included in Orchestration Designer as part of the language phrase bundles
that you purchase. Standard phrases are not, however, installed automatically. To use standard
phrases, you must first install the standard phrases.
Note:
Although there is nothing to prevent this, standard phrases are not intended for general use in
a speech application. Their primary intended use is to be associated with the localization
bundle and audio variables. If standard phrases are used and the localization bundle is later
altered, unexpected results are encountered.
Standard phrases consist of common types of phrases that are used in prompts. Standard
phrases include numbers in various formats, currency words, names of months, days of the week,
years, and similar words and phrases.
You can easily identify standard phrases in the Navigator view because the names of standard
phrase audio files start with the std_ characters.
Note:
Because Orchestration Designer uses the std_ prefix to distinguish standard phrases, do not
use the std_ prefix when naming custom phrase files.
For information about installing standard phrases, see Installing the standard phrasesets of a
localization bundle on page 285.
Note:
Standard phrases were converted into a phraseset with Dialog Designer 3.1.
Custom phrases
You can create custom phrases by using the audio files recorded by you or by a professional voice
talent. Custom phrases can be long or short and can also include periods of silence.
You can record custom phrases by using Orchestration Designer. To record phrase file audio of
higher quality, Avaya recommends that you engage the services of a professional voice talent and
recording studio. With professional studio recordings, audio recordings of phrases are of higher
quality, and can be better tuned to sound better and to trim silence from the beginning and end of
the recorded files. Also, a professional talent can better match the standard phrase voice, which
enables a more seamless prompt to callers.
Note:
Professionally recorded audio files must be transcoded to one of the formats required by the
VoiceXML 2.0 standard. For more information, see the “Audio File Formats” appendix in the
W3C VoiceXML 2.0 Recommendation.
Phrasesets
You can use phrasesets to group phrases, especially phrases that are related to a particular
speech application. Phrases are used to build prompts, which in turn are used to guide the caller
through the call flow.
The main advantage of grouping phrases, other than better organization, is that phrasesets greatly
improve file resource efficiencies which translates into quicker build times. There are four files per
phrase: a .phrase file, a .java file, a java .class file, and a .wav file. As a result, if your speech
project contains 1000 phrases, then the system actually needs to build and manage 4000 files. In
a phraseset, you can group upto 1000 phrases. Hence, in the preceding example, there are only
1003 files to manage, which are, a .phraseset file, a .java file, a Java .class file, and 1000 audio
files.
Phrasesets also support referencing audio files stored on an external server.
Important:
You can use phrases and phrasesets only in speech applications. Call control, message, and
data applications do not incorporate phrases or phrasesets.
Phraseset management
You can add and delete phrases from a phraseset file. You can also specify the audio file location
for a phrase within a phraseset file.
When you open the Phraseset File Editor, all phrases that are currently included within the
phraseset are shown in the Phrases pane.
Creating a phraseset
About this task
You can use phrasesets to group phrases, especially phrases that are related to a particular
speech application. To create a phrase, see Phraseset file editor on page 163.
After you create a phraseset file, use the Phraseset File Editor to record an audio file or to set
other properties of the phraseset file.
Procedure
1. On the File menu, click New > Other.
The system displays the New dialog box.
2. Double-click Avaya OD Development.
3. Click Phraseset File, and then click Next.
The system displays the New Phraseset wizard.
4. On the Create a Phraseset page, specify the speech project, language, and name for the
phraseset file, and then click Next.
5. On the Specify Audio File Directory page, in the Audio file directory field, type the
directory path or click Browse to navigate to the directory that contains the audio files that
you want to add to the phraseset file.
6. Click Finish.
The system creates the phraseset file and opens the phraseset file in the Phraseset File
Editor. You can use the Phraseset File Editor to add or delete phrases from the phraseset
file, set other properties for the phrase files within the phraseset file, and record an
associated audio file. For more information, see Phraseset file editor on page 163.
Note:
Phraseset file names must follow Java naming
conventions. For more information, see
Conventions for naming Java components on
page 59.
Caution:
Do not use double-byte or extended ASCII
characters or Java reserved words such as
Try, Catch, and Switch when naming the
phraseset.
If you do not specify a name for the phraseset file,
the system generates and assigns a generic name
to the phraseset file.
Note:
If you click External, the system adds a new phrase with a default name in the
Phrases pane without displaying the Add new phrase dialog box.
6. In the Add new phrase dialog box, specify the information, and then click OK.
You can click the phrase in the Phrases pane and specify basic identification properties for
the phrase on the Phraseset File Editor: Phrase Data tab field descriptions on page 168.
Name Description
Extension: The appropriate audio format for the audio file.
These options are available and mandatory when
• .wav
you click New as the Audio file type.
• .au
The default .wav file format is used on Windows-
based computers. The . au format is used on Linux-
based and UNIX-based computers.
Note:
Professionally recorded audio files must be
transcoded to one of the formats required by
the VoiceXML 2.0 standard. For more
information, see the “Audio File Formats”
appendix in the W3C VoiceXML 2.0
Recommendation.
File name The directory path where the audio file is stored.
This field is mandatory when you click Existing in
Audio file.
4. In the Phrases pane, click the phrase for which you want to specify the audio file location.
5. In the Phraseset Audio Files Location area, perform one of the following actions:
• Click Local if the audio files are within the project resources.
• Click External for external audio files. In the URL base field, type the URL base where
the audio files are located.
• Click MMF (MPS only) if you are using an MPS. Perform the following actions:
a. In the Filename field, specify the location of the MMF file.
b. In Element names, perform one of the following actions:
- Click Use Phrase Name to use the phrase name to name the MMF element.
- Click Use Audio File Name to use the audio file name to name the MMF
element. If you click Use Audio File Name, the system does not append the file
extension when naming the MMF element.
Note:
You can click Use Audio File Name when you use MPS audio conversion
tools, such as WAV2MMF, because these tools use the audio file name to
name the MMF element.
Note:
To disable the TTS generation missing audio
file backup, add the runtime-Disable-TTS-
Backup context parameter with the value set
to “true” to the project [Link] file. For more
information, see Disabling the TTS backup on
page 169.
Although this field is not mandatory, you must
specify the exact text for the phrase in this field.
Table continues…
Name Description
Base Language Text The exact text for the phrase in the default project
language. This field contains the same text as in the
Phrase Text field.
However, when you create applications that you
want to convert or translate into another language,
the Base Language Text field contains text in the
language in which you create the application. The
Phrase Text field, however, contains the text in the
language in which you want to translate the
application.
For example, you develop an application in English,
and you want to translate it to German.
In this case, the Base Language Text contains the
text in English. For example, “Good morning. Thank
you for calling the German Federal Bank.”
The Phrase Text field, however, contains the
German translation of the English Base Language
Text phrase, that is, “Guten morgen. Danke fuer
Ihre Anruf zum Bundesbank Deutschland.”
Comments A description for the phrase. This text is displayed
only in the Phraseset File Editor.
Search Keywords The keywords that you want to use for searching
phrases.
Note:
The current release of Orchestration Designer
does not support the ability to search phrases
based on keywords.
Note:
The current release of Orchestration Designer
supports only 8KHz 8-bit mono formats.
Position The position of the playback cursor when an audio
file is being played back. This field is read only.
Length The length, in seconds, of the audio file. This field is
read only.
Table continues…
Name Description
To play the audio file.
Play button
Note:
This button is available only after you record or
import an audio file. In case of external audio,
this button is available after you get an
external audio file by clicking the Test button.
To end a recording or stop an audio file that is being
Stop button played back.
Note:
This button is available only when you record
an audio or play back a recording.
To record an audio file.
Record button
Note:
This button is unavailable for external audio
phrases.
Note:
If you delete a phrase that is used in a prompt, the system generates an error when
rebuilding the prompt and shows the error in the Problems view.
You can use the New Recording Script wizard to quickly generate a cleanly formatted HTML or
XML report of all phrases in a speech application for submitting to a recording studio. The report
contains the following details:
• Project name
• Language
• Audio file format
• Any specified comments or notes to the recording studio about the phrases
• Date
• A list of phrases including:
- The audio file name of each phrase
- The text to be recorded
- The pronunciation of the phrase
You can generate a report of all the phrases, user-defined phrases, and standard phrases.
Name Description
Available Project The project for which you want to generate the
recording script report.
Language The language in which you want to generate the
recording script report.
Phrase Type The phrase type for which you want to generate the
recording script report. The following are the
options:
• All Phrases
• User Defined Phrases (These phrases are also
called as Custom Phrases.)
• Standard Phrases
Output File Type The format in which you want to generate the
recording script report. The options are:
• HTML: If you want to generate the recording
script report in an HTML format.
• XML: If you want to generate the recording script
report in an XML format.
Select the report destination directory The directory path where you want to save the
recording script report. Alternatively, click Browse
to navigate to an appropriate directory.
The file name of the saved report uses the following
format:
ProjectName_SelectedLanguage_recordingscrip
[Link]
Name Description
Audio File Format The audio file format for the phrases that you want
to include in the recording script report. The
following are the options:
• Raw (headerless) 8kHz 8-bit mono mu-law
• Raw (headerless) 8kHz 8-bit mono A-law
• WAV (RIFF header) 8kHz 8-bit mono mu-law
• WAV (RIFF header) 8kHz 8-bit mono A-law
The default is Raw (headerless) 8kHz 8-bit mono
mu-law. If you have generated recording script
reports earlier, this file contains the audio file format
that you chose for the last generated report.
Recording Comments Comments or instructions for the recording studio.
As a delimiter, you can use a tab or another consistently used character in your file that does not
conflict with the data content. For example, a pipe symbol (|) or a comma.
The delimited phrase data text file can contain some or all of the following accepted data content
within its columns, on a row-by-row basis:
• Audio file name
• Phrase name
• Phrase text
• Comments
• Voice talent
• Base language text
• Search keywords
The following is an example of a short delimited phrase file:
[Link]|Main Menu|This phrase describes the main menu|James Earl
Jones [Link]||This phrase includes directions to the store|
[Link]|Hours||Valerie Snow
With the preceding example delimited phrase file, the columns are configured as follows within the
Import Phrase Data wizard. The remaining data content types are not used.
audio file name|phrase name|phrase text|voice talent
You can also add or ignore new phrases from the text file. You can control and configure the
import by specifying the text row of the file from where you want to begin importing the data, and
by defining a zero-based index of the columns. Specifying the text row of the file from where you
want to begin importing the data is especially useful if you use the same delimited phrase file
repeatedly over time and you want to import only the new data and do not want to overwrite the
existing data.
Name Description
Options
New phrases Ignore to ignore the new phrase data in the
delimited phrase data file that you import.
Add to add the new phrase data to the phraseset
from the delimited phrase data file that you import.
Delimiter Tab if a tab is used as a delimiter in the delimited
phrase data file.
Other to specify the delimiter that is used in the
delimited phrase data file.
Advanced Options The options to configure the column layout of the
delimited phrase data file.
Start import at row 0 to import the data from the beginning of the
phrase data file, or enter the the row number of the
phrase data file from where you want to begin
importing the data.
<Other fields> Values in the column name fields, which contain
phrase information, based on the data that you
define in the columns of the delimited phrase data
file. The index to be defined is a zero-based index,
zero being the first column, and counts up for the
column order for data included in the text file. If a
particular type of data is not included or if you do
not want to import the data, type the value -1.
Media
Media makes speech recognition applications more effective by providing a visual guide besides
audio features. You can use voice and video integration to enable standard Avaya Experience
Portal audio processing with video.
Orchestration Designer provides a set of media extensions to the standard Orchestration Designer
tools. You can use these media elements to create Interactive Voice and Video Response (IVVR)
applications. You can use the IVVR applications in:
• Call centers or help desks
• Travel reservations
• Banking applications
Note:
You can use the media elements and resources only in speech applications.
Media includes audio, video, text, and static image files. The Orchestration Designer speech
project structure supports these media elements with additional project resources. The additional
palette items and settings are an enhancement to the existing audio prompts editor.
Media pages are the basic containers of media content within a prompt. You can include existing
audio elements and new media elements within the same prompt to synchronize the respective
servers or players.
At run time, Orchestration Designer converts the media pages into Synchronized Multimedia
Integration Language (SMIL) content. SMIL is a standard W3C approved, XML-like language. Use
SMIL for simple authoring of audio-visual presentations.
When you integrate IVVR into Orchestration Designer, you can create media elements to use with
Avaya Experience Portal. You can use this feature to:
• Reduce operating expenses by having fewer operators.
• Enhance customer satisfaction by providing visual context to cell phone users.
• Achieve quicker and more accurate transactions.
• Body: Content
On a media page, the elements from the body use elements defined in the head. Currently, you
can use only region elements in the head. Changes, such as renaming, deleting, and adding, to a
region element have a dynamic effect on the body elements.
The regions are valid only within the media page. The media page object maintains an internal list
of regions and contains a list in memory uncommitted regions. The elements in the body can
access this memory list when required.
Note:
All elements on a media page, for example, Region, Parallel, Sequence, Coordination
Parallel, Coordination Sequence, Text, Text Block, and Media, are VXML 2.1 + IVVR tags. By
default, Orchestration Designer sets the speech projects to VXML 2.1 compatibility. Therefore,
if you use these palette items, you must update the compatibility to VXML 2.1 + IVVR.
Name Description
Media type The type of media file that you want to create. The
options are audio, video, image, and text.
You must select a media type.
Media file name A unique and relevant name for the media file.
You must specify a name for the media file
Name Description
Audio file Specifies the source of the audio file. The following
are the options:
• New to create a new audio file.
• Existing to use an audio file that is stored in the
speech project resources.
• External to use an audio file that is stored on
another server.
You must specify the source of the audio file.
Extension If you are creating a new audio file, the appropriate
audio format for the audio file.
The options are .wav and .au.
You must specify an extension for the audio file if
you click New in Audio file.
File name If you are creating a new audio file, a name for the
audio file.
If you are using an audio file that is stored in the
speech project resources, browse to navigate to the
audio file that you want to use.
If you are using an external audio file, the name of
the external audio file.
This field is mandatory.
URL Base If you are using an external audio file, the URL
where the external audio file is stored.
The default is [Link]
This field is mandatory if you click External in
Audio file.
Name Description
Video file Specifies the source of the video file. The following
are the options:
• Existing to use a video file that is stored in the
speech project resources.
• External to use a video file that is stored on
another server.
You must specify the source of the video file.
File name If you are using a video file that is stored in the
speech project resources, browse to navigate to the
video file that you want to use.
If you are using an external video file, the name of
the external video file.
This field is mandatory.
URL Base If you are using an external video file, the URL
where the external video file is stored.
The default is [Link]
This field is mandatory if you click External in
Video file.
Name Description
Image file Specifies the source of the image file. The following
are the options:
• Existing to use an image file that is stored in the
speech project resources.
• External to use an image file that is stored on
another server.
You must specify the source of the image file.
File name If you are using an image file that is stored in the
speech project resources, browse to navigate to the
image file that you want to use.
If you are using an external image file, the name of
the external image file.
This field is mandatory.
URL Base If you are using an external image file, the URL
where the external image file is stored.
The default is [Link]
This field is mandatory if you click External in
Image file.
Name Description
Text file Specifies the source of the text file. The following
are the options:
• Existing to use a text file that is stored in the
speech project resources.
• External to use a text file that is stored on
another server.
You must specify the source of the text file.
File name If you are using a text file that is stored in the
speech project resources, browse to navigate to the
text file that you want to use.
If you are using an external text file, the name of the
external text file.
This field is mandatory.
Table continues…
Name Description
URL Base If you are using an external text file, the URL where
the external text file is stored.
The default is [Link]
This field is mandatory if you click External in Text
file.
Name Description
Media Information
Comments Comments related to the audio file. The comments
that you type are displayed only in the Media Audio
Editor.
Audio Information
Local The file type that you specify in the New Media
wizard.
Local to modify the file type and use an audio file
that is stored in the speech project resources.
You must select either Local or External.
External The file type that you specify in the New Media
wizard.
External to modify the file type and use an audio
file that is stored on another server.
You must select either Local or External.
URL base The URL of the external audio file that you specify
in the New Media wizard.
To modify the URL, type the URL where the
external audio file is stored.
This field is available and mandatory if you click
External.
File Name The file name that you specify in the New Media
wizard.
To select some other audio file that is stored in the
speech project resources, click Browse.
To specify some other external audio file, type the
name of the external audio file.
This field is mandatory.
Test To verify the external audio file on the server on
which the external audio file is stored.
Note:
This option is available only for external audio
files.
Format The audio format of the audio file that you select.
This field is read only.
Note:
Orchestration Designer supports only 8KHz 8-
bit mono format.
Table continues…
Name Description
To play the audio file.
Play button
Note:
This button is available only after you record or
import an audio file, or after the system verifies
the external audio file when you click Test.
To stop recording or playing an audio file.
Stop button
Note:
This button is available only when you record
or play an audio file.
To start recording an audio file.
Record button
If you record over an audio file that already contains
recorded audio, the new recording overwrites the
existing recording.
Note:
This button is unavailable for external audio
files.
Name Description
Media Information
Comments Comments related to the video file.
Video Information
Local The file type that you specify in the New Media
wizard.
Local to modify the file type and use a video file
that is stored in the speech project resources.
You must select either Local or External.
Table continues…
Name Description
External The file type that you specify in the New Media
wizard.
External to modify the file type and use a video file
that is stored on another server.
You must select either Local or External.
URL base The URL of the external video file that you specify
in the New Media wizard.
To modify the URL, type the URL where the
external video file is stored.
This field is available and mandatory if you click
External.
File Name The file name that you specify in the New Media
wizard.
To select some other video file that is stored in the
speech project resources, click Browse.
To specify some other external video file, type the
name of the external video file.
This field is mandatory.
Name Description
Media Information
Comments Comments related to the image file.
Image Information
Local The file type that you specify in the New Media
wizard.
Local to modify the file type and use an image file
that is stored in the speech project resources.
You must select either Local or External.
Table continues…
Name Description
External The file type that you specify in the New Media
wizard.
External to modify the file type and use an image
file that is stored on another server.
You must select either Local or External.
URL base The URL of the external image file that you specify
in the New Media wizard.
To modify the URL, type the URL where the
external image file is stored.
This field is available and mandatory if you click
External.
File Name The file name that you specify in the New Media
wizard.
To select some other image file that is stored in the
speech project resources, click Browse.
To specify some other external image file, type the
name of the external image file.
This field is mandatory.
Name Description
External The file type that you specify in the New Media
wizard.
External to modify the file type and use a text file
that is stored on another server.
You must select either Local or External.
URL base The URL of the external text file that you specify in
the New Media wizard.
To modify the URL, type the URL where the
external text file is stored.
This field is available and mandatory if you click
External.
File Name The file name that you specify in the New Media
wizard.
To select some other text file that is stored in the
speech project resources, click Browse.
To specify some other external text file, type the
name of the external text file.
This field is mandatory.
Text The content of the text file that is stored in the
speech project resources. In the Text field, you can
edit the content of a text file that is stored in the
speech project resources.
You cannot view and edit the content of an external
text file in the Text field.
The system displays the <prompt name>.prompt [<language name>] prompt editor.
4. Right-click the media page in the prompt, and then click Preview Media Page. The system
does the following:
• Starts Tomcat if it is not already started.
• Displays the Media Preview dialog box. You can use the Media Preview dialog box to
hard code a value for any variables or conditions found on the media page. For more
information, see Media Preview dialog box field descriptions on page 192.
• Generates a SMIL file with a unique name and stores it in <project>/data/
<language>/prompts/cache.
• Invokes Ambulant player 2.1 and sends the SMIL file to Ambulant player 2.1 for play
back.
5. After the play back, manually close the player. Otherwise, the player restarts the next time
you preview a media page.
You can make changes to the media file and repeat steps 1 and 2 to preview your
changes.
Prompts
One of the key elements that is used to create speech, message, data, and web applications with
Orchestration Designer is the prompt. In a speech application, prompts guide a caller through a
call flow. In a message application, prompts guide a customer through a message flow. In a data
application, prompts guide a customer through a data flow. In a web application, prompts guide a
customer through a web flow.
You can use prompts in:
• A speech application to play announcements to the caller, prompt the caller to provide a
specific type of response, or respond to the request of a caller for information.
• An SMS channel message application to send SMS messages to the customers.
• An email channel message application to send email messages to the customers.
• A web application to collect and display information to the users.
Prompts are among the most important building blocks in speech, message, web and Interactive
Voice Response (IVR) applications. A prompt consists of a set of one or more prompt segments
that you can assemble to communicate information to a caller or a customer and ask the caller or
the customer to respond to a request for input.
Note:
You can use variables for the prompts, so that prompts vary dynamically. If you copy a prompt
variable from one speech application or message application or web application to another,
then the system copies the variable, but does not copy the source to which the variable
references.
Important:
You can use prompts only in speech, message, and web applications. You cannot use
prompts in call control and data applications.
Note:
The SMS item is available only in an SMS channel message application.
• Email: Use the Email item to assign an email file to the prompt. When the system executes
the prompt, the system sends the email message that is contained in the email file to the text
browser that is located on Avaya Experience Portal Media Processing Platform (MPP) for
further processing and delivery. For more information, see Email on page 712.
Note:
The Email item is available only in an email channel message application.
• Text: If you want to send a simple SMS message only from a single prompt of an SMS
channel message application, then you can use the Text item instead of creating an SMS file.
If you want to send a simple email message only from a single prompt of an email channel
message application, then you can use the Text item instead of creating an email file.
For more information, see Text on page 822.
Types of prompt segments that are available in web applications:
• Web Element: A Web Element is used to display input values of different types such as
map, picture, and text. For more information, see Web Element on page 825.
• Click To Call: Using the Click To Call button, you can call on a constant number or on a
number that is dynamically determined at runtime. For more information, see Click To Call on
page 851.
• HTML Text: You can use a HTML Text item to display any text on your web form in the way it
is styled. For more information, see HTML Text on page 824.
• Loop Variable Collection: You can use a Loop Variable Collection item to loop through the
collection in a variable. For more information, see Loop Variable Collection on page 858.
Types of prompt segments that are available in speech, message, and web applications:
• Text Variable: In prompts for speech applications, text variables are variables that contain
text which the system can render as synthesized speech by using TTS technology.
In prompts for SMS channel message applications, you can use text variable to send variable
text in the outbound SMS messages.
In prompts for email channel message applications, you can use text variable to send
variable text in the outbound email messages.
In prompts for web applications, you can use text variable to display the value of a variable
as plain text. You can wrap the HTML Text item around this item to add style to the text. For
example,
HTML Text <div style =”font-weight:bold”>
Text VariablefirstName
HTML Text</div>
• Else: Use the Else condition item to select and execute different prompt or data segments
based on the condition being tested. The Else item works in conjunction with the If item to
test conditions. The Else item defines a default for cases where conditions of an If item are
not met.
You can use the Else item in the call flow editor and message flow editor to conditionally
execute different operations based on the evaluation of logical statements. The Else item
works in conjunction with an If item to execute operations when the “If” condition evaluates to
a “false” value. For more information, see Else on page 709 and Condition on page 686.
• Else If: Use the Else If item to build complex If/Else logic. You can use the Else If condition
item to select and execute different prompt or data flow segments based on various
conditions. The Else If item introduces a new “nested if” condition. If the “If” condition fails,
the Else If item makes it possible to compare the value of a selected variable, the Left
Variable or Left Variable Field with:
- A condition
- A constant
- The value of another variable or variable field
Based on the result of the comparison, the system responds according to what is assigned
to the Else If item, or continues further. For more information, see Else If on page 710 and
Condition on page 686.
• AND: Use the AND Boolean operator to evaluate if all of its child expressions are true. This
item sets a compound condition that evaluates to true only if all of its child expressions are
true. This item is used as a parent item and can be nested under If or any other Boolean
operator. This item connects all its child expressions logically. Its child expressions can be
either a single expression or a compound condition. For more information, see AND on
page 663.
• OR: Use the OR Boolean operator to evaluate if one of its child expressions is true. This item
sets a compound condition that evaluates to true only if one of its child expressions is true.
The item is used as a parent item and can be nested under If or any other Boolean operator.
This item connects all its child expressions logically. Its child expressions can be either a
single expression or a compound condition. For more information, see OR on page 777.
• NOT: Use the NOT Boolean operator to evaluate the opposite of what its child expressions or
compound conditions evaluate. This item creates a condition that evaluates to the opposite of
what its child expressions or compound conditions evaluate. This item is used as a parent
item and can be nested under If or any other Boolean operator. It can have only one child
expression which can be either a single expression or a compound condition. For more
information, see NOT on page 758.
• Expression: Use the Expression Boolean operator to create Boolean expressions under the
AND, OR, and NOT Boolean operators. This item creates a Boolean expression that contains
two operands with a comparison operator in between. This item evaluates to either true or
false. This item is used as a child of the AND, OR, and NOT Boolean operators to create a
compound condition. For more information, see Expression on page 715.
Prompt controls
In addition to selecting prompt segments from among the available types, you can also select
different prompt controls to monitor different aspects of a prompt that is in use.
Example prompt controls in a speech application:
• Use prompt levels to vary the prompt that is played to the caller, based on how many times
the prompt is repeated. For more information, see Prompt levels in speech applications on
page 197.
• Determine the order in which you want the prompt levels to play back. For more information,
see Play order for prompt levels in speech applications on page 198.
• Use condition settings to control the specific prompt segments that you want to play and
specify the circumstances under which you want to play the prompt segments. For more
information, see Conditions in prompts on page 199.
• Control the rendering of TTS by using SSML tags. For more information, see SSML controls
in prompts for speech applications on page 200.
• Determine whether and how to use the barge-in feature with the prompt. For more
information, see Prompt File Editor: Prompt Main tab field descriptions on page 209.
Example prompt controls in a message and a web application:
• Use condition settings to control the specific prompt segments that you want to execute and
specify the circumstances under which you want to execute the prompt segments. For more
information, see Conditions in prompts on page 199.
If the system still cannot recognize what the caller says, it can play a second version of the “No
Match” prompt. For example:
“I’m sorry. I still did not understand you.”
You can set a third version of the main prompt. For example:
“Please speak slowly and clearly, and say all 7 digits of your account number.”
To use different versions of a prompt, you can designate each version as a different level of the
prompt. The system automatically creates the first level of a prompt when the prompt is created.
You must add the additional levels of the prompt. For example, to use three different versions of a
prompt, you must add two new prompt levels within the Prompt Main tab of the prompt file editor.
For more information, see Prompt File Editor: Prompt Main tab field descriptions on page 209.
The system displays each prompt level on a separate tab in the prompt file editor. When you add a
level, the system appends a new tab to the prompt file editor. The system uses the prompt level
number to name the tab. For example, 1st, 2nd, 3rd, and so on, up to 25.
The definition and settings for each prompt level are independent of all other prompt levels. That
is, each level of the prompt uses its own segments, conditions, and SSML controls, regardless of
any other level of prompt. For more information about defining prompts in levels, see Prompt File
Editor: Level tabs on page 211.
In this case, add one new level to the prompt. In the Prompt Count dialog box, in the
Please enter the attempt count field, type 3 instead of typing 2. The system assigns the
name Third to the level tab of this level.
At run time, the system plays the First prompt level twice before it plays the Third prompt
level.
- First: This setting plays only the First or the lowest numbered prompt level, no matter how
many times the system repeats the prompt. The system ignores all prompt levels other
than First level. If there is no First level, the system plays the lowest numbered prompt
level.
- Random: This setting randomly selects the prompt level to play. Hence, the order in which
the system plays the prompt levels is not determined.
- Sequential: This setting plays each prompt level one time, in order from the lowest to the
highest numbered prompt level. When the system reaches the highest numbered prompt
level, it uses the highest numbered prompt level for all the repeats that follow.
For example, if there are three prompt levels numbered First, Fourth, and Fifth, the
system plays the First level on the first pass, the Fourth level on the second pass, and the
Fifth level on the third and all the passes that follow.
Conditions in prompts
You can use Conditions to change a prompt depending on the situation.
For example, if you create a speech application that plays a different greeting to the caller based
on business hours, you can use the built-in date and time variables to return the current day and
time.
To test if the call is coming into the system during business hours, use an If item. If the call is
during business hours, the system plays the prompt on that branch of the condition tree.
Otherwise, the system plays the default prompt. If needed, use the nested If-Else conditions.
Often transitional audio prompts consist of a music selection that the system plays when
completing a task.
You can use transitional audio prompts in the following two situations:
• The Property form item. This usage is usually when the system requires more than a couple
of seconds to process an action or a request by the caller. An audio cue, such as music,
indicates to the caller that the system is processing data, and the caller should stay online.
For more information, see Property on page 786.
• The Bridged Transfer application item. This usage is usually when the system requires more
than a couple of seconds to complete a call transfer. The audio cue tells the caller that the
system is working to complete the call transfer, and the caller should stay online.
Note:
Audio prompts in or after a transfer node do not play before the call is transferred. Setting
the audio prompt as a transitional prompt when transitioning to the node that performs
the transfer ensures that the prompt plays before the transfer happens.
For more information, see the Transfer Audio prompt property in Bridged Transfer on page 672.
Tip:
To set the text that is synthesized for a TTS segment in the prompt file editor, select the
TTS segment and set the TTS Text property in the Properties view. Alternatively, click
twice slowly the TTS segment in the prompt file editor and edit the text.
You can use the prompt file editor in a message application to:
• Set conditions that govern when different prompt segments are used. For more information,
see Conditions in prompts on page 199.
• Assemble one or more prompt segments to make a complete prompt. For more information,
see Building prompts on page 217.
For more information about accessing the prompt file editor and the associated functional tab in a
message application, see the following sections:
• Editing a prompt file on page 209
• Prompt File Editor: Prompt Main tab field descriptions on page 209
• Prompt File Editor: Prompt Contents tab on page 212
Prompt management
Creating a prompt file
Procedure
1. On the File menu, click New > Other.
The system displays the New wizard.
2. Double-click Avaya OD Development.
3. Click Prompt File, and then click Next.
4. In the New Prompt wizard, on the Create a Prompt page, specify the information to create
a new prompt.
Next steps
After creating a prompt file, use the prompt file editor to assemble prompt segments or to set other
properties for the prompt file. For more information, see Prompt file editor in a speech
application on page 202 and Prompt file editor in a message application on page 202.
Note:
You can create a transitional audio prompt only
in speech applications.
Prompt file names must follow Java naming
conventions. For more information, see
Conventions for naming Java components on
page 59.
If you do not specify a name for the prompt file, the
system assigns a generic name to the prompt file.
Transitional audio prompt (allows only a single Check box to make the prompt a transitional audio
phrase) prompt.
You can use transitional audio prompts in:
• Property form item
For more information, see Property on page 786.
• Bridged Transfer application item
For more information, see the Transfer Audio
prompt entry in Bridged Transfer on page 672.
Note:
The Transitional audio prompt (allows only
a single phrase) check box is available only if
you create a prompt for a speech application.
For more information about transitional audio
prompts, see Transitional audio prompts in speech
applications on page 200.
existing prompt field displays all the prompt levels that exist within the prompt.
Alternatively, you can click None if you do not want to copy from any existing prompt level.
7. Click OK.
Note:
The default is true.
Timeout Representation Option to specify whether you want to use a
constant timeout value or variable timeout value for
the prompt level.
The options are:
• constant: If you want to specify a constant
timeout value for the prompt level.
• variable: If you want to specify a variable timeout
value for the prompt level.
Table continues…
Note:
The Constant Timeout field is available only if
you select constant in the Timeout
Representation field.
Time Unit The unit of time for the default constant timeout
value that you specify in the Constant Timeout
field.
The options are:
• seconds
• milliseconds
Note:
The Time Unit field is available only if you
select constant in the Timeout
Representation field.
Timeout Variable The variable that contains the default timeout value
that you want to use for the prompt level.
Ensure that the variable that you select contains
only integer values. The system processes the
timeout value contained in the variable as
milliseconds.
Note:
The Timeout Variable field is available only if
you select variable in the Timeout
Representation field.
If you select a complex variable in the Timeout
Variable field, then you must select a complex
variable field in the Timeout Variable Field field.
Timeout Variable Field The complex variable field if you select a complex
variable in the Timeout Variable field.
Note:
The Timeout Variable Field field is available
only if you select a complex variable in the
Timeout Variable field.
Note:
You can create and edit an .audioprompt file only in speech projects.
2. Double-click <language name> > prompts.
3. Right-click the .prompt or .audioprompt file that you want to edit, and then click Open
With > Prompt Editor.
4. In the prompt file editor, modify the prompt file.
Name Description
Barge-in Type The barge-in type that you want to use to trigger
barge in. The following are the options:
• speech: If you want any spoken response to
trigger barge in and stop the prompt. This is the
default setting.
• hotword: If you want a complete match of an
active grammar to trigger barge in and stop the
prompt.
For more information, see Editing the prompt level
properties in a speech project on page 207.
The Barge-in Type field is mandatory.
Note:
The Barge-in Type field is available only in the
prompt file editor of a prompt in a speech
application.
Play Order The order in which you want the system to play the
prompt levels.
The following are the options:
• standard
• first
• random
• sequential
The default play order is standard.
For more information, see Play order for prompt
levels in speech applications on page 198.
The system repeats a prompt if the VXML platform,
such as Voice Portal, Avaya Experience Portal, or
MPS, determines that the prompt needs to be
repeated because of a nomatch event or a timeout
caused by a noinput event.
The Play Order field is mandatory.
Note:
The Play Order field is available only in the
prompt file editor of a prompt in a speech
application.
Table continues…
Name Description
Prompt Levels area: Displays all the levels that are defined for the prompt.
Note:
The Prompt Levels area and the options under the Prompt Levels area are available only in the
prompt file editor of a prompt in a speech application.
Add To add a prompt level.
For more information, see Adding a prompt level to
a prompt in a speech project on page 206.
Edit To edit the prompt level that you select in the
Prompt Levels area.
The system activates the tab of the prompt level.
The maximum prompt level is 25.
For more information, see Prompt levels in speech
applications on page 197.
Delete To delete the prompt level that you select in the
Prompt Levels area.
Tip:
To set the text that is synthesized for a TTS segment in the prompt file editor, select the TTS
segment and set the TTS Text property in the Properties view. Alternatively, click twice slowly
the TTS segment in the prompt file editor and edit the text.
where you import the prompt files, or redirect the imported prompts to make use of the
resources from the other projects.
Note:
You can use the following procedure only for the prompt files that are exported to a .zip file by
using the Import Prompts wizard in Orchestration Designer. For information, see Exporting a
prompts .Zip file on page 212.
Procedure
1. On the File menu, click Import.
The system displays the Import wizard.
2. Double-click Avaya OD Development.
3. Click Prompts Zip File, and then click Next.
4. In the Import Prompts wizard, on the Specify Import Parameters page, specify the
parameters to import the prompts .zip file.
5. Click Finish.
Name Description
From file The directory path of the delimited prompt data file
that you want to import.
Target Language
Project The speech project in which you want to import the
delimited prompt data file.
Language The language based on which you want to update
the prompt data.
For example, the delimited prompt data file that you
want to import contains prompts defined in English
language. If your speech project is multilingual and
you select English in the Language field, then the
system updates the prompts that are in English
language in your speech project. The system adds
new prompts from the delimited prompt data file to
your speech project in English as well as in other
languages that exist in your speech project, but
populates the prompt contents only in the prompts
that are in English language. The names of the
prompts are the same in all the languages. To
update and populate prompt contents in the
prompts that are in other languages in your speech
project, you must either manually edit the prompts
that are in other languages, or import the prompt
data in the respective languages.
For more information, see Language
implementation in Orchestration Designer on
page 269.
Options
Tab If a tab is used as a delimiter in the delimited
prompt data file.
Other The delimiter that is used in the delimited prompt
data file.
Building prompts
Before building a prompt
Before you build a prompt, create the required prompt segments.
For example, in a speech application, you want to create a prompt that reads the address of a
caller from a variable and asks the caller whether the address is correct. You want the caller to
hear: “According to our records, you live at <address record>. Is this correct?” This prompt
requires two phrase segments and one text variable segment:
• Phrase segment: “According to our records, you live at”
• Text variable segment: The address value returned by the database query, which is rendered
by using TTS
• Phrase segment: “Is this correct?”
Before you build this prompt, you must use a database operation to read the address from the
database. Then, you must assign the value returned by the database operation to a variable,
which you must later assign to the text variable in the prompt file editor.
You must also create the required phrases. For information about creating phrases, see Custom
phrases on page 162.
Building prompts
Before you build a prompt, create the required prompt segments.
To build a prompt, assemble one or more prompt segments in the order that you want them to
execute. You can use any combination of prompt segment types. For more information about
prompt segment types, see Types of prompt segments on page 193.
For more information about building a prompt, see the following sections:
• Before building a prompt on page 216
• Building a sample prompt for a speech application on page 217
• Building a sample prompt for an SMS channel message application on page 218
• Building a sample prompt for a web application on page 219
6. In the Properties view, assign the appropriate phrase file to the Phrase item.
In this example, the phrase is: “According to our records, you live at”.
7. In the Palette pane of the prompt level tab, click Text Variable.
8. In the prompt level tab workspace, click below the Phrase item
The system adds a Text Variable item below the Phrase item in the workspace.
9. In the Properties view, assign to the Text Variable item the variable that contains the
address returned by the database operation.
10. In the Palette pane of the prompt level tab, click Phrase.
11. In the prompt level tab workspace, click below the Text Variable item.
The system adds a Phrase item below the Text Variable item in the workspace.
12. In the Properties view, assign the appropriate phrase file to the Phrase item.
In this example, the phrase is: “Is this correct?”.
Note:
By default, the Type property is set to “Text”. Ensure that the type matches the content
of the variable. For example, if the variable contains map coordinates, then set the
Type property to “Map” to display a map on the screen.
7. In the Prompt Contents tab of the workspace, add other prompt segments and conditions
as required so that the prompt works the way you want.
Variables
You can use variables in Orchestration Designer applications just like in any other application.
Because speech applications, message, data, and web applications are specialized, there are
special types and uses of variables in Orchestration Designer.
Important:
You can use variables that are described in this section only in speech applications, message,
data, and web applications. Call control application variables are incorporated within a
CCXML file and are not similar to speech, message, and data application variables.
Note:
Be sure that you are familiar with the general concept and use of variables in programming.
This documentation does not cover the basic concepts and use of variables.
You can use variables in Orchestration Designer to:
• Store data for processing or manipulation.
• Store information about audio file locations in speech applications.
• Pass data to and from other modules or applications.
• Receive data from or pass data to other connected systems. For example, Avaya Interaction
Center (IC) or Application Enablement Services (AES) systems in speech applications.
Note:
You can set variables to null.
Tip:
When naming variables, do not use a “__VP” prefix which is reserved for VP 4.1 and
later deployments. If the speech, or message, or web application contains two or more
variables with the same name, the system might execute the application incorrectly or
might report incorrectly.
Note:
In Orchestration Designer, variables can also hold multiple values by using collections.
This happens when a variable, either simple or complex, returns more than one value for
the variable or variable field.
For example:
- An N Best property that causes an operation to return several values for a single variable.
- A database query that returns more than one record.
- A Web service operation that returns an array.
Note:
To make a complex variable functional, at least one variable field must be assigned to the
complex variable. When you create a complex variable, the system automatically creates
a variable field and assigns it to the complex variable.
Note:
To copy a variable from one variable editor to another, use the Control+C, Control+V
option. You cannot drag and drop variables between two variable editors.
You can copy variables from one project to another project only if both the projects
belong to the same channel. For example, both the projects belong to the SMS channel.
For more information about creating variables, see Creating a variable on page 224.
• Local variables: You can create local simple and complex variables within a Data node and
use them within that Data node. For example, you can create a local variable to store the
size of an array, which you can use to do certain operations within that Data node. This
reduces the overhead to store global, application-wide variables.
You can view the local variables in the item properties along with the project variables.
Orchestration Designer appends the letter “L” to the name of the local variable. Local
variables support all the functions that project variables support at the Data node level.
For more information about creating local variables, see Creating a local variable on
page 225.
The reusable message application module must be a message flow project that is created by
using Orchestration Designer, and must belong to the same channel as that of the parent
application. For example, the parent application and the reusable message application module
belong to the SMS channel.
The reusable web module can be another web project that is created by using Orchestration
Designer. Alternatively, it can be a reusable web module created by using a different tool, such as
the Nuance software.
To pass values between a parent Orchestration Designer application and module, you must use
the Input Parameter and Output Parameter items. For more information about using these items
to pass variable values, see:
• Input Parameter on page 731
• Output Parameter on page 778
Note:
You can pass only simple strings back and forth. You cannot pass objects.
Variable management
When you access the variable editor of a speech application or a message application, the system
displays all the variables that currently exist in the speech application or message application.
Additional editing functions are also available.
Use the variable editor to create, define, and modify variables. You can also use the variable editor
to view the variables that exist in the current project.
You can create variables by using the Simple Variable, Complex Variable, and Field items that
are available in the Palette pane of the variable editor. For more information, see Creating a
variable on page 224.
Creating a variable
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, double-click the speech, or
message, or web flow project directory in which you want to create a variable.
2. Double-click the flow subdirectory.
3. Double-click [Link].
The system displays the variable editor in the main workspace.
4. From the Palette pane, drag Simple Variable or Complex Variable to the main workspace
area.
The system adds the variable to the main workspace and automatically assigns it a
temporary default name.
5. (Optional) In the Properties view, in the Name field, type a name for the variable.
Caution:
Do not use double-byte or extended ASCII characters or Java reserved words such as
Try, Catch, and Switch when naming variables.
Tip:
When naming variables, do not use a “__VP” prefix which is reserved for VP 4.1 and
later deployments. If the speech, or message, or web application contains two or more
variables with the same name, the system might execute the application incorrectly or
might report incorrectly.
After you create the variable, you can set the variable properties in the Properties view. For
more information, see Simple Variable on page 819 and Complex Variable on page 686.
Note:
To make a complex variable functional, at least one variable field must be assigned to
the complex variable. When you create a complex variable, the system automatically
creates a variable field and assigns it to the complex variable. To add a variable field to
a complex variable, from the Palette pane of the variable editor, drag Field under the
<complex variable name> node. For more information about variable field, see Field
on page 720.
Tip:
To edit the name of a variable or a variable field, in the variable editor, click the variable
or the variable field. In the Properties view, in Name field, type a name for the variable
or the variable field. Alternatively, in the variable editor, click twice slowly the variable
or the variable field and edit the name.
Note:
You cannot edit system variables.
The system adds the variable under the Local Variables node in the data node editor and
automatically assigns it a temporary default name.
Note:
If you are using a project that is created by using Dialog Designer 5.1 or earlier, drag
Local Variables from the Palette pane to the data node editor.
3. (Optional) In the Properties view, in the Name field, type a name for the variable.
Caution:
Do not use double-byte or extended ASCII characters or Java reserved words such as
Try, Catch, and Switch when naming variables.
Tip:
When naming variables, do not use a “__VP” prefix which is reserved for VP 4.1 and
later deployments. If your speech application or message application contains two or
more variables with the same name, the system might execute the application
incorrectly or might report incorrectly.
After you create the variable, you can set the variable properties in the Properties view. For
more information, see Simple Variable on page 819 and Complex Variable on page 686.
Note:
To make a complex variable functional, at least one variable field must be assigned to
the complex variable. When you create a complex variable, the system automatically
creates a variable field and assigns it to the complex variable. To add a variable field to
a complex variable, from the Palette pane of the data node editor, drag Variable Field
under the <complex variable name> node.
Deleting a variable
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, double-click the speech
application or message application project directory from which you want to delete the
variable.
2. Double-click the flow subdirectory.
3. Double-click [Link]. The system displays the variable editor in the main
workspace.
4. Select the variable or the variable field that you want to delete.
Tip:
Use Shift+click to select multiple adjacent variables, or use Control+click to
select multiple nonadjacent variables.
5. Press Delete.
Note:
To delete a local variable or a local variable field, open the data node editor from which
you want to delete the local variable or the local variable field. Under Local Variables,
right-click the local variable or the local variable field that you want to delete, and then
click Delete.
Result
After you convert the user-defined variable into an Avaya Experience Portal configurable variable,
the system displays the value of the user-defined variable in the Default Value property of the
Avaya Experience Portal configurable variable.
- Include application performance and call information data in variables within the Report
item. You can send this data to an IVR system such as Avaya Experience Portal. In Avaya
Experience Portal, you can use the data to generate reports and analyze application data.
• In a message application, you can:
- Use the Operation palette option in the Data node to assign values to variables, or to
perform calculations or other manipulations on variable values.
- Use a database operation to receive data in a variable from a database.
- Use a Web service operation to receive data in a variable from a Web service.
Other nodes have options in which you can use system variables to set branching conditions. You
can also use system variables to pass variable values to other reusable application modules.
In each case, the variable must exist before you can use it in a node item. If the variable does not
exist, you must create a custom variable.
For more information about the palette nodes and items in which you can employ variables and
variable fields, see Nodes and Palette options on page 622.
Note:
For this code, a simple variable weather must be defined in the project variable editor. For
more information, see About IProjectVariables on page 233.
IVariable variableRef = [Link]([Link]);
IVariableField variable = [Link]();
String weather = [Link]();
A short-hand way of writing the same code is:
IVariableField variable = [Link]([Link]);
String weather = [Link]();
Example code to get the value of a complex variable
The following code gets the value of the date:year complex variable field as an integer:
IVariable variableRef = [Link]([Link]);
IComplexVariable complexVariable = [Link]();
IVariableField field = [Link](IProjectVariables.DATE_FIELD_YEAR);
int year = [Link]();
A short-hand way of writing the same code is:
IVariableField field = [Link]([Link],
IProjectVariables.DATE_FIELD_YEAR);
int year = [Link]();
About IProjectVariables
Orchestration Designer generates a class, IProjectVariables, which defines the names of all
speech, message, and web project variables and their fields as constant Java strings.
Orchestration Designer automatically generates this class by using all the variables defined in the
flow > [Link] file in the variable editor. For more information about creating variables,
see Creating a variable on page 224.
Avaya recommends that you define your own constants for any variables that are
programmatically added to the session. When editing the IProjectVariables class, be sure to make
changes outside the code generation tags (//{{START: etc.), otherwise, changes might be
overwritten by the code generator.
Avaya recommends that you reference variables by using the constants defined in
IProjectVariables because it reduces the possibility of application bugs when variables are
renamed. For example, you define the variable weather once in the project variables, and then
elsewhere in the application written code:
IVariableField variable = [Link](“weather”);
Another developer modifies the application and renames weather to theWeather in project
variables. Now the “[Link](“weather”)” code results in a run-time error
because the variable weather is no longer a project variable.
If you originally wrote the following code:
[Link]([Link])
, then when a second developer renames the project variable, the system generates a Java
compile error because the “[Link]” constant no longer exists. The
“[Link]” constant is changed to “IProjectVariables.THE_WEATHER”.
Orchestration Designer generates an associated read-only variable for the following palette option
items in a speech application:
• Blind Transfer on page 665
• Bridged Transfer on page 672
• Call Info (AES) on page 697
• Blind Call (AES) on page 696
• Consultation Call (AES) on page 700
• Dial(AES) on page 702
• Input on page 728
• Input Parameter on page 731
• Module Output on page 754
• Menu node on page 644
• Object Output on page 761
• Record on page 797
In addition to these, if the Interaction Center (IC) connector is enabled for the speech application,
Orchestration Designer generates two complex variables: vdu and vdu_cache. You can add
custom fields to the vdu variable. You cannot add custom fields to the vdu_cache variable.
For more information about the IC connector, see IC connector on page 611
Orchestration Designer generates an associated read-only variable for the following palette option
items in a message application:
• Input on page 728
• Input Parameter on page 731
• Module Output on page 754
Orchestration Designer generates an associated read-only variable for the following input items in
a web application:
• Choice Input on page 850
• Location Input on page 856
• Picture Input on page 858
• Text Input on page 862
• TextArea Input on page 863
• Video Input on page 864
• Voice Input on page 865
Grammars
The key to recognize input received through inbound voice calls and messages is the use of
grammars. In the context of IVR applications, a grammar is a predefined set of words or DTMF
tones that a speech application uses to interpret and respond to caller inputs. In the context of
text-based applications, a grammar is a predefined set of words that a message application uses
to interpret and respond to an inbound SMS or email message.
One of the basic functions of an interactive voice response (IVR) system is to collect and
recognize input from the caller. This input can be in the form of either spoken voice responses or
touchtone key presses, known as dual tone multi-frequency (DTMF) input. The system uses this
input to direct the flow of a call. Similarly, one of the basic functions of a text-processing system is
to collect and recognize input from inbound SMS and email messages. The system uses this input
to direct the flow of a message application.
You must use a grammar in a speech application or a message application where caller or
customer input, that the system can process, needs to be collected. The exceptions to this rule are
those nodes and node items in which you can use built-in DTMF, speech, or text recognition.
Note:
You can use variables for grammars, so that grammars can vary dynamically. If you use
variables for grammars, then the system does not return the grammar slot values. Instead, the
system returns only the complete utterance and interpretation.
Message applications support only single-slotted grammars.
Data applications do not support grammars.
If you copy a grammar variable from one speech application to another speech application or
from one message application to another message application, the system copies the
variable, but does not copy the source to which the variable references.
The multi-vendor ASR capability is introduced which allows you to dynamically change from using
one ASR vendor to another in any VXML node. The platform must know which ASR vendor loads
which grammar file. To let the platform know which ASR vendor to use, an External Property to the
VXML node is added which can be the Menu, Prompt/Collect, or Form node. The name of the
property must be “[Link]”, and its value must be one of the following which
corresponds to the supported ASR vendors:
• nuance osr
• loquendo
• googleasr
The generated VXML form that is sent to the platform displays the property. On the application
side, the property directs the framework runtime to output the grammar file or content specific for
the target ASR.
Types of grammars
Types of grammars in speech applications:
• Voice (speech) grammars are designed for automated speech recognition (ASR) servers to
recognize and interpret speech. You can use these grammars in a speech application project
where spoken responses need to be collected.
To use voice grammars, an ASR server is required to process the input when deploying the
speech application on an IVR system. Orchestration Designer uses Microsoft SAPI Speech
for testing and simulation. For run-time deployment, you can use any SAPI-compliant ASR
server.
• DTMF grammars are designed to recognize combinations of one or more touchtone key
presses on a telephone keypad. For many Orchestration Designer nodes and items, you
need not define DTMF grammars if the system should respond to single key presses. In
some node items, such as the Choice item that is used in the Menu node, you can define
single and multiple key presses, without using a DTMF grammar.
If you select the Show AutoVon keys check box within the Configuring Application
Simulation preferences on page 509, the system adds four more DTMF buttons next to the
dial keypad for sending A, B, C, and D AutoVon tones for input.
The term “multiple key presses” in VoiceXML applications does not mean multiple
consecutive key presses, as it does in some other types of IVR systems. In VoiceXML
applications, the term “multiple key presses” means that you have multiple single key presses
available for the same menu choice.
For example, in a Choice menu, if the # and 7 DTMF key options are entered, the VoiceXML
application interprets the key presses in such a way that either a # key press or a 7 key press
activates the menu choice.
Types of grammars in message applications:
• Text grammars are designed for automated text recognition to recognize and interpret
inbound SMS and email messages. You can use these grammars in a message flow project
where inbound SMS and email messages need to be collected.
• The text browser supports only grammars that are passed inline to the text browser.
• The system does not support grammar caching.
• The grammar tag format must be semantics/1.0-literals.
• The system does not support attachments in email messages.
• The system does not support external grammars.
Multiple grammars
Your speech application or message application might contain overlapping grammars at some
point. Overlapping grammars occur when the system has two or more active grammars for which
it can accept responses.
For example, there can be a grammar set up in the AppRoot node whose function is to listen for
help requests or direct a call or an inbound message to a live attendant. Such grammars are
almost always active. Even within the same node there can be multiple grammars, for example, in
the Menu node.
You can also use multiple grammars with a single field. For example, in a speech application, you
want to offer callers the option to respond with either a spoken response or a DTMF key press. In
this case, you can create a grammar for the ASR response and a different grammar for the DTMF
response. When used on the same field, either grammar can trigger the recognition. Good
application design might even require you to create multiple ASR grammars for the same
response field, especially when designing applications that use a natural language speech
recognition approach.
Be aware when your application contains overlapping grammars. Also, ensure that you do not
have overlapping responses or entries within them.
Note:
Grammar file names must follow Java naming
conventions. For more information, see
Conventions for naming Java components on
page 59.
Caution:
Do not use double-byte or extended ASCII
characters or Java reserved words such as
Try, Catch, and Switch when naming a
grammar file.
Table continues…
Name Description
Type The type of grammar that you want to create. The
following are the options:
• Static: Static grammar is the most common type
of grammar and contains a limited number of
entries. Static grammars have a “.gram” file
extension. For more information, see Static
grammar in speech applications on page 244.
• Dynamic: Dynamic grammar is a Java class
grammar that uses an API to build the elements
that form a grammar. At run time, a dynamic
grammar (the Java class) generates the
appropriate grammar content dynamically by
retrieving values from a data source such as a
database, an LDAP, or a Web service.
When you click Finish in the New Grammar
wizard, the system automatically opens a Java
class editor that is populated with a sample code
to help you get started.
Dynamic grammars have a “.gram-dyn” file
extension. For more information, see Editing the
dynamic grammar Java class on page 255.
• External: An external grammar is a grammar that
is created, defined, and maintained outside
Orchestration Designer. To use an external
grammar, you must know the name and path of
the grammar file, and the domain host where the
grammar file resides.
External grammars have a “.gram-extrn” file
extension. For more information, see Editing
external grammar access properties on page 255.
Note:
The External option is available only if you
create a grammar file for a speech
application.
Table continues…
Name Description
Mode The mode of the grammar.
The following are the options for creating a
grammar file for a speech application:
• DTMF
• Voice
The following is the option for creating a grammar
file for a message application:
• Text
Style The style of the grammar. The options are: Custom
and Built-in.
Built-in grammars have a “.gram-builtin” file
extension. For more information, see Selecting a
built-in grammar type in a speech application on
page 259.
Note:
The Style field is available only if you select
Static in the Type field.
Number of Rows The number of rows anticipated for the grammar.
For each caller response to be defined for
recognition, you must define a row in the grammar
table. For more information, see Static grammar
table rows on page 246
Note:
The Number of Rows field is available only if
you select Static in the Type field and Custom
in the Style field.
Table continues…
Name Description
Number of Columns The number of columns anticipated for the
grammar.
Each column in a static grammar table represents a
potential system response to a caller utterance. For
more information, see Static grammar table
columns on page 247.
Note:
The Number of Columns field is available
only if you create a grammar file for a speech
application. This is because message
applications support only single-slot SRGS
literal grammars.
If you create a grammar file for a speech
application, the Number of Columns field is
available only if you select Static in the Type
field and Custom in the Style field.
Open file for editing when done Check box to automatically open the grammar file
editor after creating the grammar file.
For more information, see Editing a grammar file on
page 243.
Note:
The Open file for editing when done check
box is available only if you select either Static
or External in the Type field.
Generate sample grammar Check box to automatically create a sample
grammar as a starting point to help you define the
grammar.
Note:
The Generate sample grammar check box is
available only if you select Static in the Type
field and Custom in the Style field.
Procedure
1. Perform one of the following actions:
• Create a grammar file using the New Grammar wizard.
For more information, see Creating a grammar file on page 239.
In the New Grammar wizard, if you select the grammar Type as Dynamic or if you
select the Open file for editing when done check box, and then click Finish, the
system automatically opens the Grammar File Editor.
• In the Navigator view or in the Avaya OD Navigator view, double-click the *.gram* file
that you want to edit. The grammar file extension depends on the type of grammar. For
more information about grammar types and extensions, see New Grammar wizard:
Create a Grammar page field descriptions on page 240.
After you open a grammar file, the system opens the editor depending upon the type of
grammar that you edit.
2. Modify the grammar file in the grammar file editor.
With the added support for Google ASR, static grammars for this ASR cannot be created using the
grammar editor. When a grammar file is created using the wizard, an ASR specific file for Google
is also generated automatically in the data/<language>/grammars folder. You must open the file
in the text editor and fill the content that works for Google ASR.
For information about editing in the static grammar file editor, see the following sections:
• Static grammar table rows on page 246
• Static grammar table columns on page 247
• Tags on page 249
• Setting static grammar entry properties on page 251
Note:
The rows that are created but not populated contain a single hyphen (-) in each cell.
5. To add a row before the cell that you select, on the main toolbar, click Add a new
grammar row before selection.
To add a row after the cell that you select, on the main toolbar, click Add a new grammar
row after selection.
You must add a row for each grammar entry that you want to define.
Tip:
Press Enter to add a row to the grammar table. The system adds the row after the
last row.
Note:
You must type the keyword filler in the first row of the column. After you enter the
keyword filler in the first row, you cannot create entries in any other cell of that
column. Orchestration Designer displays FILLER in the first cell of the column and clears
the contents of any other cells in that column.
Caution:
Exercise caution when using this option. When you use the filler keyword, you
instruct the system to expect irrelevant speech before a recognizable utterance. If the
caller does not utter any irrelevant speech, the system can fail to recognize the valid
utterance because it expects to receive irrelevant speech first.
• Collects multiple responses with a single grammar.
Each new column represents another utterance to which the system can respond. If you have
multiple columns of entries, the speech application expects a caller response that matches
an entry in each column. For this reason, exercise caution when creating a grammar with
multiple columns. Ensure that your callers provide enough responses to satisfy the
expectations of each expected input column.
For example, if you have one column that lists five food items and another column that lists
five drinks, the system then expects the caller to order a food item and a drink. If the caller
does not order both, the system treats it as a No Match situation and responds accordingly.
• Reuses the contents of one column to recognize a second input.
If you want to offer the caller a chance to provide two responses from the same list, you can
create a column that refers to another column. For example, you offer the following list of
food items from which the caller can order:
- Hamburger
- Cheeseburger
- French fries
- Onion rings
- Salad
If you offer this list in only one column, the caller can order only one item. If you want to
offer the caller a chance to order two items at one time, you can create a second column
that refers to the first column.
To do this, in the first row of the column that you want to use to refer to another column,
type the percent symbol (%) followed by the name of the column from which you want to
allow another chance to select. For example, if the column name is Column0, then type
%Column0.
Note:
You must type the percent symbol and the column name that you want to refer in the
first row of the column. After you type the percent symbol and the column name in the
first row, you cannot create entries in any other cell in that column. Orchestration
Designer clears the contents of any other cells in that column.
4. In the static grammar file editor, click an active cell in the grammar table.
5. To add a column before the column that you select, on the main toolbar, click Add a
grammar column before selection.
To add a column after the column that you select, on the main toolbar, click Add a
grammar column after selection.
Tags
The W3C Speech Recognition Grammar Specification (SRGS) version 1.0 recommends the use
of tags with grammar entries. Although tags are optional, you can use tags to greatly simplify the
recognition of spoken responses and inbound message, especially when you create multilingual
applications.
For example, in a speech application, even when you want the caller to respond a simple “yes” or
“no,” the actual caller responses might include “yeah,” “OK,” “yep,” and “sure” instead of “yes.”
Similarly, negative responses might include “nah,” “nope,” or “uh-uh” instead of “no.”
You can use a single tag, “YES,” to assign the same value to all the possible affirmative
responses. You can also use a single tag, “NO,” for all the possible negative responses.
At run time, when the ASR server receives a spoken response or when the text-processing
system receives an inbound message, the ASR server or the text-processing system returns the
tag as the interpretation and value for the input fields. This means that the speech application or
message application does not have to identify all of several different returns to determine the next
step. Instead, the speech application or message application has to identify only one single return
to determine the next step.
The use of tags can be particularly helpful when you want to create multilingual applications. You
can accept second-language responses, tag them with the same tag as those in the first
language, and route the call flow or message flow appropriately. For example, in addition to all the
English responses tagged as “YES” in the earlier example, you can also take the equivalent
responses of “ja,” “ja wohl,” “klar,” “klar doch,” “todsicher,” and so on, and tag them to return the
value of “YES.”
Tags facilitate the ability to use the returned interpretation to further direct the inbound call or
message because tags make it easier to branch or determine the direction of the speech and
message applications. This is because you need to map only one response, in this example
“YES,” instead of having to map multiple responses, one for each alternate possibility.
You can set the background and foreground color for the tags that you apply to your grammar
entries. You can also set the color for the tag values and cursor. For more information, see
Configuring the settings for grammar tags on page 546.
Note:
The system displays the tags that are associated with the grammar entry in the
grammar file editor only if you select the Show tags in editor check box in Grammar
preferences. If you clear the Show tags in editor check box, then the system displays
the associated tag in the grammar editor only if you click the cell that contains the tag.
For more information, see Configuring the settings for grammar tags on page 546.
5. Perform one of the following actions:
a. To create a new tag, highlight the default text TAG and type the tag text that you want.
b. To select an existing tag, in the TAG list, click the tag that you want to assign to the
grammar entry.
Note:
You can view and select a tag from the TAG list only if you have already created one or
more tags.
In the example mentioned in Tags on page 249, to tag all the affirmative responses as
“yes,” assign a new tag, yes, to one entry in the grammar table by typing yes in the TAG
field. In the remaining entries, select yes from the TAG list.
Note:
The Weight property is available in a static
grammar entry of a speech application only.
Table continues…
Name Description
Repeat The number of times you expect that this entry
might be repeated before anything in the next
column.
For example, you have a grammar for which a caller
can order a pizza. When ordering, you expect that
the caller might say “pizza,” “a large pizza,” or “a
very large pizza.” Because you do not know
whether or not the caller will say “large” or “very
large,” you specify “large” and “very large” entries
as possibilities in column 1. You then assign a
Repeat value of 0-1 to both entries. In the second
column, you specify a single entry, “pizza.”
A repeat value of 0- indicates that an item might be
repeated zero times, once, or any number of
multiple times. A repeat value of -1 indicates that an
item might be repeated once or any number of
multiple times.
The default for this property is -1, which means that
this property is not applied at all.
Note:
The Repeat property is available in a static
grammar entry of a speech application only.
Table continues…
Name Description
Repeat Probability The repeat probability.
This property indicates how likely it is that this
column will be part of the utterance.
A value of 1.0 in this field indicates an
overwhelming probability that the item will be
uttered.
A value of 0.0 in this field indicates an
overwhelming probability that the item will not be
uttered.
For example, if you think there is a good chance
that the item will be uttered, you can type 0.75 in
this field to alert the recognizer that it is likely to
encounter this item.
The valid range for this property is 0.0 through 1.0,
or -1. The default for this property is -1, which
means that this property is not applied at all.
Note:
The Repeat Probability property is available
in a static grammar entry of a speech
application only.
Because an external grammar is not created by using Orchestration Designer and does not reside
within the Orchestration Designer environment, if you use an external grammar in your
Orchestration Designer speech application, you must specify the location and the type of the
grammar.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, double-click the speech project
that contains the external grammar file for which you want to edit the access properties.
2. Double-click <language name> > grammars.
3. Double-click the *.gram* external grammar file for which you want to edit the access
properties.
4. In the grammar file editor of the external grammar, modify the access properties of the
external grammar file.
Name Description
URI The name and port number, in URL format, of the
application server on which the external grammar
resides. The name and port number information
must be in the following format [Link]
where:
• localhost is the IP address or fully qualified
domain name of the application server on which
the external grammar resides.
• nnnn is the port number that the Orchestration
Designer speech application must use to gain
access to the external grammar.
The default URI is [Link]
Table continues…
Name Description
Media Type An Internet mail extension (MIME) type. Enter the
media type of the external grammar.
To specify another media type, see the
documentation of your ASR server for the
appropriate media type, and type the media type in
this field.
Note:
Currently, Orchestration Designer has only one
predefined media type: application/srgs+xml.
This media type supports the SRGS
specification. For Google Speech, media type
is application/avaya-ep-csr.
Do not encode query string on URI. Must Select if you do not want the Orchestration
override getURL() in the generated java class Designer runtime to encode any query string on the
file and provide your own encoding external grammar URI. If you select this check box,
you must override the getURL() method in the
generated Java class file, and add a custom
encoding of the query string. If you fail to do this,
the voice browser or the text browser gives an
[Link] error.
Test To test and reference the grammar from the
designated application server and display it on a
Web page. Be sure that the designated application
server is running.
Note:
The Test button does not work when you use
parameter substitution for the external variable.
For example, %DDVAR_<variablename>%;
%runtime_Platform%; %runtime_ASR%.
Table continues…
Name Description
Column/Slots Names You can define column names/slots in the external
grammar file. When you use the external grammar
file in a Grammar item, the system creates a
complex variable that contains additional fields for
the column names/slots that you have defined in the
external grammar file, along with the standard
confidence, inputmode, interpretation,
noinputcount, nomatchcount, utterance, and
value fields.
If you do not specify column names/slots, then the
grammar interpretation returns the standard
interpretations, which are, confidence, inputmode,
interpretation, noinputcount, nomatchcount,
utterance, and value.
You can use Add and Delete to add and delete
column/slot names.
You can use Move Up and Move Down to manage
the grammar data in the Column/Slots Names box.
You must define the ORDERNUM and PRICE slots so that the Orchestration Designer runtime
extracts these properties and stores them correctly. If you do not set the “cxtag” explicitly, the
Orchestration Designer runtime iterates over the interpretation and sets the “value” field to the
concatenation of all the properties in the interpretation. With no “cxtag”, the “value” field contains
both ORDERNUM and PRICE in it. If you add <tag>cxtag=PRICE;</tag> to your grammar, then
the “value” field contains PRICE.
If you do not want to add the “cxtag” tag, then do not use the “value” field.
If you do not want the Orchestration Designer runtime to encode any query string on the external
grammar URI, then select the Do not encode query string on URI. Must override getURL() in
the generated java class file and provide your own encoding check box in the external
grammar file. For more information, see Editing external grammar access properties on page 255.
If you select the Do not encode query string on URI. Must override getURL() in the generated
java class file and provide your own encoding check box, you must override the getURL()
method in the generated Java class file, and add a custom encoding of the query string. If you fail
to do this, the voice browser or text browser gives an [Link] error.
Note:
Do not allow callers to use a leading zero (0) with this option because
the interpreter might interpret this as an octal number.
digits English Valid spoken or DTMF inputs include one or more digits, 0 through 9. The
result is a string of digits.
Japanese
You must define a digit length for the expected DTMF key presses. For
Chinese
more information, see Defining a digit length for DTMF or spoken input in a
built-in grammar file of a speech application on page 261.
currency English Valid spoken inputs include phrases that specify a currency amount.
For DTMF input, the star key (*) acts as the decimal point. The result is a
string in the [Link] format, where UUU is the three character
currency code according to ISO 4217 standard, mm is the integer part of
the currency, and nn is the fractional part of the currency. If a caller does
not specify the currency or if the currency cannot be reliably determined,
then the system uses the default currency code of the speech project
language that you specify. For more information, see Project languages on
page 270.
date English Valid spoken inputs include phrases that specify a date, including a month,
day, and year.
DTMF inputs are four digits for the year followed by two digits for the
month and two digits for the day. The result is a fixed-length date string
with yyyymmdd format, such as “20000704”. If the year is not specified,
yyyy is returned as “????”. If the month is not specified, mm is returned as
“??”. If the day is not specified, dd is returned as “??”.
Table continues…
Defining a digit length for DTMF or spoken input in a built-in grammar file
of a speech application
About this task
The valid spoken or DTMF inputs include one or more digits, 0 through 9. The result is a string of
digits.
You must define a digit length for the expected DTMF key presses in the built-in DTMF grammar
file of a speech application.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, double-click the speech project
that contains the *.gram* built-in DTMF or voice grammar file in which you want to edit
the digit length of the DTMF key presses or spoken input.
2. Double-click <language name> > grammars.
3. Double-click the *.gram* built-in DTMF or voice grammar file in which you want to edit
the digit length of the DTMF key presses or spoken input.
4. In the Type field, click digits.
5. Perform one of the following actions:
Click the button next to the Min Len field to specify a range of number of the DTMF key
presses or spoken input, and then perform the following actions:
• In the Min Len field, type the minimum number of DTMF key presses or spoken input for
a match.
• In the Max Len field, type the maximum number of DTMF key presses or spoken input
for a match.
Click the button next to the Exact Length field to specify an exact number of key presses
or spoken input.
b. In the Max Len field, type the maximum number of digits that you expect in the
inbound message.
• Select the button next to the Exact Length field to specify the exact number of digits
that you expect in the inbound message, and then perform the following action:
In the Exact Length field, type the exact number of digits that you expect in the
inbound message.
• Select the button next to Implied Length to collect digits based on the default separator
characters. The system collects digits from the inbound message until it encounters a
tab, a return, a newline, a formfeed, or a space separator character in the inbound
message. The system similarly processes the rest of the text in the inbound message.
Note:
You can use characters such as semicolon (;), slash (/), underscore (_), and dollar sign
($) in between the separator characters if you want to specify more than one separator
character.
Use a separator character that would not conflict with the characters in the inbound
SMS or email message. For example, pipe symbol (|).
If you do not specify separator characters, the system creates tokens based on the
default separators, which are tab, return, newline, formfeed, and space. To use tab,
return, newline, and formfeed as separators, you must use \t, \r, \n and \f.
test13|dtmf|builtin|currency
The columns for the options, after the “subtype” column in the delimited grammar file, are optional.
Localization
Localization is the process of adapting an Orchestration Designer project for use with other
languages so that the project can be used in different locales around the world.
To facilitate the localization of the Orchestration Designer projects, Avaya has designed
Orchestration Designer to separate language-related functions and components from the logic
related functions and components. You can create a single application by using a single flow and
its corresponding business logic. You can then easily and quickly adapt the application for use with
other languages.
Web applications automatically detect the language settings of the users' web browser, and
present the localized text of the language to the web browser.
Note:
You can install and use ASR languages only in speech applications.
For more information, see Automated speech recognition languages on page 277.
• Text-to-Speech (TTS) languages: TTS languages are not installed as part of the
Orchestration Designer software. The TTS languages available to you depend on what
languages are installed and are available on your TTS server. When you add a TTS
language to Orchestration Designer, you must ensure that the language exists on the TTS
server, otherwise you might get unpredictable results with TTS requests.
Note:
You can install and use TTS languages only in speech applications.
For more information, see Text-to-speech languages on page 279.
• Localization bundle languages: Language localization bundles are packaged with
Orchestration Designer, but not installed automatically during initial installation and
configuration. If you need a localization bundle for your speech project, you can install it.
The current release of Orchestration Designer includes the U.S. English language
localization bundle.
You can obtain and install additional localization bundles as they become available. To
receive updated information about the availability of localization bundles, contact your Avaya
service representative or visit [Link].
Note:
You can install and use localization bundles only in speech applications.
For more information, see Localization bundles on page 282.
prompt files from the language directory on which you are basing the new package, into the new
directory. This makes it easier to identify and translate all the grammars, phrases, and prompts to
the new language.
Tip:
If you want to run an application in two different languages, you should complete the first
language version of the project before adding a second project language. This ensures that all
the required grammars, phrases, and prompts are copied into the new language directory.
Important:
To ensure that the call flow and the message flow use the prompt and grammar resources, do
not move or rename the prompt and grammar files. Be sure that each project language has
the same number of prompt and grammar resource files with the same file names.
For example, you have a speech project that is based on U.S. English and you want to localize the
speech project for Canadian French. The first step after finishing the speech project application is
to add a project language for Canadian French. For more information, see Adding a project
language on page 271.
After adding the project language, you must go through all the grammars, phrases, and prompts in
the Canadian French language resource directory and translate them from English to French. If
you are using audio variables in the speech project, you must install the localization bundle for
Canadian French. For more information, see Installing a localization bundle on page 283.
As the last step, you must instruct Orchestration Designer to use the Canadian French language
resources instead of the English resources. For more information, see Changing the project
default language on page 275.
Note:
When you install standard phrases in a speech project, the system copies the
phrasesets and optionally the audio files to your speech project. If you want to use the
audio files that are stored on an external server, you must configure the phraseset to
reference the external audio file location.
7. Click OK.
The system displays the project language that you add in the Project Languages area on
the Languages tab in the Properties for <project name> dialog box.
Note:
The Language ID field is available only if you
add the project language for a message flow
project or a web flow project.
ASR Language The ASR language that you want to use with the
project language. Usually, the ASR language is the
same as the default project language.
You must select an ASR language for your speech
project even if your speech project does not use an
ASR language.
Note:
The ASR Language field is available only if
you add the project language for a speech
project.
Table continues…
Name Description
TTS Language The TTS language that you want to use with the
project language. Usually, the TTS language is the
same as the default project language.
You must select a TTS language for your speech
project even if your speech project does not use a
TTS language.
Note:
The TTS Language field is available only if
you add the project language for a speech
project.
Localization Language The localization bundle that you want to use with
the project language. Usually, the localization
language is the same as the default project
language.
You must select a localization bundle for your
speech project even if your speech project does not
use a localization bundle.
Note:
The Localization Language field is available
only if you add the project language for a
speech project.
Localization Bundle Options
Note:
The Localization Bundle Options area is available only if you add the project language for a
speech project.
Standard Phrases Install to install the standard phrase audio files that
are associated with the localization bundle.
Uninstall to uninstall the installed standard phrase
audio files that are associated with the localization
bundle.
Note:
The Standard Phrases field is available only if
you add the project language for a speech
project.
Table continues…
Name Description
Use standard phrases on an external server Check box to use the standard phrase audio files
that are stored on an external server. If you select
this check box, the system does not install the
standard phrase audio files that are associated with
the localization bundle in your speech project.
If you select this check box, then in the phraseset
file, you must select External, and in the URL base
field, type the URL base where the audio files are
located. For more information, see Specifying the
phrase audio file location on page 166.
Note:
The Use standard phrases on an external
server check box is available only if you add
the project language for a speech project.
Note:
When you install standard phrases in a speech project, the system copies the
phrasesets and optionally the audio files to the speech project. If you want to use the
audio files that are stored on an external server, you must configure the phraseset to
reference the external audio file location.
8. Click OK.
Name Description
Language Name The name of the project language. This field is read
only.
ASR Language The ASR language that you want to use with the
project language. Usually, the ASR language is the
same as the default project language.
TTS Language The TTS language that you want to use with the
project language. Usually, the TTS language is the
same as the default project language.
Localization Language The localization bundle that you want to use with
the project language. Usually, the localization
language is the same as the default project
language.
Localization Bundle Options
Standard phrases Install to install the standard phrase audio files that
are associated with the localization bundle.
Uninstall to uninstall the installed standard phrase
audio files that are associated with the localization
bundle.
Use standard phrases on an external server Check box to use the standard phrase audio files
that are stored on an external server. If you select
this check box, the system does not install the
standard phrase audio files that are associated with
the localization bundle in your speech project.
If you select this check box, then in the phraseset
file, you must select External, and in the URL base
field, type the URL base where the audio files are
located. For more information, see Specifying the
phrase audio file location on page 166.
You can also create a multilingual application by changing the language within the application at
run time. For more information, see Changing the language within an application at run time on
page 276.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, click the speech, or message
flow, or web project for which you want to change the default language.
2. On the Project menu, click Properties.
The system displays the Properties for <project name> dialog box.
3. In the left pane, click Orchestration Designer.
4. Click the Languages tab.
5. In the Starting Language field, click the language that you want to use as the default
language for the project.
6. Click Apply and Close.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, click the speech or message flow
or web project from which you want to delete a project language.
2. On the Project menu, click Properties.
The system displays the Properties for <project name> dialog box.
3. In the left pane, click Orchestration Designer.
4. Click the Languages tab.
5. In the Project Languages area, click the project language that you want to delete.
6. Click Delete.
The system deletes the project language that you select, including the language directory
and all associated language resources.
Note:
The Delete button is unavailable if the speech or message flow or web project contains
only one project language.
Procedure
1. On the Window menu, click Preferences
The system displays the Preferences dialog box.
2. In the left pane, double-click Avaya > Orchestration Designer.
3. Click Languages.
The right pane of the Preferences dialog box displays the Languages options.
4. In the Automated Speech Recognition area, click Add.
The system displays the Add Automated Speech Recognition (ASR) Language dialog box.
5. In the field, type the code of the ASR language that you want to add.
The code that you specify must be in the “ll-cc ” format, where ll represents the two-
character language code, and cc represents the two-character country code. For example,
the code for U.S. English is en-us and the code for UK English is en-uk.
Note:
The ASR language code that you specify must match exactly the ASR language code
of the language that is installed on the ASR server. Otherwise, the system cannot
process the ASR requests that use this language.
For a complete list of the two-letter country codes supported by the International
Organization for Standardization (ISO 3166), see the ISO Web site countries list.
For a complete list of the two-letter language codes supported by ISO 639-1, see the ISO
Web site languages list.
6. Click OK.
7. In the Preferences dialog box, click Apply.
7. In the ASR Language field, click the ASR language that you want to use.
8. Click OK.
9. In the Properties for <project name> dialog box, click Apply and Close.
on the designated TTS server. This means that you must know which languages are installed and
are available on your TTS server.
By default, Orchestration Designer speech projects use U.S. English (en-us) as the TTS
language. You can, however, change the default TTS language.
Note:
The TTS language code that you specify must match exactly the TTS language code
of the language that is installed on the TTS server. Otherwise, the system cannot
process the TTS requests that use this language.
For a complete list of the two-letter country codes supported by the International
Organization for Standardization (ISO 3166), see the ISO Web site countries.
For a complete list of the two-letter language codes supported by ISO 639-1, see the ISO
Web site languages list.
6. Click OK.
7. In the Preferences dialog box, click Apply.
Procedure
1. On the Window menu, click Preferences.
The system displays the Preferences dialog box.
2. In the left pane, double-click Avaya > Orchestration Designer.
3. Click Languages.
The right pane of the Preferences dialog box displays the Languages options.
4. In the Audio Localization Packages area, click Add.
The system displays the Browse for localization package dialog box.
5. Locate the localization bundle JAR file you want to add and click Open.
Orchestration Designer automatically adds the localization bundle to the workbench
environment. The new localization bundle is displayed in the Audio Localization
Packages list.
6. In the Preferences dialog box, click Apply.
Note:
Verify that the Installed column shows a status of true for the selected localization
bundle. If the status is false, the Uninstall button is disabled.
6. Click Uninstall.
The Installed column status for the localization bundle changes to false.
7. Click Apply and Close.
Procedure
1. On the Window menu, click Preferences.
The system displays the Preferences dialog box.
2. In the left pane, double-click Avaya > Orchestration Designer .
3. Click Languages.
The right pane of the Preferences dialog box displays the Languages options.
4. In the Audio Localization Packages area, select the localization bundle that you want to
delete.
5. Click Delete.
Orchestration Designer displays a Question dialog box that asks you to confirm the
deletion.
6. To confirm the deletion, click OK.
The system displays a Warning dialog box that informs you that removing the localization
bundle can invalidate projects.
7. To confirm the deletion and remove the localization bundle, click Yes.
8. In the Preferences dialog box, click Apply.
5. In the Project Languages area, click the language for which you want to install the
standard phrases.
6. Click Edit. The system displays the Project Language dialog box.
7. Click the cascading icon adjacent to Localization Bundle Options to display standard
phrases installed (or not installed). Perform the following actions:
a. In the Standard Phrases field, click Install to install the standard phrase audio files
that are associated with the localization bundle.
To uninstall the installed standard phrase audio files that are associated with the
localization bundle, click Uninstall.
b. Click the Use standard phrases on an external server check box to use the
standard phrase audio files that are stored on an external server. If you select this
check box, the system does not install the standard phrase audio files that are
associated with the localization bundle in your speech project.
If you select this check box, then in the phraseset file, you must select External, and
in the URL base field, type the URL base where the audio files are located. For more
information, see Specifying the phrase audio file location on page 166.
8. Click OK.
Orchestration Designer copies the files based on the specified localization bundle options
to the appropriate resource directories.
Database operations
Within Orchestration Designer, databases can be used in call flows and message flows . For
example, during a call, a user wants to know the current status of an account, status of which is
maintained within an SQL database. A call flow or message flow can be written to query the
database for the account information of the user, including current status. Then this information
can be assigned to audio or text variables to send the information back to the user.
Orchestration Designer uses database operation files to perform these database operations. To
use database operation files, a database operation file must first be created and defined. Before
creating a database operation file, however, one or more data sources in which to perform the
operations must be configured. After the database operation file has been created and defined, it
can be used within a Data node in a call flow or message flow application.
Note:
The data source name is used only within
Orchestration Designer.
Driver Class Name The name of the driver class to use with this data
source. For example, [Link]
Note:
The WAR file for Tomcat contains the context
file that is automatically deployed in the Tomcat
directory for the application. Tomcat uses this
context file to create and manage data source
connections. To modify the data source
information, such as the driver class and URL
without going through the design environment,
go directly into this context file.
The file exists in the <Tomcat_Home>\conf
\Catalina\localhost\ directory with the
<application_name>.xml naming. To modify
the driver class or URL, locate the Resource
element which has the corresponding data
source in its dataSourceName attribute, and
change the URL or driver attribute of the same
element. See [Link]
dbcp/[Link] for more details on
DBCP configurations.
Table continues…
Name Description
Connection URL The URL to the data source. For example,
jdbc:oracle:thin:@[Link]:1521:orcl
This URL can be either external to the local system
or somewhere on the local system. For more
information about what to enter in this field, see the
documentation for your database software.
Username A login user ID.
Password A login password. For more information about what
to enter in these fields, see the documentation for
your database software.
Note:
You cannot edit the data source name.
9. Click OK.
Note:
The Data Sources dialog box contains a list of data sources defined in the Database
Configuration pane.
9. Click a data source for failover, and then click OK.
Note:
To designate more than one data source as failover data source, repeat steps 7 and 8.
To set priority for the data sources that are used as failovers, in the Failover Path
dialog box, select the failover data source, and then click Up or Down as necessary.
10. In the Failover Path dialog box, click OK.
Note:
If you try to create a database operation before data sources are configured,
Orchestration Designer displays an error message. To configure data sources, see Data
source management on page 287.
Note:
If you select the operation type as Delete on the Create a Database Operation page,
the system does not display the Select Data Objects page.
6. Click Next.
7. On the Map to Variables page, map the columns and parameters to the variables.
8. Click Finish.
The system creates the database operation file and stores it in the following directory:
<ProjectName>\connectivity\dboperations. A suffix of .dbop is assigned to the
new database operation file.
Name Description
Operation The type of operation you want to perform. Options
include:
• Add: Takes the values of selected variables in
Orchestration Designer and creates a record in
the database, populating the columns with the
variable values.
• Delete: Deletes designated records from the
database.
• Execute: Runs a procedure previously stored in
the database.
• Query: Retrieves the values of selected records
in a database and assigns the values to variables
in Orchestration Designer.
• Update: Updates the values of selected records
in the database with new values from selected
variables in Orchestration Designer.
File name Name identifying the database operation that
describes the function of the database operation.
For example, you can name an operation to query a
database for the account status of a caller as
QueryAcctStatus.
Note:
Database operation file names must follow
Java naming conventions (see Conventions for
naming Java components on page 59).
Open file for editing Check box to automatically open the Database
Operation File Editor after you create the file by
using the wizard.
After you create a database operation file by using
the Database Operation wizard, you must further
define and set parameters for the database
operation by using the Database Operation File
Editor.
• Map parameters in the data source to variables. When the Operation type is Query, this
mapping determines which records are retrieved from the database, the values of which the
query operation stores in the mapped variables.
• Map parameter of Array data type in a data source to a SQL type name.
To prevent the system from automatically creating variables and mapping the variables to the
columns or parameter in the data source, you must create custom variables to map to before
attempting to map any variables in the Database Operation Wizard. For information about creating
custom variables, see Creating a variable on page 224.
The following table describes the options available in the Map to Variables page.
Field Description Operation
Column Name The columns that will perform the operation. Add
Query
Update
Column Type Displays the database type for each column. This type helps Add
determine what type of variable to use.
Query
The database vendor defines the types for columns. For
Update
more information about the types, see your database
documentation.
Parameter Name Displays the parameter names for inputs that the stored Execute
procedure expects to receive.
Parameter Type Displays the type of the expected input parameter. Execute
Variable Name The variable to map the column or parameter to. If the Add
variable is a complex variable, select a Variable Name.
Query
If a variable is selected, the Auto Create option is not
Update
available.
Execute
Variable Field If the variable selected in the Variable Name field is a Add
complex variable, select a field to map the column or
Query
parameter.
Update
Execute
Auto Create This option automatically creates and names a variable to Add
map the column or parameter to. If selected, the Variable
Query
Name and Variable Field fields are disabled.
Update
Execute
Creating one This option creates a complex variable with a field for each Add
complex variable for column, which helps keep variables used in the database
Query
all the columns operation grouped together. If this option is not selected, a
simple variable will be created for each column. Update
Execute
Table continues…
4. In the Variable Name field, click the variable to map to the corresponding column name or
parameter.
5. If the variable is a complex variable, then in the Variable Field field, click the complex
variable field to map to the corresponding column name or parameter.
Note:
Not all of the following information is displayed for all operation types. A Delete operation
displays only the first four types. Other exceptions are as noted in the field descriptions.
Name Description
Datasource name Displays the name of the data source as it appears
in Orchestration Designer.
Operation Displays the type of operation this file performs. For
more information about operation types, see New
Database Operation wizard: Create a Database
Operation page field descriptions on page 292.
Distinct select (Query operations only) Return only one record for
all the records that have the same data in the
returned columns.
Table name Displays the name of the table in which the
database operation is to operate.
Type Displays whether the database operation performs
within a table or executes a procedure.
• Query - creating a select statement on a table
• Add - creating an insert statement on a table.
• Delete - creating a delete statement on a table.
• Execute - create an execute statement to execute
a procedure.
Column Name (Not in Execute operations - Display only) Displays
the name of the column in which the operation is to
be performed.
Parameter Name (Execute operations only- Display only) Displays
the names of all input and output parameters used
by the stored procedure.
Parameter Type (Execute operations only- Display only) Displays
the type associated with each input and output
parameter used by the stored procedure.
Data Type Displays what type of data is contained within the
column or parameter.
Note:
This type helps determine what type of variable
to use.
Variable Name Displays the name of the variable currently mapped
to this column or parameter. For information about
remapping variables, see Remapping variables to
columns in a database operation file on page 295.
Table continues…
Name Description
Variable Field Displays the name of the field associated with the
variable if the variable selected in the Variable
Name field is a complex variable.
Order By (Query operations only) Displays order selections
for the results to be returned. For more information
about this field, see Determining the order for the
query return results on page 296.
... button Changes a data source name. If the data source
does not match the database schema, there will be
runtime errors.
Add Adds data objects to the database operation file.
On clicking, the system displays a dialog box with a
list of data objects that you can select from, which
comes from the same data source defined in the
operation.
Remove Removes the selected column.
Note:
By right-clicking in the grid, a Copy option is available for copying selected rows into Notepad.
Following are the examples of supported SQL database operations. With the combination of these
supported operations, the database data can be easily manipulated without the need for an
external tool.
• Example SQL Select query on page 299
• Example SQL Insert query on page 299
• Example SQL Delete query on page 300
• Example SQL Update query on page 300
• Example stored procedures SQL query on page 300
Name Description
SQL Query Query code to be sent to the SQL server when the
database operation file is executed.
Execute To test the SQL query. The system returns the
query results in the grid below the button. The result
grid displays columns that match the select
statement.
Criteria Input The values by plugging in different values for
variables (through simple or compound logic
defined on the Predicate tab.
<Bottom grid> The query results.
FROM [Link]
( Cust_ID, First_Name, Last_Name )
VALUES( $[AddCustomerSQL:Cust_ID], $[AddCustomerSQL:First_Name], $
[AddCustomerSQL:Last_Name} )
Cust_ID: 3
First_Name: Jackie
Last_Name: Snow
Click Execute and the results grid indicates the number of rows added (1, in this example).
UPDATE [Link]
SET First_Name = ${UpdateCustomerSQL:First_Name}
WHERE ( Customer, Cust_ID = ${CustomerSQL:Cust_ID} )
Tom
Click Execute and the results grid indicates the result of the query.
Example:
Events
In the context of Orchestration Designer, the term event refers to an abnormal or unexpected
situation which occurs during application run time. These can include error situations, for example,
when the application tries to retrieve a speech or message resource that is unavailable. Events
can also occur when users do not respond as expected, either with responses for which the
system cannot find a match or by not responding at all. In a speech application, an event can
occur when callers do not respond as expected. For example, no response or response for which
the system cannot find a match.
In a message application, an event can occur when the incoming message does not find an
appropriate message application to handover the inbound text message.
The W3C VoiceXML Specification and Orchestration Designer both include a number of built-in
event types that any VoiceXML or textXML-compliant server can recognize and handle.
Orchestration Designer makes it easy for you to create your own custom event types to use in
your applications.
In general, when an Orchestration Designer speech application or message application
encounters a situation to which it does not know how to respond, or which meets predefined
conditions, then Orchestration Designerthrows an event. The Avaya Application Simulator then
searches to locate the appropriate event handler to handle, or “catch,” the event. When
Orchestration Designer locates the appropriate event handler, it responds according to the
instructions provided in the event handler.
• In an item within a node: Event handlers attached to node items within a node act as field-
level event handlers. These event handlers are active and ready to handle events that occur
only within the item to which they are attached.
Event handlers at a lower level take priority over event handlers at a higher level. For example,
you have an event handler for No Match events at the field level, and you have another event
handler for No Match items in the AppRoot node. If a No Match event occurs at the field level, the
event handler at the field level takes precedence over the event handler in the AppRoot node.
Note:
The No Input and No Match events are available for both speech and message
applications. However, the [Link], [Link], and Internal Error events are
specific only to message applications.
• Custom events are events that you define and create handlers for within your Orchestration
Designer speech applications.
For more information about creating and handling custom events, see Custom events on
page 307.
If you do not use these event handlers anywhere, Orchestration Designer still employs them on a
global basis to handle these types of events with a built-in default response. Use these node items
when you want to override the default response or customize the event handling for these types.
In addition, Orchestration Designer has built-in event handlers for maxspeechtimeout and
[Link] events, as required by the VoiceXML 2.0 recommendation.
For more information about using built-in events, see Event handling process in applications on
page 308.
Custom events
Custom events are events that you define and create handlers for within your Orchestration
Designer speech or message applications. These events can be assigned any name. For
example, “[Link]”. The W3C VoiceXML 2.0 Specification defines various event
and error events.
For example, you create an event handler to handle a situation in which the account balance for a
user is below a certain amount. In this case, there can be a node of the call flow or message flow
in which the account balance is retrieved from a database, and the balance is assigned to a
variable. You can use a Data node to compare the balance with a set amount, and if the balance
is less than that amount, the node operation can then throw a custom event called BalanceLow.
You can then use a Catch event in the AppRoot to handle this event when it is thrown from
anywhere in the application. Several nodes can throw this particular event. You can then set up
the Catch event to transfer the caller to a live agent to talk about the account balance and offer
overdraft protection services.
Note:
When catching errors, only catch individual specific errors and do not use a “catch all” such as
“error.*” or “.”. Catching an error and taking inappropriate actions can lead to unpredictable
results.
Use the Event Types Editor to create custom event types. For more information, see Creating a
custom event on page 309.
After the event type is created, you can use it in your applications by throwing the event when the
situation or condition is met and then catching it elsewhere in the application. For more information
about this practice, see Event handling process in applications on page 308.
By default, Catch <*> will catch all exceptions. Catch can also be used to catch specific exception
types for handling specific errors differently. Comma separated exception types can also be
specified for catching different exception types, but handling them in the same way.
List of common exceptions are provided in the Properties view. Currently this list contains:
• SQLException
• IOException
• SCERuntimeException
A new variable caller ddLastException automatically captures the exception caught by a Catch
item (includes the following data members: errorcode, message, object, stacktrace, and type).
Following is an example of the Try/Catch mechanism.
Web services
The term Web services can be defined as a standardized way of integrating Web-based
applications. These Web services use technologies such as XML (Extensible Markup Language),
SOAP (Simple Object Access Protocol), WSDL (Web services Description Language), and UDDI
(Universal Description, Discovery, and Integration). Generally, Web services use these
technologies as follows:
• XML to tag the data
• SOAP to transfer the data
• WSDL to describe, in standard terms, the services available
• UDDI to list what services are available
For example, a Web service can be created to:
• Look up and return the current value of stocks
• Look up and return the weather forecast for various cities
• Book flight or car rental reservations
In short, Web services, like other forms of software, can be created to perform a wide range and
variety of functions.
With Orchestration Designer, Web services can be employed within speech, call control, and
message flow projects. A Web Service Operation wizard is used to create and define a Web
service operation file. This file can be viewed or edited later (for example, to view settings and
remap variables) using the Web Service Operation File Editor. You can use the Web service
operation file within a speech, call control, or message application.
You can create three types of Web service operation files:
• Web Service Operation File: To create Web service operation files based on Axis 1.4. The
Axis 1.4 Web service connector is shipped with Orchestration Designer 7.0.1 and above.
• Web Service Operation File (Axis2): To create a Web service operation files based on Axis
2. Axis2 Web service connector is available with Orchestration Designer 7.0.1 and above.
Avaya recommends that you use the Axis2 connector for development.
Important:
When selecting a Web service, do not select a service that uses overloading of
operations. Overloading of operations is not supported in the SOAP 1.2 standard and is
known to cause problems.
Note:
Axis ships with the Tcpmon tool for monitoring HTTP traffic. Avaya recommends that you
use the Tcpmon tool to debug Web services. Documentation on how to use Tcpmon can
be found at: [Link]
[Link]#AppendixUsingTheAxisTCPMonitorTcpmon
• Web Service Operation File (REST): To create Web service operation files based on REST.
The Web Services (REST) pluggable data connector is available with Orchestration
Designer 7.0 and above.
Note:
You can create and use a REST Web service operation file only in a speech project and
a message flow project.
\wsoperations directory. Orchestration Designer assigns the new Web service operation file a
suffix of .wsop.
Note:
Orchestration Designer supports only WSDL
files that contain unique method signatures.
Note:
Orchestration Designer does not support
operation overloading, or the use of methods
with the same name but different parameters.
Tip:
If a Web service has been previously created,
Orchestration Designer remembers the URL.
For future Web service creations,
Orchestration Designer automatically
populates this field with the URL. Orchestration
Designer keeps track of the last 20 Web
services URLs used in operations.
Table continues…
Name Description
Authentication How Orchestration Designer should authenticate
with the Web service host. Options are:
• No Authentication
• Basic – Transmits the username/password pair in
an unencrypted form from browser to server in the
HTTP header.
• Digest – Transmits the username/password pair
encrypted from the browser to server in the HTTP
header.
User Name A username for authentication.
The User Name field is available only when you
select Basic or Digest in the Authentication field.
Password (Optional) A password for authentication.
The Password field is available only when you
select Basic or Digest in the Authentication field.
Load operations from WSDL file To load the Web services operations from the
WSDL file.
Timeout Sets the maximum time, in seconds, for fetching
and parsing the WSDL file.
Use Document Wrapping Check box to wrap multiple input and output
parameters in a class.
Allow WSDL Imports Check box to allow the WSDL file to reference other
files by using the WSDL import statement.
Operation The service to be used in this operation. Be sure
that you know the following information:
• What services are offered by the Web service
• What form the services take
Package for types The package name for any Java beans that are
generated as a result of defining a Web service
operation. The default value is
“[Link]”.
Note:
If you do not want Orchestration Designer to automatically create the variables to map to the
parameters, you must create custom variables before attempting to map any parameters. For
more information, see Creating a variable on page 224.
Otherwise, variables can be remapped later, using the Web Service Operation File Editor. For
more information, see Editing a Web service operation file on page 321.
Name Description
Parameter Name Name of the input/output parameter defined in the
Web service.
Parameter Type Data type that the input/output parameter expects
from Orchestration Designer.
Make sure that the variable assigned to each
parameter is of the correct type.
Variable Name The variable to map to the parameter.
If a complex variable, also select a Variable Field.
If a variable is selected in this field, the Auto Create
option cannot also be selected.
Variable Field To map to the parameter required if the variable
selected in the Variable Name field is a complex
variable.
Auto Create Check box to have Orchestration Designer
automatically create and name the variable mapped
to the parameter, select this option.
If selected, Orchestration Designer clears the
Variable Name and v values, if previously set.
Table continues…
Name Description
Use Java Obj Indicates whether the content of the variable should
be treated as a Java object to prevent Orchestration
Designer from mapping it.
Use this option when the structure of the data to be
sent to the Web service is more complex than what
can be contained within a normal variable.
When using this option, subsequently, the following
steps must be taken:
• Create the Java object and store it in the variable,
if sending the object to the Web service.
• Write the required Java code by overriding an
existing method, such as the following method:
requestBegin ( SCESession mySession )
• Retrieve the Java object from the variable, if
receiving the object from the Web service.
For more information, see Example on when to set
the Use Java Obj option on page 316.
For more information about the Orchestration
Designer API and available methods, see the
Orchestration Designer Programmer Reference
guide in the online Help system.
Orchestration Designer can handle only one level of nested variables using complex variables.
That means, in this example, Orchestration Designer can send only the Person, Name, Age, and
Gender values. Orchestration Designer cannot, however, return the second level, that is, the First
and Last values.
By selecting this option when creating or editing a Web service operation file, at run-time, the
Person object is treated as a single Java object, including all nested values. You can use custom
Java code then to send all the values for the object that are required.
When using this option, you are responsible for creating the Java object and storing it in the
variable, when sending the object to the Web service. To do this, you must write the required Java
code. Usually, this is done by overriding an existing method, such as the
Name Description
WSDL URL The URL of the WSDL file for the Web service in
standard HTTP or HTTPS format.
All Web services have an associated WSDL file that
describes what services the Web service provides.
Orchestration Designer uses this WSDL information
to populate the web service information on the next
page of the wizard.
Note:
Orchestration Designer supports only WSDL
files that contain unique method signatures.
Tip:
If a Web service has been previously created,
Orchestration Designer remembers the URL.
For future Web service creations,
Orchestration Designer automatically
populates this field with the URL. Orchestration
Designer keeps track of the last 20 Web
services URLs used in operations.
Browse If the WSDL file is stored on the local computer,
click Browse to navigate to the WSDL file.
Authentication If you select the Authentication check box, the
system uses the user name and password entries
to authenticate with the Web service host while
fetching the WSDL file. The authentication protocol
is automatically selected.
Orchestration Designer supports:
• Basic: Transmits the username/password pair in
an unencrypted form from browser to server in the
HTTP header.
• Digest: Transmits the username/password pair
encrypted from the browser to server in the HTTP
header.
User Name/Password The User Name and Password fields are enabled
only if you select the Authentication check box.
Enter a username and optionally a password for
authentication.
WSOP File Name Name of the Web service being created.
Table continues…
Name Description
Java Output Package Specifies the package name for any Java beans
that are generated as a result of defining a Web
service operation. The default value is
[Link].
Note:
For Axis2, you cannot use the same package
name for multiple web service operations.
Load WSDL file Click this button to load the Web services
operations from the WSDL file.
Name Description
Parameter Name Name of the input/output parameter defined in the
Web service.
Table continues…
Name Description
Parameter Type Data type that the input/output parameter expects
from Orchestration Designer.
Make sure that the variable assigned to each
parameter is of the correct type.
Variable Name The variable to map to the parameter.
If a complex variable, also select a Variable Field.
If a variable is selected in this field, the Auto Create
option cannot also be selected.
Variable Field Field to map to the parameter required if the
variable selected in the Variable Name field is a
complex variable.
Auto Create Check box to have Orchestration Designer
automatically create and name the variable mapped
to the parameter.
If selected, Orchestration Designer clears the
Variable Name and Variable Field values, if
previously set.
Use Java Obj Indicates whether the content of the variable should
be treated as a Java object to prevent Orchestration
Designer from mapping it.
Use this check box when the structure of the data to
be sent to the Web service is more complex than
what can be contained within a normal variable.
When using this option, subsequently, the following
steps must be taken:
• Create the Java object and storing it in the
variable, if sending the object to the Web service.
• Write the required Java code by overriding an
existing method, such as the following method:
requestBegin ( SCESession mySession )
• Retrieve the Java object from the variable, if
receiving the object from the Web service.
For more information about the Orchestration
Designer API and available methods, see the
Orchestration Designer Programmer Reference
guide in the online Help system.
Note:
This field is not available for the Axis2
connector.
Table continues…
Name Description
Use Displays one of the following values:
• literal
• encoded
See the W3C Web Services Description Language
(WSDL) 1.1 specification.
Note:
This field is not available for the Axis2
connector.
Beans Package Displays the name of Java beans package that
Orchestration Designer uses to implement the Web
service.
Name Space Displays the URL to the location where the Web
service resides.
Note:
This field is not available for the Axis2
connector.
Endpoint Displays the endpoint used to invoke the Web
service. The required endpoint for the Web service
is available within the WSDL file for the Web
service.
Note:
When deploying the application, this endpoint
can be changed to another endpoint, in Export
Orchestration Designer Project wizard:
Configure Web Application Descriptor page on
page 420. This change can be useful, for
example, if you have been using a pared-down
version of the Web service while developing
and testing your application, you want to use a
different, official version of the Web service
with the deployed application.
Timeout Sets the HTTP socket timeout, in seconds, to be
used when executing the Web service operation.
Table continues…
Name Description
WSDL URL The URL of the WSDL file for the Web service in
standard HTTP or HTTPS format.
All Web services has an associated WSDL file that
describes what services the Web service provides.
Orchestration Designer uses this WSDL information
to populate the Operation field list.
Note:
Orchestration Designer supports only WSDL
files that contain unique method signatures.
Tip:
If a Web service has been previously created,
Orchestration Designer remembers the URL.
For future Web service creations,
Orchestration Designer automatically
populates this field with the URL. Orchestration
Designer keeps track of the last 20 Web
services URLs used in operations.
Input Parameters
Input Parameters Displays the parameters that were configured when
the Web service was created. You can edit these
parameters.
Using these fields, variables can be remapped after
a Web service operation file is initially created. This
is useful when custom variables are created after
creating a Web service operation file.
See New Web Service Operation wizard: Map Input
Parameters page and Map Output Parameters page
field descriptions on page 314 for more information.
Output Parameters
Output Parameters Displays the parameters that were configured when
the Web service was created. You can edit these
parameters.
Using these fields, variables can be remapped after
a Web service operation file is initially created. This
is useful for when custom variables are created
after creating a Web service operation file.
See New Web Service Operation wizard: Map Input
Parameters page and Map Output Parameters page
field descriptions on page 314 for more information.
Authentication
Table continues…
Name Description
Authentication Indicates how Orchestration Designer should
authenticate with the Web service host. Displays
the authentication configured when the Web service
was created. You can edit the authentication. The
options are:
• Basic: Transmits the username/password pair in
an unencrypted form from browser to server in the
HTTP header.
• Digest: Transmits the username/password pair
encrypted from the browser to server in the HTTP
header.
Note:
When generating the security token to include
in the SOAP message for the Web service
request, you can either send the password as
a hash (#), or in the clear. When interfacing
to .Net Web services over a secure link, it is
beneficial not to hash the password because
WSS4J and .Net use different hash schemes.
HTTP Headers
Name Identifies the name of the header as expected or
returned by the web server.
Variable/Field Lets you select the variable (and field if its a
complex variable) that contains the data that will be
sent in the HTTP request, or the variable that will
receive the header value that is returned.
Direction Lets you specify if the header is sent (Out), received
(In) or sent and received (InOut).
Sign SOAP Message
Note:
The Web service Operation File Editor displays
the Sign SOAP Message only for the Axis2
WSOPs. You can use this section to add a
soap header with a signature of the soap
message. To calculate the signature a key is
required.
Enable SOAP Message Signing If selected, a soap header with a signature of the
soap message is added to the soap message.
Alias Alias of the key to use for signing in the keystore.
Keystore Path Fully qualified path to the keystore.
Keystore Password Password for the keystore.
Table continues…
Name Description
Provider The provider of the keystore. For example, SUN.
3. Right-click the .rest Web service operation file that you want to configure, and then click
Open With > Web Service Operation Editor (REST).
4. In the REST Web Service Operation Editor, specify the information to configure the REST
Web service operation file.
Note:
• Ensure that the Web server that hosts the
REST Web service supports the HTTP
method that you select.
• When you create a resource on a web
service using the PUT or POST method, the
system might display an error message: 201
Error: Created. This is a bug in the
underlying Axis2 framework wherein the 201
event is treated as an error. You can safely
disregard the message since the 201 status
code indicates the resource was successfully
created.
REST URL The REST Web service URL.
The REST URL field shows the URL that you type
in the Server/Endpoint URL field along with input
parameters that you specify in the Input
Parameters area.
Note:
Ensure that the format of the URL matches the
format that the REST Web service uses.
Table continues…
Name Description
Server/Endpoint URL The URL of the Web server that hosts the REST
Web service.
URL Format The format of the REST Web service URL.
The options are:
• Query: If the REST Web service uses the query
format.
• Path: If the REST Web service uses the path
format.
Note:
Ensure that the format of the URL matches the
format that the REST Web service uses.
Input Parameters: The parameters that you want to send as input to the Web server that hosts the REST
Web service.
For example, you want to fetch the weather of New York city from a weather forecast Web site. The input
parameters are weather and New York city.
Add Adds an input parameter.
Delete Deletes an input parameter.
REST Parameter The REST parameter, as configured on the Web
server that hosts the REST Web service, that you
want to query.
For example, you want to query the weather
parameter that is configured on the Web server.
Note:
Ensure that the REST parameter name that
you specify matches the parameter name
configured on the Web server that hosts the
REST Web service.
Variable The Orchestration Designer variable for which you
want to get the value from the Web server that
hosts the REST Web service.
For example, you want to get the weather of New
York city. Select the Orchestration Designer variable
that contains the value New York.
Field If you select a complex variable in the Variable
field, then in the Field field, select the complex
variable field for which you want to get the value
from the Web server.
Table continues…
Name Description
URL Parameter Type The format in which the input parameters appear in
the REST URL field.
Use the options in the URL Parameter Type field to
format individual parameters in the REST URL.
Note:
Ensure that the format of the REST URL
matches the format that the REST Web service
uses.
The options are:
• WSOP Defined: To format the parameter in the
format that you select in URL Format.
• Query: To format the parameter in query format in
the REST URL.
• Path: To format the parameter in path format in
the REST URL.
Table continues…
Name Description
Message Body The data, in XML form, that you want to send to the
web service for PUT or POST requests.
Note:
This option is available only if you select PUT
or POST HTTP method to call the REST Web
service. GET and DELETE requests do not
use a message body.
The option are:
• Enable: A check box to enable or disable the
usage of message body in a web service call. If
selected, the system sends the content of the
message body to the web service. If not selected,
the system saves the content of the message
body in the Web Service Operation editor, but
does not send the contents to the web service.
• Auto Complete: Option to automatically inserts a
corresponding closing XML tag for a tag you type
in the message body. For example, if you type
<body> and press Enter, the system
automatically inserts a closing </body> tag.
For a POST request, you can insert Orchestration
Designer variables in the message body using the
Insert Variable context menu option. You can
specify the variables as _{variablename}_. This
inserts the variable contexts into the message body
at runtime.
Note:
You can also type in the _{variablename}_
manually.
Output Parameters: The parameters that you receive as output from the Web server that hosts the REST
Web service.
For example, for a Web service that provides a weather report, the expected output can be the weather
report string (mapped to an appropriate Orchestration Designer variable). You can use java XPath notation
to extract fields out of the XML or JSON data returned by the Web service.
The REST connector supports complex JSON or xml that is returned and stored directly into a complex
variable. It also supports arrays of data. Ensure that the field names in the data returned exactly match the
Orchestration Designer variable field names.
Table continues…
Name Description
Add Adds an output parameter.
Note:
REST Web service returns data in a single
block. Hence, you can add only one output
parameter.
Delete Deletes an output parameter.
Variable The Orchestration Designer variable in which you
want to store the data returned by the REST Web
service.
Field If you select a complex variable in the Variable
field, then in the Field field, select the complex
variable field in which you want to store the data
returned by the REST Web service.
Table continues…
Name Description
Output Format The format in which you want to store the data
returned by the REST Web service.
Orchestration Designer converts and stores the
data in the format that you select in the Output
Format field.
The options are:
• Server Default: Stores the data in the format in
which the data is returned by the REST Web
service.
Note:
The default value is Server Default.
• XML String: Stores the data returned by the
REST Web service in the XML string format.
• JSON String: Stores the data returned by the
REST Web service in the JSON string format.
If you select the Use Java Object check box, the
options are:
• Server Default: Stores the data in the format in
which the data is returned by the REST Web
service.
Note:
The default value is Server Default.
• XML: Stores the data returned by the REST Web
service in an XML Java object.
• JSON: Stores the data returned by the REST
Web service in a JSON Java object.
• String: Stores the data returned by the REST
Web service in the Java string format.
Use Java Object The check box to store the data returned by the
REST Web service in an XML Java object or a
JSON Java object.
Specify a format for the object in the Output
Format field.
Store the data that the REST Web service returns in
an XML Java object or a JSON Java object when
the structure of the data is complex and cannot be
contained within an Orchestration Designer
complex variable.
Table continues…
Name Description
Custom Content Type If the Web server that hosts the REST Web service
uses nonstandard content type and returns data in
JSON format, then you must specify the
nonstandard content type in the Custom Content
Type field so that the Web Services (REST)
pluggable data connector can read and process the
data.
The standard content types that the Web Services
(REST) pluggable data connector recognizes are:
application/json, text/javascript, text/json,
application/json/badgerfish. You need not specify
these content types.
Authorization
Authentication Options to determine how Orchestration Designer
authenticates with the Web server that hosts the
REST Web service.
The options are:
• No Authentication: No authentication is required.
• Basic/Digest: The system sends the user name
and password pair in a Base64 encoded and
unencrypted format in the HTTP header to the
Web server.
User Name A user name to authenticate with the Web server
that hosts the REST Web service.
Note:
The User Name field is available only if you
select Basic/Digest in the Authentication
field.
Password A password to authenticate with the Web server
that hosts the REST Web service.
Note:
The Password field is available only if you
select Basic/Digest in the Authentication
field.
Table continues…
Name Description
Preemptive Authorization The check box to send the authentication
parameters with the HTTP or HTTPS request to the
Web server without waiting for a request from the
Web server for the authentication parameters.
Preemptive authorization reduces the time required
for the authentication process.
Note:
The Preemptive Authorization check box is
available only if you select Basic/Digest in the
Authentication field.
Security Security options to authenticate with the Web server
that hosts the REST Web service.
The options are:
• No Security: If you do not want to use a secure
connection to authenticate with Web server that
hosts the REST Web service.
Note:
The No Security option is unavailable if you
specify a secure website in the Server/
Endpoint URL field.
• SSL: If you want to use the Secure Sockets Layer
(SSL) security protocol to authenticate with Web
server that hosts the REST Web service.
• TLS: If you want to use the Transport Layer
Security (TLS) protocol to authenticate with Web
server that hosts the REST Web service.
Note:
If you select the SSL or TLS option, ensure
that the Web server that hosts the REST Web
service supports secure connection.
Port The SSL or TLS port number.
Note:
The Port field is available only if you select
SSL or TLS in the Security field.
Use Default Port The check box to use the default ports for SSL or
TLS.
Note:
The default port is 443 for SSL and TLS.
Table continues…
Name Description
Headers
Add Adds an HTTP header.
Delete Deletes the HTTP header that you select in the
HTTP Headers area.
Name The name of the HTTP header.
Variable The Orchestration Designer variable that you want
to use to pass values in the HTTP header.
If you select In in the Direction field, then in the
Variable field, select the variable that must store
the header value that the Web server returns.
If you select Out in the Direction field, then in the
Variable field, select the variable that contains the
value that you want to send in the HTTP header
when sending an HTTP or HTTPS request to the
Web server that hosts the REST Web service.
If you select InOut in the Direction field, then in the
Variable field, select the variable that must store
and return the header value.
Field If you select a complex variable in the Variable
field, then in the Field field, select the complex
variable field that you want to use to pass values in
the HTTP header.
Direction Options to specify if the header is sent, received, or
sent and received.
The options are:
• In: If Orchestration Designer receives the header
from the Web server that hosts the REST Web
service.
• Out: If Orchestration Designer sends the header
along with the HTTP or HTTPS request to the
Web server that hosts the REST Web service.
• InOut: If Orchestration Designer sends and
receives the header along with the HTTP or
HTTPS request.
Name Description
All Stores the returned body content into an
Orchestration Designer variable as a string.
Orchestration Designer connects to the Web service and requests the WSDL using the
WSDL URL and regenerates the Web service Client based on the WSDL document
returned by the Web service.
The system opens the file in the Web Service Operation Editor.
11. In the java file, copy the following code after the line "//}}END:CLASS:CONSTRUCTOR":
try {
[Link] md =
[Link]("SHA-256");
byte[] digest = [Link]([Link]());
password = [Link](digest);
}catch (NoSuchAlgorithmException e) {
[Link]();
}
SMS files
You can create and use an SMS file in an SMS channel message application to send an
automated SMS message response to an inbound SMS message. You can also use an SMS file
to send a proactive automated outbound SMS message. For example, send an outbound SMS
message informing a customer about the account balance.
You can specify the SMS message that you want to send in an SMS file. Create a prompt file and
add the SMS item to the prompt file. Assign the SMS file to the SMS item. You can then add the
Prompt item to the Announce node from where you want to send the SMS message and assign
the prompt file to the Prompt item.
When the system executes the Announce node, the system sends the SMS message to the text
browser that is located on Avaya Experience Portal Media Processing Platform (MPP) for further
processing and delivery.
Note:
If you want to send a simple SMS message from a single prompt of an SMS channel message
application, then you can use the Text item or Text Variable item instead of creating an SMS
file.
You can also create and use SMS files in a speech, message, or data application that is created
for a channel other than the SMS channel to send outbound SMS messages, also called
notifications.
For example, a speech application receives a call from a customer requesting the phone number
of a car rental service. You can use an SMS file in the speech application to send an automated
SMS message notification that provides the phone number of the car rental service to the
customer.
You can receive an inbound SMS message only in an SMS channel message application.
Note:
You must enable the Notification Connector (Email, SMS) pluggable data connector (PDC)
to send an SMS message notification from a speech, message, or data application that is
created for a channel other than the SMS channel.
After you enable the Notification Connector (Email, SMS) PDC, the Send SMS and Send Email
items are available in the Palette pane of the Data node.
You can specify the SMS message that you want to send in an SMS file. You can then add the
Send SMS item to the Data node from where you want to send the SMS message notification and
assign the SMS file to the Send SMS item.
When the system executes the Data node, the system sends the SMS message notification to the
platform Web service for further processing and delivery.
You can also use the Send SMS item in the SMS channel message application when you want to
use the:
• Platform Web service to further process and deliver the SMS message.
• Features of the Send SMS item. For example, set the priority to send the outbound SMS
message.
Related links
Multichannel notifications on page 351
Enabling Orchestration Designer project pluggable data connectors on page 493
Multichannel notifications on page 351
Forward an inbound SMS or email message to Avaya Aura Contact Center on page 355
Email files on page 342
LaunchCCXMLCall on page 740
LaunchVXMLCall on page 744
Send SMS on page 812
Send Email on page 808
4. In the New SMS wizard, on the Create an SMS page, specify the project name, the
language, and a name for the SMS file.
5. Click Finish.
Result
The system displays the SMS Message editor.
Next steps
You can type the SMS message body in the SMS Message editor.
Name Description
Available Projects The speech project, the message flow project, or
the data flow project for which you want to create an
SMS file.
You must select a project.
Available Languages The language for the SMS file. You must select a
language for the SMS file.
SMS file name A unique and relevant name for the SMS file.
Tip:
You can also drag a variable from the [Link] directory to the SMS Message
editor to insert the variable in the SMS message body. The [Link] directory
is available under the <project name> > flow directory in the Navigator view or in the
Avaya OD Navigator view. Be sure that you open the Speech perspective for a speech
project and the Message perspective for a message flow project.
Email files
You can create and use an email file in an email channel message application to send an
automated email message response to an inbound email message. You can also use an email file
to send a proactive automated outbound email message. For example, send an outbound email
message informing a customer about the account statement.
You can specify the email message that you want to send in an email file. Create a prompt file and
add the Email item to the prompt file. Assign the email file to the Email item. You can then add the
Prompt item to the Announce node from where you want to send the email message and assign
the prompt file to the Prompt item.
When the system executes the Announce node, the system sends the email message to the text
browser that is located on Avaya Experience Portal Media Processing Platform (MPP) for further
processing and delivery.
Note:
If you want to send an email message only from a single prompt of an email channel message
application, and if the email message is small and does not require attachment files and
HTML formatting, then you can use the Text item or Text Variable item instead of creating an
email file.
You can also create and use email files in a speech application, or a message application, or a
data that is created for a channel other than the email channel to send outbound email messages,
also called notifications.
For example, a speech application receives a call from a customer requesting the price list of your
products. You can use an email file in the speech application to send an automated email
message notification that provides the price list of your products to the customer.
You can receive an inbound email message only in an email channel message application.
Note:
You must enable the Notification Connector (Email, SMS) pluggable data connector (PDC)
to send an email message notification from a speech, message, or data application that is
created for a channel other than the email channel.
After you enable the Notification Connector (Email, SMS) PDC, the Send SMS and Send Email
items are available in the Palette pane of the Data node.
You can specify the email message that you want to send in an email file. You can then add the
Send Email item to the Data node from where you want to send the email message notification
and assign the email file to the Send Email item.
When the system executes the Data node, the system sends the email message notification to the
platform Web service for further processing and delivery.
You can also use the Send Email item in the email channel message application when you want
to use the platform Web service to further process and deliver the email message.
Related links
Multichannel notifications on page 351
Forward an inbound SMS or email message to Avaya Aura Contact Center on page 355
SMS files on page 338
LaunchCCXMLCall on page 740
LaunchVXMLCall on page 744
Send SMS on page 812
Send Email on page 808
Next steps
You can type the email message body in the Email Message editor.
Name Description
Available Projects The speech project, message flow project, or data
flow project for which you want to create an email
file.
You must select a project.
Available Languages The language for the email file. You must select a
language for the email file.
Email file name A unique and relevant name for the email file.
Email file The following are the options:
• New to create a new email file.
• Existing to use an existing email file.
File name The location of the existing email file that you want
to use. This field is available only if you click
Existing.
Note:
• You can also insert variables in the message body. The variables are inserted in the
_{variable}_ format and value of variable is added into the body of the email at
runtime.
• If you want to display the literal contents in curly braces in the email body, then you
must add the content in the format same as for variable and a backslash prior to the
format. For example, \_{some text}_.
For example, to send the email with a message as “You last reset your password on
_{mydate}_”, you must define a variable mydate, assign value to it, and type “You last
reset your password on \_{mydate}_” in the message body. If you do not add a
backslash before _{ }_, the system interprets the value within the curly braces as a
variable and might display an error message if a variable of that name is not defined in
the application.
5. In the Message Details area, click Attach File to attach a file to the email message.
6. In the Add Attachment dialog box, perform one of the following actions:
• To attach a file that resides on your computer, perform the following actions:
a. Click Local, and then click OK.
b. In the Open dialog box, browse to the file that you want to attach, and then click
Open.
• To attach a file that resides on another computer or server, perform the following actions:
a. Click External, and then click OK.
b. In the External Attachment dialog box, in the External Attachment Location field,
type the URL path where the file resides, and then click OK.
The system displays the attached file in the Message Details area.
Note:
You can click that corresponds to the attached file to remove the file from the email
message.
Next steps
You can also insert variables in the email message body text.
7. Click Insert.
The system inserts a variable in the _{variable name}_ format. Value of the variable is
added into the body of the email at runtime.
Tip:
You can also drag a variable from the [Link] directory to the Email
Message editor to insert the variable in the email message body. The
[Link] directory is available under the <project name> > flow directory in
the Navigator view or in the Avaya OD Navigator view. Be sure that you open the
Speech perspective for a speech project and the Message perspective for a message
flow project.
Note:
If you want to display the literal contents in curly braces in the email body, then you
must add the content in the format same as for variable and a backslash prior to the
format. For example, \_{some text}_.
For example, to send the email with a message as “You last reset your password on
_{mydate}_”, you must define a variable mydate, assign value to it, and type “You last
reset your password on \_{mydate}_” in the message body. If you do not add a
backslash before _{ }_, the system interprets the value within the curly braces as a
variable and might display an error message if a variable of that name is not defined in
the application.
To send the email with a message as “You last reset your password on Wed 7/6/2011
11:46 AM”, type “You last reset your password on” and insert the _{mydate}_ variable
in the message body.
Conversations
Avaya Experience Portal is enhanced to provide a repository for storing conversations. A
conversation is defined as a dialog between the application and a user. As part of the conversation
data, an application can store multiple name and value pairs. Each conversation is identified by a
unique ID. The platform provides an ID as part of launching the Orchestration Designer
application.
Note:
You can use the conversations feature for Voice, Email, SMS, data and HTML based projects.
Conversation management is automatic. You cannot explicitly save or restore the context.
Whenever the system starts a conversation or stores the conversation for the first time, the
conversation has a lease. The conversations are temporary in nature and the system removes the
conversations from the repository once the lease expires. Each time the system updates the
conversation, the system renews lease of the conversation for the lease time specified as part of
the update. You can define the default lease time when creating the Orchestration Designer
application as one of the configurable application variables (CAV) .
Conversation ID
The conversation id must be unique in each of the conversation store. The platform creates the
conversation ID and passes the ID to the application.
avayaConversationLease
The configurable application variable avayaConversationLease, is used by the Orchestration
Designer PDC to control the conversation lease timeout. The default value of
avayaConversationLease is 86400 seconds. You can set the default value for the conversation
lease according to the need of the application.
Conversation Pluggable Data Connector (PDC)
The PDC exposes the Experience Portal conversation services to the application developer.
When an application starts a conversation using the Start Conversation palette item, the
conversation PDC records the current session id in the conversation and uses that value to set the
exitParentId, on application exit, until the conversation ends. To end a conversation the application
uses the End Conversation palette item. Once the conversations ends, the system destroys the
conversation data and sets the exitPreferredPath to 1. A commit conversation writes the
conversation data to the conversation store immediately, and ignores any changes made to the
conversation after the commit.
While a conversation is in progress, each time the application runs, the application variables
selected as part of the conversation are set to the last saved values after normal variable
initialization and CAV initialization. When the application exits, the variables defined as part of the
conversation are saved.
The conversation PDC supports simple variables, complex variables, and complex variable fields.
A variable can also be a collection of values.
When you are transitioning from HTML to speech, you must call a commit conversation before the
launch outbound call. As the commit conversation writes the data to the conversation store
immediately, the data is available when the call starts.
Related links
Enabling Orchestration Designer project pluggable data connectors on page 493
Setting Simulation Store base path on page 383
A: The Orchestration Designer runtime automatically adds the conversation id as a query string
parameter (_ODConversationId) and then looks for this parameter when the application starts.
B: The application developer must add an alias to the conversation. The alias is the “from”
address of the client. For SMS channel, the “from” is a mobile number. For Email channel, the
“from” is an email address.
When an email or SMS application starts, if a conversation is not found for the conversation id
generated by the Avaya Experience Portal, the Orchestration Designer runtime uses the “from” as
an alias to look up the conversation.
*A: The Orchestration Designer runtime assumes that the LaunchOutboundCall (LaunchVXML)
PDC is used to launch the speech application. For example, if the application sends an SMS to
the client that says ,“To continue in speech, please call 555-1212”, then the application needs to
add an alias that is the phone number the client will call from. If the speech application is on a
landline, and sends out an SMS to a mobile phone, then to pass the conversation to the SMS
application, the speech application needs to add the mobile phone number as an alias. If
LaunchCCXML is used, the conversation id is sent as a parameter to the CCXML application and
the CCXML application must pass this conversation id to the speech dialog using the query string
as (_ODConversationId).
If the default conversation id fails but the alias matches a conversation, then the default
conversation id is also added as an alias. This reduces the lookup time of the context for multi turn
applications.
Note:
You do not have to use conversations when switching between channels. Conversations are only
needed if you want to pass context information between the channels.
Multichannel notifications
Use the Send SMS item to send an SMS message, also called a notification, from a speech,
message, or data application that is created for a channel other than the SMS channel.
Use the Send Email item to send an email message, also called a notification, from a speech,
message, or data application that is created for a channel other than the email channel.
For example, a speech application receives a call from a customer requesting the account
statement of the checking account. You can use the Send Email item in the speech application to
send an email message notification that provides the account statement to the customer.
Note:
The Send SMS and Send Email items are available in the Palette pane of the Data node only
after you enable the Notification Connector (Email, SMS) pluggable data connector (PDC).
When the system executes the Data node that contains the Send SMS or Send Email item, the
system sends the SMS message or the email message to the platform Web service for further
processing and delivery.
You can receive an inbound SMS message only in an SMS channel message application and an
inbound email message only in an email channel message application.
You can also use the Send SMS item in the SMS channel message application when you want to
use the:
• Platform Web service to further process and deliver the SMS message.
• Features of the Send SMS item. For example, set the priority to send the outbound SMS
message.
You can also use the Send Email item in the email channel message application when you want
to use the platform Web service to further process and deliver the email message.
Related links
Forward an inbound SMS or email message to Avaya Aura Contact Center on page 355
Email files on page 342
SMS files on page 338
LaunchCCXMLCall on page 740
LaunchVXMLCall on page 744
Send SMS on page 812
along with the information contained in the AACC message file to Avaya Aura® Contact Center for
agent assistance.
The message application forwards the inbound message in the form of an email message to
Avaya Aura® Contact Center. The email message contains the additional information and the
parameters that you specify in the AACC message file. The email message also contains a Reply
to customer link. When the Avaya Aura® Contact Center agent clicks the Reply to customer link,
a Web page is displayed on the computer screen of the Avaya Aura® Contact Center agent. The
Web page contains the message response that you specify in the AACC message file. The Avaya
Aura® Contact Center agent can either use the message response to respond to the customer or
overwrite the message response to send a custom response to the customer.
Related links
Multichannel notifications on page 351
Email files on page 342
SMS files on page 338
LaunchCCXMLCall on page 740
LaunchVXMLCall on page 744
Send SMS on page 812
Send Email on page 808
Contact Center agent can either use the message response to respond to the customer or
overwrite the message response to send a custom response to the customer.
4. In the AACC Message editor, specify the information to configure the AACC message file.
Note:
The message application sends the subject
line along with the inbound message to Avaya
Aura® Contact Center in the form of an email
message.
Display Sub-Heading The variable that contains the subheading that you
want to send to Avaya Aura® Contact Center along
with the inbound message for agent assistance.
Note:
The message application sends the
subheading along with the inbound message
to Avaya Aura® Contact Center in the form of
an email message.
Parameters The variables that you want to send to Avaya Aura®
Contact Center along with the inbound message for
agent assistance.
You must specify variables that maintain the context
of the message session. For example, arrival time
and message headers of the inbound message.
Note:
The message application sends the variable
values along with the inbound message to
Avaya Aura® Contact Center in the form of an
email message.
For more information, see Specifying a parameter
to pass to Avaya Aura Contact Center on page 359.
Include Attachments The check box to send the attachments contained
in the inbound email message to Avaya Aura®
Contact Center for agent assistance.
Table continues…
Name Description
Reply to Customer: The outbound message response details that the Avaya Aura® Contact Center agent
can use when responding to the customer.
When the message application forwards the inbound message in the form of an email message to Avaya
Aura® Contact Center, the email message also contains a Reply to customer link. When the Avaya Aura®
Contact Center agent clicks the Reply to customer link, a Web page is displayed on the computer screen
of the Avaya Aura® Contact Center agent. The details that you specify in the Reply to Customer area are
populated on the Web page from where the Avaya Aura® Contact Center agent responds to the customer.
The Avaya Aura® Contact Center agent can either use these details to respond to the customer or
overwrite these details to send a custom response to the customer.
From The variable that contains the phone number or the
email address of the customer who sends the SMS
message or email message.
Avaya Aura® Contact Center uses this phone
number or email address to send an outbound
message response to the customer.
The phone number or the email address appears in
the To field on the Web page that is displayed on
the computer screen of the Avaya Aura® Contact
Center agent.
To The variable that contains the phone number or the
email address that is configured on Avaya Aura®
Contact Center from where the SMS message or
email message response is sent to the customer.
The phone number or the email address appears in
the From field on the Web page that is displayed on
the computer screen of the Avaya Aura® Contact
Center agent.
Subject The variable that contains the subject line for the
email message response to be sent to the customer
from Avaya Aura® Contact Center.
Message The variable that contains the message body for the
SMS or email message response to be sent to the
customer from Avaya Aura® Contact Center.
Note:
Ensure that the message body is in the text
format.
For example, you can specify the variables that contain the arrival time and message headers of
the inbound message.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, double-click the project folder
that contains the AACC message file in which you want to specify the variable that you
want to pass to Avaya Aura® Contact Center.
2. Double-click connectivity > aacc.
3. Right-click the .aacc file in which you want to specify the variable that you want to pass to
Avaya Aura® Contact Center, and then click Open With > AACC Editor.
4. In the AACC Message editor, in the Parameters area, click Add.
5. In the Variable dialog box, in the Description field, type a description for the variable that
you want to pass to Avaya Aura® Contact Center.
AACC treatments
Avaya Aura® Contact Center might transfer calls to an Orchestration Designer speech application
in various scenarios. For example, Avaya Aura® Contact Center receives a call which requires:
• The caller to validate secure data first such as the pin number of the caller.
• The caller data, such as the name and the date of birth of the caller, to be collected first from
the caller so that the Avaya Aura® Contact Center agent can process the call further.
• A prompt to be played to the caller that informs the caller about the business hours.
In a SIP-enabled Avaya Aura® Contact Center, Avaya Aura® Contact Center can transfer such
calls to an Orchestration Designer speech application that is managed on Avaya Experience
Portal.
Depending on the treatment type that Avaya Aura® Contact Center requests, the Orchestration
Designer speech application processes the call. For example, the speech application plays a
prompt to the caller, collects the required information from the caller and passes the information
along with the call to Avaya Aura® Contact Center for agent assistance, thereby, reducing the time
required for assisted care.
Avaya Aura® Contact Center uses the GIVE IVR command to transfer an inbound call to an
Orchestration Designer speech application that is managed on Avaya Experience Portal. The
GIVE IVR command determines the AACC treatment type to be applied to the call, the
parameters to be passed to the Orchestration Designer speech application, and the variables in
the Avaya Aura® Contact Center script that must store the data that the Orchestration Designer
speech application returns.
Avaya Aura® Contact Center uses a script to pass the parameters to the Orchestration Designer
speech application. For example, parameters that contain information about the prompt to play
and the number of digits that the speech application should collect from the caller. You can design
the speech application to use either the parameters passed by the Avaya Aura® Contact Center
script or the values that you set in the speech application.
To receive the call that Avaya Aura® Contact Center transfers, you must enable the AACC
Treatments pluggable data connector (PDC) in the Orchestration Designer speech project.
Note:
The AACC Treatments PDC is available only in speech projects.
After you enable the AACC Treatments PDC, you can either use the default AACC treatments or
create custom AACC treatments.
Depending on the treatment type that Avaya Aura® Contact Center requests in the Avaya Aura®
Contact Center script, Orchestration Designer determines the treatment type to apply to the call.
AACC treatments determine:
• Whether the speech application must return data to Avaya Aura® Contact Center.
• The data that the speech application must return to Avaya Aura® Contact Center. For
example, caller input and pin validation result.
You can design a speech application to process requests for multiple treatment types or you can
create separate speech applications to process requests for individual treatment type. For
example, play a prompt to the caller and collect digits from the caller and pass the digits to Avaya
Aura® Contact Center.
After you enable the AACC Treatments PDC in an Orchestration Designer speech project,
Orchestration Designer adds a [Link] file to the project directory.
Note:
You must specify the HTTP path of the [Link] page as the destination URI on the VPMS
server when you host the Orchestration Designer speech application as a managed
application on the VPMS server.
Avaya Aura® Contact Center transfers the inbound call to Avaya Experience Portal along with the
parameters that are configured in the Avaya Aura® Contact Center script. Avaya Experience Portal
passes the parameters received from the Avaya Aura® Contact Center script to the [Link] page
along with the details of the Avaya Aura® Contact Center SIP endpoint from which Avaya
Experience Portal received the call. The [Link] page invokes the speech application that is
requested in the Avaya Aura® Contact Center script. When the speech application terminates,
Orchestration Designer returns the control of the call to the [Link] page. The [Link] page
packages the return data into a SIP message and returns the call along with the data to the SIP
endpoint from where the connection was received.
After you enable the AACC Treatments PDC in an Orchestration Designer speech project, the
system adds two complex variables to the speech project: aacc_data and aacc_context.
The aacc_data variable contains various fields that store the parameters that the system receives
from the Avaya Aura® Contact Center script. The aacc_data variable also contains the
returnvalue variable field which returns the data that the treatment type requests to Avaya Aura®
Contact Center. You must design the speech application to assign the data requested by an
AACC treatment type to the returnvalue variable field.
For Context Creation treatment type, the speech application uses the aacc_context variable.
Unlike other AACC treatments that return only the data requested by the treatment type to Avaya
Aura® Contact Center, you can add any number of variable fields to the aacc_context variable
depending on the data that you want to send to Avaya Aura® Contact Center. The aacc_context
variable sends the data in name and value pairs in XML format to Avaya Aura® Contact Center.
The aacc_context variable also contains a cad field. The speech application sets the call
attached data (CAD) in the string format in the cad field and returns the CAD data to Avaya Aura®
Contact Center.
You must design the speech application to assign the data that you want to send to Avaya Aura®
Contact Center to the variable fields that you create under the aacc_context variable. You can
also set the CAD data that you want to send to Avaya Aura® Contact Center in the cad field. If you
do not want to send data to Avaya Aura® Contact Center, then do not assign values to these
fields.
Related links
Default AACC treatment types on page 364
Enabling Orchestration Designer project pluggable data connectors on page 493
System variable fields and properties on page 552
Related links
AACC treatments on page 362
System variable fields and properties on page 552
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, click the project for which you
want to create an AACC treatment.
2. On the Project menu, click Properties.
3. In the Properties for <project name> dialog box, in the left navigation pane, click
Orchestration Designer.
4. Click the Pluggable Connectors tab.
5. In the Category field, click Contact Center.
6. Click AACC Treatments.
7. In the AACC Treatments Configuration area, click Add.
8. In the AACC Treatments dialog box, specify the information to create an AACC treatment.
9. Click OK.
10. In the Properties for <project name> dialog box, click OK.
Note:
Treatment types are case sensitive. Ensure
that the name of the treatment type is the
same as that configured in Avaya Aura®
Contact Center.
SIP Message Type The SIP message type as configured on Avaya
Aura® Contact Center for the treatment type.
The system passes the SIP message type in the
SIP header when sending the return data to Avaya
Aura® Contact Center.
For example, application/
[Link]
Table continues…
Name Description
SIP Message Preamble The SIP message preamble as configured on
Avaya Aura® Contact Center for the treatment type.
SIP message preamble determines the format of
the data that an Orchestration Designer speech
application sends to Avaya Aura® Contact Center.
For example, p=Digit-Collection\r\ny=Digits\r
\nd=Digits%3D1234
Where:
• p: Represents the name of the treatment type.
• y: Represents the type of the data that is returned
to Avaya Aura® Contact Center. For example,
digit, string.
• d: Represents the return data. The system
appends the data requested by the treatment type
after %3D.
• \r: Represents carriage return.
• \n: Represents newline feed.
• 1234: Represents the data returned by the
speech application.
The system appends the data requested by the
treatment type to the SIP message preamble and
passes the SIP message preamble in the SIP
header to Avaya Aura® Contact Center.
Return Expected Option to specify whether the AACC treatment must
return data to Avaya Aura® Contact Center.
The following are the options:
• true: If the AACC treatment must return data to
Avaya Aura® Contact Center.
• false: If the AACC treatment must not return data
to Avaya Aura® Contact Center.
Procedure
1. In the Navigator view or in the Avaya OD Navigator view, click the project in which you
want to edit a custom AACC treatment.
2. On the Project menu, click Properties.
3. In the Properties for <project name> dialog box, in the left navigation pane, click
Orchestration Designer.
4. Click the Pluggable Connectors tab.
5. In the Category field, click Contact Center.
6. Click AACC Treatments.
7. In the AACC Treatments Configuration area, click the custom AACC treatment that you
want to edit, and then click Edit.
8. In the AACC Treatments dialog box, edit the AACC treatment.
Note:
The system creates a variable with the name AccountNumber.
4. Configure the other items in the Prompt and Collect node as required.
Note:
Use built-in grammars of type digits in the Grammar item.
5. In the call flow editor, drag a Data node after the Prompt and Collect node, and then
double-click the Data node.
6. In the data node editor, drag an Assign operation.
7. In the Properties view of the Assign operation, map the value variable field of the
AccountNumber variable to the returnvalue variable field of the aacc_data variable.
Note:
Similarly, for the Context Creation treatment type, you can map the variables that
collect the data that you want to send to Avaya Aura® Contact Center to the variable
fields that you create under the aacc_context variable to send the data to Avaya
Aura® Contact Center.
Related links
AACC treatments on page 362
System variable fields and properties on page 552
Note:
UCID consumes 10 bytes of UUI data. Avaya Aura® Communication Manager can pass up to
96 bytes of hex- encoded UUI data.
AML-based solutions do not support SIP UUI data.
By default, the Blind Transfer, Bridged Transfer, and Consultation Transfer items use the AML
transfer protocol and Shared UUI transfer mode to transfer the call and pass the call-associated
data to Avaya Aura® Contact Center by using the Open Interface Web Services.
Avaya Aura® Contact Center Open Interface Web Services are a series of licensed SOAP‐based
open interfaces available to applications that are based on Service‐Oriented Architecture (SOA).
An Orchestration Designer speech application uses the Open Interface Web Services to reserve a
Landing Pad on the target Avaya Aura® Contact Center and transfer the call along with the call-
associated data to Avaya Aura® Contact Center. Avaya Aura® Contact Center Open Interface Web
Services are supported in TDM-based and SIP-enabled contact center.
The Orchestration Designer speech application managed on Avaya Experience Portal processes
an inbound call and collects the call-associated UUI, UCID, contact intrinsic data, and call
attached data (CAD).
To transfer the call and pass the call-associated data to Avaya Aura® Contact Center by using the
Open Interface Web Services, you must enable the AACC Landingpad Web Service (Axis 1.4)
pluggable data connector.
After you enable the AACC Landingpad Web Service (Axis 1.4) pluggable data connector,
Orchestration Designer adds the [Link] and
[Link] files under the <project name>/WEB-INF/lib
directory.
In the [Link] file, you:
• Must specify the Avaya Aura® Contact Center destination Controlled Directory Number (CDN)
where you want to transfer the call.
• Must specify the URL of the Avaya Aura® Contact Center Open Interface Web Services.
• Can specify the telephone number that you want to use for simulation.
• Can configure the contact-intrinsic data and CAD data that you want to pass to Avaya Aura®
Contact Center.
Note:
Landing Pads support up to 4K bytes of call attached data (CAD).
You can also use the CAD data in custom applications that are created by using
Communication Control Toolkit (CCT). CCT is a toolkit to create custom applications to
interact with Avaya Aura® Contact Center. CCT application is a client/server application that
integrates a phone on a desktop with client/server-based applications.
When the speech application executes the AACC AML transfer node, the speech application
connects to the Contact Center Manager Server (CCMS) Open Interface Web Services and sends
a request for a Landing Pad reservation number. The speech application then provides the
4. Configure the AACC AML Blind Transfer node. Perform the following actions:
a. Set the Blind Transfer item properties.
b. (Optional) In the Prompt item, set the prompt that you want to play to the caller while
the system transfers the call.
c. In the Next item, specify the next node in the call flow that you want to execute.
Note:
You can also add other items to the node and configure the node as you want.
5. After you complete the call flow, export and deploy the speech application.
Note:
You can pass up to five key name and value pairs of contact-intrinsic data to Avaya
Aura® Contact Center.
Be sure that you delete the unused key name and value pairs.
a. In the key<number> property, type the key name.
Note:
Key names must be unique. The maximum length of key name is 25 characters.
b. In the value<number> property, specify the constant contact-intrinsic data or the
variable that contains the contact-intrinsic data that you want to pass to Avaya Aura®
Contact Center.
If you specify a variable, enclose the variable name within {}. For example,
{PreferredAgent}.
If you specify a complex variable, then specify the variable and variable field in the
{variable name:variable field name} format. For example,
{CCData:PreferredAgent}.
Note:
The maximum length of a value is 80 characters.
7. In the CAD property, specify the constant call attached data (CAD) data or the variable that
contains the CAD data that you want to pass to Avaya Aura® Contact Center.
If you specify a variable, enclose the variable name within {}. For example,
{PhoneNumber}.
If you specify a complex variable, then specify the variable and variable field in the
{variable name:variable field name} format. For example,
{CustomerName:FirstName}.
Note:
Landing Pads support up to 4K bytes of CAD data.
8. Save and close the [Link] file.
• You design the speech application in such a way that when the spoken or DTMF input
provided by the caller does not match the grammars in the speech application, the speech
application transfers the call to Avaya Aura® Contact Center for agent assistance.
• Caller data, such as name and date of birth of the caller, needs to be collected first from the
caller so that the Avaya Aura® Contact Center agent can process the call further.
Use the AACC Blind Transfer, AACC Bridged Transfer, and AACC Consultation Transfer
nodes in an Orchestration Designer speech application to transfer a call from the Orchestration
Designer speech application that is managed on Avaya Experience Portal to a SIP-enabled Avaya
Aura® Contact Center for assisted care. You can also pass the call-associated user-to-user
information (UUI), UCID, contact-intrinsic data, and call attached data (CAD) from the
Orchestration Designer speech application to Avaya Aura® Contact Center.
When you add the AACC Blind Transfer, AACC Bridged Transfer, or AACC Consultation
Transfer node to the call flow, the system creates a default structure for the node and adds the
following items to the node:
• Blind Transfer, Bridged Transfer, or Consultation Transfer item depending on the node.
• Prompt item.
• Two External Property items that represent the name and value pair of the SIP header. If
you want to add more SIP headers, you can add more External Property items. You can
pass the contact-intrinsic data in the SIP headers. If you want to pass more contact-intrinsic
data, you can use the P‐Intrinsics SIP header in the External Property items. You can also
pass CAD data by using the P-Intrinsics SIP header. P-Intrinsics can pass up to 1024 bytes
of hex-encoded data.
• Next item.
In the Blind Transfer, Bridged Transfer, or Consultation Transfer item, you:
• Must specify the Avaya Aura® Contact Center destination Controlled Directory Number (CDN)
where the speech application must transfer the call.
• Can specify the UUI data and UCID of the call that you want to pass to Avaya Aura® Contact
Center along with the call.
Note:
UCID consumes 10 bytes of UUI data. Avaya Aura®Communication Manager can pass
up to 96 bytes of hex- encoded UUI data.
By default, the Blind Transfer, Bridged Transfer, and Consultation Transfer items within the
AACC Blind Transfer, AACC Bridged Transfer, and AACC Consultation Transfer nodes use
the SIP transfer protocol and Shared UUI transfer mode to transfer the call and pass the call-
associated data to Avaya Aura® Contact Center.
The Orchestration Designer speech application managed on Avaya Experience Portal processes
the inbound call and collects the call-associated UUI and contact-intrinsic data.
When the speech application executes the AACC transfer node, the speech application connects
to Avaya Aura® Contact Center Manager Server (CCMS) and provides the destination CDN,
contact ID number, call-associated UUI, UCID, and contact-intrinsic data to CCMS. The speech
application then transfers the call from Avaya Experience Portal to Avaya Aura® Contact Center.
For more information, see Avaya Aura® Contact Center and Avaya Voice Portal Integration guide.
• Input tab, AAS progress display. During application simulation, the AAS presents a step-by-
step readout of what is happening as the simulation progresses. The AAS displays this
progress in a pane of the Input tab. Even after the simulation ends, you can scroll back
through this output to analyze what happened during simulation.
• Debug tracing to output in Console view or trace log file. If debug tracing is enabled,
Orchestration Designer directs the output of the debug tracing to two destinations: the
Console view display and the trace log file. This output consists primarily of a transcript of the
VoiceXML and textXML output that is generated while the application is being run. For more
information, see Trace on page 833.
• Application tracking node with debug options. Orchestration Designer provides a special
node, the application Tracking node, which was designed to aid in debugging applications.
This node makes use of two palette options—the Trace item and the Report item—to help
with application tracking and debugging. For more information, see Report on page 802 and
Trace on page 833.
• Scripting of inputs and responses. For those situations where you do not want or are not able
to use the various built-in mechanisms for simulating caller responses or responses for
message applications, you can create an XML script to tell the application how the caller
responds during simulation. For more information, see Creating scripts for testing on
page 576.
• Highlighting of Operation items that use a local variable. When you click a local variable
within a Data Node Editor, the system highlights all the Operation items that use the local
variable within the data node. You can use the Operation items that the system highlights to
track and debug the logic that uses the local variable within the data node.
Note:
You can click the root item in the Data Node Editor to clear the selection.
Note:
• You must run the debugger in the debug perspective. For information about opening the
debug perspective, see Setting the Debug perspective on page 380.
• You must clear the Don't run Tomcat in debug mode check box if you want to debug the
breakpoints set in the Java code. For more information, see Debugging the breakpoints set in
the Java code on page 380.
Instead of setting breakpoints in Java code, you can now focus on the application design and
debug it by setting breakpoints on the Flow or Data nodes, without touching the Java code.
For information about setting breakpoints in the application call flow or message flow, see Call flow
editor and message flow editor on page 126.
You can also enable or disable the breakpoints in the same view as Java breakpoints.
When the debug process hits a breakpoint:
• The associated node and node item is highlighted in the call flow or message flow
• Display which breakpoint is hit
• Display process status
• Displays the current simple, complex and collection variables. You can also modify these
variables.
• Displays the execution path of the node that is being executed.
• User can resume the debug process, and step into, step return, and step over a Sub Flow.
• The node with an unhandled run-time error is highlighted in red.
Name Description
Debug Shows the runtime steps in the debug process.
Servers Shows a list of all the servers and projects that are
associated with that server. You can use the
Servers view to determine the current status and
state of the server and the projects added to the
server from the workbench.
Do not use the Servers view for the debug process.
Variables Shows all the variables in the application. You can
monitor or modify the values of the appropriate
variables to validate the application.
Table continues…
Name Description
Breakpoints Shows a list of all breakpoints set in the application.
This list includes the breakpoints set on the node
items and the Java code.
You can clear the check box associated with each
breakpoint to temporarily disable it. You can also
disable the breakpoints by right-clicking the node
item and select Disable Breakpoint. You can delete
one or all the breakpoints by selecting the
breakpoints and clicking the or button.
Execution path Shows a list of already executed nodes and the
node that is currently being executed, with their
locations in the call flow.
Tip:
When you enable the Enable Orchestration Designer logging of tracing output
option, Orchestration Designer shows the VoiceXML or textXML output in the Console
view and writes the output to a trace log file. For more information, see Console
view on page 45. This file is located at applicationName/data/log/[Link]-
[Link], where applicationName represents the top level application
directory, and yyyy-mm-dd represents simulation runs generated today. To view this
log file, locate the file in the Navigator pane and double-click the file name.
Debugging an application
Procedure
1. Open the project that you want to debug.
2. In the application call flow, or message flow, or web flow editor, set the breakpoints.
For more information, see Adding a breakpoint to a project flow on page 381.
Note:
To temporarily disable a breakpoint, see Disabling a breakpoint in a project flow on
page 381. To remove a breakpoint, see Removing a breakpoint from a project flow on
page 381.
3. After the breakpoints are set, in the application simulator, click Debug Application.
The debug process starts. The debug process suspends temporarily when the debugger
hits a breakpoint.
4. Monitor the state of the application, values of the variables, breakpoints and their execution
path using the Variables, Breakpoint, and the Execution path views in the Debug
perspective.
Note:
The breakpoints that are currently being executed are highlighted in the call flow or
message flow or web flow. Any unhandled errors are represented by highlighting that
particular node in red.
5. Modify the values of the variables in the Variables view in the Debug perspective.
The Avaya Application Simulator supports the MRCP protocol to allow you to simulate your
applications against actual third-party speech systems which are installed on a remote server. For
example, a shared speech server in a lab that is used by multiple Orchestration Designer
installations and Avaya Experience Portal.
You can test the application in the simulator against the same third-party speech systems that the
application uses in the deployment. For example, if you are using Nuance or Loquendo, you can
test the application using the MRCP feature. This allows for more thorough testing including
additional language support, SSML, n-best results, and more accurate speech recognition.
For information about configuring the Media Resource Control Protocol feature, see Configuring
MRCP settings on page 510.
While testing an application by simulation, you can:
• Specify input parameters.
• Simulate a variety of error conditions.
• Test for DTMF and spoken responses.
• Interact with databases, actually or by simulation.
• Invoke Web services.
For more information, see Application testing by simulation on page 376.
Simulation management
Using the Avaya Application Simulator to simulate applications
About this task
During simulation, you can test a wide variety of run-time and event scenarios.
Note:
Avaya recommends that you open the appropriate perspective for the project that you want to
simulate. For example, to simulate a speech application project, open the Speech perspective.
Use the Console view to view the simulation event logs.
Procedure
1. Generate the project that you want to simulate. Perform the following actions:
a. In the Navigator view or in the Avaya OD Navigator view, click the project that you
want to generate.
b. On the Project menu, click Generate > Generate Project.
Note:
If the system encounters an error while generating the project, the system displays an
alert message. You must cancel the rest of the operation, rectify the errors, and then
regenerate the project. Use the Problems view to view the errors.
2. On the Tomcat menu, click Start Tomcat.
Note:
If you do not start Tomcat, the system automatically starts Tomcat when you simulate
the application.
If you make changes to your application while Tomcat is running, you must save the
application before you simulate the application again. Each time you save the
application, Tomcat automatically updates the context to stay in sync with the latest
version of the application. Be aware, however, that if your application uses modules,
Tomcat does not automatically update module contexts.
3. If you make changes to an application that uses modules, perform one of the following
actions to update the module context:
• Restart Tomcat before you simulate the application again.
This option takes more time, but is more reliable.
• To manually reload the context for the application, in the Navigator view or in the Avaya
OD Navigator view, right-click the <project name> directory, then click Tomcat project
> Reload this context.
If the system shows an error, consult the Tomcat documentation to verify that you have
set up the Tomcat Manager application properly.
4. On the Window menu, click Show view > Application Simulator.
5. In the Application Simulator view, on the Application tab, in the Available Projects area,
click the application project that you want to simulate.
6. In the Simulation Profile field, click the simulation profile that you want to use to simulate
the application.
7. Click Run Application.
Result
• Avaya Application Simulator (AAS) verifies if Tomcat is running. If Tomcat is not running, the
system automatically starts Tomcat. AAS then runs the application simulation.
• If you simulate a speech application, AAS displays the Call::uid_<uid number> tab. You can
simulate run-time event scenarios for the speech application on the Call::uid_<uid number>
tab.
• If you simulate a call control application, AAS displays the Call:[Link]
number>:uid_<uid number> tab. You can simulate call failure events, call progress events,
and call classification scenarios for the call control application on the Call:[Link]
number>:uid_<uid number> tab.
Note:
Avaya Application Simulator (AAS) activates
the Input Parameters area if the module that a
speech application uses expects input from
another module or speech application.
Speech Project for Call Control The speech project that you want to simulate along
with the call control project.
Note:
The Speech Project for Call Control area is
available only after you select a call control
project in the Available Projects area.
Table continues…
Name Description
Simulation Profile The simulation profile that you want to use to
simulate the project.
Run Application Starts the simulation.
Note:
The Run Application option is available only
after you select a project in the Available
Projects area.
For web applications, it launches the system
web browser by default. You can change the
web browser using Windows > Preferences.
Debug Application Debugs the application.
Note:
The Debug Application option is available
only after you select a speech project or a
message flow or web flow project in the
Available Projects area.
Be sure that you set the Debug perspective to
run the debugger.
For more information, see Setting the Debug
perspective on page 380 and Using element level
debugger in the simulation environment on
page 378.
End Application Ends the simulation before the simulation is
complete.
Note:
The End Application option is available only
when a project is in the simulation mode.
In speech application, the End Application option
is different from the Hang Up option that is
available on the Call::uid_<uid number> tab.
When you click End Application, the system stops
the application wherever it is. The Hang Up option
simulates a scenario in which the caller gets
disconnected before reaching the end of the call
flow either by hanging up or by some other means.
For more information, see Application Simulator
view: Call::uid_<uid number> tab option
descriptions on page 396.
Table continues…
Name Description
Do Not Run As Module Check box to simulate an Orchestration Designer
speech application that is a module, as a
standalone application.
If you clear the Do Not Run As Module check box,
the system generates a default VXML page to
invoke the Orchestration Designer application as a
subdialog.
Note:
The Do Not Run As Module check box is
available only after you select a speech project
in the Available Projects area.
SMS Simulation The inbound SMS message that you send to the
application by using the Enter SMS Message field
and the outbound SMS message response sent by
the application.
Note:
The SMS Simulation area is available only
after you select an SMS channel message flow
project in the Available Projects area.
Enter SMS Message The SMS message body contained in the simulation
profile that you select in the Simulation Profile
field.
You can also type any other SMS message in the
Enter SMS Message field if you want to override
the SMS message contained in the simulation
profile.
AAS simulates the SMS message contained in the
Enter SMS Message field as an inbound SMS
message.
Note:
The Enter SMS Message field is available
only after you select an SMS channel message
flow project in the Available Projects area.
Email Simulation The inbound email message that you send to the
application by using the Enter Email Message field
and the outbound email message response sent by
the application.
Note:
The Email Simulation area is available only
after you select an email channel message
flow project in the Available Projects area.
Table continues…
Name Description
Enter Email Message The email message body contained in the
simulation profile that you select in the Simulation
Profile field.
You can also type any other email message in the
Enter Email Message field if you want to override
the email message contained in the simulation
profile.
AAS simulates the email message contained in the
Enter Email Message field as an inbound email
message.
Note:
The Enter Email Message field is available
only after you select an email channel
message flow project in the Available
Projects area.
Send Option to send the email message or SMS
message contained in the Enter Email Message or
Enter SMS Message fields as an inbound message
for simulation.
Note:
The Send option is available only after you
simulate an email channel message flow
project or an SMS channel message flow
project. For more information, see Using the
Avaya Application Simulator to simulate
applications on page 385.
Note:
Depending on your monitor size and resolution, increase the size of the Application
Simulator view to view the Send Digits button.
For more information, see the Getting started with Orchestration Designer guide.
Note:
Microsoft Windows 7 already have Microsoft Speech API 6.0 installed.
If Microsoft SAPI Speech is already installed on Windows 7, verify that the Speech
Recognition and Text-to-Speech tabs are available in Control Panel > Speech
Recognition > Text-to- Speech.
About this task
When you simulate a speech application or a call control application that uses a speech
application, then depending on the call flow, Avaya Application Simulator (AAS) prompts for a
response. To indicate that AAS is waiting for a spoken response, the Waiting ASR option turns
green.
You can also simulate barge-in by using AAS. By default, the barge-in feature of AAS is disabled.
You can enable the barge-in feature by selecting the Enable Speech Bargein detection check
box. For more information, see Configuring Orchestration Designer Simulation preferences on
page 510.
Note:
Use a headset when running AAS with barge-in enabled because a microphone of a standard
computer can easily pick up sounds from the computer speakers.
You can also simulate other events such as No Input, No Match, Record End, Hang Up, and
Xfer Status (Transfer status). For more information, see Application Simulator view:
Call::uid_<uid number> tab option descriptions on page 396.
Use the Console view to view the simulation event logs.
Procedure
1. Perform one of the following actions:
• Simulate the speech application.
• Simulate the call control application that uses a speech application, and select
live_voice as the call classification scenario.
For more information, see Using the Avaya Application Simulator to simulate
applications on page 385 and Simulating run-time events and scenarios for a call control
application on page 394.
2. When the Waiting ASR option turns green on the Call::uid_<uid number> tab, with a
microphone attached to your computer and turned on, speak the response.
Result
If AAS recognizes the spoken input, Orchestration Designer automatically moves on to the next
node of the call flow. If AAS does not recognize the spoken input, the application throws a No
Match event and AAS responds with the appropriate No Match prompt.
Note:
The Recognition and Confidence fields are unavailable if you enable the MRCP
feature. If you enable the MRCP feature, you must provide spoken input by using a
microphone.
4. Click Send ASR.
Note:
The default value is live_voice.
For more information, see Simulating DTMF inputs for a speech application on
page 391, Simulating spoken inputs with a microphone for a speech application on
page 391, and Simulating spoken inputs without a microphone for a speech
application on page 393.
• To simulate a call connection progress event before a call is connected, perform the
following actions:
a. Type the call connection progress information in the Progress Info field, and then
click Send Call Progress.
The system sends a [Link] event to the application. The
[Link] event contains the call progress information that you type in
the Progress Info field.
4. Click the Messages tab to view the outbound email messages and SMS notifications that
the application sends during application simulation.
Note:
The DTMF keypad is available only after the
Waiting DTMF option turns green.
Send Digits Option to send the DTMF input that you specify by
using the DTMF keypad for simulation.
Note:
The Send Digits option is available only after
the Waiting DTMF option turns green.
Call Active Green indicates that the call is active. Red indicates
that the call is processed, disconnected, or hung up.
Waiting ASR Green indicates that Avaya Application Simulator
(AAS) is waiting for an ASR input.
Waiting DTMF Green indicates that AAS is waiting for a DTMF
input.
Input Result drop-down list
No Input Option to instruct AAS to interpret a period of
silence as a No Input event.
AAS then processes the response to the prompt as
if the caller did not respond and throws a No Input
event.
Note:
AAS does not use timeout settings to
determine when a caller has not responded to
a prompt.
Table continues…
Name Description
No Match Option to simulate the ASR input that you type in
the Recognition field as a No Match event, in
which the response by the caller does not match
any expected response.
AAS then throws a No Match event.
Use this option because the ASR engine that
Orchestration Designer uses for simulation is
capable of recognizing input, but it is not as robust
as many third-party ASR engines.
Send ASR Option to send the ASR input that you type in the
Recognition field for simulation.
Note:
The Send ASR option is available only after
the application that you simulate prompts you
for an ASR input.
Record End Option to simulate a scenario in which the system
should terminate a recording based either on an
extended silence or on a DTMF key press.
AAS simulates a scenario as if the system
terminates the recording, and then proceeds
according to the application call flow.
Use this option because AAS cannot detect
extended silence at the end of a recording and
cannot automatically use record timeout settings to
terminate the recording.
Note:
The Record End option is available only if
AAS encounters a Record node while
simulating the application.
AAS does not record the entire call. AAS only
records the spoken inputs that you provide.
Hang up Option to simulate a scenario in which the caller
hangs up before reaching the end of the call flow.
AAS then throws a caller disconnect event.
Table continues…
Name Description
Recognition The spoken input that you want to send for
simulation without using a microphone.
Note:
The Recognition field is unavailable if you
enable the MRCP feature. If you enable the
MRCP feature, you must provide spoken input
by using a microphone.
For more information, see Simulating spoken inputs
with a microphone for a speech application on
page 391 and Configuring MRCP settings on
page 510.
Confidence The confidence level for the spoken input that you
type in the Recognition field.
Valid value is any value between 0.0 and 1.0.
Where the number 0.0 indicates minimum
confidence and the number 1.0 indicates maximum
confidence.
Note:
The Confidence field is unavailable if you
enable the MRCP feature. If you enable the
MRCP feature, you must provide spoken input
by using a microphone.
For more information, see Simulating spoken inputs
with a microphone for a speech application on
page 391 and Configuring MRCP settings on
page 510.
Table continues…
Name Description
Xfer Status (Transfer status) Options to simulate the following possible transfer
results:
• No Answer: Simulates a scenario in which there
is no answer from the destination number.
• Busy: Simulates a scenario in which the
destination number is busy.
• Disconnect: Simulates a scenario in which the
transferred call is disconnected on the far end,
usually as a result of the destination party hanging
up.
• Maxtime: Simulates a scenario in which the
transferred call reaches the maximum allowable
time for a transferred call and is terminated by the
system.
Note:
The Xfer Status (Transfer status) field is
available only when AAS encounters a
Bridged Transfer node while simulating the
application.
Note:
The DTMF keypad is available only when:
• In the drop-down list that is located above
the Progress Info field, you click live_voice,
and then click Answer.
• The Waiting DTMF option turns green.
Table continues…
Name Description
Send Digits Option to send the DTMF input that you specify by
using the DTMF keypad, for simulation.
Note:
The Send Digits option is available only when:
• In the drop-down list that is located above
the Progress Info field, you click live_voice,
and then click Answer.
• The Waiting DTMF option turns green.
Call Active Green indicates that the call is active. Red indicates
that the call is processed, disconnected, or hung up.
Waiting ASR Green indicates that AAS is waiting for an ASR
input.
Waiting DTMF Green indicates that AAS is waiting for a DTMF
input.
Drop-down list that is located above Send Call Progress: Contains various call failure events for
outbound calls.
Call Fail Result Option to simulate a scenario when the system is
unable to connect the call.
Ring No Answer Option to simulate a scenario when the dialed party
does not answer the call.
Busy Option to simulate a scenario when the dialed
number is busy.
No Resource Option to simulate a scenario when the system
does not find the necessary resources to connect
the call.
Network Busy Option to simulate a scenario when the network is
busy.
No Route Option to simulate a scenario when the system is
unable to route the call.
Unreachable Option to simulate a scenario when the dialed
number is unreachable.
Table continues…
Name Description
Answer Option to answer a call by using the various call
classification scenarios.
When you select a call classification scenario in the
drop-down list that is located above the Progress
Info field and click Answer, the system sends a
[Link] event followed by a
[Link] event to the application.
The [Link] event contains the event
$.[Link] variable. The event
$.[Link] variable contains the results of
the call classification scenario that you select.
Drop-down list that is located above the Progress Info field: Contains various call classification scenarios
that you can simulate after the call is connected.
busy_tone Option to simulate a scenario when the system
receives a busy tone from the dialed number. This
is commonly referred to as the "slow busy" tone. No
further classification is sent for the call.
Note:
The busy_tone call classification applies to
outbound calls only.
Reorder Option to simulate a scenario when the system
encounters a switch error, such as all circuits are
busy. This is commonly referred to as the "fast
busy" tone.
No further classification is sent for the call.
Note:
The reorder call classification applies to
outbound calls only.
sit_tone Option to simulate a scenario when the system
receives a special information tone from the dialed
number which indicates that the call could not be
completed. This is a three frequency tone that is
often followed by a spoken message.
No further classification is sent for the call.
Note:
The sit_tone call classification applies to
outbound calls only.
Table continues…
Name Description
live-voice Option to answer a call with a spoken or DTMF
input.
Note:
The live-voice call classification applies to
outbound calls only.
recorded_msg Option to simulate a scenario when the system
detects an answering machine on the dialed
number and a recorded message starts.
The recorded_msg call classification is always
followed by either a msg_end or a timeout call
classification.
Note:
The recorded_msg call classification applies
to outbound calls only.
msg_end Option to simulate a scenario when the system
detects the end of a recorded message such as that
played by an answering machine. After the
recorded message ends, the Orchestration
Designer application plays a prompt depending on
the call flow.
No further classification is sent for the call.
Note:
The msg_end call classification applies to
outbound calls only.
fax_answer_tone Option to simulate a scenario when the system
detects a fax machine on the dialed number.
No further classification is sent for the call.
Note:
The fax_answer_tone call classification
applies to outbound calls only.
Table continues…
Name Description
timeout Option to simulate a scenario when the call
classification algorithm fails to classify the call
before the timeout is reached.
By default, the timeout value is 20 seconds or
20000 milliseconds. To override the default timeout
value for outbound calls, open the call control
project. In the call_classification_timeout parameter
set the timeout value. The
call_classification_timeout parameter is available in
the hints attribute of the <createcall> tag. AAS
stops the call classification analysis when the
timeout is reached.
No further classification is sent for the call.
Note:
The timeout call classification applies to
inbound as well as outbound calls.
error Option to simulate a scenario when an internal error
occurs during the classification analysis and the
system is unable to classify the call.
No further classification is sent for the call.
Note:
The error call classification applies to inbound
as well as outbound calls.
Progress Info The call progress information that you want to
simulate.
Send Call Progress Option to send the call progress information that
you type in the Progress Info field for simulation.
Name Description
Subject The subject line of the email message.
Attachments The URL of the attachment sent along with the
outbound email message.
Message Details The details of the message that you select in the left
pane.
Other inputs
With Orchestration Designer, you can create speech applications or message applications that
use a variety of inputs other than caller responses. Among these are inputs from other modules,
database queries and other operations, and use of Web services.
Note:
Avaya recommends that you stop Tomcat before exporting an application. (If you do
not, a message dialog box may appear, that can be ignored; it will not adversely affect
the export.)
2. The second stage involves unpacking and installing the WAR or EAR file on the application
server. When this is done and the IVR system is configured to run the application, the
application is successfully deployed.
See Prerequisite files on the application server on page 424.
Orchestration Designer also supports another type of deployment: speech, or message, or data,
or web projects that can be used as reusable modules in other speech, or message, or data, or
web applications.
See Deploying a speech, or a message flow, or a web project as an Orchestration Designer
reusable module on page 421.
Note:
• Web Services connector libraries (Axis 1.4) is not included in the
runtimeSupport<application server name>.zip file by default.
• You must install the runtime support files on each application server that hosts Orchestration
Designer applications.
• If you have added or modifies certificates in the trusted_weblm_certs.jks file, you must
save copy of the existing trusted_weblm_certs.jks file before re-deploying run-time
support files to an existing deployment or updating an existing deployment to a newer
version. When you extract or unzip the run-time support files, the certificate file gets over
written. You can then use the copy of the trusted_weblm_certs.jks file
The run-time support files need to be installed only once per application server and after an
Orchestration Designer version update.
Use the Runtime Configuration application to configure various settings such as the license server
URL and proxy settings. Orchestration Designer applications use these configurations at run time.
Name Description
Export Orchestration Designer runtime Check box to create the run-time configuration
configuration application application.
Destination Directory A path where you want to save the run-time support
files and runtimeconfig files.
Note:
The Web Services connector libraries (Axis
1.4) are not included in the
runtimeSupport<appserver>.zip file by
default. You may need these libraries to
support legacy web services.
Pluggable Connector Web Applications
Avaya AES Connector ([Link]) Check box to export the Application Enablement
Services Connector (AESC) Web applications to the
destination directory.
Avaya IC Connector ([Link]) Check box to export the Avaya IC Connector Web
applications to the destination directory.
Note:
Orchestration Designer does not include validation pages in the exported WAR file by
default. To include validation pages in the exported WAR file, select the Include
Validation JSP pages check box.
8. On the Configure Web Application Descriptor page, configure the application descriptors
for the target platform.
9. Click Finish.
Result
The system packages and exports the selected project to the designated destination based on the
following rules:
• If the target destination is a Tomcat application server, WebLogic application server, or JBoss
EAP/Wildfly application server, Orchestration Designer generates a .war file named <project
name>.war, where <project name> is the name of the application project.
Note:
You can export only one project at a time.
Hence, if a speech project, or a message flow
project, or a web flow project uses reusable
modules, then you must export each reusable
module separately.
Destination Directory The directory path where you want to export the
project.
Name Description
Platform The run-time platform on which you want to deploy
and run the Orchestration Designer application after
you export the application project.
The following are the options:
• Experience Portal: Optimizes the application to
run on an Avaya Experience Portal system.
• IR: Optimizes the application to run on an Avaya
IR system.
Note:
The IR option is available only for speech
projects.
• Desktop: Optimizes the application to run on one
of the supported operating system desktops. The
Desktop option is intended primarily for
development.
Note:
The default is Desktop.
• Other: Optimizes the speech application or the
call control application to run on another
VoiceXML 2.0-compliant IVR system.
Note:
The Other option is available only for call
control projects and speech projects.
• MPS: Optimizes the application to run on an MPS
system. When Orchestration Designer encounters
an MMF file, it generates a VXML based on the
phrase definition.
Note:
If you set Platform to MPS, you must set
DTMF Compatibility to native.
The MPS option is available only for speech
applications.
Table continues…
Name Description
Servlet container Servlet container options for the IVR system or the
text processing system.
The following are the options:
• Apache Tomcat 7.0: The IVR system or the text
processing system uses Apache Tomcat 7.0
application server software.
• Apache Tomcat 8.0: The IVR system or the text
processing system uses Apache Tomcat 8.0
application server software.
• Apache Tomcat 9.0: The IVR system or the text
processing system uses Apache Tomcat 9.0
application server software.
• IBM WebSphere: The IVR system or the text
processing system uses IBM WebSphere or
WebSphere Express application server software.
• Oracle WebLogic: The IVR system or the text
processing system uses Oracle WebLogic
application server software.
• JBoss EAP/Wildfly: The IVR system or the text
processing system uses JBoss EAP/Wildfly
application server software.
Speech
Note:
The following options are available only when you export a speech project.
Table continues…
Name Description
Grammar compatibility Type of the ASR server engine to target the ASR
grammars.
The following are the options:
• Desktop Microsoft Speech SAPI: Grammars are
optimized to work with Microsoft Speech API
(SAPI).
• Google Speech: Grammars are optimized to
work with Google ASR. If static grammars are
used, then you must fill the content of the
grammar files with the suffix “google” in the data/
<language>grammars folder.
• IBM: Grammars are optimized to work with IBM
WebSphere or WebSphere Express ASR
engines.
• Loquendo: Grammars are optimized to work with
Loquendo ASR engine.
• Nuance 10.0 and above: Grammars are
optimized to work with Nuance 10.0 and above.
• Nuance 9.0 (Quantum): Grammars are optimized
to work with Nuance 9.0.
• Nuance OSR: Grammars are optimized to work
with Nuance OpenSpeech Recognition products
including Quantum.
• SRGS-Literals: Grammars conform to the SRGS
version 1.0 standard.
Note:
The default is SRGS-Literals.
• SRGS-SISR: Grammars are generated in the
SRGS format with SISR as per the standards and
do not take into account any vendor specific
nuances.
By default, Orchestration Designer creates
grammars to support all ASR engines. The
grammars that Orchestration Designer uses at run
time are based on the type of the ASR server
engine that you select in the Grammar
compatibility field, and ultimately the value of the
runtime-asr variable in the [Link] file.
Table continues…
Name Description
Grammar Caching The grammar caching option to use.
The following are the options:
• none: Grammar caching is not permitted for the
application that you export.
• default: The application that you export uses the
default setting of the IVR system for grammar
caching.
DTMF Compatibility The DTMF grammar option to use.
The following are the options:
• local SRGS-SISR: If you select this option,
grammars are generated with SISR tags and are
processed locally by the voice browser. Use this
option for Avaya Voice Portal 5.0 and later.
• local SRGS-Literals: Grammars are generated in
SRGS literal format and are processed by the
voice browser. Use this option for Desktop, IR,
and Avaya Voice Portal 4.1 and earlier.
Note:
The default is local SRGS-Literals.
• native: Generates the DTMF grammars in the
native format of the ASR engine that you specify
in the Grammar Compatibility field. If you select
native, then on the Avaya Voice Portal platform or
the Avaya Experience Portal platform, under
advanced options, you must enable the
application for remote DTMF processing. The
ASR engine then handles the DTMF grammar
processing.
Note:
Select native only if you select the platform
as Voice Portal, Experience Portal, or MPS
in the Platform field.
If you select the platform as MPS in the
Platform field, you must set DTMF
Compatibility to native.
Table continues…
Name Description
Enable Speech Synthesis Markup Language Check box to enable SSML markers in the prompts.
(SSML) generation in project prompts
If you select this check box, when the voice browser
generates the TTS content, it also generates the
SSML data.
Note:
If you select this check box, Avaya Application
Simulator (AAS) generates the SSML data,
even in the simulation mode. The Microsoft
TTS engine that Orchestration Designer uses,
however, is not capable of generating or using
SSML data. Hence, you cannot test SSML
data during simulation.
Name Description
Deploy project class files as Options to determine how Orchestration Designer
should deploy the class files for the project.
• JAR file
The following are the options:
• class files
• JAR file: Packages the .class files of the project
into a single, self-contained Java ARchive (JAR)
file.
Note:
The default is JAR file.
• class files: Deploys the .class files of the project
as separate files within the WAR file.
For run time, it does not make any difference which
option you select. The JAR file option, however,
has the following advantages:
• JAR files keep the run-time environment cleaner.
• A single JAR file is easier to replace than to
replace a whole batch of .class files.
Include source code Check box to include the source code of the project
in the .war or .ear file. Including the source code in
the .war or .ear file helps you to study, use, modify,
and debug the source code.
Include project meta files Check box to include the project meta files in
the .war or .ear file. Project meta files are files such
as .prompt, .gram, and .flow files.
Including the project meta files in the .war or .ear
file makes it easier to check in the files into a source
control system, email the files, or deploy the project
with all files.
Include Validation JSP pages Check box to include the validation JSP and other
supporting JSP pages. These JSP pages can be
loaded in the web browser by the application
administrator to verify if the application has been
correctly deployed. The JSP pages are considered
while deploying tools and can be leveraged by
potential security threats. Therefore, remove the
JSP pages after the deployment is validated. To
remove the JSP pages, delete the jsp folder from
the application directory.
Table continues…
Name Description
Allow HTML Mode Check box to allow the application to be launched
and viewed in the web browser that has access to
the application server. It is a convenient way to
execute and verify the application flow and logic
without making a call to the platform. The html
mode is designed for validating the application, and
can be leveraged by potential security threats.
Therefore, disable the html mode after the
application is validated. To disable the html mode,
go to the [Link] deployment descriptor, and set
the parameter htmlmode to false.
Include extra files and folders Check box to include the extra files and folders in
the .war or .ear file. The system adds the files and
maintains the folder structure in the exported .war
or .ear file. The system copies the resources into
the root of the .war or .ear file and maintains the
directory structure.
Note:
Be sure that you add the files and folders to
the //data/ directory. The system then
automatically includes the files and folders in
the packaged .war or .ear file.
The //data/ directory is available within a
project directory in the Package Explorer view
in the Java perspective.
Exclude JDBC resources from the context file Check box to exclude the JDBC resources from the
context file when exporting the application project to
a .war or an .ear file.
Select this check box when a global database
definition is defined in the Tomcat configuration files
that the Orchestration Designer application uses.
Note:
The Exclude JDBC resources from the
context file check box is available only after
you select Apache Tomcat 7.0, Apache
Tomcat 8.0, or Apache Tomcat 9.0 in the
Servlet container field on the Specify Platform
Details page of the Export Orchestration
Designer Project wizard.
Table continues…
Name Description
Exclude languages Check box to exclude language files that are used
in the speech, message flow, or web project from
the .war or .ear file.
Note:
The Exclude languages check box is
unavailable if the speech, message flow, or
web project uses only one language.
The Exclude languages check box is
unavailable if you export a call control project.
Exclude phrase audio files Check box to exclude the audio files that are used
in the speech project from the .war or .ear file. You
can select this check box to deploy a speech project
update without updating the audio files on the
server. Thereby, generating a smaller .war or .ear
file.
Note:
The Exclude phrase audio files check box is
available only if you export a speech project.
Reusable Modules
Note:
This setting is available only if you export a speech project or a message flow or a web project.
Deploy project to the Orchestration Designer Check box to deploy the speech, message flow, or
reusable modules directory web project as a reusable module. If you select the
Deploy project to the Orchestration Designer
reusable modules directory check box, the
system deploys the .war or the .ear file to the
reusable modules directory.
For more information about this option, see
Deploying a speech, or a message flow, or a web
project as an Orchestration Designer reusable
module on page 421.
Tracing
Note:
This setting is available only if you export a speech, or a message flow, or a web project.
Table continues…
Name Description
Reset tracing in the deployed application to the By default, tracing is disabled in a deployed
default (disabled) settings application. Clear this check box to enable tracing
and to enable the localapptrace parameter in the
[Link] file.
Note:
If you deploy an application as a reusable
module and enable tracing, the system logs
the trace and report information of the module
in the log file of the parent application of the
module.
The system does not log the trace and report
information of the module in the log file of the
module.
Build File
Save build file after exporting the project Select the Save build file after exporting the
project check box to save the build file when you
are exporting an Orchestration Designer
application. When you select this check box, the ant
build file gets saved as [Link] in your project
directory. Also, a buildFiles folder that stores the
files to package with the war or ear is created.
If you export the project from Orchestration
Designer next time without selecting the Save build
file after exporting the project check box, then the
[Link] file and the buildFiles folder is
deleted.
• Servlets tab: Provides a review and editable interface for the various parameters and settings
of the deployment Java servlets. In almost all cases, changes to these settings are not
needed. The settings and options that you can modify on the Servlets tab of the Configure
Web Application Descriptor page are the same as those on the Web Descriptor tab of the
Properties for <project name> dialog box. For more information, see Servlets tab on
page 502.
Caution:
Do not modify these settings. Modifying these settings can adversely affect your
application.
Note:
Orchestration Designer displays a warning with notification that after the module is
deployed to the reusable module directory, there will be both the reusable module and
the project, each with the same name in the project workspace. To avoid potential
conflicts between the project and the reusable module, close the project and move the
project out of the workspace. You can move the project to the workspace when you
want to modify and redeploy the project.
Even if you retain the speech, or the message flow, or the web project in the workspace,
the reusable module that is available in the Palette pane of the call flow editor, or the
message flow editor, or the web flow editor and the speech project, or the message flow
project, or the web project that is available in the Avaya OD Navigator view are different.
7. In the Deploy Project message box, click Yes.
8. Follow the pages on the wizard and configure the settings.
For more information, see Exporting an Orchestration Designer project on page 409.
9. Click Finish.
Result
Orchestration Designer deploys a copy of the speech, or the message flow, or the web project to
the reusable modules directory.
Next steps
You can import a reusable module only in an Orchestration Designer project that is created for a
channel that is same as that of the reusable module. For example, you can import a reusable
speech application module only in a speech project.
When you import the reusable module in an Orchestration Designer project, the system adds a
module item for the new module in the Palette pane of the call flow editor or the message flow
editor or the web flow editor.
Note:
The Export wizard also creates a copy of the WAR file at the location that you specify as the
destination directory on the Export Orchestration Designer Project wizard. You must deploy
this WAR file to the application server for use with the parent application. If you do not deploy
this WAR file to the application server along with any other application project WAR files, the
parent application will not be able to find or use it.
Note:
If you store custom object (objects that you define) in session properties and want to pass
them between two modules (Web applications), the code for the objects must be in
<tomcat_home>/common/lib so that the class loader works properly. If that code is on
<appname>/WEB-INF/lib, then an object instantiated in project A cannot be accessed on
project B. By moving the implementation of the class to the common lib and in turn the
common class loader, the implementation can be shared across Web applications.
8. On the Specify Deployment Parameters page, specify the deployment parameters, and
then click Next.
9. On the Configure Web Application Descriptor page, configure the application descriptors
for the target platform, and click Next.
The Configure Deployment Package page, displays a list of applications including the
primary and module applications.
10. (Optional) To add other modules in the EAR package:
a. On the Configure Deployment Package page, click Add.
b. In the Select a Project dialog box, select a module application and click OK.
c. Repeat step 10 (b) for the number of applications you want to add as modules.
Note:
Ensure that you do not add an application that is already deployed on the
application server. WebSphere does not support more than one instances of the
same application installed, either in an EAR file or with other application in
another EAR file. If any of the application is already deployed, you must remove
the application from the Configure Deployment Package page during the export
process.
11. Click Finish.
Result
The system packages and exports the selected projects to the designated destination based on
the following rule:
• If the target destination is an IBM WebSphere application server or WebSphere Express
application server, Orchestration Designer generates an .EAR file named <project
name>.ear, where <project name> is the name of the primary project.
Software requirements
Orchestration Designer applications must run with one of the following servlet containers:
• Apache Tomcat 7.x, Tomcat 8.0.x, or Tomcat 9.0.x
• IBM WebSphere Application Server 8.5 or 9
• Oracle WebLogic 10.3.6, 11g, 12c, or 14c (14.1.1)
• JBoss EAP/Wildfly
Note:
If you are using Tomcat for your deployment server, the Tomcat version for your development
environment must match the Tomcat version on your deployment application server.
Filename Description
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by REST for Web service connectivity.
[Link] Used by REST for Web service connectivity.
[Link] The classes for log4j logging activities.
[Link] The classes for log4j logging activities.
[Link] Used for configuring the logs.
[Link] Used by Axis2 and REST for Web service connectivity.
scertcommon-[Link].jar The shared Orchestration Designer run-time classes.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] The properties file used by [Link] for locating and
accessing the trust store (trusted_weblm_certs.jks),
which contains the WebLM certificate.
trusted_weblm_certs.jks The trust store that contains certificates for HTTPS
communications with WebLM. Can also contain other
user or application-added certificates.
[Link] Used for configuring the AES component.
[Link] The logging configuration file for the Avaya Experience
Portal logging client.
VPAppLogClient_8.[Link] Used for writing logs to Avaya Experience Portal.
VPWebServiceClient-[Link].jar Used by VPAppLogClient to interact with the Axis2
library.
[Link] The client library for license management.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
[Link] Used by Axis2 for Web service connectivity.
Note:
If you use Orchestration Designer 7.0 with Voice Portal 5.0 or earlier and you want to use the
Application Logging feature in Orchestration Designer 7.0, or if the Orchestration Designer
applications are using the old Web Service connector, you must install the Axis 1.4 libraries.
The additional libraries are:
Filename Description
[Link] Used by Axis for Web service connectivity.
[Link] Used by Axis for Web service connectivity.
[Link] Used by Axis for Web service connectivity.
[Link] Used by Axis for Web service connectivity.
[Link] Used by Axis for Web service connectivity.
10. On the Configuration page, ensure that the shared library you created is selected.
11. Click OK to save the configuration.
12. Make sure you verify all the configuration has been saved, and restart the application
server.
Note:
If the Login page does not display, or the default username/password does not work,
contact Avaya Orchestration Designer support.
You must configure the Preference settings of Orchestration Designer for the application
server that hosts your deployed applications.
You can set the Number of days to issue warnings and alarms before certificate expires to a
value between 30 and 60 days. The default value is 60.
The runtimeconfig displays a warning in red if any certificates are nearing expiration. The
default certificate expiration period for self-signed certificates is 1186 days or approximately 39
months.
Orchestration Designer Security Domain Validation
You can enable or disable extended hostname validation in certificates. This validation will be
performed for https with mutual authentication. The validation is performed to verify whether the
certificate has the name of the host you are accessing. For example, if you are accessing
[Link] then the subject or subject alternative name needs to have
“[Link]” in the subject or subject alternative name.
Configuring a certificate in a run-time environment
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Certificates.
3. On the Certificates page, click Use other.
4. Click Change.
5. On the Change Keystore page, perform the following actions:
a. In the Keystore Path field, enter the path of the keystore.
b. In the Password field, type a password to access the keystore.
c. In the Confirm field, re-enter the password.
d. Click Validate to validate the keystore location and the password.
e. Click Save to save the changes.
The system displays the Certificates page.
6. On the Certificates page, click Use other.
7. Click Save.
Adding a certificate in a run-time environment
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Certificates.
3. On the Certificates page, click Add.
Note:
The validity of the certificate is 1189 days (39 months).
Deleting a certificate in a run-time environment
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Certificates.
3. On the Certificates page, in the lower pane, select the check box corresponding to the
certificate that you want to delete, and then click Delete.
The system deletes the certificate from the keystore.
After a server has been added, the entry is added to the AES server table, and links are added to
configure channel extension mappings or to add a failover server. When clicking map, a new page
is displayed to configure TServer extension mappings.
Note:
If you are mapping extensions across two or more AESs, ensure the extensions do not
overlap.
Channels can be mapped one at a time, or a sequence of channels can be mapped using a “1-n”
reference. For Interactive Response, channels must map to IR setup. For Avaya Experience
Portal, channel mappings are arbitrary. (For this release, ignore Observe On Setup option.)
Tip:
A delay can be incurred when the AESs are attempting to establish connections to TServers,
which can slow down the Tomcat launch as well. When connectors are not installed,
initialization is quicker. If this is problematic, use “localhost” in the [Link] file instead.
See About AES connectors on page 599.
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click AES.
3. On the AES page, configure the AES settings to add a TServer/AES server.
For more information, see Orchestration Designer Admin Console: AES Connector page
field descriptions on page 437.
Next steps
You will need to restart the AES for changes to take affect. You will also need to modify
[Link] that is included with your runtime support files before connecting to a TServer/AES.
Copy or move the [Link] file from bea\user_projects\domains\domainname\ lib to
WeblogicHome\common\lib. You can then edit [Link] file in this directory as well.
Note:
Server name must be unique and the
TServer/AES and failover names cannot
contain '*'. TServer/AES names cannot be
duplicated (even Failover name cannot be the
same as TServer/AES).
Service Name Identifies the service provider in the following
format:
vendor#switch#type#server
For example:
AVAYA#S8300DD#CSTA#MLDDaes
User Name Username to connect to this tserver/AES.
Password Unencrypted password to connect to this tserver/
aes.
Confirm Password Confirm password must match password.
trustStorePassword=password
Note:
The Service Name varies depending on the customer. The trustStoreLocation value
can be different depending on the location of [Link] file on your computer.
However, the trustStorePassword value must be password.
For AES 7 and later, the [Link] file provided by Avaya does not work.
Customers must provide their own certificates and configure AES 7 according to the
related documentation.
Next steps
Click the VChannel Map link to enter the physical channel and the virtual channel for this
mapping. All IR systems have the same physical channel. Be sure that virtual channels do not
overlap.
Configuring IC settings
About this task
If the Orchestration Designer application uses the Interaction Center (IC) connector, the
application server must be configured to make the connection with either the VOX server or the
VRUSM/HTTPVox in the IC system.
For more information, and the procedure to configure the application server to use the IC
connector, see About the IC connector on page 611.
There are three links from the Orchestration Designer Admin application for configuring IC
settings.
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, perform one of the following actions:
• Click IC Common. Perform the following action:
- In the Trace Verbosity field, configure the trace verbosity. That is, amount of debug
output. Possible values are 0 for off or 3 for full.
• Click IC VOX to configure the IC VOX connection.
For more information, see Orchestration Designer Admin Console: IC VOX field
descriptions on page 440.
• Click IC VRUSM/HTTPVOX.
For more information, see Orchestration Designer Admin Console: IC VRUSM/
HTTPVOX field descriptions on page 441.
Name Description
Timeout Time Time in ms to wait for a VOX response. Default is
4000
IC Channel Mapping
IC Channel Mapping Used to inform ICC which VOX to target the call to.
This mapping is only necessary in client mode and
if you have more than one VOX connection.
Enter the channels, and the ICC match the channel
to the correct VOX and send the call to it.
Name Description
General Settings
Enable IC VRUSM/HTTPVox Connector Clear this if you do not want the VRUSM connector
to run; otherwise select it.
Use HTTPVox Use this option to indicate communication to the
HTTPVox. If this option is not selected, ICC
communicates with the VRUSM.
Timeout Time in ms to wait for a VRUSM response. Default
is 4000.
Thread pool size Number of active threads in pool handling
application requests to the HTTP server(s).
Ping Timeout Time in ms to ping HTTP server(s).
Show Pings in log Log pings.
Attributes Description
Trace Verbosity Amount of debug output. Possible values are:
• 0 - off
• 3 - full
IC VRUSM Settings
Name Unique name to identify the IC.
Address Address of VRUSM (HTTP) Server.
Port TCP/IP port.
Table continues…
Name Description
Secure Connection (SSL) When selected, ICC uses SSL to communicate to
the VRUSM/HTTPVox using a secure connection.
Note:
To use SSL, you must provide your own
certificate and deploy it either to the
Orchestration Designer Trust Store -
trusted_weblm_certs.jks, or to your own
external trust store. You can configure the
external trust store from the Orchestration
Designer configuration servlet on the
Certificates link. Ensure that IC has a similar
configuration. For more information, see the IC
documentation.
User management
The default configured user is ddadmin. Additional users can be added for managing or
configuring the settings in the Orchestration Designer Admin Console by adding them to this page.
Adding a user
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Users.
The system displays the Users page.
3. In the User Name field, type a user name for the user.
4. In the Password field, type a password for the user.
5. In the Confirm Password field, re-type the password.
6. Click Add.
Changing the password of a user
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Users.
The system displays the Users page.
3. In the Change Password column, click change corresponding to the username for which
you want to change the password.
4. In the Old Password field, type the old password of the user.
5. In the New Password field, type a new password for the user.
6. In the Retype New Password field, re-type the new password.
Deleting a user
Procedure
1. Open the Orchestration Designer Admin Console.
For more information, see Accessing the Orchestration Designer Admin Console on
page 431.
2. In the left pane, click Users.
The system displays the Users page.
3. Select the check box corresponding to the user that you want to delete, and then click
Delete.
A confirmation message appears.
4. Click OK to delete the user.
• If the parent Orchestration Designer application is under SSL control, you must also put
all of its child applications under SSL control as well. This includes modules, AESCs,
and ICs.
Note:
Before deploying speech applications, be sure that you know how to configure
database connection pooling (DBCP) to the Web server. The following link provides
useful information about the values supplied, but which need to be tuned for each
installation: [Link]
Procedure
1. Open the WebSphere Administrative Console.
2. On the Applications menu, click Install New Application.
3. Use the browse window to locate the [Link] file you copied to the server.
4. If your application uses a JDBC data source, define the data source:
• For the JDBC data source name, enter the name of your JDBC data source.
• For the JNDI name, enter jdbc/, followed by the name of your JDBC data source.
For example, if the name of your JDBC data source is MyJDBC:
• For the JDBC data source, enter MyJDBC
• For the JNDI name, enter jdbc/MyJDBC
Note:
If the JNDI name is not properly defined, your Orchestration Designer application
will probably fail to access the data source properly.
Note:
To determine the name of your JDBC data source, see Data source management on
page 287.
5. For the rest of the options, accept the defaults.
6. After the application is deployed, save your changes and start the application.
Note:
Do not copy the [Link] or
[Link] file to the actual application directory where
all other applications are located.
2. Extract the [Link] or [Link]
file to the root directory where the JBoss EAP / Wildfly application server software is
installed.
The files are extracted to the <JBossHome>/modules/com/avaya/od/main directory.
Where, <JBossHome> is the root directory where JBoss EAP / Wildfly application server
software is installed.
3. Copy all the .war files exported by Orchestration Designer including the
[Link], <projectname>.war, [Link], and
[Link] files to the <JBossHome>/standalone/deployments directory.
4. If the Orchestration Designer project uses database operations, copy the JDBC driver file
into the <JBossHome>/standalone/deployments directory.
5. Configure the JDBC data source by using the JBoss EAP / Wildfly Administrative Console.
The JDBC name must be in the java:/jdbc/<Orchestration Designer data source name>
format.
6. Restart JBoss EAP / Wildfly to access the runtimeconfig and the Orchestration Designer
application.
• [Link]
2. Perform one of the following actions:
• For Tomcat:
- Copy the [Link] to your webapps.
When you restart Tomcat, it will expand and deploy for you.
• For Websphere:
- Use the [Link] file and deploy the .ear file by using the Websphere
Administrative Console.
• For WebLogic:
- Use the [Link] (preferred) or .war file and deploy it by using the
WebLogic Administrative Console.
• For WebLogic 12c:
a. On the Weblogic 12c application server create a directory with the name
[Link]. That is, /odapps/[Link].
b. Extract the [Link] file in the /odapps/[Link]
directory.
c. Deploy AES Connector. You must select the [Link] directory while
deploying the AES Connector.
d. Copy the [Link] file from the lib directory to the domain directory,
That is, copy [Link] from /opt/Oracle/Middleware/user-projects/
domains/OD/lib to /opt/Orcle/Middleware/user-projects/
domains/OD.
• For JBoss EAP or Wildfly:
- Use the [Link] file and deploy the .war file by using the JBoss
Administrative Console.
Next steps
After the AESC is deployed, configure it using the Orchestration Designer Runtime Admin
Configuration. See Orchestration Designer Admin (ddadmin) Web application configuration on
page 431.
“hot deployments.” Typically, this is achieved using hardware or software solutions to achieve
application updates utilizing multiple servers and a load balancer.
Hot deployments essentially use HTTP routing (load balancer or IP sprayer) to route requests
away from the server that will be upgraded. With sticky sessions (or session affinity), all active
sessions on the server are allowed to finish (or “drain”) while other servers take the load of the
server that is being taken down. When all sessions have been drained, the application on the
server can be stopped and the update applied.
In such a case, the server does not actually has to stop unless common libraries are updated. This
means that other applications on the server can continue to run uninterrupted.
After updating the application, it can be restarted and then traffic can be gradually routed to it to
make sure that it is running properly. This approach also allows updates to be backed out, if there
are problems with the new application, by routing requests back to the servers hosting the older
application version.
Hot deployment approaches for developing Web application updates while maintaining application
availability is widely documented on the Web for deployment to enterprise-level application
servers.
The following are the references. For more references, perform a search on the Internet.
• High availability Tomcat:
[Link]
• Maintain continuous application availability while updating WebSphere Application Server
enterprise applications:
[Link]
0412_vansickel.html
• Understanding WebLogic integration high availability:
[Link]
• High availability for JBoss EAP:
[Link]
• High availability for JBoss Wildfly:
[Link]
Alternatively, to deploy and undeploy applications without restarting the application server, you can
specify a location other than the default location for the log files and temporary directories. For
more information, see Deploy and undeploy an application without restarting the application
server on page 452.
Note:
By default, WebLogic saves the application log
files and temporary directories in the
<appname> directory in the root directory of
the operating system.
IBM Websphere 8.0 or IBM Webshphere 9.0 <Websphere_HOME>/AppServer/profiles/
AppSrv01/installedApps/<cellname>/
<appname_Speech_Application.ear>/
<appname>.war
JBoss EAP / Wildfly <JBoss_HOME>/standalone/tmp/vfs/
temp<UID>/<appname>.war/
To deploy packed WAR files, the system requires a directory to write application logs and save the
recording files. You can set a directory for the log files and temporary directories of packed as well
as unpacked WAR files by using the -[Link] system configuration property or the
runtimeconfig Web application configuration.
The -[Link] configuration overrides the runtimeconfig Web application configuration
to ensure backward compatibility for applications that are built by using the earlier versions of
Orchestration Designer. The -[Link] configuration sets a temporary directory for all
applications on an application server. The runtimeconfig Web application configuration sets a
location to save individual application log files and temporary directories of a single deployed
application.
When you specify a location, other than the default location, for the log files and temporary
directories by using the -[Link] configuration or the runtimeconfig Web application
configuration and record a message, the system returns the URL for the recorded file in a file://
protocol format. When replaying the recording in a prompt, the platform on which you execute the
voice browser cannot access this URL because the URL is not in an HTTP protocol format.
Hence, to replay the recording, you must write a Java code to move the file from the directory
location to a Web context and provide a reference to the file by using the HTTP protocol.
Note:
Before you change the location of the application log files and temporary directories, ensure
that the application is deployed.
Java code to move the recorded file from the directory location to
a Web context
Use the following Java code to move the file from the directory location to a Web context:
} finally {
// close streams, ignore any exceptions closing streams
if (sourceStream != null) {
try {
[Link]();
} catch (IOException e) {
}
}
if (destStream != null) {
try {
[Link]();
} catch (IOException e) {
}
}
}
}
The deployment process also provides tools that allow you to check various aspects of the
application in the run-time environment. See Application deployment verification on page 457.
Tip:
As a shortcut, or if you do not want to use the Tomcat Manager, you can enter the
following URL in this step: [Link] where appName
is the name of the application you want to check on.
3. Click Tomcat Manager.
4. Click the name of the application you want to check on.
The Web browser displays the [Link] page for the selected application.
Tip:
In general, green text indicates that a setting is properly configured. Yellow text
indicates that an optional setting is not as expected, but in most cases, it does not
indicate a condition that would prevent the application from running properly. Red
indicates that a required setting is not right and, therefore, that the application probably
will not function as expected.
Note:
If you are storing “custom object” (objects that you define) in session properties and want
to pass them between to modules (Web applications), the code for the objects must be in
the <tomcat_home>/common/lib so that the class loader works properly. If that code
is on <appname>/WEB-INF/lib then an object instantiated in project A cannot be
accessed on project B. By moving the implementation of the class to the common lib and
in turn the common class loader, the implementation can be shared across Web
applications.
See Prerequisite configurations for running Orchestration Designer applications on an application
server on page 430.
Button Function/Comments
Note:
The Show ... VXML buttons are intended primarily as debugging aids. Clicking these
buttons may not work as expected in every case, because they require the Web browser
to send another request for the VXML contents. This request can cause session variables
to change and alter the test flow of the application.
Note:
In a Firefox Web browser, only the system outputs (prompts) are displayed. To see the
VoiceXML code, use Internet Explorer.
• Command buttons: At the bottom of the page are three command buttons:
- Enable/Disable: Toggles between Enable and Disable, according to its current state.
When performance monitoring is disabled, this button is labeled Enable, and Disable when
enabled.
Before data can be collected for analysis, performance monitoring must be enabled for the
application. To turn off performance monitoring for the application, click Disable.
- Refresh: Use this button when you have two browser windows open. For example, when
using one browser window to view the application in HTML mode and a second window to
display the performance statistics. Using this button refreshes the data after running
several tests of the application.
- Reset: This button clears all statistical data in the performance monitoring data file and
resets all values to zero (for times) or null (for method or operation names).
You can use this button to flush the results of previous tests and start over.
Note:
Avaya recommends that you disable the localddtrace parameter on the
production system when using private variables.
For more information about private variables, see Field on page 720,
Property on page 786, and Simple Variable on page 819.
localapptrace Enables application tracing. Valid values are enabled or disabled.
showxml Displays the generated XML output. Valid values are enabled or disabled.
showxmlroot Displays the generated XML output for the AppRoot in the [Link] file. Valid
values are once, always, never. The default value is once.
localreportlog Enables the local [Link] file on platforms such as Avaya Experience Portal.
Valid values are enabled or disabled.
skeletonreporting Enables application skeleton reporting. This is reporting that tracks the path a
caller takes through an application. Valid values are enabled or disabled.
• For Avaya Experience Portal systems, from the main menu, select Reports >Application.
For more information about this report tool, see Application Report in your Avaya Experience
Portal documentation library.
Note:
On the Configure Web Application Descriptor page, retain the default settings.
h. Click Finish.
5. Export the application run-time support files. Perform the following actions:
a. On the File menu, click Export.
The system displays the Export wizard.
b. Double-click Avaya OD Development.
c. Click Export Runtime Support Files, and then click Next.
The system displays the Export Application Runtime Support Files wizard.
d. Follow the pages on the wizard and configure the settings. For more information, see
Exporting the run-time support files on page 408.
At your chosen destination directory, the following three files are created:
• [Link]
• [Link]
• runtimesupportTomcat<version number>.zip
The application is now exported.
Note:
Installing runtime support files and the runtime configuration web application only has
to be done during the initial application server setup or after installing Orchestration
Designer updates or service packs. If the Application server already has been
configured for Orchestration Designer applications then steps 5-7 can be skipped.
6. Set up the application server. Perform the following actions:
a. Unzip the runtimeSupportTomcat<version number>.zip into Tomcat's
common directory.
b. Copy the [Link] file to the webapps folder. For example,
C:\Program Files\ApacheSoftware Foundation\Tomcat 5.5\webapps
c. Restart the Apache Tomcat Service on the Application Service.
Troubleshooting
Problem description
When using AACC Handoff in simulation a long message results in:
[Link]
[Link].<init>([Link])
[Link].<init>([Link])
[Link]([Link])
[Link]([Link])
[Link]([Link])
[Link]([Link])
Solution
You must limit the size of the messages when testing AACCHandoff in simulation, as long
messages are because of the query string limits that the Eclipse Browser widget imposes.
Problem description
When running certain applications (E.g. ConferencePredefined sample application), if the system
enables Dialog Designer->Avaya Application Simulator->Enable display of the Avaya Voice
Browser output in a console window, the application can behave irregularly.
Solution
Disable Dialog Designer->Avaya Application Simulator->Enable display of the Avaya Voice
Browser output, if you encounter the application behaving irregularly.
Problem description
If the system finds any leading \r\n in a document before the ?,xml… the parse fails.
Solution
The work around in the JSP page is to have:
<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE ccxml PUBLIC “[Link] “[Link]”>
<ccxml xmlns=“[Link] version=”1.0”>
for the first 3 lines before <%import...
Problem description
When making a call to a line on the same switch and the call is in the busy state, you might get
back a “failed” instead of a “busy” state indication.
Solution
You must not check specifically for the “busy” state.
Problem description
An OD application fails to run if the application is compiled with a Java version that is newer than
the one on the Application Server.
Solution
Select the Java Compiler compliance level that matches what is installed on the Application
Server located at Window->Preferences->Java->Compiler in eclipse.
In the email editor, if the email extends beyond the view, Eclipse creates a scroll bar for both the
email message body and the view.
Solution
You must manually change the view scroll bar for operations such as find/replace asthat operation
does not auto control the view scroll bar.
Problem description
Encountering the error “Runtime error” when using the online help.
Solution
You must change your Internet Explorer settings to work correctly with Sun’s JavaDoc utility. While
in your IE browser, go to Preferences, Tools, Internet Options. Select the Advanced tab. Ensure
that you check the “Disable Script Debugging (Internet Explorer)” and “Disable Script Debugging
(other)”. Click OK. Close all IE windows and Eclipse and then restart Eclipse.
Problem description
Running the same application twice in a row without restarting tomcat generates exception errors.
Solution
To work around this issue, enable “Automatically restart Tomcat when running an application.”
Problem description
For Email/SMS simulation, the system does not display multibyte characters correctly.
Solution
Go to Eclipse Preferences>General>Workspace and select Other: UTF-8 as the Text File
Encoding.
Problem description
Experiencing slowness in simulation or unexpected delays.
Solution
Change the garbage collection settings by adding either:
<res-ref-name>jdbc/DS</res-ref-name>
<res-type>[Link]</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
Export the app for deployment; ensure that this is done after the [Link] is changed; otherwise,
you have to redeploy the app.
Problem description
If you have trouble deploying the [Link] file or WAS install scripts on a Linux machine.
Solution
Try using the utility dos2unix on the files.
Problem description
Changes to AES, including TSAPI 6.3.1 and higher, have resulted in changes to the reporting of a
call in a busy state after a CTI Dial operation or CTI Consultation Call. Some busy calls may be
reported as failed instead of busy. Your application may get affected if it specifically checks calls
for a busy return state instead of just checking for a failed call.
Solution
1. Login to AES using the customer or craft account.
2. Run the following command:
psql -U avaya -d mvap -p 5430 -c "insert into reg_dword
(hostname,name,value) values
('localhost','EnableGuessFailingDevice','1');"
3. Verify whether the value is changed by running the following command:
psql -U avaya -d mvap -p 5430 -c "select * from reg_dword order by
name"
4. After adding the value to the database, restart the TSAPI service from the Maintenance >
Service Controller page on OAM.
Troubleshooting tips
Eclipse configuration settings
You must make changes in Eclipse configuration settings when you have many variables.
Symptoms of an issue related to these settings are that Eclipse hangs and the .log file shows lots
of these exceptions: “[Link]: No more handles”. The recommended
configuration changes to the [Link] file are:
-vmargs
-Xms256m
-Xmx512m
-XX:MaxPermSize=512m
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-[Link]=UTF-8
httpioprocessor CCXML
When using the httpioprocessor CCXML sample application, you must ensure that a copy of the
[Link] is in the Tomcat lib directory. This information is not provided by default
with Tomcat 7.
For new classification
If the incoming call classification is “LIVE VOICE” then you must go to the params tab in the
simulation profile and select a new call classification and then select “live voice”
About AES
When mapping extensions across 2 or more AES’s, the extensions cannot overlap.
CTI (AES) Connector
The CTI (AES) Connector has a setting in the [Link] called providerstartupdelay (defaults to
4000 ms) that permits you to adjust a maximum delay value (in ms) to permit the provider to come
in service. The connection is lost and retried, if the provider does not come into service before the
timer expires..
You can now disable the application from gathering call information automatically by changing the
flag [Link] to false in your web descriptor. If you make this change, then you
must use a CallInfo item in your data node and must set the property: Initial Call to true before
doing any CTI (AES) Call operations.
The system configures the CTI (AES) Connector to startup when the application server is started.
You can disable this functionality if you do not have the CTI (AES) Connector configured or if you
do not want it to run by editing the [Link] file found in your CTIConnector/WEB-INF directory on
your appserver. Look for the value: <load-on-startup>1</load-on-startup> and remove or comment
out this tag.
Note:
Setting it to 0 does not turn it off. You must manually start the CTIConnector, if this flag is
removed or commented out.
Passing data using the UUI
When passing data using the UUI, the maximum number of bytes you can use to write is 96. You
can use a complex variable as the data for UUI. The properties permit entry of a variable/field in
the dial operation.
Connectors
You must not use the "Refresh" button on your HTML browser when an application relies on a
connector (CTI, AES, IC, or more). Because of the behavior of some HTML browsers, refresh
action causes the connectors to initialize a second time for the session which the system does not
allow. You must close the HTML browser and then startup a new session.
Databases
When using Windows 7, to create an ODBC datasource to access Microsoft Access databases,
which some of our sample applications (such as LexingtonLend) use, you must run [Link]
directly from the C:\windows\sysWOW64 directory instead of running the ODBC admin from
Control Panel.
Design Constraints
The Orchestration Designer framework has constraints on the number of iterations through call
flow nodes that do not generate VXML. Those nodes are: Data, Servlet, and Tracking. OD uses a
servlet request forward to move between consecutive data nodes that do not generate VXML. This
is faster and more efficient than redirecting the HTTP request. However, if you want to iterate
more than 100 times on consecutive data nodes, you might run out of stack space. If you want to
iterate more than 100 times, you must move your iteration into Java code. If the data is pure
operation on a variable collection, you can use the new Loop Collection item in the data node to
loop through the collection.
Deployment
To deploy packed war files (vs expanded directory) on WebLogic, you need a directory for writing
application logs and recording files. By default, OD creates a directory with the application name in
the OS's root ("C:/" for windows and "/" for Linux), and the log files and recording files are written
to the data/logs and data/temp directories respectively. Alternatively, you can set a specific
directory by using the system property [Link]. The system creates a subdirectory for
each application. For example:
-[Link]=c:\temp or some other value.
In either case (default or tempdir), OD assumes that it can create directories and files in that
location. If the system disables the directory, then you must create a subdirectory for each OD
web application deployed with sub directories temp and data/log. When recording, temp
recording files are placed in temp and if tracing is enabled the [Link] and [Link] are in data/
log. If you have a deployed application named Simple, under c:\temp you can see: c:\temp\Simple
\temp and \data\log.
If the [Link] is not writable then recording does not work, nor the tracing and local
reporting can. The [Link] can also be used with non-packed war files as well, thus
providing a mechanism to move the temp and log files out of the web application to a separate
area. Lastly when altering the location of the temporary directories,, the URL returned for the
recorded file will be in the file:// protocol format and is NOT directly usable in a prompt to replay
the recording since the file URL is not accessible on the platform where the voice browser is
executing. To replay the message you must write java code to move the file from the temp
location to a web context and reference the file there using the http protocol.
Garbage collection performance
To optimize garbage collection performance on the Application Server, you must add the following:
For windows:
Create a system level environment variable:
export JAVA_OPTS = “-server -Xmx1024m -XX:MaxNewSize=30m -XX:+UseParNewGC -
XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=60 –
XX:ThreadStackSize=512”
For Linux:
when the system starts Tomcat as a service, add the flowing to the beginning of your /etc/init.d/
tomcat file:
JAVA_OPTS="-server -Xmx1024M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -
XX:ThreadStackSize=512"
ulimit -n 8192
Note:
The Xmx1024M parameter must be set to somewhere around half the size of the RAM
configured on the box.
Restart the machine after setting the JAVA_OPTS, and verify that the new setting are in effect
by doing an: ps -ef | grep java.
ECMA Script Expressions
1. Single quotes that are part of the value of an ECMAScript expression generates a
semantic error in the Voice Browser if not formatted with an escape character (\). For
instance:
<var name="Output" expr="'John's return value'"/> incorrect expression
<var name="Output" expr="'John\'s return value'"/> correct expression
For Orchestration Designer to correctly generate the VXML output you must add another escape
character when building the expression in your call flow, otherwise Java interprets it as an escape
character itself.
Within your call flow you can create the expression as follows:
John\\'s return value
This ensures the escape character is generated in the VXML output. Other characters to watch
out for include ('gt;' for '>', '<' for '<', and '&' for '&').
Email
1. If sending an attachment that contains a multibyte name in an outgoing email, the email
client may not decode the name causing it to show the encoded name, although the
contents of the attachment will be intact.
2. When using the new Email (and SMS) features in simulation remember to click Send after
Run Application. Once the application is running you can send multiple messages.
3. Variable substitution in the email body use _{variable}_ to indicate the contents are to be
replaced with the variable value. If you want to use _{ in the body, you need to escape the
leading underscore with the backslash. For example, the following email body contents in
design: “using a backslash \_ {will treat this as literal}_.”. At runtime, the content of the
message will be “using a backslash _{will treat this as literal}_.”
Grammars
For external grammar deployment, the application [Link] must be edited to change localhost to
the actual ip address of the application server. This can be done before or after deployment. As an
alternative, you can use relative urls for external grammars, or store the host and port in a OD
[Link]();
}
}
IC
1. To use SSL, you must provide your own certificate and either deploy to the Orchestration
Designer Trust Store: trusted_weblm_certs.jks or your own external trust store which can
be configured from the Orchestration Designer configuration servlet on the Certificates link.
Similar configuration is necessary on the IC side. Please consult IC documentation for
those details.
2. You cannot run an ICC enabled module in the simulator standalone as it will not invoke the
ICC newcall operation. You must invoke it using a parent application that is also IC
enabled.
3. If you implement a prompt to play while transferring a call to IC, the transfer can
sometimes occur faster than the prompt is played. The flush prompt feature should be
used for this scenario.
4. Some variables require a type. Specifically, variables used in a web operation might have
to be converted to a specific type (int, long, etc). Fields on the VDU variable and VDU
cache variable do not perform this conversion as they deal strictly with Strings. If you need
to use a VDU field within your web operation that requires a type to be set, you should
copy the VDU (or VDU cache) field into another local variable that does perform the
conversion.
5. If you are running an IC-enabled application in the simulator, you must check to make sure
there is a VOX or VRUSM/HTTPVox simulator configured in Window.
NDMs
When using NDM version 5.2.0 or later, there are some code changes required as follows:
Once the NDM war file is expanded in your app server, navigate to the ndm-core directory:
Open dialogs/application/ndm folder
Change [Link] - vxml version to 2.1
Change menu_standalone_subdialog.jsp - vxml version to 2.1
Change [Link] - vxml version to 2.1Open dialogs/framework/ndm/[Link]
Change 175 to <%=appName%>/Controller/logdatasetter
Change 165 to <%=appName%>/Controller/logdatagetter
Open WEB-INF/[Link]
Change vxml version to 2.1.
If you are using Tomcat 7.0, you will need to make a change to either the conf/[Link] file,
which would be a global change or you can make the change to the individual context file for your
app which is found in conf/Catalina/localhost/<appname>.xml
Add the option useHttpOnly=”false” to your context to allow Nuance code to pass the
JSESSIONID cookie which it requires <Context useHttpOnly="false"….
Simulation
1. When simulating using the VRUSM simulator, it is recommended that you use the OD
Runtime configuration servlet and set the ping timeout = 0 secs. This will effectively disable
pings which aren't necessary for simulation. A future release/service pack will allow you to
do this automatically using the simulation page in OD.
2. Microsoft Speech doesn’t support SSML. To use the simulator to test applications using
SSML, you must use the MRCP client and the target speech server.
SSL
When using SSL and Scansoft/Nuance ASR, grammars should be built as dynamic, even if they
don’t need to be, so they will be processed, in-line. The ASR engine has a problem processing
regular grammars if they exceed 4 elements.
SMS
1. When using the new SMS (and Email) features in simulation remember to click Send after
Run Application. Once the application is running you can send multiple messages.
2. Variable substitution in the SMS (and email) body use _{variable}_ to indicate the contents
are to be replaced with the variable value. If you want to use _{ in the body, you need to
escape the leading underscore with the backslash. For example, the following email body
contents in design: “using a backslash \_ {will treat this as literal}_.”. At runtime, the content
of the message will be “using a backslash _{will treat this as literal}_.”
Tomcat
1. Tomcat folders in the classpath should not contain duplicate files or any unnecessary files
as this may cause a conflict.
2. For runtimeconfig to support multi-byte entries, you need to set the following JVM value if
running Tomcat:
-[Link]=UTF-8
If running tomcat standalone, add this value to your [Link] (or [Link]) file before
the set JAVA_OPTS call that already exists:
set JAVA_OPTS="-[Link]=UTF-8"
If you are invoking tomcat from your Eclipse IDE, add the following to your [Link] and
restart Eclipse
-[Link]=UTF-8
3. After deploying an application using Tomcat, if you click on the application to validate the
application use caution when clicking on your browser's back arrow (button). In some
cases this could result in your application being undeployed. Specifically this can happen
when going backwards from the .index page (the one with validate and view options) to the
Tomcat Manager application.
4. Tomcat 6.0.24 and newer added a new memory monitor,
JreMemoryLeakPreventionListener, that may erroneously warn about memory leaks
caused by threads started--but not stopped--by a web application. This is the expected
behavior for Orchestration Designer applications caused by threads that are started by
shared runtime ([Link]). These threads are shared by all Orchestration
Designer applications and are not stopped intentionally.
5. Tomcat will reload the context of your speech application when it detects a change. This
will occur pretty much anytime you change your project and save it while Tomcat creates a
new current one for your servlet and reloads the dependencies. OD does not have a way
to indicate to Tomcat that a sub module is a dependency of its parent application.
Therefore, when the parent’s context is loaded into the new class loader there is a conflict
with the class loader that was used to load the sub module. The solution is twofold:
• If your context file points to your speech application, you can simply reload the context
of the sub module right in OD using the Tomcat context option “Reload this context.”
• If you have deployed your sub module into Tomcat and Tomcat is running it out of the
webapps directory, the simplest solution is to restart Tomcat or you can use the Tomcat
Manager application. Refer to the Tomcat documentation for more information on how to
do this using the Tomcat manager.
6. a. The console window may display warning messages about invalid log4j configuration
when starting Tomcat from Eclipse. To fix this add a [Link] file to the Tomcat
classpath (i.e. to <tomcat home>/common/classes). The properties file should contain
these lines:
[Link]=info, stdout
[Link]=[Link]
[Link]=[Link]
[Link]=%d{dd/MM/yyyy HH:mm:ss} %5p - %m
%n
TTS
Using symbols in TTS (i.e. &, <, >, etc.) in a prompt may result in runtime errors. These symbols
generate invalid VXML code. Workaround: spell out the word. For example: ‘&’”and”, ‘<’ ”less
than”, etc
Validate Menu Option
Running the validate menu option on any project causes a Warning to show up in the Problems
view. The Resource is [Link] and the Location is line 8 which is: -><! DOCTYPE web-app
PUBLIC”-//Sun Microsystems, Inc//DTD Web Application 2.3//EN” [Link]
2 [Link]> There is currently no work-around to get rid of thiswarning once it occurs.
WebLogic Application Server
When running on WebLogic 10.3.1 or above, the app losses control of the http session it starts
initially. The http session would go idle, eventually times out and get removed by the application
server. The time-out interval depends on what you set in the deployment descriptor either through
the console or editing the [Link]. If you are seeing this symptom, it is caused by WebLogic
starting to have the cookie-http-only parameter set to true by default. You need to change the
value of the parameter to false. To do that, you would need to deploy a [Link] with the
following content in the application's WEB-INF directory. If you already have the [Link], you
would need to incorporate the following content. However if you think it's too much work, you can
choose not to do anything. We believe that the accumulation of http sessions (before they get
removed by the system) should not be harmful since each http session used by OD is really light
weight - we don't use it to store information.
[Link]:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"[Link]">
<weblogic-web-app>
<session-descriptor>
<cookie-http-only>false</cookie-http-only>
</session-descriptor>
</weblogic-web-app>
Web Services
1. After generating a new web service operation, you may see warnings in the java code
generated by Axis. These warnings are not harmful and you do not have to take any action
to correct them.
2. The graphical Web Services tool is intended for use with simpler web services. I.e. Web
services that return base java types (string, int). If your Web service returns an object that
has nested objects, at a minimum, you will need to select “Use Java Obj” on the Web
Service wizard. This will instruct the runtime code to take the returned value and place it
into the Orchestration Designer variable as an Object. You will need to write some Java
code to examine your returned Object and store values into Orchestration Designer
variables. This is necessary as Orchestration Designer only supports a simple variable
system of either a variable or a grouping of variables.
WebSphere Application Server
1. If you have trouble deploying the [Link] file or WAS install scripts on a Linux machine,
try using the utility dos2unix on the files.
2. Some database drivers work fine in Orchestration Designer when designing the speech
application, but do not work in some versions of Websphere. In that case, replace the
driver in Websphere with an updated or different version depending on your database type
and configure the settings appropriately referring to the WebSphere documentation.
Note:
For CCXML projects, the project properties pane consists of only the following tabs:
- General tab
- Pluggable Connectors tab
- Web Descriptor tab
Related links
Setting Orchestration Designer project general properties on page 480
Setting Orchestration Designer project speech properties on page 487
Setting Orchestration Designer project language and localization bundles on page 492
Enabling Orchestration Designer project pluggable data connectors on page 493
Configuring Orchestration Designer project development, runtime, and Java servlets settings on
page 501
Name Description
Runtime Platform The type of IVR platform the application is targets to
run on.
The options are:
• Avaya Experience Portal: Deployment optimizes
the application to run on an Avaya Experience
Portal system.
• IR: Deployment optimizes the application to run
on an Avaya IR system.
• Desktop: (Default) Deployment optimizes the
application to run on one of the supported
operating system desktops. This option is
intended primarily for development.
• Other: Deployment optimizes the application to
run on other systems that support the W3C
VoiceXML 2.0 or 2.1 Recommendation.
• MPS: Deployment optimizes the application to run
on MPS system.
VXML Compatibility The VXML version compatible with the selected
runtime platform. By default, Orchestration Designer
sets the projects to VXML 2.1 compatibility.
Enable DTMF tone variables in prompts Check box to enable DTMF generation that copies
DTMF audio tones into the project. It will enable
“DTMF Tone” when using Phrase Variables in the
Prompt Editor.
Allow HTML Mode Check box to allow HTML mode in speech
applications.
Icon Properties
Table continues…
Name Description
Small Displays the small icon that Orchestration Designer
uses to represent the speech project in the Call
Flow Editor palette (when exporting it as an
Orchestration Designer reusable module).
See Deploying a speech, or a message flow, or a
web project as an Orchestration Designer reusable
module on page 421.
For information about selecting an icon for a speech
project, see Setting an icon for a reusable
module on page 485.
Note:
By default, Orchestration Designer includes
two small graphic files:
[Link] and
[Link]. To use a different
icon, create and import a unique file. To do
this, See Importing an icon for the reusable
modules on page 484.
Large Displays the large icon that Orchestration Designer
uses to represent the speech project in the Call
Flow Editor palette (when exporting it as an
Orchestration Designer reusable module).
See Deploying a speech, or a message flow, or a
web project as an Orchestration Designer reusable
module on page 421.
For information about selecting an icon for a speech
project, see Setting an icon for a reusable
module on page 485.
Note:
By default, Orchestration Designer includes
two large graphic files:
[Link] and
[Link]. To use a different
icon, create and import a unique file. To do
this, see Importing an icon for the reusable
modules on page 484.
Meta Information Properties
Vendor If a vendor name was entered during project
creation, this field displays that name. To change it,
enter a new vendor name.
Table continues…
Name Description
Category If a category descriptor was entered during project
creation, this field displays that descriptor. To
change it, enter a new category descriptor.
Tip:
If planning to use this project as a reusable
module, what is entered in this field determines
where in the Call Flow Editor palette that this
module will appear. If left blank, by default, the
module appears in a group labeled “Modules.”
If something else is entered, the module is
grouped with other modules that have the
same category label. This is useful when
building a large and complex application that
uses several modules that can be grouped
together in the Call Flow Editor palette.
Description If a project description was entered during project
creation, this field displays that description. To
change it, enter the new project description.
Tip:
If the project is exported as an Orchestration
Designer reusable module, this description
appears as a pop-up message when the
cursor hovers over the name of the module in
the Call Flow Editor palette.
Related links
Setting Orchestration Designer project general properties on page 480
Name Description
Theme Name Enter the name of the customized theme that you
created using JQuery Theme Roller. Ensure this
name is same as the name of one of the CSS files
from the theme package.
Theme Swatch Enter the swatch that you want to use.
Use custom templates instead of system Select this checkbox to switch to a set of custom
templates to generate jsp files templates that the code generator uses to create
the runtime JSP files. The custom templates –
AppRoot_template.jsp,
Form_template.jsp, Menu_template.jsp,
and Return_template.jsp are added to the
custom folder of the project.
Button Description
Add File You can use Add File button to browse and add a
CSS or JavaScript file from any directory to the
list.
Once you add the CSS or JavaScript file,
Orchestration Designer copies it into its respective
folder (CSS or JS) in the project, and creates links in
the application pages.
Add Link You can use this button to add file references to the
application pages. The link can be a URL or a
resource existing in the project.
Delete You can use Delete button to remove references
from the application pages. However, it does not
remove the files from project folders.
Navigation buttons: By default, Orchestration Designer labels the two
navigation buttons, at the bottom of each
Back Button Label ID
application page, as “Back” and “Next”. You can
Next Button Label ID change the labels or make them language specific
by using text items from a Textset file.
Note:
Make sure that the file or files you select meet the size and format requirements for
Orchestration Designer icon files. Files must be GIF format, 16 x 16 pixels for small
icons or 32 x 32 for large icons. You can select multiple files to import at one time.
6. Verify that the Into folder field shows the path to the icons directory for your project.
If not, use the Browse button to locate and select the appropriate directory.
7. Click Finish.
Related links
Setting Orchestration Designer project general properties on page 480
Setting an icon for a reusable module on page 485
Note:
By default, Orchestration Designer includes two small graphic files:
[Link] and [Link].
7. Select a large icon for the reusable module, perform the following actions:
a. Select a graphic file of the large icon. The graphic selected must be a GIF file, exactly
32 pixels by 32 pixels in size.
b. Click Browse next to Large.
The system displays the Contents of “icons” dialog box.
c. Click OK.
If wrong size graphic file is selected, Orchestration Designer displays an Invalid icon
message and retains the currently selected icon. Otherwise, Orchestration Designer
uses the icon that you select to represent the reusable modules in the Palette pane.
Note:
By default, Orchestration Designer includes two large graphic files:
[Link] and [Link].
Note:
In the current release, Orchestration Designer uses only small icons to represent
the reusable modules.
Related links
Setting Orchestration Designer project general properties on page 480
Importing an icon for the reusable modules on page 484
Deploying a speech, or a message flow, or a web project as an Orchestration Designer reusable
module on page 421
7. In the Would you like to replace timeout settings in existing prompts with these new
defaults dialog box, perform one of the following actions:
• Click Yes to apply the default timeout to the existing as well as the new prompts that you
create in the speech project.
• Click No to apply the default timeout only to the new prompts that you create in the
speech project.
Related links
Default timeout for prompts in Orchestration Designer speech projects on page 203
Orchestration Designer project properties: Speech tab field descriptions on page 488
Name Description
Grammar Compatibility The type of ASR server engine to target ASR
grammars. The options are:
• Desktop Microsoft Speech SAPI: Grammars are
optimized to work with Microsoft Speech API
(SAPI).
• IBM: Grammars are optimized to work with IBM
WebSphere or WebSphere Express ASR
engines.
• Google Speech: Grammars are optimized to
work with Google ASR. If static grammars are
used, you must fill the content of the grammar
files with the suffix "google" in the data/
<language>/grammars folder.
• Loquendo: Grammars are optimized to work with
Loquendo ASR engine.
• Nuance 10.0 and above: Grammars are
optimized to work with Nuance 10.0 and above.
• Nuance 9.0 (Quantum): Grammars are optimized
to work with Nuance 9.0.
• Nuance Mix: Set this grammar option for
applications that work with Nuance Mix.
• Nuance OSR: Grammars are optimized to work
with Nuance OpenSpeech Recognition products
(including Quantum).
• SRGS-Literals: (Default) Grammars conform to
the SRGS Version 1.0 standard.
• SRGS-SISR: Grammars are generated in the
SRGS format with SISR per the standards and do
not take into account any vendor specific
nuances.
Note:
Nuance 9.0 (Quantum) and Nuance OSR use
the same format.
Orchestration Designer, by default, creates
grammars to support all ASR engines. The
grammars used at run-time is based on what is
selected in this field, and ultimately the value of the
following variable in the [Link] file: runtime-asr.
Table continues…
Name Description
Grammar Caching The grammar caching option to use. The options
are:
• none: No grammar caching is permitted for this
application.
• default: The application uses the IVR system’s
default setting for grammar caching.
DTMF Compatibility DTMF grammar option to use. The options are:
• native: Generates the DTMF grammars in the
ASR engine's Native format as specified in the
Grammar Compatibility. This also requires that
on the Avaya Experience Portal platform you
enable the application for remote DTMF
processing (under advanced options). The ASR
engine then handles DTMF grammar processing.
You can use this option for Avaya Experience
Portal and MPS platforms only.
• local SRGS-Literals: This is the default option.
Grammars are generated in SRGS literal format
and are processed by the Voice Browser. You can
use this option for Desktop, IR, and Avaya
Experience Portal 4.1 and earlier.
• local SRGS-SISR: If you select this option,
grammars are generated with SISR tags and
processed locally by the Voice Browser. You can
use this option from Avaya Experience Portal.
Text-to-Speech
Enable Speech Synthesis Markup Language Check box to enable SSML markers to work in
(SSML) generation in project prompts prompts. To disable SSML markers, clear this check
box.
If selected, when the Avaya Application Simulator is
generating the TTS content, it also generates the
SSML data to help with the rendering of that content
(even in simulation mode during testing). The
Microsoft TTS engine used by Orchestration
Designer, however, is not capable of generating or
using SSML data, so it is not apparent during
testing that it is being generated.
Default Prompt Timeout Setting
Table continues…
Name Description
Constant Timeout The option to specify a default timeout for the
prompts in the speech project.
In the field that corresponds to Constant Timeout,
specify the default timeout value for the prompts.
In the drop-down list that corresponds to Constant
Timeout, specify the unit of time, either in seconds
or milliseconds, for the default prompt timeout.
Variable Timeout in msec The option to specify the variable that contains the
default timeout value that you want to use for the
prompts in the speech project.
In the drop-down list that corresponds to Variable
Timeout in msec, specify the variable that contains
the default timeout value that you want to use for
the prompts.
If you select a complex variable in the first drop-
down list, then in the second drop-down list, select
the complex variable field that contains the default
timeout value that you want to use for the prompts.
Note:
Ensure that the variable that you select
contains only integer values.
The system processes the timeout value
contained in the variable as milliseconds.
Related links
Setting Orchestration Designer project speech properties on page 487
Configuring the default timeout for prompts in a single speech project on page 487
The system displays the channel type of the message flow project in the Channel Name
field.
Name Description
Project Languages
Table continues…
Name Description
Add To add a project language. For more information,
see Adding a project language on page 271.
Edit To edit a project language. For more information,
see Editing a project language on page 274.
Delete To delete a project language. For more information,
see Deleting a project language on page 276.
Starting Language To change the default or starting language of a
project. For more information, see Changing the
project default language on page 275.
Localization Bundles
Install To install a localization bundle. For more
information, see Installing a localization bundle on
page 283.
Uninstall To uninstall a localization bundle. For more
information, see Uninstalling a localization
bundle on page 284
Related links
Setting Orchestration Designer project language and localization bundles on page 492
Name
Notification Connector (Email, The check box to enable the Notification Connector (Email, SMS)
SMS) PDC to send multichannel SMS message and email message
notifications.
After you enable the Notification Connector (Email, SMS) PDC,
the Send SMS and Send Email items are available in the Palette
pane of the data node editor. For more information, see Send
SMS on page 812 and Send Email on page 808.
Use the Send SMS and Send Email items to send SMS and email
message notifications from an application that is created for a
channel different from the channel through which you want to send
the message notification. For example, send an SMS message
notification from a speech application or from an email channel
message application.
For more information, see Multichannel notifications on page 351.
The Notification Connector (Email, SMS) PDC sends the SMS
message and email message notification to the platform Web service
for further processing and delivery.
You can also use the Send SMS item in an SMS channel message
application and the Send Email item in an email channel message
application.
For a speech application, use one or both of the following options to
add AVP/AEP Configurable Application Variables PDC to the speech
or message project:
• Add cdrstorage to project: Adds the cdrstorage complex variable
to the project. The cdrstorage variable contains the number of
characters, stored in the call data record (CDR), that are present in
the subjects of an email or in the body of an SMS.
• Add notificationappname to project: Adds the
notificationappname variable to the project. Use this variable to set
the application name where you want to send the delivery
notifications for the message. If you do not added the
notificationappname variable to project or the value of this variable
is blank, then the application that originates the delivery notification
acts as the destination for the notification event.
The Notification Connector (Email, SMS) PDC is available in
speech projects, message flow projects, and data projects. However,
you can define the cdrstorage and notificationappname variables
only for speech projects.
Contact Center
Table continues…
Name
Avaya IC Connector For Interaction Center. If the IC connector is selected, also designate
whether the application if for VOX or VRUSM. Select either:
• Enable IC Connector and Components for VOX
• Enable IC Connector and Components for VRUSM (required for
SIP)
When you first enable IC, Orchestration Designer installs the IC
connector software in Tomcat. After that, to get the IC connector to
work for the first time, you must restart the Tomcat server engine.
For more information about the IC connector, see IC connector on
page 611.
The Avaya IC Connector PDC is available only for speech projects.
Send AACC Connector
Send AACC Connector The check box to enable the Send AACC Connector PDC to
forward an inbound SMS or email message to Avaya Aura® Contact
Center for agent assistance.
After you enable the Send AACC Connector PDC, the Send to
AACC item is available in the Palette pane of a Data node editor.
For more information, see Forward an inbound SMS or email
message to Avaya Aura Contact Center on page 355.
Note:
The Send AACC Connector PDC is available only in an SMS
channel message flow project or an email channel message
flow project.
Set the following fields in the Send AACC Connector
Configuration area:
• To: The email address that is configured for assisted care on
Avaya Aura® Contact Center. The message application forwards
the inbound SMS or email message to the email address that you
specify in the To field.
• From: The email address from where the Orchestration Designer
message application must forward the inbound SMS or email
message to Avaya Aura® Contact Center.
Table continues…
Name
AACC Treatments The check box to enable the AACC Treatments PDC and receive
the calls that are transferred by Avaya Aura® Contact Center in an
Orchestration Designer speech application that is managed on
Avaya Experience Portal.
Note:
The AACC Treatments PDC is available only in speech
projects.
After you enable the AACC Treatments PDC, you can use the
default AACC treatments or create custom AACC treatments to
process the call depending on the treatment type that is requested in
the Avaya Aura® Contact Center script.
After you enable the AACC Treatments PDC in an Orchestration
Designer speech project, the system creates two variables for the
speech project: aacc_data and aacc_context.
Note:
Enable the AACC Treatments PDC in a speech application
project only if the speech application is specifically created to
handle the calls transferred by Avaya Aura® Contact Center.
When you enable the AACC Treatments PDC in a speech
application, Avaya Experience Portal invokes the [Link] file,
which in turn invokes the speech application. Do not directly
invoke a speech application that has the AACC Treatments
PDC enabled.
For more information, see AACC treatments on page 362 and
System variable fields and properties on page 552.
Data Access
Alarm Offset When you add the Alarm Offset PDC to a project, it creates a new
Configurable Application Variable avayaAlarmOffset. You can set
values from 0 through 9 for this variable. A value “0” does not
change the behavior of alarms on Avaya Experience Portal. So, a
value “0” is equivalent to not enabling the Alarm Offset PDC. If
avayaAlarmOffset is assigned values from 1 through 9, then the
alarms on Avaya Experience Portal are offset by this value for a
warning, error, and fatal alarm level . For example, if there are 3
alarms on Avaya Experience Portal, QAPP_00001, QAPP_00002
and QAPP_0003, then setting avayaAlarmOffset to “3” offsets these
alarms to QAPP_00031, QAPP_00032, and QAPP_00033
respectively.
Database
Table continues…
Name
Phone Information Using Phone Information, you can check whether a phone number
is a mobile number. When you enable the Phone Information PDC,
it provides a new operation Is Mobile that takes “from” and “to”
phone numbers as input. Is Mobile returns true if the “to” number is
a mobile number, else it returns false.
Publish Realtime Oceanalytics Using Orchestration Designer, an application developer can send
Event real time events to Avaya Analytics™. To send events, you must
enable the Publish Realtime Oceanalytics Event PDC for an
application.
AVP/AEP Configurable The check box to enable the Avaya Experience Portal Configurable
Application Variables Application Variables PDC. For more information, see Configurable
Complex Variable on page 840.
The AVP/AEP Configurable Application Variables PDC is
available for speech projects, message flow, and data flow projects.
Web Services (Axis 1.4) The check box to enable the Web Services (Axis 1.4) PDC. The
Web Services (Axis 1.4) PDC is available for speech, message,
and data flow projects. For more information, see Web services on
page 311.
Web Services (Axis2) The check box to enable the Web Services (Axis 2) PDC. The Web
Services (Axis 1.4) PDC is available for speech, message and data
flow projects. For more information, see Creating an Axis2 Web
service operation file on page 317.
Web Services (REST) The check box to enable the Web Services (REST) PDC.
After you enable the Web Services (REST) PDC, the Web Service
(REST) item is available in the Palette pane of the Data node editor.
You can use the Web Service (REST) item to invoke a REST Web
service operation.
Note:
The Web Services (REST) PDC is available for speech ,
message, and data flow projects..
If you disable the Web Services (REST) PDC in an
Orchestration Designer project that uses a REST Web service
operation, Orchestration Designer shows run-time errors.
Orchestration Designer automatically enables the Web
Services (REST) PDC in a speech project or a message flow
project when you create a REST Web service operation file in
the speech project or the message flow project.
For more information, see Creating a REST Web service operation
file on page 325 and Web Service (REST) on page 844.
Table continues…
Name
Conversations Management The Conversations Management PDC supports simple variables,
complex variables, and complex variable fields. A variable can also
be a collection of values. The Conversations Management PDC is
available for Email, SMS, Voice, data, and HTML5–based
applications. The variable is saved and restored as a text, string
value. The conversation PDC does not support Orchestration
Designer variables that contain an object. A conversation can span
modules. Each time the module is entered, once or multiple times
within a single session, the module is initialized with the saved
values that is defined as part of the conversation. On module exit,
the defined conversation values are saved.
Select the Conversation Management check box to export or import
conversation file. The options are:
• Export convox file: In the Destination for Convox File field, click
Browse to export the .convox file. The .convox file consists of
export information from a project with a
[Link] file, which has conversation
and project variables. Click Export Convox File to export the
convox file.
• Import convox file: In the Convox file for Import field, click
Browse to import the .convox file. Importing the .convox file
creates a complex or simple project variable, and adds a reference
to the variables in the new project
[Link] file. Importing the files add fields
to pre-existing or new complex variables, if required. Click Import
Convox File to import the convox file.
• Import conversation file from another project: In the
Conversation File for Import field, click Browse to import
conversation file directly from another project. Ensure that the
convox file is in the same workspace.
• No import or export required: Click this field when you do not
require export or import of the convox file.
Telephony
Table continues…
Name
AAEP Outbound Call The check box to enable the AAEP Outbound Call PDC to launch
an outbound call from a speech application or a message
application.
After you enable the AAEP Outbound Call PDC, the
LaunchVXMLCall and LaunchCCXMLCall items are available in
the Palette pane of the data node editor.
For more information, see LaunchVXMLCall on page 744 and
LaunchCCXMLCall on page 740.
Use the LaunchVXMLCall item to launch an automated outbound
VoiceXML call from a speech application or a message application.
Use the LaunchCCXMLCall item to launch an automated outbound
CCXML call from a speech application or a message application.
The AAEP Outbound Call PDC is available in speech projects,
message flow projects, and data flow projects.
Avaya AES Connector The check box to enable the Avaya AES PDC for telephony server
integration.
For more information, see AES connectors on page 599
The Avaya AES Connector PDC is available only for speech
projects.
Text Processing
Language ID The check box to enable the Language ID PDC to accept a text
string and the language hint and return the ISO-639-1 language
code for the text.
Language hint is an optional input that is an ISO-639-1 language
code that can hint to the expected language of the input text. That is,
if you expect English input, specify en. If you expect Spanish, specify
es. The default hint is en.
After you enable the Language ID PDC, the language ID item is
available in the Palette pane of the data node editor. For more
information, see LanguageID on page 737.
Note:
The Language ID PDC is available only in an SMS channel
message flow project or an email channel message flow
project.
Workflow
Table continues…
Name
Avaya Breeze® platform/ED Orchestration Designer integrates seamlessly with Avaya Breeze®
Integration (Workflows and Context platform and allows an Orchestration Designer application to interact
Store) with the Avaya Engagement Designer workflows and pass the
collected data in several ways. The workflow PDC facilitates this
integration of Orchestration Designer and Engagement Designer.
The workflow PDC supports the operations related to workflows and
Context Store.
Related links
Enabling Orchestration Designer project pluggable data connectors on page 493
Workflow PDC on page 112
Orchestration Designer using Context Store on page 113
SMS and Email Orchestration Designer on page 114
HTML application URL generator PDC on page 118
Oceanalytics Realtime events on page 120
Orchestration Designer using Context Store on page 113
Note:
The Session timeout field is unavailable if you
select the Use container default check box.
Parameters
Add To add a context parameter. For more information,
see Adding a context parameter on page 503.
Edit To edit a context parameter. For more information,
see Editing a context parameter on page 503.
Delete To delete a context parameter. For more
information, see Deleting a context parameter on
page 504.
Related links
Configuring Orchestration Designer project development, runtime, and Java servlets settings on
page 501
Servlets tab on page 502
Servlets tab
On the Servlets tab, you can manually edit various parameters and settings for the Java servlets
that deployment includes. In almost all cases, you do not need to make changes to these settings.
Caution:
Avaya recommends strongly that you do not change these settings except in rare cases, and
if you are sure of what you are doing.
Related links
Configuring Orchestration Designer project development, runtime, and Java servlets settings on
page 501
Application tab field descriptions on page 502
7. In the Edit context parameter dialog box, perform the following actions:
Important:
Do not edit the name of the context parameter.
a. In the Value field, edit the value for the context parameter.
b. In the Description field, edit the description for the context parameter.
c. Click OK.
Parameter Description
runtime-ASR If the application uses an ASR server, enter the type of ASR server
engine that the application is to use. This also dictates the type of
grammars to be used. Valid values are:
• Desktop Microsoft Speech SAPI
• Loquendo
• SRGS-Literals: (Default) Deployment optimizes the application
grammars for standard SRGS usage. This means that any ASR
server that supports SRGS grammars should be able to work with this
application.
• SRGS-SISR: Grammars are generated in the SRGS format with SISR
per the standards and do not take into account any vendor specific
nuances.
• Nuance 9.0 (Quantum): Deployment optimizes the application
grammars to work with Nuance 9.0 ASR servers.
• Nuance 10.0 and above: Deployment optimizes the application
grammars to work with Nuance 10.0 and above ASR servers.
• Nuance OSR: Deployment optimizes the application grammar to
work with Nuance OSR ASR servers (includes Quantum support).
• Google Speech: Framework runtime will assign URLs that point to
the grammar files for Google ASR or directive to execute code to
generate dynamic grammar for Google ASR during VXML generation.
• IBM: Deployment optimizes the application ASR to work with IBM
WebSphere Voice servers.
runtime-Platform Enter in this Value field, the type of the IVR platform the application is
targeted to run on.
Valid values include:
• Avaya Experience Portal: Deployment optimizes the application to run
on an Avaya Experience Portal system.
• IR: Deployment optimizes the application to run on an Avaya IR
system.
• Desktop: (Default) Deployment optimizes the application to run on
one of the supported operating system desktops. This option is
intended primarily for development.
• Other: Deployment optimizes the application to run on other systems
that support the W3C VoiceXML 2.0 Recommendation.
• MPS: Deployment optimizes the application to run on the MPS
system.
Table continues…
Parameter Description
grammar-caching Enter in this Value field, the setting that determines how the application
handles grammar caching.
Valid values include:
• none: No grammar caching is permitted for this application.
• default: The application uses the IVR system default setting for
grammar caching.
runtime-SSML Enter in this Value field one of the following:
• true: Enables SSML generation for run time.
• false: (Default) Disables SSML generation for run time.
[Link] Allows exceptions to be disabled when generated in an IC operation so
they can be analyzed in the data node. Possible values are:
• true: (Default) “IC throw” run-time exception is thrown in case of error.
• false: No exception is thrown.
runtime-VXML-Compatibility This specifies the VXML compatibility of the project. Possible values
are:
• 2.1: Allows VXML 2.1 extensions.
• 2.0: Uses VXML 2.0 only.
runtime-DTMF-Native Allows DTMF generation in the ASR native format. Possible values are:
• true: DTMF is generated in ASR native format.
• false: DTMF is not generated in ASR native format.
In conjunction with this setting, configure the application for remote
DTMF processing. (Effectively, DTMF grammars are sent to the ASR
engine instead of being process locally by the Avaya Voice Browser).
[Link] Indicates whether information should be gathered automatically or not
when the application starts running (through Auto Invoke CallInfo).
Possible values are:
• true: (Default) information is gathered automatically.
• false: If set to false, you must use the info palette item in your data
node before doing any other operations.
You should set the property Initial Call to true when using this the first
time to synch up with the new call.
Table continues…
Parameter Description
module.<module name>.entry The first time you edit the module entry point, add the
point module.<module name>.entry point parameter.
In the Value field, specify the new URL where the external module
resides.
You can use this parameter to edit the entry point of an Orchestration
Designer reusable module that you have imported in the Orchestration
Designer speech project.
For more information about importing an external module, see
Importing a VXML subdialog on page 69.
Caution:
To prevent “breaking” your project and causing it to no longer run correctly in the simulator,
Avaya recommends that you do not change any of the settings in this pane, unless the
settings have been inadvertently changed by some other means. If you find it necessary to
change them, you should change them only to match the settings in Tomcat properties field
descriptions on page 508.
The Tomcat properties pane is where project properties are available for how Tomcat is set to
work with Orchestration Designer projects. There is one tab, the General tab, used to:
• Verify that the project is a Tomcat project.
• Make general settings for how Tomcat is to work with the Orchestration Designer project.
Preference settings
Orchestration Designer includes a number of preference panels with settings that you can
configure uniquely for your Orchestration Designer development environment. If you do not adjust
these settings, Orchestration Designer uses the pre-set default settings.
For more information about other Eclipse preferences, see the Eclipse documentation:
[Link]
Note:
Currently, the MRCP feature supports only Nuance and Loquendo speech servers. Currently,
Orchestration Designer supports only MRCP version 1, and hence, MRCP version 1 is
selected by default.
Procedure
1. On the Window menu, click Preferences.
2. In the Preferences dialog box, in the left navigation pane, double-click Avaya >
Application Simulation.
3. Click Orchestration Designer Simulation.
4. In the Orchestration Designer Simulation pane, in the MRCP Settings area, perform the
following actions:
a. Click the ASR tab to specify the connection settings of the ASR server that you want
to use for simulation.
b. Click the TTS tab to specify the connection settings of the TTS server that you want to
use for simulation.
5. Click Apply, and then click OK.
Note:
This option is not currently supported in
Orchestration Designer.
Table continues…
Name Description
Enable display of the Avaya Voice Browser When selected, opens a MSDOS console window
output in a console window which shows all of the low level output of the Voice
Browser.
Automatically hangup Avaya Voice Browser When selected, a simulation Avaya Voice Browser
when call ends process is terminated when a simulated call ends
(disconnect or application exit).
Use external configuration file Though not recommended, when selected, allows
further tuning of the personal Voice Browser.
Show AutoVon keys When selected, adds four more DTMF buttons next
to the dial keypad for sending A, B, C, and D
AutoVon tones for input.
Enable Speech Bargein detection Avaya Application Simulator does barge-in
detection when this is selected. This means when
the browser or ASR engine detects speech input, it
barges in (interrupts) the prompt and tries to match
the speech with an item in the active grammars.
MRCP Settings
ASR Check box to use an ASR server with the MRCP
feature.
Network Address The IP address of the ASR server.
Base Port The port number of the ASR server.
Engine Type The engine type of the ASR server. Currently,
MRCP feature supports only Nuance and Loquendo
speech servers.
MRCP Version 1 The default MRCP version number. Currently,
Orchestration Designer supports only MRCP
version 1.
TTS
Enable MRCP TTS Check box to use a TTS server with the MRCP
feature.
Network Address The IP address of the TTS server.
Base Port The port number of the TTS server.
Engine Type The engine type of the TTS server. Currently,
MRCP feature supports only Nuance and Loquendo
speech servers.
MRCP Version 1 The default MRCP version number. Currently,
Orchestration Designer supports only MRCP
version 1.
Note:
For the Dialog Designer 5.x release and for Orchestration Designer 7.0.1 release, the Media
Preview view opens automatically when previewing a media page or when you run an
application with media content with the simulator.
Name Description
Tracing and Logging Configure tracing and application logging settings
for the different component areas of the Avaya
Voice Browser. Settings can be configured
independently for all the following component areas:
• Client
• INET
• Interpreter
• Java Script Interface
• Object
• Platform
• Prompt
• Recognition
• Telephony
Tracing The greater the degree of tracing, the larger and
more detailed the trace output is.
A setting of Finest for some of the fields can
generate huge amounts of trace logging output.
Hence, Avaya recommends that you use only the
degree of tracing required to obtain the data you
need.
Try setting the level to Fine first and increase it only
if you do not get the data you need.
Application Logging Determines what messages will be logged by the
application. On a live system, these logs are sent
back to the platform. During simulation these logs
show up in the VXML Log tab.
The log levels can be:
• None: All application log messages are ignored.
• Fatal: Only fatal level messages are displayed.
• Error: Fatal and error level messages are
displayed.
•
Warning:
Fatal, error, and warning level messages are
displayed.
• Info: All messages are displayed.
Note:
Similarly, you can configure a VRUSM/HTTPVOX simulator.
3. Click IC Simulators.
4. In the IC Simulators pane, click the VOX tab.
5. Click Add.
A VOX server instance is added with default settings.
6. Click again to add another, though a warning message also appears stating that “All VOXs
must have a unique name.”
7. Click the name of the second VOX server added to edit the name.
Note:
Similarly, you can add a VRUSM/HTTPVOX server instance.
Note:
To delete a VOX simulator, click a field of an existing VOX server instance, then click
Delete. The VOX server instance is deleted. Similarly, you can delete a VRUSM/
HTTPVOX instance.
To view the expected format, create a dummy profile, and then export it. Edit the profile as
desired, and import the profile again.
Name Description
Calling Number Simulates ANI. Enter the number that represents
the originating telephone number in this field. Use
numbers only.
Note:
If you use characters other than numbers, the
Avaya Application Simulator passes them
along exactly as you enter them in this field.
However, in a live system with a deployed
application, only numbers are passed to the
application. For this reason, Avaya
recommends that you use only numbers in this
field during simulations.
Called Number Simulates DNIS. Enter the number that represents
the telephone number the caller must dial to get to
this application. Use numbers only.
Note:
If you use characters other than numbers, the
Avaya Application Simulator passes them
along exactly as you enter them in this field.
However, in a live system with a deployed
application, only numbers are passed to the
application. For this reason, Avaya
recommends that you use only numbers in this
field during simulations.
Table continues…
Name Description
Converse On Data Lets you simulate data that you can receive from
the switch.
Note:
The application must be specifically designed
to collect converse on values. For setting up
converse on data, on the actual runtime
platform requires configuration on both the
switch and vectors as well as the Interactive
Response or Avaya Experience Portal. For
more information about working with converse
on data,
• For Avaya Experience Portal, see the
“Symptoms of common MPP problems”
section of Troubleshooting Avaya Experience
Portal Guide.
• For Interactive Response, see the
“Miscellaneous instructions” section of
Application Development Guide and “ASAI
versus the converse vector step” section of
Specialized applications Guide.
Name Description
Call Control Protocol Parameters Allows protocol specific parameters to be set, and
passed when simulating your application. Entered
parameters must be the following format:
[Link][<protocol_name>].*
Enter a protocol name and version. Then enter a
parameter name and value, and click Add Param.
In a real deployment, these values can otherwise be
set automatically by the supporting platform (for
example, Avaya Experience Portal platform).
Table continues…
Name Description
Call Control Session Parameters Allows session-based parameters to be set, for a
VXML session to simulate launching the CCXML
Web services. Entered parameters must be the
following format:
session.*
Enter a protocol name and version. Then enter a
parameter name and value, and click Add Param.