이 문서에서는 Cisco Unity Express(CUE) 시스템에 대한 정보를 제공합니다.특히 이 문서에서는 제품에 사용자 지정 자동 전화 교환 응용 프로그램을 만드는 데 필요한 기본 정보를 제공합니다.
Cisco Unity Express에 대한 자세한 내용은 Cisco Unity Express 스크립트 편집기 가이드를 참조하십시오.이 문서는 Cisco Unity Express Editor를 사용하고 Cisco Unity Express 제품 내에서 스크립트를 유지 관리하기 위해 기본 가이드가 필요한 관리자를 대상으로 합니다.
참고: 맞춤형 스크립트 지원은 일반 Cisco 기술 지원을 통해 제공되지 않습니다.사용자 지정 스크립트에 대한 질문, 의견 및 도움말은 ask-cue-editor@external.cisco.com으로 이메일을 보내십시오.
독자는 CLI(Command-Line Interface) 또는 GUI를 통해 Cisco Unity Express 관리 및 컨피그레이션에 익숙해져야 합니다.
Cisco Unity Express Script Editor(CUEEditor2.1.1.exe) 및 이 문서에서 사용하는 샘플 스크립트(CUE-AA-S6-AASample.zip)는 Cisco Unity Express 2.1.1 Software Download Center에서 사용할 수 있습니다.
이 문서의 정보는 Cisco Unity Express 버전 2.1.1을 기반으로 합니다. 이 예에는 Cisco Unity Express 2.1.1에서만 사용할 수 있는 단계가 포함되어 있습니다. 그러나 이전 릴리스의 여러 원칙은 동일합니다.이 문서에서는 2.1.1과 관련된 단계를 명시적으로 설명합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
기본 Cisco Unity Express 제품은 음성 메일 및 기본 자동 전화 교환과 함께 제공됩니다(Cisco Unity Express 2.1.1 이상에는 두 개의 자동 전화 교환 스크립트가 있습니다). 많은 고객들이 표준 자동 전화 교환이 너무 제한적이라는 것을 알고 있습니다.Cisco Unity Express에는 맞춤형 스크립트를 작성할 수 있는 스크립트 편집기가 있습니다.이러한 맞춤형 스크립트는 Cisco Unity Express에 로드되어 일반 자동 전화 교환을 대체(또는 함께 작동)할 수 있습니다.
경고: 여기에 표시된 예제 스크립트는 설명을 위한 것입니다.어떤 방식으로든 수정할 수 있습니다.이 백서의 목적은 맞춤형 스크립트의 설계 및 구현 프로세스를 설명하는 것입니다.완성된 프로덕션 스크립트를 제공하기 위한 것이 아닙니다.그러나 이 스크립트를 사용하도록 선택한 경우 최소한 각 프롬프트를 기록합니다.첨부된 오디오 파일의 소리를 듣고 그 소리를 들을 수 있습니다.그러나 전화(AVT)/인사말 관리 시스템을 통해 관리를 사용합니다.
참고: 현재 Cisco Unity Express에서 사용하는 실제 시스템 스크립트의 사본을 가져올 수 없습니다.이러한 스크립트에는 일반 스크립트 편집기가 지원하지 않는 단계가 있습니다.Cisco Unity Express 2.1.1의 시스템 스크립트는 aa.aef, 성문 browser.aef, setmwi.aef, promptmgmt.aef, checkaltadmit.aef, xfermailbox.aef 및 aimple.aef입니다.
스크립트 편집기는 Cisco Unity Express와 별도의 PC에서 스크립트를 생성할 수 있는 도구입니다.생성된 스크립트는 Cisco Unity Express에 업로드되고 구성됩니다.
이 목록에서는 이 문서의 개념을 이해할 수 있도록 몇 가지 기본 용어를 설명합니다.
단계 - 스크립트 생성을 위한 기본 구성 요소입니다.각 단계는 "if" 문, "Goto" 등과 같은 가장 기본적인 실행 단위입니다.
스크립트 - 시퀀스로 실행되는 하나 이상의 단계입니다.스크립트는 확장명이 .aef인 파일입니다.
변수 - 스크립트의 변수입니다.변수는 정수, 부울, 문자열 등의 서로 다른 유형일 수 있습니다.
Parameter—변수의 등록 정보이므로 Cisco Unity Express 웹 인터페이스를 통해 변수가 관리자에게 노출됩니다.예를 들어, 기본적으로 1000 값을 할당하려는 OperatorExtension 변수가 있는 경우 이 변수를 2000으로 변경해야 하는 경우도 있습니다.이 경우 변수는 웹 인터페이스를 통해 노출되므로 값을 변경할 때마다 전체 스크립트를 Cisco Unity Express에 다시 로드할 필요가 없습니다.
Prompt - 재생할 수 있는 .wav 파일입니다.이 파일은 Cisco Unity Express 시스템에 수동으로 업로드되거나 전화(AVT) 시스템을 통해 관리를 통해 기록됩니다(릴리스 2.1.1 이전 AVT는 GMS(Greetings Management System)라고 함). 업로드된 모든 사용자 프롬프트는 동일한 디렉토리에 배치됩니다.GUI에서 Voicemail(음성 메일) > Prompts(프롬프트) 메뉴 항목 또는 CLI에서 show ccn prompts 명령을 통해 표시됩니다.
스크립트에서 사용자 프롬프트는 P[<promptname>]로 지정됩니다.시스템 프롬프트는 미리 기록되며 사용할 수 있습니다.SP[<promptname>]로 지정됩니다.부록 1에는 사용 가능한 시스템 프롬프트가 나와 있습니다.
응용 프로그램 - 모든 프롬프트와 매개 변수가 채워진 스크립트입니다.기본적으로 Cisco Unity Express는 설치 마지막에 초기화 마법사를 실행할 때 구성된 음성 메일, AVT 시스템 및 간단한 자동 전화 교환 애플리케이션과 함께 제공됩니다.
트리거 - 트리거가 Cisco Unity Express에 특정 애플리케이션을 실행해야 함을 알려줍니다.예를 들어, 1000에 전화를 걸면 전화 시스템(Cisco CallManager 또는 Cisco CallManager Express)이 통화를 Cisco Unity Express로 라우팅합니다.Cisco Unity Express에서 1000번으로 전화를 걸면 해당 내선에 대한 트리거가 검색됩니다.그런 다음 해당 애플리케이션이 시작됩니다.즉, 1000에 걸려오는 전화를 음성 메일, 자동 전화 교환 등의 용도로 사용해야 하는지 여부를 알고 있습니다.동일한 애플리케이션에 대해 여러 트리거를 가질 수 있습니다.음성 메일, AVT 및 자동 전화 교환에 대한 트리거 등 기본적으로 추가되는 여러 트리거가 있습니다.
용어를 이해하면 Cisco Unity Express 웹 관리 툴을 쉽게 이해할 수 있습니다.
Cisco Unity Express 웹 페이지에서 Voice Mail 카테고리 아래의 Auto Attendant 옵션은 용어에 정의된 애플리케이션을 가리킵니다.각 항목에는 응용 프로그램과 연결된 번호, 응용 프로그램이 참조하는 스크립트, 스크립트와 연결된 모든 매개 변수, 응용 프로그램이 활성화되었는지 여부 및 연결된 포트 수가 포함됩니다.
통화 처리에는 현재 음성 메일, 기본 제공 자동 전화 교환 및 AVT 시스템에 연결된 번호만 포함됩니다.Cisco Unity Express 2.1 이상에서는 Administration(관리) > Call-in Numbers(통화 수신 번호) 아래에 JTAPI(Cisco CallManager용) 및 SIP(Cisco CallManager Express 또는 SRST 모드)가 모두 추가로 표시됩니다. 현재 동일한 애플리케이션을 가리키는 여러 트리거가 구성되어 있는지 확인하는 유일한 방법은 CLI에서 실행된 show ccn trigger 명령을 사용하는 것입니다.
프롬프트 옵션은 시스템에 있는 오디오 파일(.wav)을 참조합니다.
스크립트 선택은 시스템에 저장할 수 있는 .aef 파일을 가리킵니다.현재 시스템 스크립트 외에 최대 4개의 스크립트를 업로드할 수 있습니다.
CLI에서 이 정보는 show 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 ...
show ccn 응용 프로그램 출력에는 응용 프로그램 이름, 참조하는 스크립트, 활성화 여부 및 처리할 수 있는 동시 호출 수와 해당 값이 있는 모든 스크립트 매개 변수가 표시됩니다.
show ccn prompts 명령은 모든 명령, 해당 언어, 크기 및 수정된 날짜를 나열합니다.
show ccn 트리거 정보에는 번호("Name") 및 호출한 애플리케이션, 상태(enabled/disabled) 및 세션 수가 표시됩니다.
스크립트 편집기(등록된 고객만 해당)를 사용하여 새 스크립트를 만듭니다.별도의 PC에 설치해야 합니다.
동일한 위치에는 여러 샘플 스크립트가 있습니다.이러한 스크립트는 스크립트에서 특정 작업을 수행하는 방법을 학습하는 데 도움이 됩니다.Editor의 작동 방식에 익숙해지기 위해 편집기를 설치하고 샘플 스크립트를 다운로드하는 것이 좋습니다.
스크립트 편집기가 시작되면 다음 그림과 같이 스크립트를 열 수 있습니다.
팔레트 창에는 각 단계가 포함된 폴더가 주요 기능에 따라 분류됩니다.여기에서 스크립트를 만들려면 단계를 [디자인] 창으로 끌어다 놓습니다.변수 창에서 변수를 만들고 편집할 수 있습니다.단계를 [디자인] 창으로 드래그한 후 단계를 마우스 오른쪽 단추로 클릭하고 등록 정보를 선택한 다음 단계에 할당된 단계와 변수를 사용자 정의할 수 있습니다.Cisco Unity Express에 스크립트를 업로드하기 전에 항상 먼저 Tools > Validate 옵션을 통해 스크립트를 검증해야 합니다.그러면 오류 출력이 디버그 창에 표시됩니다.
Editor를 사용할 때 기억해야 할 가장 유용한 기능 중 하나는 Help 함수입니다.도구 모음의 도움말 메뉴를 통해 직접 액세스하거나 특정 단계 등록 정보를 선택할 수 있습니다.
도움말 메뉴를 사용하여 일부 단계를 숙지할 수 있습니다.스크립트 편집기에서 팔레트에서 디자인 창으로 몇 단계를 드래그하고 하나를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.그런 다음 도움말 버튼을 클릭하고 특정 단계에 대한 도움말을 확인합니다.
이 문서에서는 샘플 스크립트 작성에 대해 설명합니다.이 문서에서는 사용자 지정 자동 전화 교환을 만들 때 사람들이 해결하려고 하는 몇 가지 일반적인 문제에 대해서도 설명합니다.여기서 목표는 통화에 응답하는 스크립트를 작성하고, 비상 대체 인사말이 있는지 확인하고, 현재 시간이 정규 업무 시간인지 여부를 확인하는 것입니다.닫혀 있는 경우 사용자 지정 인사말을 재생하고 오퍼레이터에게 통화를 보냅니다.열려 있는 경우 발신자가 이름별로 1을, 내선 번호로는 2를, 교환원은 0을 사용할 수 있는 메뉴를 재생합니다.내선 번호별 옵션은 사용자가 입력할 수 있는 번호가 아니라 지정된 범위로만 통화를 호전환해야 합니다.
경고: 이 문서에서 사용하는 예제는 그림용입니다.원하는 만큼 자유롭게 사용할 수 있는 반면, 회사의 상황과 정확하게 일치하지 않을 수도 있습니다.특히 오류 처리 영역에서는 이 스크립트가 별로 사용되지 않습니다.
참고: Cisco Unity Express CD는 www.cisco.com의 샘플 스크립트 외에도 여기에서 사용된 것과 유사한 스크립트인 aa_sample1.aef를 포함합니다.일반 배송 자동 전화 교환(2.1 이전)과 매우 유사합니다. 미리 작성된 스크립트를 시작점으로 사용하려는 경우 일부 버전의 스크립트 편집기를 설치할 때 나타나는 aa.aef 파일 대신 이 스크립트를 사용합니다.
Cisco Unity Express는 현재 Cisco CallManager 또는 Cisco CallManager Express와의 통합을 지원합니다.스크립트 자체는 변경되지 않지만 통합 방법을 사용하면 약간의 차이가 발생할 수 있습니다.Cisco Unity Express에서 외부 내선 번호로 통화를 논리적으로 전송하는 리디렉션 단계를 실행하면 이 통합 방법이 중요합니다.현재 SRST 모드에 있는 Cisco CallManager 통합에 대해 동일한 Cisco CallManager Express와 통합될 경우 BYE/Also 메시지의 형태로 신호 처리가 SIP를 통해 수행됩니다.이는 리디렉션이 Cisco Unity Express로 통화를 끊고 Cisco CallManager Express/SRST 라우터에 발신자를 BYE 메시지의 "Also:" 부분에 지정된 내선 번호에 연결하도록 지시한다는 의미입니다.해당 내선 번호가 잘못되었거나 연결할 수 없는 경우 발신자를 삭제할 수 있습니다.이는 Cisco Unity Express가 통화를 다시 수신하고 전송 실패를 알리는 방법이 없기 때문입니다.그것은 진정한 익명 전달이다.통화가 등록되지 않았거나 통화 중이거나 응답이 없는 내선 번호로 리디렉션되면 해당 디렉터리 번호에 적용되는 일반 통화 착신 전환 규칙이 적용됩니다.Cisco Unity Express는 더 이상 통화 대상이 아닙니다.또한 리디렉션 단계를 스크립팅할 때 현재 통화 중/유효하지 않은/실패한 리디렉션을 처리하기 위해 코드를 추가할 때 많은 이점이 없습니다. 리디렉션 자체는 연결 끊기와 같습니다.실패 사례는 없습니다.
Cisco CallManager 통합을 위해 Cisco Unity Express는 JTAPI(Java Telephony Application Programming Interface)를 통해 통신합니다. 이렇게 하면 통화 중/잘못된/실패한 리디렉션 단계가 발생할 수 있습니다.따라서 이러한 상황을 처리하기 위해 스크립트에 코드를 추가합니다.모든 Cisco CallManager에 연결할 수 없게 되고 시스템이 SRST 모드로 전환되면 이 문서에서는 앞에서 설명한 SIP 신호 처리를 사용합니다.따라서 이 문서에 설명된 모든 제한 사항이 적용됩니다.
프로덕션 스크립트로 시작하기 전에 전체 통화 흐름을 매핑해야 합니다.이 예에서는 모든 확장이 200-299 범위에 있다고 가정합니다(중요한 점은 모두 2로 시작한다는 것입니다). 이 예에서는 다음 절차를 수행합니다.
전화를 받습니다.
대체 인사말이 있는지 확인합니다.있다면 재생하세요
휴일인지 확인하세요.그럴 경우 휴일 인사말을 재생하고 주 메뉴로 이동합니다.
업무 시간 중 또는 업무 시간 이후에 있는지 확인하고 각(개방/종료) 인사말을 재생합니다.주 메뉴로 이동합니다.
주 메뉴는 프롬프트를 재생하고 사용자가 알고 있는 경우 언제든지 내선 번호를 입력할 수 있도록 허용해야 합니다.디렉터리에서 사용자를 찾으려면 1을, 운영자에게 연결하려는 경우에는 0을 입력할 수 있습니다.유효한 모든 사용자 확장은 2로 시작하므로 내선 번호별로 2개의 분기를 입력합니다.
Dial-by-name은 사용자를 조회하고 사용자에게 전송합니다.0을 입력하면 사용자가 연산자로 전송됩니다.
내선 번호 옵션은 즉시 두 자리 숫자를 더 수집합니다.더 적게 입력하면 주 메뉴로 돌아갑니다.두 개를 수집하면 사용자 조회를 시도합니다.사용자가 종료되면 해당 내선 번호로 사용자를 전송하고, 그렇지 않으면 사용자가 주 메뉴로 이동합니다.
연산자 함수에 대한 호전환은 통화를 전송합니다.어떤 이유로 고장이 나면 메인 메뉴로 돌아갑니다.
여러 가지 문제(예: 다중 전송 실패)에 대한 추가 오류 처리 시퀀스로, 사용자에게 나중에 다시 시도하여 중단하도록 지시합니다.
오류 처리를 위해 많은 작업을 수행할 수 있습니다.실제 구현의 경우 순서도에서 전체 통화 흐름(오류 처리, 모든 사용자 상호 작용 또는 선택 포함)을 매핑하는 데 도움이 될 수 있습니다.
스크립트 편집기에 스크립트를 입력합니다.
모든 스크립트는 시작 단계로 시작합니다.첫 번째 작업은 통화 수락입니다.그런 다음 0.5초 일시 중지인 프롬프트(DP[500])를 재생합니다.경우에 따라 PSTN(Public Switched Telephone Network)에 대한 오디오 컷스루가 신속하게 수행되지 않습니다.인사말로 클리핑되는 것을 방지하기 위해 인사말을 재생하고 "실제" 인사말을 재생합니다.다음은 예외 발생 단계로 이동합니다.이 작업은 스크립트 실행 시 "UndefinedPromptException" 유형의 예외를 찾는 것입니다.이 특정 예외는 단계가 존재하지 않는 프롬프트를 재생하려고 할 때 발생합니다.이 문제는 프롬프트를 재생하는 단계에 "PromptErrors에서 계속" 속성이 아니요로 설정된 경우에만 발생합니다. 예로 설정하면 프롬프트가 재생되지 않고 예외가 throw되지 않습니다.이 On Exception Goto 단계를 사용하면 관리자가 관리할 수 있는 중요 프롬프트(예: 기본 메뉴)가 지워지면 "Sorry" 레이블로 분기하여 나중에 다시 시도하도록 사용자에게 알릴 수 있는 섹션으로 분기할 수 있습니다.그런 다음 하위 플로우를 호출하고 AltAdmit.aef를 선택합니다.이것은 항상 존재하는 시스템 스크립트입니다.AltGreeting.wav 파일이 있는지 확인합니다.존재하는 경우 재생됩니다.그렇지 않으면 하위 플로우가 반환됩니다.일반 메시지 전에 GMS(현재 AVT 시스템이라고 함)와 함께 사용하여 특정 종류의 긴급 인사말을 재생할 수 있으므로 유용합니다.이 기능에 대한 자세한 내용은 Unity Express용 인사말 관리 시스템 및 긴급 대체 인사말 구성 및 사용을 참조하십시오.대체 인사말이 실제로 재생되는지(또는 로컬 저장소에 파일이 있는지 확인) 여부는 알 수 없습니다. 스크립트 시작 시 이 옵션을 사용할 필요가 없습니다.응용 프로그램에 따라 긴급 대체 인사말 기능을 사용하여 휴일 프롬프트를 기록할 수 있습니다(예:이 하위 플로우를 호출하는 대신 휴일인 경우에만 전화하십시오.이렇게 하면 사이트 관리자가 브라우저 또는 CLI를 통해 시스템에 액세스할 필요 없이 텔레포니 사용자 인터페이스를 통해 휴일 인사말을 녹음할 수 있습니다(프롬프트의 이름을 변경하거나 스크립트 변수에 할당하기 위해).
재생할 시작 프롬프트를 결정합니다.만약 휴일이라면, 휴일 인사를 하세요.업무 시간(Cisco Unity Express 웹 관리자의 일정을 통해 구성 가능)에 해당하는 경우 시작 인사말을 재생합니다(Cisco Systems에 전화를 걸어 주셔서 감사합니다.). 그렇지 않으면 닫힌 인사말을 재생합니다.어떤 게임을 하든 간에 메인 메뉴로 곧장 가세요.
참고: "휴일" 및 "업무 시간" 단계는 2.1.1 이상에만 적용됩니다.이전 버전의 Cisco Unity Express에서는 "Time of Day" 단계를 사용하는 옵션만 있습니다.이 경우 날짜 또는 날짜에 따라 다른 인사말을 재생할 수 없습니다.시간 기준입니다.
Main Menu(기본 메뉴) 섹션을 입력합니다.나중에 많은 오류 처리가 호출자를 다시 주 메뉴로 전송하므로 카운터가 추가됩니다."attempts" 카운터는 사용자가 구성할 수 있는 또 다른 변수인 "MaxRetries"와 비교됩니다(기본값 3). 해당 카운터에 도달하면 사과한 후 발신자에게 전화를 겁니다("문제가 있어 죄송합니다.오퍼레이터를 기다리십시오.")
메뉴 단계는 기본 프롬프트를 재생합니다("상대방의 내선 번호를 알고 있으면 언제든지 다이얼하여 주십시오.이름별로 맞춤법 검사를 수행하려면 1을 누르고, 오퍼레이터는 0을 눌러 이 옵션을 반복하려면 9를 누릅니다.") 이 경우 자체 녹음된 프롬프트를 재생하므로 이 단계에서 최대 재시도 횟수 매개변수를 0으로 변경합니다. 이 작업은 수행할 수 있는 옵션이 있는 모든 곳에서 수행됩니다.이유는 0이 아닌 경우 시스템 프롬프트가 "아직 계십니까?"라는 메시지가 나타나기 때문입니다. 만료 타이머에 도달할 때마다 시간 초과 분기로 분기됩니다.1, 2, 9 또는 0이 아닌 다른 항목을 누르면 [실패한 분기]에 도달할 수 있습니다. 이 경우 "입력한 내선 번호가 유효하지 않습니다"라는 프롬프트를 재생하고 시도 카운터를 증가시키고 [주] 메뉴로 돌아갑니다.
참고: 미디어 단계(예: 메뉴 또는 재생 프롬프트)에 숫자를 입력하는 즉시 오디오가 중지되도록 하려면 단계의 프롬프트 탭에서 끼어들기 필드를 선택해야 합니다.Interruptible 필드(일반 탭의)는 현재 Cisco Unity Express에 적용되지 않는 다른 단계 중단에 사용됩니다.
단일 오류 처리 섹션이 추가됩니다."죄송합니다" 섹션에는 "지금은 통화를 전송할 수 없습니다.나중에 다시 시도하십시오.안녕히 가세요."). 그런 다음 통화가 연결이 끊깁니다.
이러한 사용자 지정 변수 대신 항상 시스템 인사말을 사용할 수 있습니다.시스템 프롬프트에는 항상 SP[] 표기법이 지정되고 사용자 프롬프트에는 P[] 표기법이 사용됩니다.변수를 정의할 때 프롬프트 변수에 시스템 프롬프트를 할당할 수 없습니다(변수 창은 정의 사용자 값이므로). 정의된 스크립트에서 Set 단계(또는 Create Prompt 단계)를 통해 변수에 시스템 프롬프트를 할당할 수 있습니다.
이름별 다이얼을 수행하는 한 가지 방법은 Cisco.com에서 샘플(S4_DialByName)을 다운로드하여 Cisco Unity Express에 별도의 스크립트로 로드한 다음 호출 하위 플로우 단계를 추가하여 호출하는 것입니다.이 경우 단계는 스크립트에 직접 삽입되며 자세히 설명합니다.NameToUser 단계는 해당 프롬프트 중 하나만 구성할 수 있습니다("전화할 사람의 성 맞춤법 검사, Q7의 문자 이름 맞춤법 검사, Z자의 문자 메시지 표시 9번"). 모든 시스템 프롬프트를 제거할 수는 없습니다.이를 최소화하려면 먼저 취소 키(기본값 *)를 비활성화해야 합니다. 표시되는 경우 녹음된 프롬프트 끝에 "to start over, press star" 메시지가 추가됩니다.둘째, Maximum Retries(최대 재시도 횟수)를 0으로 변경하여 "please try again" 및 "you still there" 메시지가 발생할 수 없도록 합니다.추가한 별도의 카운터 변수를 사용하여 시도 횟수를 항상 추적합니다.제거할 수 없는 시스템 프롬프트가 여전히 하나 있습니다.여러 일치 항목("둘 이상의 이름이 발견되었습니다.다음 중 하나를 선택합니다...") Name To User 단계는 항상 Successful, Timeout, Failed 또는 Operator(단계 등록 정보에서 선택한 경우)로 끝납니다. Successful(성공) 및 Operator(연산자) 분기를 제외하고 Menu(메뉴) 단계에서 드롭아웃합니다.즉, 시도 카운터를 증가시키고 Main Menu 로 돌아갑니다.상황에 따라 별도의 재시도 카운터를 두고 DialByName 레이블로 돌아가도록 단계를 추가하여 이미 선택한 작업을 반복할 수 있습니다.
참고: 릴리스 2.1.1의 한 가지 결함은 Cisco 버그 ID CSCeg81385(등록된 고객만 해당)입니다. NameToUser 단계에서 최대 재시도 횟수를 0 또는 1로 설정한 경우 종료 문자를 사용해야 합니다.종료 문자가 없으면 이 단계의 "Successful(성공)" 분기로 이동하지 않습니다.대신 일치하는 항목이 있더라도 항상 "Timeout"으로 이동합니다.
사용자가 이름에 매핑할 수 있는 확장을 입력하지 않으면 Successful 분기는 MaxRetries에 대해 새 카운터(SpellByNameAttempts)를 확인합니다.주 메뉴를 입력하기 위한 최대 재시도 횟수는 이름이 spell-by-name 함수에 적용해야 한다고 가정합니다.서로 다른 변수를 추가해야 하는 경우 별도의 변수를 추가할 수 있습니다.
NameToUser 단계가 성공하면 하나 이상의 숫자가 입력되고 Cisco Unity Express에 정의된 단일 사용자의 성이 선택됨을 의미합니다(Timeout 분기는 숫자를 전혀 입력하지 않은 경우에만 도달). 내선 번호가 고유한지 확인하려면 내선 번호를 다시 사용자에게 매핑할 수 있는지 확인합니다.이 작업은 ExtensionToUser 단계를 통해 수행할 수 있습니다.이 단계는 Cisco Unity Express 2.1.1에 추가됩니다. 이전에는 음성 메일 시스템의 실제 사용자에게 매핑되는 방법이 없었습니다."If (TransferExt < MinExtension)" 단계를 추가하는 등 비교할 변수를 설정하는 것이 가장 좋습니다. ||(TransferExtension > MaxExtension).." 또는 이와 비슷한 기능을 제공합니다
확장명을 다시 사용자에게 매핑한 후 스크립트가 표시됩니다.그렇지 않으면 확장이 잘못되었음을 알리는 프롬프트를 재생합니다.보통 어떤 이유로 연장은 없습니다Cisco CallManager Express의 경우 통화를 호전환하려고 하면 전화를 끊을 수 있습니다.이는 발신자가 이미 사용자를 선택했기 때문에 약간의 혼동을 일으킬 수 있습니다.그러나 이는 이미 알고 싶은 오류 상태입니다.확장명을 사용자에 매핑하는 데 성공한 경우 먼저 해당 사용자에게 기록된 이름이 있는지 확인합니다(해당 사용자를 조회할 때 spokedName 변수가 채워짐). 그런 다음 프롬프트 변수를 Calling + spokedName으로 설정합니다.그렇지 않으면 Calling Extension과 맞춤화된 사용자 확장명으로 설정합니다.또한 프롬프트에 이름(S[name] 재생)을 입력할 수도 있습니다. 재생할 녹음된 이름이 없습니다.이름 또는 내선 번호와 같은 시스템 맞춤법은 항상 시스템의 음성에서 수행되므로 사용자 지정할 수 없습니다.암시적 확인 단계는 방금 생성한 프롬프트를 재생합니다.사용자가 아무 것도 입력하지 않으면 계속 진행되어 '예' 분기로 들어가 통화를 재전송합니다.문제가 있는 경우 Cisco CallManager 통합의 경우 인사말이 재생되고 발신자가 기본 메뉴로 다시 전송됩니다.발신자가 뭔가를 입력한 경우 다른 프롬프트를 생성합니다.이번에는 사용자 이름의 철자 버전인 spokedName으로 프롬프트를 시작합니다(조건부 프롬프트 생성 단계). 잠시 후 "전화를 건 사람의 이름이면 1번을 누르십시오"라는 프롬프트를 표시합니다. 이제 사용자는 1을 눌러 yes, 2, * 또는 기다릴 수 있습니다.시스템은 해당 항목을 이름별 맞춤법 섹션으로 다시 보내거나 연산자로 다시 전송합니다.이것은 그들이 얼마나 많이 그 시스템을 통과했는지에 달려 있습니다.
내선 번호별 다이얼 섹션에 이미 첫 번째 숫자("2")가 수집되었습니다.prefixDigit 변수를 2로 설정합니다. 선행 숫자를 기준으로 쉽게 변경할 수 있습니다(또는 행간 숫자가 둘 이상인 경우). 이 예제에서는 이름별로 다이얼하는 데 사용하는 1과 같이 메뉴의 다른 옵션과 같은 선행 숫자가 같을 수 없습니다. Get Digit String은 고정 숫자(이 경우 2개)도 수집합니다. 따라서 총 자릿수를 수정해야 합니다.유효한 내선 번호가 2 또는 3으로 시작하는 경우 메뉴 단계의 옵션 3에 "prefixDigit = "3"" 단계를 추가하고 DialByExtension 단계로 이동할 수 있습니다.
이 환경에서는 3자리 확장자가 있으므로 Get Digit String step Input length 매개변수는 2입니다. 종료 문자도 없고 취소 키도 없습니다.최대 재시도 횟수는 0입니다. 사용자가 유효한 내선 번호를 입력하지 않으면 스크립트는 시도 횟수를 늘리고 주 메뉴로 돌아갑니다.사용자가 이미 전화 걸기 중 단계에 있으므로 이 단계에서는 오디오가 재생되지 않습니다(Prompt is P[]).
두 자릿수가 성공적으로 수집되면 이미 다이얼된 prefixDigit("2")를 앞에 붙입니다(이 경우 Menu 단계에서 분기할 수 있음). 결과를 표시하는 TransferExt는 사용자에게 내선 번호 단계로 전달되며, 이 단계에서 유효한 사용자인지 확인합니다.이 경우 철자가 지정된 확장자로 프롬프트를 생성합니다.Implicit Confirmation(암시적 확인) 단계에서 "Calling extension(발신 확장)" 프롬프트 뒤에 확장자가 표시됩니다.DialByName에서와 같이 사용자를 찾아 음성 이름을 재생합니다.그러나 이 경우에는 필요하지 않습니다.전화를 건 숫자가 없는 경우 발신자가 연결하려는 내선이라고 가정하고 통화를 재전송합니다.그렇지 않으면 Main 메뉴로 돌아갑니다.재생 프롬프트 DP[250] 단계의 목적은 Get Digit String 단계에 구성된 종료 문자가 없기 때문에 다른 입력을 제거하는 것입니다.다른 사람이 "200" 또는 "200#"으로 전화를 걸 경우 이 기능이 작동되도록 하려는 것입니다. 암시적 확인 단계가 실행되는 동안 #을 입력하면 해당 단계의 No 부분으로 이동합니다.경우에 따라 암시적 확인 단계가 전혀 필요하지 않을 수도 있지만, 즉시 통화를 재전송할 수도 있습니다.설명을 위해 이 단계는 에 남아 있습니다.
프롬프트 "통화 호전환"을 재생한 다음 구성된 운영자 내선으로 리디렉션합니다.어떤 이유로 인해 오류가 발생하면 별도의 카운터가 있으므로 증분되어 주 메뉴로 돌아갑니다.이러한 이유는 교환원에게 전화를 끊거나 재등록할 시간을 주기 위한 몇 가지 방법을 사용하여 다시 호전환을 성공적으로 시도할 수 있기 때문입니다.여러 시도(이 예에서는 3으로 하드 코딩됨)가 완료되면 "Sorry" 레이블로 분기하여 통화를 삭제합니다.
스크립트를 실패할 수 있는 곳이 많습니다.잘 디자인된 스크립트에서 가장 일반적인 영역 중 하나는 사용자 프롬프트가 누락되었을 때 발생합니다.시스템이 존재하지 않는 프롬프트를 재생하려고 할 때 많은 문제가 발생할 수 있습니다.먼저 프롬프트를 재생하는 단계에 "Continue On Prompt Errors(프롬프트 오류 시 계속)"가 Yes(예)로 설정된 경우다음 단계로 이동하며 프롬프트를 재생하지 않습니다.프롬프트 오류 시 계속을 아니오로 설정하면 예외가 생성됩니다.대부분의 경우 "UndefinedPromptException"이 발생합니다. 즉, 프롬프트가 없거나 구성되지 않습니다.예외 설정 이동 단계가 있는 경우 이 예외를 catch하고 시스템 메시지를 재생하거나 다른 형식의 오디오를 재생할 수 있는 코드 섹션으로 분기할 수 있습니다.[예외 설정 이동] 단계는 전체 스크립트에서 재생되는 모든 오디오에 적용되므로( 각 프롬프트에 대해 별도의 [예외 발생 이동] 단계를 정의할 수 없음), 이 단계를 처리하는 가장 좋은 방법은 프롬프트를 재생하기 직전에 오류 코드 변수를 설정하는 것입니다.이렇게 하면 어딘가에 분기하고, 해당 오류 코드에 따라 작업을 수행한 다음 다시 분기할 수 있습니다.
예를 들어 다음과 같이 스크립트를 수정할 수 있습니다.
"Maxretries" 레이블을 추가했습니다.같은 곳으로 돌아가는 데 쓰입니다.ErrorCode 변수를 Maxretries로 설정합니다.[재생 프롬프트] 단계에서 [프롬프트 오류 시 계속]이 [아니요]로 설정되어 있는지 확인합니다. 이제 이 작업을 처리할 수 있는 섹션을 추가합니다.ErrorCode가 "Maxretries"와 일치하는지 확인한 다음 SorryProblems 변수(앞에서 재생하려고 시도함)를 시스템 메시지로 설정합니다. 문제가 발생했습니다.전화 끊지 말고 기다려 주십시오. 곧 몇 분이 오실 것입니다.그런 다음 Maxretries 레이블로 이동하여 재생할 수 있습니다.
마지막 단계는 UndefinedPromptException 오류를 찾기 위해 On Exception Goto 메시지를 변경하는 것입니다.
이 단계는 스크립트의 어느 위치에나 있을 수 있습니다.하지만, 그것은 보통 시작이나 그 부근에 놓인다.여러 단계를 통해 프롬프트를 재생할 수 있습니다.시스템 프롬프트가 이 문서의 아래쪽에 나열됩니다.
이 메서드는 checkAltGray.aef 하위 흐름을 호출하는 대신 사용할 수 있습니다.AltGreeting.wav 파일을 재생해야 합니다.오류가 있으면 처리합니다.그 장점은 언제 실행되는지 또는 재생되지 않는지를 알고 있다는 것입니다.
덜 일반적이지만 다른 프롬프트 예외는 다음과 같습니다.
정의되지 않은 프롬프트 예외
프롬프트 예외
정의되지 않은 프롬프트 생성기
InvalidPromptArgumentException
지원되지 않는 프롬프트 식
현재 통화를 음성 메일 상자로 곧바로 리디렉션할 수 없습니다.음성 메일로 전달되는 번호로 전송해야 합니다.Cisco CallManager Express(또는 Cisco CallManager에서도 가능)의 더미 번호일 수 있습니다. 이 번호는 모든 설정을 음성 메일 파일럿 번호로 착신 전환하도록 구성됩니다.Cisco Unity Express 번호/e.164 번호 설정을 사용하여 해당 번호를 가입자 또는 그룹에 일치시킵니다.발신자를 Unity Express 사서함으로 직접 전송하면 이 작업을 수행하는 방법에 대해 설명합니다.
스크립트에 사용된 모든 변수를 먼저 만들어야 사용할 수 있습니다.이를 사용한 다음 나중에 삭제하면 스크립트 편집기에서 도구 > 검증을 선택하여 찾습니다.이 샘플 스크립트에서는 이러한 변수가 사용됩니다.Name, Type, Value(처음 변수의 값) 및 Attribute를 확인합니다.Parameter 속성은 변수가 웹 페이지를 통해 관리자에게 노출됨을 의미합니다.Cisco Unity Express 관리자가 사용자 지정할 수 있는 모든 항목은 Parameter 특성을 가져야 합니다.
이러한 모든 사용자 지정 프롬프트를 기록하지 않으려면 각 프롬프트를 편집하고 Parameter 특성을 선택 취소하여 웹 페이지를 통해 노출되지 않도록 합니다.시스템이 계속 작동하려면 스크립트 시작에 몇 가지 Set 단계를 추가합니다.예를 들어 'Calling(통화 중)'을 'SP[AA/AAColing]'으로 설정합니다. 여기에 표시된 모든 프롬프트에 해당하는 시스템 스크립트가 있는 것은 아닙니다.대부분의 경우, 직접 녹음하는 것이 합리적입니다.프롬프트가 변경되지 않으면 메시지를 한 번 기록하고 지정된 파일 이름으로 Cisco Unity Express System에 존재하는지 확인한 다음 변수에서 Parameter 특성을 제거할 수 있습니다.이렇게 하면 확인 상자가 고정된 파일 이름을 재생합니다.그러나 관리자가 실수로 변경할 수 있는 웹 인터페이스를 통해 변수가 노출되지 않습니다.
일반적으로 새 애플리케이션과 스크립트를 Cisco Unity Express에 추가하는 첫 번째 단계는 프롬프트를 업로드하는 것입니다.스크립트 매개 변수에서 프롬프트를 구성하려면 시스템에 이 프롬프트가 있어야 하므로 중요합니다.그렇지 않으면 매개변수를 비워 두고 프롬프트를 업로드한 다음 뒤로 돌아가 스크립트 매개변수를 편집해야 합니다.프롬프트를 기록하고 업로드하는 방법에 대한 자세한 내용은 전화(AVT)/인사말 관리 시스템을 통한 관리를 참조하십시오.
스크립트를 저장하고 사용해 볼 준비가 되면 먼저 Cisco Unity Express에 업로드해야 합니다.가장 쉬운 방법은 GUI를 사용하는 것입니다. FTP 서버에서 스크립트 파일을 로드할 필요가 없기 때문입니다.
다음 단계를 완료하십시오.
관리 권한이 있는 계정으로 Cisco Unity Express GUI에 로그인합니다.
음성 메일 > 자동 전화 교환을 선택합니다.
Add(추가)를 클릭합니다.
"Selected Automated Attendant Script(선택한 자동 수행자 스크립트)" 옆의 Upload(업로드) 버튼을 클릭합니다.
Browse를 클릭합니다.
스크립트 파일을 찾아 선택한 다음 [확인]을 누릅니다.
대상 파일 이름을 변경하려면 변경합니다.그렇지 않으면 Upload를 누릅니다.
애플리케이션 이름을 입력합니다.이 값은 소문자로 사용할 수 있으며 이 스크립트 파일과 연결된 응용 프로그램을 참조하는 데 사용됩니다.
Next(다음)를 클릭합니다.
이제 이 페이지에는 매개 변수로 표시된 스크립트의 모든 변수가 표시됩니다.즉, 이 페이지에서 구성할 수 있습니다.프롬프트 파일을 아직 업로드하지 않은 경우 먼저 이 과정을 거친 다음 나중에 정보를 입력할 수 있습니다.
스크립트 매개 변수 입력을 마치면 Next(다음)를 클릭합니다.
응용 프로그램이 Enabled(활성화됨)로 표시되었는지 확인하고 최대 동시 통화 수(기본값은 라이센스에서 허용하는 최대 수)를 구성하고 전화 걸기 번호를 입력합니다.
이 특정 애플리케이션을 호출해야 하는 번호(트리거)입니다. 기본 자동 전화 교환 번호 또는 임시 번호일 수 있습니다.이 항목을 건너뛰고 나중에 입력할 수도 있습니다.전화 걸기 번호가 없으면 스크립트를 테스트하거나 시작할 수 없습니다.
참고: Cisco CallManager와 SRST 지원을 통합하려면 여러 전화 걸기 번호를 입력해야 합니다.Cisco Unity Express 2.1.1 이전에는 CLI를 통해 이 정보를 입력해야 했습니다.Cisco Unity Express 2.1에서는 Administration(관리) > Call-in Numbers(전화 걸기 번호) 화면에서 여러 전화 걸기 번호(트리거)를 입력할 수 있습니다.
완료를 클릭합니다.
스크립트를 업로드하고 애플리케이션을 구성했으면 통화를 애플리케이션에 라우팅할 수 있는지 확인해야 합니다.즉, Cisco CallManager Express 또는 Cisco CallManager를 구성해야 합니다.CallManager Express를 사용하면 Cisco Unity Express에 구성된 패턴(트리거 번호 또는 Call-in 번호)과 일치하는 Cisco Unity Express를 가리키는 다이얼 피어의 컨피그레이션이 포함됩니다.Cisco CallManager에서 이 번호의 CTI 경로 포인트를 추가해야 합니다.이 CTI 경로 포인트를 Cisco Unity Express가 로그인하는 JTAPI 사용자와 연결해야 합니다.이 구성을 사용하려면 Cisco Unity Express를 재부팅해야 할 수 있습니다.경로 포인트를 추가하고 사용자와 연결하면 재부팅하지 않고도 원하는 만큼 스크립트를 변경할 수 있습니다.
스크립트를 업데이트할 때 변수 매개 변수가 추가되거나 변경되지 않은 경우 Cisco Unity Express 편집기로 이동하여 Voice Mail > Scripts, Upload를 클릭하고 스크립트를 선택합니다.동일하게 유지되는 다른 모든 구성된 매개변수로 덮어씁니다.
프롬프트를 생성할 때 가장 쉽게 할 수 있는 일은 AVT 시스템을 사용하는 것입니다.기록하는 파일 이름에는 날짜/시간 스탬프가 포함됩니다.그러나 Cisco Unit Express 2.1.1 이상에서는 CLI ccn rename prompt 명령을 사용할 수 있습니다.이전에는 프롬프트를 다운로드하고 새 이름으로 다시 업로드한 다음 원래 .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 > Validate 항목에 액세스하여 "Validation succeeded" 메시지가 나타나는지 확인합니다.그렇지 않으면 모든 오류가 디버그 창에 표시됩니다.두 번 클릭하면 스크립트에서 오류 조건이 있는 위치를 볼 수 있습니다.
대부분의 경우 기본 추적은 문제 해결을 위해 충분히 충분하지 않습니다.이를 간소화하려면 기본 추적을 켜두고 필요한 것을 표시하기 위해 필터링 기능을 활용합니다.
테스트하기 전에 clear 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에 전화를 걸었음을 확인할 수 있습니다.
CUE 및 CUE 스크립트 편집기의 버전이 모두 다르고 GUI 또는 CLI를 통해 AA 스크립트를 업로드하려는 경우 업로드가 실패하고 Upload failed 오류 메시지가 표시됩니다.두 버전이 서로 다른 경우 CUE와 동일한 버전의 CUE 편집기를 사용하여 스크립트를 다시 생성해야 합니다.또는 CUE를 CUE 스크립트 편집기의 버전으로 업그레이드하고 스크립트를 실행합니다.
이 표에서는 사용할 수 있는 시스템 프롬프트를 보여줍니다.
참고: Cisco Unity Express 음성 메일 애플리케이션에서 수신하는 모든 프롬프트를 사용자 지정 스크립트로 재사용할 수 없습니다.일부 프롬프트는 Cisco Unity Express Script Editor를 통해 사용자 정의할 수 없는 음성 메일 스크립트만 사용할 수 있습니다.
시스템 프롬프트 | 녹음된 오디오 |
---|---|
SP[AA/AAWelcome] | "자동 전화 교환 시작" |
SP[AA/AAMainMenu] | "연락하려는 사람의 전화번호를 입력하려면 1번을 누르고 2번을 눌러 호전환하려면 0번을 누르십시오." |
SP[AA/AAEnterExtn] | "전화 번호를 입력하고 # 키를 누르십시오." |
SP[AA/AAClallingExtn] | "발신 내선 번호" |
SP[AA/AAPhoneReach] | "연결하려는 전화 번호" |
SP[AA/AAOutOfServicePhone] | "현재 서비스가 없습니다." |
SP[AA/AANameDial] | "전화할 사람의 성을 철자 다음에 이름을 붙입니다.문자 Q는 7을, Z는 9번을 누르십시오. |
SP[AA/AAC호출] | "전화 걸기" |
SP[AA/AASorry] | "죄송합니다.잠시만 기다려 주십시오. 곧 몇 분이 오실 것입니다." |
SP[AA/AAWant2Call] | "전화를 건 사람의 이름인 경우 1번을 눌러 다시 시작하려면 *를 누릅니다." |
SP[AA/계속_있음] | "아직도 거기 있어?" |
CLI를 통해 시스템(Cisco Unity Express 2.1.x 및 이전 버전)을 기본 추적으로 재설정하려면 먼저 no trace all 명령을 사용하여 모든 추적을 비활성화한 다음 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