语音和统一通信 : Cisco Unity Express

Unity Express自定义脚本快速入门指南

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文提供关于Cisco Unity Express (CUE)系统的信息。特别地,本文提供一自定义Auto Attendant应用程序的创建的一个初级读本在产品的。

关于在Cisco Unity Express的更详细的资料,参考Cisco Unity Express脚本编辑器指南。本文供需要一个基本指南为了开始使用Cisco Unity Express编辑器和维护在Cisco Unity Express产品内的脚本的管理员使用。

注意: 自定义脚本支持通过正常技术支持不是可用的。对于问题,注释和帮助与自定义脚本,发送电子邮件对ask-cue-editor@external.cisco.com

先决条件

要求

读者需要熟悉Cisco Unity Express管理和配置通过命令行界面(CLI)或GUI。

Cisco Unity Express脚本编辑器(CUEEditor2.1.1.exe)和本文使用的示例脚本(CUE-AA-S6-AASample.zip)从Cisco Unity Express 2.1.1软件下载中心是可得到。

使用的组件

本文档中的信息根据Cisco Unity Express版本2.1.1。示例包含只是可用的在Cisco Unity Express 2.1.1的步骤。虽然,许多原理是相同的为更早版本。是特定到2.1.1的步骤在本文明确地被指出。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

概述

基本Cisco Unity Express产品装备语音邮件片段和一基本Auto Attendant (在Cisco Unity Express 2.1.1及以后,那里是两份Auto Attendant脚本)。许多客户寻找标准的Auto Attendant太被限制。Cisco Unity Express有允许自定义脚本的创建的一个脚本编辑器。这些自定义脚本能装载到Cisco Unity Express和替换(或工作除之外)普通Auto Attendant。

警告 警告: 显示的示例脚本此处是用于示例的目的。它可以在任何情况下被修改。本文目标是说明一份定制的脚本的设计和实施进程。没有打算提供一份已完成制作脚本。然而,如果选择,最少,使用此脚本请记录其中每一提示符。您能听附加的音频文件为了听到他们如何听起来。但是请通过电话(AVT) /Greetings管理系统请使用管理

注意: 此时,得到Cisco Unity Express使用实际系统脚本的复制是不可能的。这些脚本有正常脚本编辑器不支持的步骤。自Cisco Unity Express 2.1.1的系统脚本是aa.aef、voicebrowser.aef、setmwi.aef、promptmgmt.aef、checkaltgreet.aef、xfermailbox.aef和aasimple.aef。

脚本编辑器是允许您创建在PC的脚本分别于Cisco Unity Express的工具。一旦创建,脚本在Cisco Unity Express上传并且配置。

此列表解释若干基本术语为了帮助您了解在本文的概念。

  • 步骤—脚本创建的构建模块。每个步骤是最基本的执行单位,例如“如果”语句, “定位”,等等。

  • 脚本—依顺序完成的一个或更多步骤。脚本是有.aef分机的一个文件。

  • 变量—这些是在脚本的变量。变量可以是不同的类型,例如整数,布尔,字符串,等等。

  • 参数—这是变量的属性,以便变量显示在管理员通过Cisco Unity Express Web接口。例如,如果有一OperatorExtension变量默认情况下您想要分配值1000,它有时需要更改到2000年。在这种情况下,变量通过Web接口显示,以便整个脚本不必须装载到Cisco Unity Express值每次再需要更改。

  • 提示符—可以播放的.wav文件。它手工上传到Cisco Unity Express系统或通过管理被记录通过电话(AVT)系统(在版本之前2.1.1 AVT呼叫问候语管理系统(GMS))。上传的所有用户提示符在同一个目录安置。他们是可视在GUI通过语音邮件>提示符菜单项或在CLI通过show ccn prompts命令

    在脚本,用户提示符指定作为P [<promptname>]。系统提示符是事先记录的,并且可以使用。他们指定作为SP [<promptname>]。附录1列出可用系统提示符。

  • 应用程序—这是与填写的所有提示符和参数的脚本。默认情况下, Cisco Unity Express装备全部配置的语音邮件、AVT系统和一简单Auto Attendant应用程序,当您运行初始化向导在安装结束时时。

  • 触发—触发告诉Cisco Unity Express特定应用程序需要被执行。例如,当您拨号1000时,电话系统(Cisco CallManager或Cisco CallManager Express)路由呼叫对Cisco Unity Express。当Cisco Unity Express看到时呼叫发出到第1000,寻找该分机的一触发。各自应用程序然后启动。换句话说,它是否知道呼叫对1000需要去语音邮件、自动总机或者其他。您能有多触发到同一应用程序。默认情况下有被添加,例如触发到语音邮件, AVT的一定数量的触发和罐装Auto Attendant。

    当您了解术语时,使Cisco Unity Express Web管理工具更加容易了解。

    cue-custom-scripts-start-1.gif

从Cisco Unity Express网页,在语音邮件类别下的Auto Attendant选项是指应用程序如对术语定义。每个条目包含编号关联与参考的应用程序,脚本,用脚本的所有参数,应用程序是否启用和相关的端口数量关联。

呼叫处理只当前包含语音邮件的相关的编号,内置的Auto Attendant和AVT系统。在Cisco Unity Express 2.1及以后,在Administration >呼入编号下有所有触发一另外的显示, JTAPI (Cisco CallManager)和SIP (Cisco CallManager Express或SRST模式)。目前,看到的唯一方法是否有指向同一应用程序配置的多触发是在CLI发出的show ccn trigger命令

提示符选项是指在系统存在的音频文件(.wav)。

脚本选择是指您在系统能存储的.aef文件。目前,除系统脚本之外,您能上传四份脚本。

从CLI,此信息使用显示ccn命令是可用的。此输出代表每命令输出的部分:

cue-3745-44a> show ccn application 
Name:                                   customaa
Description:                            customaa
Script:                                 customaa.aef
ID number:                              4
Enabled:                                yes
Maximum number of sessions:             8
OperatorExtension:                      205
MainMenu:                               MainMenu.wav
ClosedGreeting:                         ClosedGreeting.wav
InvalidExt:                             InvalidExt.wav
MaxRetries:                             3
MaxExtension:                           205
SorryGoodbye:                           SorryGoodbye.wav
EnterExtension:                         EnterExtension.wav
namePrompt:                             namePrompt.wav
MinExtension:                           200
...

cue-3745-44a> show ccn prompts
Name:                         MainMenu.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:34:57 GMT+00:00 2004
Length in Bytes:              121978
Name:                         EnterExtension.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:34:26 GMT+00:00 2004
Length in Bytes:              21338
Name:                         SorryGoodbye.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:34:02 GMT+00:00 2004
Length in Bytes:              17658
Name:                         ClosedGreeting.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:33:00 GMT+00:00 2004
Length in Bytes:              86138
Name:                         InvalidExt.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:47:07 GMT+00:00 2004
Length in Bytes:              29818
Name:                         namePrompt.wav
Language:                     de_DE
Last Modified Date:           Wed Dec 22 03:40:28 GMT+00:00 2004
Length in Bytes:              22618
...

cue-3745-44a> show ccn trigger
Name:                         18955
Type:                         SIP
Application:                  customaa
Locale:                       systemDefault
Idle Timeout:                 10000
Enabled:                      yes
Maximum number of sessions:   8
...

显示ccn应用程序输出显示是指的应用程序名称,脚本,是否启用,并且多少同步呼叫能处理,与与他们的值的所有脚本参数一起。

show ccn prompts命令列出所有命令、他们的语言、大小和被修改的日期。

显示ccn触发信息给呼叫的编号(“名称”)以及应用程序,状态(启用/禁用)和会话数量。

请使用Cisco Unity Express脚本编辑器

请使用脚本编辑器(仅限注册用户)创建新脚本。在单独的PC必须安装它。

在同一个位置是几个示例脚本。这些脚本帮助学习如何执行在脚本的特定操作。思科推荐您安装编辑器并且下载一些个示例脚本为了熟悉编辑器工作的方式。

如此图形所显示,一旦脚本编辑器启动,您能打开脚本:

cue-custom-scripts-start-2.gif

面板窗格包含有每个步骤的文件夹,分类基于他们的主要功能。从那里,拖放步骤到设计窗格为了创建脚本。在可变窗格中,您能创建和编辑变量。在您扯拽步骤到设计窗格后,您在步骤能用鼠标右键单击,选择属性和定制步骤和变量分配到步骤。在您上传脚本对Cisco Unity Express前,您总是需要通过Tools>验证它首先验证选项。在调试窗格的任何错误输出然后显示。

记住的其中一件最有用的事,当您使用编辑器时是帮助功能。您能或者直接地通过在工具栏的Help菜单访问它,或者,当您选择一特定的步骤属性。

创建基本脚本

您能使用Help菜单为了熟悉自己某些步骤。在脚本编辑器,请扯拽从面板的一些个步骤到设计窗格并且用鼠标右键单击在一个并且选择属性。然后请点击帮助按键并且获得在该特定的步骤的帮助。

本文描述示例脚本的创建。本文也讨论人们设法解决的某些常见问题,当他们创建一自定义Auto Attendant时。此处目标是创建应答呼叫的脚本,检查发现是否有一紧急情况候补问候语,并且当前时间是否是正常工作时间。如果它关闭,请播放一自定义问候语并且发送呼叫给操作员。如果它是开放的,请播放允许呼叫方拨号1 dial-by-name的菜单, 2按分机拨号的或0操作员的。按分机拨号选项应该只转移呼叫到指定的范围,没有您能输入的任何编号。

警告 警告: 本文使用的示例只用于示例目的是。当您自由使用时任何部分您喜欢,它不完全地很可能匹配以您的公司的情况。特别是在错误处理区域,此脚本有用并非。

注意: 除在www.cisco.com的示例脚本外, Cisco Unity Express CD包含一份相似的脚本作为使用的那个这里,呼叫aa_sample1.aef。它非常类似于正常,发运Auto Attendant (在2.1之前)。如果计划使用罐装脚本作为起点,请使用此脚本而不是找到的aa.aef文件,当您安装脚本编辑器的一些版本时。

集成方法

Cisco Unity Express当前支持集成到Cisco CallManager或Cisco CallManager Express。虽然脚本不更改,集成方法能导致一些轻微的区别。当您完成重定向步骤时,逻辑上转移从Cisco Unity Express的呼叫到外部扩展,此集成方法是关键。以BYE/Also消息的形式,当集成用Cisco CallManager Express,当前是相同的为Cisco CallManager集成在SRST模式,信令通过SIP完成。此的什么含义是重定向挂断呼叫对Cisco Unity Express并且通知Cisco CallManager Express/SRST路由器联络呼叫方到在指定的分机“并且:” BYE消息的部分。如果该分机是无效或不可得到的,呼叫方可以丢弃。这是因为没有办法为了能回收该呼叫和通知的Cisco Unity Express转移发生故障。它是一真的盲转接。如果对不回答的未注册或忙碌或者分机的呼叫重定向,适用于该目录号的正常呼叫转接规则有效。Cisco Unity Express不再是呼叫的部分。这也意味着,当您写脚本重定向步骤时,当前没有好处,当您添加代码处理忙碌/无效/不成功重定向时,因为重定向与断开是等同的。没有可能失败的事例。

对于Cisco CallManager集成, Cisco Unity Express通过Java电话应用可编程接口(JTAPI)通信。这准许忙碌/无效/不成功重定向步骤发生。所以,请添加代码到脚本为了处理那些情况。当所有思科CallManager变为不可达的时,并且系统落入SRST模式,这使用在本文讨论的前SIP信令。所以,在本文描述的所有限制应用。

示例Callflow

在您从制作脚本前开始,映射完整呼叫流是必要的。对于此示例假设,所有扩展在范围200-299 (重点是他们全都从2)开始。对于此示例,您有某事例如此步骤:

  1. 应答呼叫。

  2. 检查是否有候补问候语。如果有,请玩它。

  3. 检查它是否是假日。如果那样,请播放假日问候语并且继续对主菜单。

  4. 检查它是否是在工作时间的之前或之后并且播放各自(请打开/已关闭)问候语。继续对主菜单。

  5. 如果他们认识它,主菜单需要播放提示符并且允许用户在任何时间输入扩展名。他们允许输入1,如果他们要查寻目录的一个用户,或者0,如果他们要到达操作员。因为所有有效用户扩展从2开始,输入2个分组对按分机拨号部分。

  6. dial-by-name查寻用户和转移到他们。如果零输入,用户转接给操作员。

  7. 按分机拨号选项还立即尝试收集两个位。如果较少被输入,回到主菜单。如果两收集,它尝试查寻用户。用户转接对该分机,如果用户出口,否则用户去主菜单。

  8. 转移到操作员功能转移呼叫。由于某种原因如果它失败,回到主菜单。

  9. 告诉用户再试一次以后并且挂断多种问题的一个另外的错误处理顺序(例如多次不成功转移)。

很多能为错误处理执行。对于实际实施,它很可能帮助映射完整呼叫流(这包括错误处理和每用户交互作用或者选择)在流程图。

示例脚本

开始

输入在脚本编辑器的脚本。

cue-custom-scripts-start-3.gif

所有脚本开始与启动步骤。要执行的第一件事是接受呼叫。在那以后,请示出是一0.5秒钟暂停的提示符(DP[500])。在某些状况下,对公共交换电话网(PSTN)的音频直通不迅速发生。作用某事和“以前实时”问候语为了避免任何被察觉的限幅到问候语。其次一个打开例外定位的步骤。什么这是寻找所有例外在脚本的执行时选择"UndefinedPromptException"。此特定的例外发生,当步骤尝试播放不存在的提示符。这只发生,如果示出提示符的步骤在PromptErrors安排“继续”属性设置对不。如果设置为是,提示符没有播放,并且例外没有被投掷。使用此在例外定位的步骤确保,如果由管理员是可管理的一关键提示符(例如主菜单),清除,您能分支到您能分支到“抱歉的”标签为了告诉用户尝试回到以后的部分。在那以后,请呼叫子流程, checkaltgreet.aef。这是系统脚本,总是那里。它检查AltGreeting.wav文件的存在。如果它存在,玩它。如果它不,子流程返回。这是方便的,因为您能与GMS一道使用它(当前呼叫AVT系统)为了在一般留言前播放某个种类一紧急情况问候语。关于此功能的更多信息,参考Configuringand使用问候语管理系统和紧急候补问候语Unity的Express。没有办法告诉候补问候语是否实际上使用(或检查一个文件的存在本地信息库的)。您在脚本的开始不必须使用此。例如凭您的应用程序,您能使用紧急情况候补问候语功能为了记录假日提示符。而不是呼叫此子流程,请呼叫它,只有当它是假日。这帮助站点管理员通过电话用户界面记录假日问候语,不用需要通过浏览器或CLI访问系统(重命名提示符或分配他们写脚本变量)。

cue-custom-scripts-start-4.gif

决定哪开端提示符播放。如果它是假日,请播放假日问候语。如果它是在通过在Cisco Unity Express Web管理员的日程是可配置)的工作时间(则请播放可以是事一样简单作为“感谢呼叫Cisco系统”)的开始的问候(其他作用下班时间问候语。不管哪个您播放,您然后也去直通主菜单。

注意: “是假日”,并且“工作时间”步骤特定到2.1.1及以后。对于Cisco Unity Express更早版本,唯一选择是使用“每日定时”步骤。这不给您播放根据天的不同的问候语也不定日期。它根据时间仅。

主菜单

cue-custom-scripts-start-5.gif

输入主菜单部分。因为后许多的错误处理送回呼叫方到主菜单,计数器被添加。计数器“尝试”与“最大重试次数比较”,由用户的另一变量(3是可配置默认情况下)。如果该计数器被到达,请向操作员(“抱歉道歉并且转移呼叫方您有问题。为operator.")请保持。

菜单步骤示出一个基本提示符(“如果知道您的当事人的分机任何时候请拨号它。对于spell-by-name请按1,操作员的按0,重复这些选项,按9.")。在这种情况下,因为您示出您自己的已录制提示符,您更改在此步骤的最大重试次数参数到0。这执行到处您有选项执行此。原因是,如果除0之外,是某事,您听到系统提示符“仍然是您那里?”每次终止计时器被到达,并且分支对超时分组。不成功分组被到达,当某人在这种情况下时按任何东西除1, 2, 9或者0之外。,您示出提示符“被输入的扩展名无效”并且退出您增加尝试抵抗并且回到主菜单的步骤。

注意: 为了保证音频步骤的及时选项卡的字段终止,当您进入梅迪亚步骤的一个位(例如菜单或请示出提示符),您必须检查插入。可打断的字段(在常规选项卡)使用当前不是可适用的对Cisco Unity Express的其他步骤中断。

单一错误处理部分被添加。“抱歉的”部分播放消息(“我们无法此时转移呼叫。请稍后再试。Goodbye.").呼叫然后断开。

您能总是使用系统招呼而不是这些自定义变量。当用户提示符使用P []符号时,系统提示符总是有SP []符号。您不能分配系统提示符到一及时变量,当您定义了它时(在可变窗格,因为那些根据定义是用户值)。一旦定义,在脚本您能分配系统提示符到变量通过集合步骤(或任何创建提示符步骤)。

按名字拨叫

cue-custom-scripts-start-6.gif

一种方式执行拨号将下载示例(S4_DialByName)从Cisco.com,名义上装载它,因为一份分开的脚本到Cisco Unity Express然后添加呼叫子流程步骤调用它。在这种情况下步骤被放直接地到脚本和详细讨论。NameToUser步骤只允许您配置其提示符之一(“请拼写您要告诉人的姓氏,跟随由名字对于字母问按7和对于字母Z按9")。排除所有系统提示符是不可能的。为了最小化他们,您首先需要禁用Cancel键(默认*)。如果它存在,系统添加一个消息“启动,按星号”在已录制提示符结束时。其次,更改最大重试次数到零,因此“请再试试”和“仍然是您那里”消息不能发生。总是请记录尝试数量与您添加的一分开的计数器变量的。仍有不可能排除及时的一个的系统。它是提示输入多匹配(“超过找到一名称。从以下挑选… ")。对用户步骤的名称总是结束如成功,超时,不成功或者操作员(如果选择在步骤属性)。除了成功和操作员分组,您退出菜单步骤。这意味着您增加尝试抵抗并且回到主菜单。凭情况,您能有分开的重试次数计数器和添加步骤回到DialByName标签,以便重复已经选择的操作。

注意: 在需要的考虑事项是Cisco Bug ID CSCeg81385的版本2.1.1的一个缺陷(仅限注册用户)。当在NameToUser步骤的最大重试次数调整到零或一个时,您必须使用终端字符。没有终端字符,它不去此步骤“成功的”分组。反而它总是去“超时”,即使有匹配。

如果用户不输入可以被映射到名称的扩展名,不成功分组根据最大重试次数检查一个新的计数器(SpellByNameAttempts)。假设,输入的重试次数同一最大主菜单需要适用于spell-by-name功能。如果这些需要不同的,您能添加一分开的变量。

一个成功的NameToUser步骤意味着至少一个位进入,并且单个用户的姓氏如对Cisco Unity Express定义的选择(超时分组只被到达,如果位没有进入)。为了肯定分机是唯一,请检查您能映射分机回到用户。这可以由ExtensionToUser步骤完成。此步骤在Cisco Unity Express 2.1.1被添加。以前,没有办法,给分机,确保,映射给语音邮件系统的一个真实的用户。您可能执行的最佳是设置一些变量比较,例如增加步骤“如果(TransferExt < MinExtension)||(TransferExt > MaxExtension)…”或者类似的事。

/image/gif/paws/63897/cue-custom-scripts-start-7.gif

在您映射分机回到用户后,您看到脚本。如果它然后不示出提示符分机无效。由于某种原因通常没有分机。一旦Cisco CallManager Express,这能含义您挂断,如果设法转移呼叫。这能导致轻微的混乱从呼叫方已经选择用户。然而,这已经清楚地是您要无论如何知道的错误情况。如果映射对用户的分机是成功的,首先请确认他们是否有一姓名录音(spokenName变量填写,当您查寻该用户)时。然后设置及时变量对呼叫加上spokenName。否则,设置它为呼叫的分机加上用户的拼写的分机。您能清楚地也说明名称(在提示符的作用S [name])。没有姓名录音播放。拼写,例如说明的所有系统清楚名称或分机,在系统的语音总是完成,并且不可能定制。隐式确认步骤示出该的提示符您创建。如果用户不键入什么,继续并且输入‘是的分组并且重定向呼叫。如果有问题,一旦Cisco CallManager集成,播放问候语,并且呼叫方被退还的对主菜单。如果呼叫方输入某事,请生成另一提示符。这次开始与spokenName的提示符或者用户的名称的一个拼写的版本(请创建有条件的及时步骤)。被暂停跟随此,并且提示符“如果这是您呼叫人的名称,按1"。现在用户能按1是的, 2, *或者等待。系统发送他们回到spell-by-name部分或给操作员。这取决于多少次他们通过系统。

由分机的拨号

由分机部分的拨号已经有("2"在本例中)收集的第一个数字。设置prefixDigit变量到2。您能根据开头数字容易地更改此, (或,如果有超过一可能的开头数字)。开头数字不可以是相同的象在菜单的另一个选项(例如1,您dial-by-name在本例中使用)。获得位字符串也收集固定数量的位(两在这种情况下)。所以,位总数需要修复。如果有效扩展开始与2或3,则您能添加“集prefixDigit =对一个定位的DialByExtension步骤跟随的菜单步骤的选项3的"3""步骤。

/image/gif/paws/63897/cue-custom-scripts-start-8.gif

因为您有三字节扩展在此环境,获得位字符串步进输入长度参数是2。终止的字符和没有Cancel键。重试次数最大是0。如果用户不输入有效扩展名,脚本增加尝试次数并且回到主菜单。步骤不播放任何音频(提示符是P []),因为用户已经是在正在拨号位中间。

当两个位顺利地收集时,请加在前面prefixDigit ("2"在这种情况下)已经拨号(允许您从菜单步骤分支)。结果然后通行证对分机对用户步骤,验证的TransferExt,如果这是有效用户。如果它是,则请创建与清楚地说明的分机的一提示符。在隐式确认步骤请示出分机跟随的“呼叫的分机”提示符。查寻用户并且播放名字,您在DialByName执行。然而,在这种情况下这不是必要的。如果位没有拨号,假设,这是呼叫方要到达的分机,并且重定向呼叫。否则请循环回到主菜单。因为获得位字符串步骤没有配置的任何终端字符作用提示符DP[250]步骤的目的将清除其他输入。想法是您希望此工作,如果某人拨号分机"200"或"200#"。如果#被输入,当隐式确认步骤运行时,则去该步骤的没有部分。有时,有一个隐式确认步骤,但是立即相当重定向呼叫根本很可能是不必要的。用于示例的目的,这些步骤被留下。

话务员转发

cue-custom-scripts-start-9.gif

播放一及时“转接呼叫”然后重定向它对已配置的操作员分机。由于某种原因如果它失败,您有您增加并且回到主菜单的一个分开的计数器。对此的原因是您要有给某个的方法操作员一些时间获得电话或重新登记,以便您能顺利地设法再转接到他们。在一定数量的尝试以后(硬编码在3在本例中),您分支到“抱歉的”标签,断开呼叫。

Advanced错误处理

有脚本可以发生故障的许多地方。在一份设计好的脚本的更多公用面积之一是,当用户提示符未命中时。当系统尝试播放不存在的提示符时,一定数量的事能发生。首先,如果示出提示符的步骤在及时错误有“继续”设置为是。它继续前进向下一步,并且不示出提示符。如果请继续在及时错误设置对没有,例外生成。多数时间,这是“UndefindedPromptException”,因此意味着没找到提示符或从未配置。当您有一个例外定位的步骤时,能允许您捉住此例外和分支到能播放系统消息代码,或者音频另一表的部分。因为定位的步骤适用对所有音频充当整个脚本(您的例外不能定义一分开在每提示符的例外定位的步骤您作用),处理此的最佳方法是设置错误代码变量,在您示出提示符之前。这样,您能分支某处,采取根据该错误代码的行动,可能然后分支上一步。

例如,您能修改与此的脚本:

/image/gif/paws/63897/cue-custom-scripts-start-10.gif

您添加了“最大重试次数”标签。这用于有上一步相同地点。设置错误代码变量为最大重试次数。在Play Prompt步骤,请确保请继续在及时错误设置对不。现在请添加能处理此的一个部分。请检查错误代码是否匹配“最大重试次数”,然后设置您已尝试播放及早)的SorryProblems变量(为抱歉的系统消息您有麻烦请坚持在线路,并且一些短期将是您。然后请去最大重试次数标签,以便能使用。

/image/gif/paws/63897/cue-custom-scripts-start-11.gif

最后一步是更改例外定位的消息寻找UndefinedPromptException错误:

cue-custom-scripts-start-12.gif

此步骤可以任何地方在脚本。然而,它在或者靠近开始处通常放置。有能示出提示符。的一定数量的步骤。系统提示符是列出的在本文的底部。

此方法可以使用而不是呼叫checkaltgreet.aef subflow。您需要播放AltGreeting.wav文件。如果有错误,请处理它。好处是您知道,当执行或不使用。

虽然较不普通,这些是其他及时例外:

  • UndefinedPromptException

  • PromptException

  • UndefinedPromptGenerator

  • InvalidPromptArgumentException

  • UnsupportedPromptExpression

转移呼叫直接地对语音邮件

重定向呼叫直通到语音信箱是不目前可能的。必须发送它到转发对语音邮件的编号。这可以是配置对前转所有呼叫设置为语音邮件实验号码在Cisco CallManager Express的虚号(甚至在Cisco CallManager)。请使用Cisco Unity Express number/e.164编号设置为了匹配该编号对用户或组。转移呼叫方直接地到Unity Express邮箱解释这如何可以执行。

写脚本变量

在您能使用他们前,您必须创建用于脚本的所有变量。如果使用一然后最新删除它,请选择Tools>验证在脚本编辑器为了查找它。对于此示例脚本,这些是使用的变量。注意名称,键入,重视(最初是变量值)并且归因于。参数属性意味着变量显示在管理员通过网页。任何您希望Cisco Unity Express管理员定制需要有参数属性。

cue-custom-scripts-start-13.gif

如果不要记录所有这些自定义提示符,您能编辑每一个和不选定参数属性,以便没有通过网页显示。为了仍然确保系统工作,请添加几个集合步骤到脚本的开始。例如,设置‘呼叫’为‘SP [AA/AACalling]’。不是显示的所有提示符此处有对应的系统脚本。在大多数情况下,它有意义记录他们你自己。如果提示符不更改,您在有一个给的文件名的Cisco Unity Express系统能一次记录他们,确保他们存在,从变量然后去除参数属性。这样,提示符播放一个已修复文件名。但是,变量没有通过管理员能偶然地更改它的Web接口显示。

上传脚本对Cisco Unity Express

通常,第一步对Cisco Unity Express的添加新应用和脚本是上传提示符。因为提示符在系统在脚本参数,必须存在为了您能配置他们这是重要。否则,您必须留下参数空白,上传提示符,然后返回和编辑脚本参数。关于如何记录和上传提示符的更多信息,通过电话(AVT) /Greetings管理系统参考管理

一旦安排您的脚本保存并且准备尝试它,您首先需要上传它到Cisco Unity Express。因为那不要求FTP服务器装载脚本文件从,简便的方法是使用GUI。

完成这些步骤:

  1. 登陆对与有管理权限的帐户的Cisco Unity Express GUI。

  2. 选择语音邮件> Auto Attendant

  3. 单击 Add

  4. 在“选定自动话务员脚本旁边”,请点击加载按钮。

  5. 单击浏览

  6. 查找脚本文件,选择它并且按OK

  7. 如果要更改目的地文件名,如此。否则请按加载

  8. 输入应用程序名称。这可以是任何用小写和使用参考用此脚本文件关联的应用程序。

  9. 单击 Next

  10. 页当前显示被标记作为参数脚本的所有变量。这意味着他们在此页可以配置。如果未上传及时文件,则您能通过此第一然后填写后的信息。

  11. 当您完成输入脚本参数时,其次请单击。

  12. 确保应用程序被标记作为已启用,请配置并发呼叫的最大(默认是许可证允许的最大)并且输入呼入编号。

    这是呼叫此特定应用程序需要被调用的编号(触发)。这可以是您的主要自动总机编号或者一临时一个。您在以后能也跳过此和填装它。没有呼入编号,您不能测试或启动脚本。

    注意: 对于与SRST支持的Cisco CallManager集成,您需要输入多个呼入编号。在Cisco Unity Express 2.1.1之前,此信息必须通过CLI输入。在Cisco Unity Express 2.1,多个呼入编号(触发)可以从Administration >呼入编号屏幕被输入。

  13. 点击已完成

一旦上传脚本并且配置应用程序,您必须确保您能路由呼叫到应用程序。这意味着必须配置Cisco CallManager Express或Cisco CallManager。使用CallManager Express,这介入指向Cisco Unity Express匹配模式dial-peer的配置(触发编号或呼入编号)配置在Cisco Unity Express。在Cisco CallManager中,必须添加一个CTI路由点用此编号。请勿忘记您必须连结此CTI路由点与JTAPI用户Cisco Unity Express登陆。此配置能可能要求Cisco Unity Express重新启动。一旦添加路由点和关联有用户的,您能更改脚本,和您希望,不用需要重新启动一样多。

当您更新脚本时,如果可变参数没有被添加也没有更改,您可以进入Cisco Unity Express编辑器,点击语音邮件>脚本,上传,并且选择脚本。它覆盖与依然是同样的其他配置的参数。

当您创建提示符时,要执行的最容易的事是使用AVT系统。它记录的文件名有包括的日期/时间印花税。但是在Cisco单元Express 2.1.1及以后,使用ccn rename prompt命令的CLI是可能的。以前,您必须下载提示符,重新上传它与新名字,然后删除原始.wav文件。例如:

cue-3745-44a> show ccn prompts 

...
Name:                         UserPrompt_01032005170038.wav
Language:                     en_US
Last Modified Date:           Mon Jan 03 17:00:38 EST 2005
Length in Bytes:              35098

cue-3745-44a> ccn rename prompt UserPrompt_01032005170038.wav 
MyPrompt.wav language en_US 
Warning! Any existing ccn applications that use this prompt will 
stop working until they are manually updated with the new prompt name. 
Continue? (y/n) y
cue-3745-44a> 

故障排除

当您排除故障脚本时,您需要呼叫和测试多种方案,两正常用户输入、以及超时和期望的错误情况。

在您上传脚本前,总是请访问Tools>验证在脚本编辑器的条目并且确保,您收到“验证成功的”消息。否则,在调试窗格的所有错误显示。您能双击他们,并且它显示您错误情况在脚本的地方存在。

在多数实例,默认跟踪更比满足是为排除故障问题。为了简化此,留下默认跟踪和使用过滤功能为了显示什么您需要。

在其中任一测试前,请发出clear trace命令。这清楚存储器缓冲区trace消息,以便被过滤的信息量只包括数据,在命令发出后。

对于脚本执行,过滤的最重要的项目是EXECUTING_STEP。当他们运行,这显示所有步骤。例如:

cue-3745-44a> clear trace

cue-3745-44a>   /*** NOW THE TEST CALL IS MADE  ***/

cue-3745-44a> show trace buffer long  | include EXECUTING_STEP 

3119 12/28 17:05:33.955 ACCN APMG 0 EXECUTING_STEP:Executing a step: 
Application=App[name=customaa,type=Cisco Script Application,id=4,
desc=customaa,enabled=true,max=8,valid=true,optional=
[cfgVars=[Lcom.cisco.wfapi.util.WFNameValuePair;@14efaa66,script=customaa21.aef]],
Task id=17,000,000,007,Step id=0,Step Class=com.cisco.wfframework.steps.core.
StepStart,Step Description=Start
...

在此示例输出中某些冗余信息在中部删除并且播种了日期/时间印花税的开始处。多数时间,多数重要信息是在每条线路尽头。

注意: 许多输出这些线路给一秒钟和第三行减少由于空间的原因。

5:33.956 Step id=529,Step Class=com.cisco.wfframework.steps.core.StepComment,
Step Description=/* Assumptions: User extensions ... */
5:33.957 Step id=3,Step Class=com.cisco.wf.steps.ivr.AcceptStep,Step 
Description=Accept (contact: --Triggering Contact--)
5:33.977 Step id=129,Step Class=com.cisco.wf.steps.ivr.OutputStep,Step 
Description=Play Prompt (contact: --Triggering Contact--, prompt: DP[500])
5:34.461 Step id=2,190,Step Class=com.cisco.wfframework.steps.core
.StepOnExceptionGoto,Step Description=On Exception(UndefinedPromptException) 
Goto Error
5:34.463 Step id=1,649,Step Class=com.cisco.wfframework.steps.core
.StepComment,Step Description=/* Check for Alternate Greeting. ... */
5:34.464 Step id=1,650,Step Class=com.cisco.wfframework.steps.core
.StepCallSubflow,Step Description=Call Subflow -- checkAltGreet.aef
5:34.467 Step id=0,Step Class=com.cisco.wfframework.steps.core.StepStart,
Step Description=Start
5:34.468 Step id=78,Step Class=com.cisco.wf.steps.ivr.GetContactInfoStep,
Step Description=Get Contact Info (contact: --Triggering Contact--)
5:34.469 Step id=79,Step Class=com.cisco.wfframework.steps.core
.StepCreateHost,Step Description=aType = new com.cisco
.aesop.AltGreetType(language)
5:34.473 Step id=56,Step Class=com.cisco.wfframework.steps.core
.StepHost,Step Description=pExist = aType.isEnabled()
5:34.477 Step id=5,Step Class=com.cisco.wfframework.steps.core
.StepIf,Step Description=If ( pExist == true
5:34.478 Step id=3,Step Class=com.cisco.wfframework.steps.core
.StepEnd,Step Description=End
5:34.480 Step id=510,Step Class=com.cisco.wf.steps.ivr.HolidayStep,
Step Description=Is Holiday (Date: --Current Date--)
5:34.487 Step id=512,Step Class=com.cisco.wf.steps.ivr.BusinessHoursStep,
Step Description=Business Hours (date: --Current Date--, 
time: --Current Time--, schedule: BusinessSchedule)
5:34.527 Step id=1,659,Step Class=com.cisco.wfframework.steps.core
.StepLabel,Step Description=Office Open:
5:34.529 Step id=1,660,Step Class=com.cisco.wf.steps.ivr.OutputStep,
Step Description=Play Prompt (contact: 
--Triggering Contact--, prompt: OpenGreeting)
5:35.722 Step id=1,669,Step Class=com.cisco.wfframework.steps.core
.StepLabel,Step Description=Main Menu:
5:35.723 Step id=732,Step Class=com.cisco.wfframework.steps.core
.StepIf,Step Description=If ( attempts >=  MaxRetries  ) Then 
5:35.724 Step id=2,195,Step Class=com.cisco.wfframework.steps.core
.StepAssign,Step Description=Set ErrorCode = "mainmenu"
5:35.726 Step id=2,259,Step Class=com.cisco.wf.steps.ivr.MenuStep,
Step Description=Menu (contact: --Triggering Contact--, prompt: MainMenu)
5:35.730 Step id=2,294,Step Class=com.cisco.wf.steps.ivr.ParseInputStep,
Step Description=Get Digit String(contact: 
--Triggering Contact--, result digit string: TransferExt)
5:36.197 Step id=2,295,Step Class=com.cisco.wfframework.steps.core
.StepAssign,Step Description=Set TransferExt = "2" + TransferExt
5:36.198 Step id=2,296,Step Class=com.cisco.wf.steps.ivr.ExtensionToAddressStep,
Step Description=Extension To User (Extension: TransferExt, result user:user)
5:36.214 Step id=2,297,Step Class=com.cisco.prompt.steps.CreateGeneratedPromptStep,
Step Description=Create Generated Prompt( telephone.number type, store in prompt )
5:36.229 Step id=2,298,Step Class=com.cisco.wf.steps.ivr.ImplicitConfirmStep,
Step Description=Implicit Confirmation (contact: --Triggering Contact--)
5:41.971 Step id=2,301,Step Class=com.cisco.wf.steps.ivr.RedirectStep,
Step Description=Call Redirect 
(contact: --Triggering Contact--, extension: TransferExt)

现在您能看到每个步骤作为它执行。您看不到表达式如何评估,亦不能看到所有用户输入。如果在您前面的脚本,您能跟随脚本分支的地方,与位的知识您输入(在这种情况下,用户拨,拨分机和转接)。

请使用一个过滤器为了发现位。

cue-3745-44a> show trace buffer long  | include "process digit"
3119 12/28 17:05:35.728 ACCN CMTS 0 process digit 2 tag=2
3119 12/28 17:05:35.943 ACCN CMTS 0 process digit 0
3119 12/28 17:05:36.195 ACCN CMTS 0 process digit 1

从此输出您看到分机201拨号。

如果提示和提示脚本编辑器的版本两不同的,并且尝试通过GUI或CLI上传AA脚本,加载失效与加载失败的错误消息。如果两个版本不同的,则您需要再创脚本使用是相同的象您的提示版本的提示编辑器。或者,请升级提示对提示脚本编辑器的版本并且运行脚本。

附录

附录1 -系统提示符

此表表示系统提示符,您能使用。

注意: 您不能重新使用您在自定义脚本的Cisco Unity Express语音邮件应用程序听到的所有提示符。某些提示符通过您不能通过Cisco Unity Express脚本编辑器定制的语音邮件脚本只是可用的。

系统提示符 已录制音频
SP [AA/AAWelcome] “欢迎到自动话务员”
SP [AA/AAMainMenu] “送进您尝试到达按1人的电话号码,输入您尝试到达按2人的名称,转接对操作员请按0"
SP [AA/AAEnterExtn] “请输入电话号码并且按#密钥”
SP [AA/AACallingExtn] “呼叫的分机”
SP [AA/AAPhoneReach] “您尝试到达”的电话号码
SP [AA/AAOutOfServicePhone] “当前是服务中断”
SP [AA/AANameDial] “请拼写您要告诉跟随由名字人的姓氏。对于字母问,请按7, Z的按9"
SP [AA/AACalling] “呼叫”
SP [AA/AASorry] “抱歉您有麻烦。请坚持在线路,并且一些短期将是您”。
SP[AA/AAWant2Call] “如果这是您呼叫人的名称,请按1,开始,按*”
SP [AA/still_there] “仍然是您那里?”

附录2 -重置默认跟踪

为了重置系统(Cisco Unity Express 2.1.x和及早)使用no trace all命令,通过CLI默认跟踪,首先请禁用所有跟踪,然后粘贴此到CLI :

trace ccn engine dbug
trace ccn libldap dbug
trace ccn subsystemappl dbug
trace ccn managerappl dbug
trace ccn managerchannel dbug
trace ccn subsystemjtapi dbug
trace ccn subsystemsip dbug
trace ccn stacksip dbug
trace ccn subsystemhttp dbug
trace ccn vbrowsercore dbug
trace ccn subsystemcmt dbug
trace ccn libmedia dbug
trace ccn managercontact dbug
trace ccn stepcall dbug 
trace ccn stepmedia dbug
trace config-ccn sip-subsystem debug
trace config-ccn jtapi-subsystem debug
trace config-ccn sip-trigger debug
trace config-ccn jtapi-trigger debug
trace config-ccn http-trigger debug
trace config-ccn group debug
trace config-ccn application debug
trace config-ccn script debug
trace config-ccn prompt debug
trace config-ccn miscellaneous debug
trace voicemail database query
trace voicemail database results
trace voicemail database transaction
trace voicemail database connection
trace voicemail database execute
trace voicemail mailbox login
trace voicemail mailbox logout 
trace voicemail mailbox send
trace voicemail mailbox save
trace voicemail mailbox receive
trace voicemail mailbox delete
trace voicemail message create
trace voicemail message dec
trace voicemail message delete
trace voicemail message get
trace voicemail message inc
trace webinterface initwizard inittrace ccn engine dbug
trace ccn libldap dbug
trace ccn subsystemappl dbug
trace ccn managerappl dbug
trace ccn managerchannel dbug
trace ccn subsystemjtapi dbug
trace ccn subsystemsip dbug
trace ccn stacksip dbug
trace ccn subsystemhttp dbug
trace ccn vbrowsercore dbug
trace ccn subsystemcmt dbug
trace ccn libmedia dbug
trace ccn managercontact dbug
trace ccn stepcall dbug 
trace ccn stepmedia dbug
trace config-ccn sip-subsystem debug
trace config-ccn jtapi-subsystem debug
trace config-ccn sip-trigger debug
trace config-ccn jtapi-trigger debug
trace config-ccn http-trigger debug
trace config-ccn group debug
trace config-ccn application debug
trace config-ccn script debug
trace config-ccn prompt debug
trace config-ccn miscellaneous debug
trace voicemail database query
trace voicemail database results
trace voicemail database transaction
trace voicemail database connection
trace voicemail database execute
trace voicemail mailbox login
trace voicemail mailbox logout 
trace voicemail mailbox send
trace voicemail mailbox save
trace voicemail mailbox receive
trace voicemail mailbox delete
trace voicemail message create
trace voicemail message dec
trace voicemail message delete
trace voicemail message get
trace voicemail message inc
trace webinterface initwizard init

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 63897