KR20030053297A - 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법 - Google Patents

브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법 Download PDF

Info

Publication number
KR20030053297A
KR20030053297A KR1020010083475A KR20010083475A KR20030053297A KR 20030053297 A KR20030053297 A KR 20030053297A KR 1020010083475 A KR1020010083475 A KR 1020010083475A KR 20010083475 A KR20010083475 A KR 20010083475A KR 20030053297 A KR20030053297 A KR 20030053297A
Authority
KR
South Korea
Prior art keywords
crlf
vxml
message
type
voice
Prior art date
Application number
KR1020010083475A
Other languages
English (en)
Inventor
김숙향
Original Assignee
주식회사 엘지이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지이아이 filed Critical 주식회사 엘지이아이
Priority to KR1020010083475A priority Critical patent/KR20030053297A/ko
Publication of KR20030053297A publication Critical patent/KR20030053297A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와 음성 플랫폼간의 연동 방법에 관한 것이다.
그러므로, 본 발명은 VXML 인터프리터와 인터프리터 콘텍스트와 음성 합성 엔진과 음성 인식 엔진과 DTMF 디코더와 같은 음성 플랫폼과의 효율적인 연동을 위한 VMTP 프로토콜을 정의하여 VXML 게이트웨이와 음성 플랫폼간을 연동하는 것을 특징으로 한다. 여기서, VXML 프로토콜은 티시피(TCP) 연결위에서 요구 메시지와 응답 메시지로 구분하고, 각각의 메시지는 헤더와 바디로 나뉘며, 헤더와 바디의 사이에 두 개의 구분자를 두어 헤더와 바디를 구분한다.
따라서, 본 발명은 다른 음성 플랫폼으로 변경하여도 VXML 인터프리터와 인터프리터 컨텍스트의 변경없이 사용할 수 있다.

Description

브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와 음성 플랫폼간의 연동 방법{Method for Interfacing between Voice Platform and VXML Gateway by VMTP protocol}
본 발명은 VoiceXML 포럼에서 제안한 VXML을 제공하기 위한 VXML 게이트웨이에서 VXML 인터프리터와 음성 플랫폼간의 연동 방법에 관한 것으로, 특히 다른 음성 플랫폼으로 변경하여도 VXML 인터프리터와 인터프리터 컨텍스트의 변경없이 사용할 수 있는 VTMP 프로토콜을 정의하여 연동하는 방법에 관한 것이다.
통상적으로 음성 인터넷에서 사용되는 표준 대화형 마크업 언어인 VXML은 기존의 일반 전화기나 단말기로 음성 인터넷 서비스를 사용할 수 있도록 한다. VXML은 XML(eXtensible Markup Language)을 기반으로 구성된 문서 형식이다.
음성 어플리케이션을 구성하는 VXML 문서는 대화형으로 사용자와 대화하는 진행 방식을 지정하며, 정의돈 태그들은 음성 파일의 출력, 음성 입력의 녹음, 음성 합성과 음성 인식 기술과 접목되어 사용된다.
VXML을 이용하여 음성 인터넷 서비스를 가능하게 하는 VXML 게이트웨이는 도 1에 도시된 것과 같이 임플리멘테이션 플랫폼(Implementation Platform;140)과 VXML 인터프리터(interpreter;130)와 VXML 인터프리터 컨텍스트(interpreter context;120)와 문서 서버(Document Server;110)로 구성된다.
도 1을 참조하면, 임플리멘테이션 플랫폼(140)은 음성 플랫폼이라고도 하는데 음성 합성(TTS), 음성 인식, 오디오 클립, 비디오 레코딩, DTMF 입력등의 음성 처리 기술을 담당한다.
VXML 인터프리터(130)는 VXML 문서를 해석하여 사용자와의 대화를 제어하고, 임플리멘테이션 플랫폼에 음성 입출력 지시, 새로운 문서로의 변환, 임플리멘테이션 플랫폼으로부터의 각종 이벤트 발생 처리등을 담당한다.
VXML 인터프리터 콘텍스트(120)는 인터프리터를 초기화하고, 모니터링하며 사용자 세션 관리, 사용자 정보를 관리, VXML 문서를 저장하는 캐시를 관리한다.
문서 서버(110)는 VXML 문서를 지원하는 웹서버이다.
사용자가 VXML 게이트웨이에 접속하는 과정을 도 2를 참조하여 살펴보면, 사용자는 일반 전화기(2)나 단말기(1)를 이용하여 PSTN(10)망을 통해 VXML 게이트웨이(200)에 접속하고, VXML 게이트웨이(200)는 원하는 VXML 문서를 문서 서버(210)에 요청하여 제공받는다.
문서 서버(210)는 VXML 서버와 같은 곳에 별도의 서버로 위치할 수도 있으며, VXML 게이트웨이(200)와 분리되어 외부에 위치할 수도 있다. 문서 서버(210)는 VXML 문서를 지원하는 일반 웹 서버가 대신할 수도 있다. 또한, 일반 개인 PC 사용자가 기존 웹 브라우저에 플러그인 된 음성 브라우저를 가지고 있다면, VXML 문서를 지원하는 문서 서버를 통해 음성 인터넷 서비스를 받을 수 있다. 여기서, 음성 브라우저는 음성 인식, 음성 합성등의 음성 처리 기능을 내장하고 있다.
사용자는 일반 전화기(2)나 단말기(1)를 이용하여 PSTN(10)망을 통해 VXML 게이트웨이(200)에 접속하고, VXML 게이트웨이(200)는 초기 메뉴를 음성 합성 엔진을 이용하여 음성으로 제공한다. 이때, 사용자는 음성이나 버튼으로 명령을 내리고, VXML 게이트웨이(200)는 음성 인식 엔진과 DTMF 디코더를 통해 명령을 해석하고, 사용자가 원하는 음성 인터넷 문서를 제공하는 웹 서버(210)에게 보낼 요청을 생성하여 보낸다. 웹 서버(210)는 요청 받은 문서를 VXML 게이트웨이에 보내고 VXML 게이트웨이(200)의 VXML 인터프리터는 이 문서를 해석하여 음성 합성 엔진이나 미리 준비된 음성 파일을 이용하여 사용자에게 응답한다. 이후의 사용자와의 상호 작용은 VXML 문서에 나타나는 대화 진행 방식에 따라 이루어진다.
도 3은 종래 호 처리 절차도이다.
도 3을 참조하면, 제(311)단계에서 사용자가 단말기(1,2)를 통해 전화번호를 다이얼링하면, 제(312)단계에서 전화망(10)은 그에 따른 요구를 VXML 서버(200)로 전송한다. 제(313)단계에서 VXML 서버(200)는 전호 호 지시를 하게 되면, 세션만들기와 인터프리터 구동과 메뉴/도큐먼트 초기화 요구가 이루어진다. 제(314)단계에서 VXML 서버(200)는 인터넷망(20)을 통해 웹서버(210)로 요구를 전송한다. 제(315)단계에서 웹서버(210)는 요구된 VXML 문서 전송 준비를 하고, 제(316)단계에서 웹서버(210)는 인터넷망(20)을 통해 VXML 서버(200)로 응답 전송한다. 제(317)단계에서 VXML 서버(200)는 프롬프트를 실행하여 인터프리터 초기화와 TTS 프롬프트 상태와 발신자 응답 대기 동작을 수행한다. 제(318)단계에서 VXML 서버(200)는 전화망을 통해 음성으로 응답을 전송하면, 제(319)단계에서 전화 사용자(1,2)는 내용 또는 명령을 듣는다. 제(320)단계에서 전화기(1,2)를 통해 음성이나 DTMF 신호로 응답을 하면, 제(312)단계에서 전화망(10)을 통해 요구 송신한다. 제(322)단계에서 VXML 서버(200)는 발신자에 의해 지시된 동작을 수행하고, 제(323)단계에서 상호 작용을 완료한다.
현재 음성 처리 기술이 급속도로 발전함에 따라 음성 인터넷 서비스가 가능해지고 있고, VXML이 음성 인터넷 환경의 주역으로 떠오르고 있다.
현재 음성 인터넷은 시작 단계이며 VXML을 이용하여 음성 인터넷 보이스 포털을 마련하고, ARS 서비스등을 대체하려는 움직임이 활발히 진행중에 있다.
이와 같은 서비스를 제공하는 VXML 게이트웨이의 구성 요소중에서 VXML 인터프리터는 VXML 표준화 규격이 변경되지 않는 이상 한번 개발된 것을 계속 사용할수 있으나, 음성 인식 엔진, 음성 합성 엔진, DTMF 디코더, 오디오와 같은 음성 플랫폼은 개발하는 벤더에 따라 인터페이스가 다르다.
도 4를 참조하면, 이로 인하여 VXML 게이트웨이를 개발할 때 서로 다른 음성 플랫폼(410, 420, 430)마다 각각에 맞는 연동 방안을 마련하여야 하고, 이것은 VXML 게이트웨이의 개발 시간이나 개발 기간에 과도한 부하를 발생시킨다.
음성 플랫폼과 연동하는 VXML 게이트웨이의 구성 요소는 VXML 인터프리터와 인터프리터 컨텍스트이다.
만일 VXML 인터프리터와 인터프리터 컨텍스트와 음성 플랫폼간에 정의된 프로토콜이 존재한다면, 어떠한 플랫폼도 쉽게 VXML 게이트웨이에 적용하여 사용할 수 있을 것이고, 그만큼 VXML 게이트웨이를 개발하는데 걸리는 시간이나 개발 비용은 줄어들게 될 것이다.
따라서 본 발명의 목적은 다른 음성 플랫폼으로 변경하여도 VXML 인터프리터와 인터프리터 컨텍스트의 변경없이 사용할 수 있는 VTMP 프로토콜을 정의하여 연동하는 방법을 제공함에 있다.
이러한 목적을 달성하기 위한 본 발명은 VXML 인터프리터와 인터프리터 콘텍스트와 음성 합성 엔진과 음성 인식 엔진과 DTMF 디코더와 같은 음성 플랫폼과의 효율적인 연동을 위한 VMTP 프로토콜을 정의하여 VXML 게이트웨이와 음성 플랫폼간을 연동하는 것을 특징으로 한다. 여기서, VXML 프로토콜은 티시피(TCP) 연결위에서 요구 메시지와 응답 메시지로 구분하고, 각각의 메시지는 헤더와 바디로 나뉘며, 헤더와 바디의 사이에 두 개의 구분자를 두어 헤더와 바디를 구분한다.
도 1은 종래 방식의 VXML 게이트웨이의 구조도.
도 2는 종래 방식의 음성 인터넷 접속 구조도.
도 3은 종래 음성 인터넷 접속 절차도.
도 4는 종래 VXML 게이트웨이과 음성 플랫폼간의 인터페이스를 나타내는 도면.
도 5는 본 발명에 따른 VMTP를 이용한 VXML 게이트웨이와 음성 플랫폼간의 연동을 나타내는 도면.
도 6은 본 발명에 따른 음성 플랫폼과 VXML 게이트웨이간의 트랜잭션 플로우.
도 7은 본 발명에 따른 Request 메시지의 Operation Type이 ASR일 경우의 트랜잭션 플로우.
도 8은 본 발명에 따른 Request 메시지의 Operation Type이 DTMF일 경우의 트랜잭션 플로우.
도 9는 본 발명에 따른 Request 메시지의 Operation Type이 TTS일 경우의 트랜잭션 플로우.
도 10은 본 발명에 따른 Request 메시지의 Operation Type이 Grammar일 경우의 트랜잭션 플로우.
도 11은 본 발명에 따른 Request 메시지의 Operation Type이 Shodow-Confidence일 경우의 트랜잭션 플로우.
도 12는 본 발명에 따른 Request 메시지의 Operation Type이 Audio-Play일 경우의 트랜잭션 플로우.
도 13은 본 발명에 따른 Request 메시지의 Operation Type이 Record-Play일 경우의 트랜잭션 플로우.
도 14는 본 발명에 따른 Request 메시지의 Operation Type이 Property-set일 경우의 트랜잭션 플로우.
도 15는 본 발명에 따른 세션 유지가 필요한 경우의 트랜잭션 플로우.
이하 본 발명을 첨부된 도면들을 참조하여 상세히 설명한다.
본 발명에 따른 VMTP 프로토콜은 헤더와 바디로 나뉘어지는 메시지 구성, 전송 흐름 및 연결 규약으로 구성되어진다.
VXML Specification v1.0에서는 VXML 인터프리터와 인터프리터 컨텍스트는 각각 음성 플랫폼과 통신하는 구조를 나타내고 있다. 이때, 각각의 음성 플랫폼과의 통신은 VMTP로 하면, 도 5에 도시된 것과 같이 어떤 음성 플랫폼과도 연동할 수 있다.
VXML Specification v1.0에서는 VXML 게이트웨이의 구현에 관한 자세한 사항은 지시하고 있지 않다.
따라서, 본 발명에서도 VMTP의 기능에서 구현에 관련된 사항에 대한 설명은 피한다. VXML 스펙에서 정의된 47개의 요소중에서 음성 플랫폼과 관련된 요소들은 prompt, audio, enumerate, break, div, emp, pros, sayas, grammar, dtmf, record, property이다. 이들은 음성 플랫폼과 연동이 필요로 하는 요소들이다. VMTP의 기능은 이러한 요소들을 처리하기 위한 음성 플랫폼과 연동 방안에 대한 것이다.
VMTP는 도 6에 도시된 바와 같이 TCP 연결위에서요구(Request)/응답(Response)을 기반으로 하는 프로토콜이다.
VXML 인터프리터나 인터프리터 컨텍스트는 클라이언트로서 동작하여 음성 플랫폼에서 요구 메시지(610)를 전송하고, 음성 플랫폼 서버는 해당 요구에 대한 처리를 수행하여 응답 메시지(620)를 전송한다.
VXML 인터프리터나 인터프리터 컨텍스트 상호간 또는 음성 플랫폼 서버와의 연동에서 사용되어질 연동 프로토콜인 VMTP는 연결 유지 방법으로 사용되어져야 하는 요소들이 있고, 연결 유지가 필요하지 않는 요소들이 있기 때문에 두 경우의 연결을 다 제공해야 한다.
연결 유지의 필요성은 VXML에서 정의된 요소들중에서 audio, enumrate, div, emp, pros등과 같은 재귀(recursive)적인 요소들이 있기 때문이다. 이러한 재귀적인 요소를 처리하기 위해서 음성 플랫폼은 재귀가 끝날 때까지 응답을 모아서 결과를 전송하여야 한다. 따라서, 재귀적인 요소의 처리가 끝날 때까지 연결된 세션을 유지시켜주어야 한다.
VTMP는 이러한 세션 유지를 위해 헤더에 Connect 필드를 두어 세션 유지가 필요한 경우는 "keep-alive"로 값을 지정하고 세션 유지가 필요하지 않으면 "close"값으로 지정한다.
VMTP 메시지 유형은 요구(Request) 메시지와 응답(Response) 메시지로 구분할 수 있다. 각각의 메시지는 헤더와 바디로 나뉘며 헤더와 바디의 사이에는 두 개의 구분자를 두어서 헤더와 바디를 구분한다.
본 발명에서 명시된 메시지 구조는 RFC 822에서 사용한 것과 유사한 추가된BNF(Backus-Naur Form)으로 설명되어 있다. VMTP 메시지 구성은 다음과 같다.
Vmtp-messgae=message-header
CRLF
[message-body]
message-header =field-name" ;'{field-value] CRLF
field-name=token
field-value=<필드 값을 구성하는 OCTET이며 *TEXT 또는 토큰, tspecials, 인용 스트링의 결합으로 구성된다.>
message-body=*OCTET
헤더는 여섯 개의 헤더 필드로 구성되며, "field-name" ;' [field-value] CRLF"로 구성된다.
첫 번째 헤더 필드는 VMTP의 버전을 나타내기 위해 사용되는데, field-name은 "Version"이며, field-value로는 "1.0"이 올 수 있다. 예를 들면, Version 필드는 "Version:1.0 CRLF"로 표현될 수 있다.
두 번째 헤더 필드는 세션 유지가 필요한지를 나타내기 위해 사용되며, field-name은 "Connect"이고, field-value로는 "keep-alive" 또는 "close"가 올 수 있다.
만일 세 번째 필드로 나올 "Operation-Type"이 세션 유지가 필요한 경우라면, "Connect:keep-alive CRLF"로 표현될 수 있고, 세션 유지가 필요하지 않은 경우라면, "Connect:close CRLF"로 표현될 수 있다.
세 번째 헤더 필드의 field-name은 "Operation-Type"인데 이것은 VXML 요소들의 기능을 나타내기 위한 것이다. VMTP 메시지 유형이 요구(Request)일 경우, field-value로는 "ASR", "DTMF", "TTS", "TTS-Break", "Shadow-Utterance", "Shadow-Inputmode", "Shadow-Duration", "Shadow-Size", "Shadow-Termchar", "Audio-Play", "Record-Play" 또는 "Property-Set"이 올 수 있다. VMTP 메시지 유형이 응답(Response)일 경우 field-value로 "ASR-Ok", "ASR-Failed", "ASR-Noinput", "ASR-Nomatch", "DTMF-Ok", "DTMF-Failed", "DTMF-Noinput", "DTMF-Nomatch", "TTS-Ok", "TTS-Cancel", "TTS-Failed", "Grammar-Ok", "Record-Failed", "Record-Noinput", "Property-Ok", "Property-Failed" 등이 올 수 있다.
본 발명에 따른 요구(Request) 메시지 유형에서 Operation-Type의 의미는 하기 표 1과 같다.
operation-Type 설명
ASR <grammar>요소에 대응되어 음성 인식이 필요할 경우 요청
DTMF <dtmf>요소에 대응되어 DTMF 디코딩이 필요할 경우 요청
TTS <prompt>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
TTS-Break <break>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
TTS-Emp <emp>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
TTS-Div <div>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
TTS-Pros <pros>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
TTS-Sayas <sayas>요소에 대응되어 음성 합성을 수행,이때 message-body에는 음성 합성할 문장이 들어 있다.
Grammar ASR, DTMF를 요청하기 전에 해당되는 grammar를 알려주기 위해 사용된다. Message-body에는 JSGF으로 표현된 grammar가 들어간다.
Shadow-Confidence <field>요소에서 음성 인식 엔진의 신뢰성 수치를 요청할 경우 사용.신뢰성의 범위는 0.0~1.0이다.minimum confidence는 0.0이고, maximum cofidence는 1.0이다.
Shadow-Utterance <field>요소에서 음성 인식 엔진이 인식하는 raw string을 알려준다.
Shadow-Inputmode <field>요소에서 입력되는 모드가 음성인지 dtmf인지를 알려준다.
Shadow-Duartion <record> shadow variable로서 음성이 녹음된 음량을 알려준다.단위는 milliseconds이다.
Shadow-Size <record> shadow variable로서 녹음된 음성의 크기를 알려준다.단위는 bytes이다.
Shadow-Termchar <record> shadow variable로서 녹음된 것이 dtmf라면 눌려진 key를 알려준다.
Audio-Play <audio>요소에 대응되어 오디오 파일을 플레이한다.Message-body에는 오디오 데이터가 들어간다.
Record-Play <record>요소에 대응되어 음성을 녹음한다.
Property-Set <property>요소에 대응되어 음성 인식 엔진, 음성 합성 엔진, DTMF 디코더등의 환경을 세팅하기 위해 사용. Message-body에는 세팅할 파라미터 이름과 값을 들어간다. 해당되는 파라미터는 VXML의 <property>요소를 보면 알 수 있다.
본 발명에 따른 요구(Request) 메시지 유형 각각의 Operation-Type에 따라 올 수 있는 응답(response) 메시지 유형에 올 수 있는 값은 하기 표 2와 같다.
Request Operation-Type Response Operation-type 설명
ASR ASR-Ok 음성 인식이 성공했다는 응답을 나타낸다.Message-body에는 인식된 내용이 text로 들어가 있다.
ASR-Failed 음성 인식 엔진의 문제로 인해 음성 인식에 실패했을 경우
ASR-Noinput 입력된 음성이 존재하지 않을 경우
ASR-Nomatch 인식된 내용이 grammar와 매칭되는 것이 없을 경우
DTMF DTMF-Ok DTMF 디코딩이 성공했다는 응답을 나타낸다.Messgae-body에는 디코딩된 내용이 text로 들어가 있다.
DTMF-Failded DTMF 디코더의 문제로 인해 DTMF 디코딩에 실패했을 경우
DTMF-Noinput 입력된 DTMF가 존재하지 않을 경우
DTMF-Nomatch 디코딩된 내용이 grammar와 매칭되지 것이 없을 경우
TTS, TTS-BreakTTS-Emp, TTS-Div, TTS-Pros, TTS-Sayas TTS_Ok 음성 합성이 성공했다는 응답을 나타낸다.
TTS-Cancel 음성 합성이 취소되었다는 것을 나타낸다.
TTS-Failed 음성 합성 엔진의 문제로 음성 합성에 실패했을 경우를 나타낸다.
Grammar Grammar-Ok 음성 인식 엔진이나 DTMF 디코더가 grammar를 잘 받았다는 응답을 나타낸다.
Grammar-Failed 음성 인식 엔진의 문제로 인하여 grammar가 적용되지 못했을 경우
Shadow-Confidence,Shadow-Utterance,Shadow-Inputmode,Shadow-Duration,Shadow-Size,Shadow-Termchar Shadow-Ok 해당 값을 성공적으로 보낸다는 것을 나타낸다.Message-body에는 해당 값이 들어있다.
Shadow-Failed 해당 값을 얻는데 실패했다는 것을 나타낸다.
Audio-Play Audio-Ok 오디오 플레이를 성공했다는 것을 나타낸다.
Audio-Failed 오디오 플레이를 실패했다는 것을 나타낸다.
Record-Play Record-Ok 음성 녹음이 성공했다는 것을 나타낸다.
Record-Failed 음성 녹음에 실패했다는 것을 나타낸다.
Record-Noinput 녹음할 음성이 입력되지 않았다는 것을 나타낸다.
Property-Set Property-Ok 환경값의 변경이 성공적으로 이루어졌다는 것을 나타낸다.
Property-Failed 환경값의 변경에 실패했다는 것을 나타낸다.
네 번째 헤더 필드는 바디에 오는 데이터의 MIME(Multipurpose Internet Mail Extensions) 타입을 지정하기 위해 사용되는데, field-name은 "Connect-Type"이고, field-value로 오는 형식은 "type"/"subtype"이다. 여기서, "type"은RFC2045, RFC 2047, RFC 2048에서 언급되어 있는 미디어 타입중에서 "text", "audio", "application"이 올 수 있으며, "text"의 subtype은 "plain", "audio"의 subtype은 "raw" 또는 "mov"등이 올 수 있으며, "application"의 subtype은 "x-jsgf"등이 올 수 있다.
다섯 번째 헤더 필드는 "Content-Transfer-Encoding"으로 "Content-Type"에서 지정된 미디어가 전송될 때 바디에 적용하였거나 적용할 수 있는 인코딩 변환을 표시한다. 이것은 바디를 압축하거나 그렇지 않으면 바디의 media type의 정체를 상실하거나 정보를 손실하지 않고 유용하게 변형하는데 사용된다.
Field-value로는 "text" type을 위해서는 "text"가 올 수 있으며, "audio" tpye을 위해서 "Base64" 인코딩 기법이 올 수 있다. 만일 Content-Type과 Content-Transfer-Encoding 필드가 없을 경우에는 Message-body가 따라오지 않는다.
Message-body는 Content-Type과 Content-Transfer-Encoding" 필드에서 규정한 포캣 및 인코딩에 따른다.
VTMP는 요구/응답을 기반으로 하는 메커니즘을 갖는다. VXML 요소에 따라 전송되는 VTMP 메시지중에서 세션 유지가 필요하지 않은 경우의 트랜젝션 플로우는 다음과 같다.
도 7은 Request 메시지의 Operation-Type이 ASR일 경우로서 트랜잭션 플로우는 하기와 같다.
VXML 요소:<grammar type="application/x-jgsf">
coffee | tea | milk | nothing
</grammar>
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:ASR CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:ASR-Ok CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
coffee CRLF
도 8은 Request 메시지의 Operation-Type이 DTMF일 경우로서 트랜잭션 플로우는 하기와 같다.
VXML 요소:<dtmf type="application/x-jgsf">
coffee | tea | milk | nothing
</dtmf>
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:DTMF CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:DTMF-Ok CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
5 CRLF
도 9는 Request 메시지의 Operation-Type이 TTS일 경우로서 트랜잭션 플로우는 하기와 같다.
VXML 요소:<prompt> Hello, World! </prompt>
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
Hello, World! CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Ok CRLF
Content-Type:audio/wav CRLF
Content-Transfer-Encoding:base64 CRLF
CRLF
[audio data] CRLF
TTS-Break, TTS-Emp, TTS-Div, TTS-Pros, TTS-Sayas의 경우도 TTS와 유사하다.
도 10은 Request 메시지의 Operation-Type이 Grammar일 경우로서 트랙잭션 플로우는 하기와 같다.
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Grammar CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
coffee | tea | milk | nothing CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Grammar-Ok CRLF
도 11은 Request 메시지의 Operation-Type이 Shadow-Confidence일 경우로서 트랙잭션 플로우는 하기와 같다.
VMTP Resquset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Shadow-Confidence CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Shadow-Ok CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
0.8 CRLF
Shadow-Utterance, Shadow-Inputmode, Shadow-Duration, Shadow-Size,Shadow-Termchar의 경우도 위와 유사하다.
도 12는 Request 메시지의 Operation-Type이 audio-play일 경우로서 트랙잭션 플로우는 하기와 같다.
VXML 요소:<audio src=" Welcome.wav"/>
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Audio-Play CRLF
Content-Type:audio/wav CRLF
Content-Transfer-Encoding:base64 CRLF
CRLF
[audio data] CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Ok CRLF
도 13은 Request 메시지의 Operation-Type이 Record-play일 경우로서 트랙잭션 플로우는 하기와 같다.
VXML 요소:<record name=" greeting" beep="true" maxtime="10s"
finalsilence="4000ms" dtmfterm="true" type="audio/wave"/>
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Record-Play CRLF
Content-Type:txet/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
name=" greeting" beep="true" maxtime="10s"
finalsilence="4000ms" dtmfterm="true" type="audio/wave" CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Record-Ok CRLF
Content-Type:audio/wav CRLF
Content-Transfer-Encoding:base64 CRLF
CRLF
[Record data] CRLF
도 14는 Request 메시지의 Operation-Type이 Property-Set일 경우로서 트랙잭션 플로우는 하기와 같다.
VXML 요소:<property name=" bargein" value=" false" />
VMTP Requset message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Property-Set CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
name=" bargein" value=" false" CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:Property-Ok CRLF
VXML에서 정의된 요소들중에 auio, enumerate, div, emp, pros등과 같이 재귀적인 요소들이 있는 요소들은 재귀적인 요소의 처리가 끝날 때까지 연결된 세션을 유지시켜줘야 한다. 예를 들어 아래와 같은 경우는 사용자에게 TTS를 이용하여 음성으로 들려줄 때 <prompt>요소안에 있는 <emp>요소도 함께 처리하여 한꺼번에 들려줘야 한다.
도 15는 VTMP 메시지중에서 세션 유지가 필요한 경우로서 트랙잭션 플로우는 하기와 같다.
VMTP Resquest message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
Welcome CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Ok CRLF
VMTP Request message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Emp CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
LG 전자 CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Ok CRLF
VMTP Request message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS CRLF
Content-Type:text/plain CRLF
Content-Transfer-Encoding:text CRLF
CRLF
Homepage CRLF
VMTP Response message:
Version:1.0 CRLF
Connect:close CRLF
Operation-type:TTS-Ok CRLF
Content-Type:audio/wav CRLF
Content-Transfer-Encoding:base64 CRLF
CRLF
[audio data] CRLF
상술한 바와 같이 본 발명은 다른 음성 플랫폼으로 변경하여도 VXML 인터프리터와 인터프리터 컨텍스트의 변경없이 사용할 수 있다.

Claims (4)

  1. 브이엠티피 프로토콜을 이용한 브엑스엠엘 게이트웨이와 음성 플랫폼간의 연동 방법에 있어서,
    다른 음성 플랫폼으로 변경하여도 브엑스엠엘(VXML) 인터프리터와 인터프리터 컨텍스트의 변경없이 사용할 수 있는 브이엠티피(VTMP) 프로토콜을 정의하여 브이엑스엠엘 게이트웨이와 음성 플랫폼간을 연동하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 브이엠티피 프로토콜은,
    티시피(TCP) 연결위에서 요구 메시지와 응답 메시지로 구분하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 요구 메시지와 응답 메시지는,
    각기 헤더와 바디로 나뉘며, 헤더와 바디의 사이에는 두 개의 구분자를 두어서 헤더와 바디를 구분하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 브이엠티피 프로토콜 메시지 구성은 하기와 같음을 특징으로 하는 방법.
    Vmtp-messgae=message-header
    CRLF
    [message-body]
    message-header =field-name" ;'{field-value] CRLF
    field-name=token
    field-value=<필드 값을 구성하는 OCTET이며 *TEXT 또는 토큰, tspecials, 인용 스트링의 결합으로 구성된다.>
    message-body=*OCTET
KR1020010083475A 2001-12-22 2001-12-22 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법 KR20030053297A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010083475A KR20030053297A (ko) 2001-12-22 2001-12-22 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010083475A KR20030053297A (ko) 2001-12-22 2001-12-22 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법

Publications (1)

Publication Number Publication Date
KR20030053297A true KR20030053297A (ko) 2003-06-28

Family

ID=29577895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010083475A KR20030053297A (ko) 2001-12-22 2001-12-22 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법

Country Status (1)

Country Link
KR (1) KR20030053297A (ko)

Similar Documents

Publication Publication Date Title
US6801604B2 (en) Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources
US6546082B1 (en) Method and apparatus for assisting speech and hearing impaired subscribers using the telephone and central office
US6704394B1 (en) System and method for accessing voice mail from a remote server
US7555536B2 (en) Apparatus and methods for providing an audibly controlled user interface for audio-based communication devices
US6934756B2 (en) Conversational networking via transport, coding and control conversational protocols
US6665723B2 (en) External trusted party call processing in SIP environments
CA2346606C (en) Method and apparatus for coupling a visual browser to a voice browser
EP1116373B1 (en) Method and system of configuring a speech recognition system
US7269562B2 (en) Web service call flow speech components
US20020015480A1 (en) Flexible multi-network voice/data aggregation system architecture
US20060026001A1 (en) Enhanced communications services for the deaf and hard of hearing cross-reference to related applications
US20060168095A1 (en) Multi-modal information delivery system
KR20110008211A (ko) 도메인이 상이한 실시간 다중 언어 통신 서비스 기반형 개방 아키텍처
JP2002527800A (ja) 会話ブラウザおよび会話システム
US8867534B2 (en) Data device to speech service bridge
US7133830B1 (en) System and method for supporting platform independent speech applications
US20020112081A1 (en) Method and system for creating pervasive computing environments
US6631350B1 (en) Device-independent speech audio system for linking a speech driven application to specific audio input and output devices
US20060041841A1 (en) Apparatus and method for contacting a customer support line on customer&#39;s behalf and having a customer support representative contact the customer
McGlashan et al. An interactive voice response (IVR) control package for the media control channel framework
KR20030053297A (ko) 브이엠티피 프로토콜을 이용한 브이엑스엠엘 게이트웨이와음성 플랫폼간의 연동 방법
Tsai et al. Dialogue session: management using voicexml
EP1564945A1 (en) VXML streaming for a unified messaging system with telephonic user interface
US11445064B2 (en) Method for establishing a communication with an interactive server
KR100474317B1 (ko) 음성 메시지 서비스 시스템

Legal Events

Date Code Title Description
N231 Notification of change of applicant
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid