CTI 표준인 CSTA 서비스의 이해
(http://www.vodacom.co.kr)
안녕하세요~*
OCS에서 CSTA 프로토콜을 PBX 연동시에 사용합니다. 자세한 내용은 첨부파일을 통해 공부하시기 바랍니다
CSTA PROTOCOL
1. CTI 표준화 동향
1) PBX 와 컴퓨터 인터페이스의 국제표준
CTI 기술에 있어서 PBX 와 컴퓨터 인터페이스는 그 근간을 이루고 있다. CSTA(Computer Supported Telecommunication Applications)는 1992년에 유럽의 표준화 기관인 ECMA(European Computer Manufacturers Association)에 의해 작성된 PBX-컴퓨터간 인터페이스 표준으로, 사설교환기 만을 대상으로 해왔다. 단, CSTA는 응용서비스의 영역에서 광범위한 전화서비스를 대상으로 하고 있기 때문에 많은 PBX에서 준거되어 왔다. SCAI(Switch-Computer Applications Interface)는 1993년에 미국 ANSI의 T1 위원회에서 작성된 표준으로, 사설교환기 뿐만 아니라 국용교환기 등 공중망을 적용 범위로 고려하고 있다. 그러나 응용서비스의 영역에서 콜센터 응용으로 용도가 좁혀져 있다. TPCI(TTC PBX-Computer Applications Interface)는 1994년에 일본 표준화기관인 TTC(전신전화기술위원회)에서 작성됐다. TPCI는 기본적으로 ANSI의 SCAI에 준거한 것인데 대상은 PBX로 한정되어 있다. TASC(Telecommunications Applications for Switches and Computers)는 ITU-T에서 CSTA와 SCAI의 통합을 목표로 작업이 추진된 것이다.
2) API의 업계 표준
컴퓨터를 기초로 CTI용 표준 API가 발표되고 PBX에 의존하지 않는 값싼 응용소프트웨어가 다수의 사업자에 의해 판매됨에 따라 이전보다 훨씬 저렴한 비용으로 CTI 환경을 구축할 수 있게 되었다. TAPI(Telephony API)는 미국의 Intel과 Microsoft에 의해 1993년 5월에 발표된 Windows 환경에서 전화서비스 어플리케이션을 실행하기 위한 것이다. TAPI에는 Windows95 상에서 작동하는 TAPI 1.4와 WindowsNT 상에서 작동하는 TAPI 2.0이 있다. TAPI 1.4는 Windows 컴퓨터에 접속된 전화기나 확장 보드를 직접 제어하여 전화 발신/착신을 제어하거나 개인용 컴퓨터 상의 어플리케이션과 연계하는 방식이다. 한편, TAPI 2.0은 WindowsNT가 PBX를 서버 클라이언트 방식으로 제어하는 방식이다. TSAPI(Telephony Server API)는 미국의 Novell과 AT&T(현 Lucent Techno- logies)에 의해 CSTA에 준거하여 작성된 것으로 1993년 10월에 발표되었다. 이는 PBX-컴퓨터 인터페이스를 매개로 NetWare 클라이언트가 NetWare 서버를 경유하여 PBX를 제어한다. 1996년 11월에는 WindowsNT 서버 상에서 가동하는 TSAPI 2. 2가 발표되었다. 이밖에 IBM의 CallPath가 있다.이중 TAPI는 국부 전화선의 데스크탑 제어를 지원하는 데스크탑 중심형으로 개발되었으며 TSAPI와 CallPath는 전체적인 전화 시스템의 서버제어를 지원하는 서버 중심형의 API이다.
3) 하드웨어 플랫폼의 표준화
하드웨어 플랫폼 표준에는 SCSA(Signal Computing System Architecture)와 MVIP (Multi- Vendor Integration Protocol)가 있다. 모두 개인용 컴퓨터 내의 시스템 버스(ISA 버스, PCI 버스 등)와는 별도로 로컬 버스(각각 SC 버스, MVIP 버스)를 확장보드의 상부에 설치해 제어정보와 미디어정보를 분리하고 있다. 확장보드로서는 아날로그, 디지털 양자의 회선 인터페이스 보드나 DSP를 사용한 음성처리나 FAX 처리보드 등이 널리 보급되어 있다. 보드 전체의 하드웨어뿐 아니라 소프트웨어 라이브러리도 동시에 제공되고 있기 때문에 어플리케이션 개발도 쉽게 이루어질 수 있는 상황이다.
4) 표준화 단체
가. ECTF(Enterprise Computer Telephony Forum)
ECTF는 CTI 관련 표준화에 관한 기기업체들의 공개적인 포럼으로, Digital Equipment Corp.(DEC), Ericsson, Hewlet Packard(HP), Northern Telecom(Nortel), Dialogic 5사에 의해 1995년에 창설되었다. ECTF는 특정의 표준모델에 한정시키지 않고 통화제어와 미디어 처리에 대해 상호운용성이 있는 표준에 근거한 서비스의 실현을 목표로 하고 있다. 현재 다음 각각의 사양을 검토하고 있다.
S.100 미디어제어 및 스위칭 서비스 인터페이스
S.200 트랜스포트 프로토콜 인터페이스
S.300 서비스 제공업자 인터페이스
H.100 하드웨어 호환 인터페이스
C.X00 신호제어 인터페이스
S.900 관리서비스 인터페이스
A.X00 어플리케이션 상호접속성
H.100 및 S.100에 관해서는 1.0 사양이 ECTF의 홈페이지(http://www.ectf.org)에서 공개되고 있다.
이미 H.100 준거의 보드 판매를 선언한 업체도 나타나고 있다.
나. CTFJ(Computer Telephony Forum Japan)
CTFJ는 일본에서 CTI 시장확대라는 기본방침 하에 다음과 같은 목적을 갖고 1996년에 설립되었다. CTI 사업 문화의 정착 이용자의 의향을 반영한 운용기술 등 기술 측면에서의 조사 및 지원 CTI 관련기술을 활용한 시스템의 전국적 보급 계몽/개발 활동
그 주요 활동내용은, 국내시장의 CTI 시스템 보급계몽/개발 활동 실시, CTI에 관한 이용자 요구의 명확화와 실현화, 국내외 표준화기관, 연구기관, 이용자단체, 산업단체 등과의 협력활동의 실시, 그밖에 본 단체의 목적 달성을 위한 활동 등으로 되어 있다.
다. GO-MVIP(The Global Organization for MVIP)
GO-MVIP는 MVIP를 특정 회사나 조직에 의존하지 않는 개방적인 표준으로서 발전, 확장시키기 위해 1994년에 조직된 비영리단체이다.
2. CSTA 기술분석
CSTA는 OSI 7계층에서 응용계층의 프로토콜로 개발되었기 때문에 다양한 사용자-네트웍 인터페이스 및 네트웍-네트웍 인터페이스와는 무관하도록 구성되었다.
1992년 ECMA-179,180 을 통하여 Phase-I 이 발표되었고 1994년 ECMA-217, 218 로 이루어진 Phase-II 가 발표되었다.
1) 기능구조
CSTA 표준의 목표는 스위칭기능(Switching Function) 과 컴퓨팅 기능(Computer Function)간의 응용서비스 인터페이스를 제공하는 것이며 이들 두 기능들은 서비스 경계(Service Boundary)를 통해 분산된다. CSTA 응용 프로세스들은 대부분의 경우 분산되어 있기 때문에 이들은 아래 그림과 같이 세가지 요소로 나누어져 각각의 기능을 수행한다.
Processing component 는 CSTA 표준에서 정의된 서비스 인터페이스로 상대단과 상호작용을 수행하고 Communication Component 들은 메시지 형태, 파라미터 및 교환기법을 포함하는 프로토콜을 사용하여 상대단과 통신기능을 수행한다. Networking Support는 CSTA가 OSI 7 Layer 의 7계층에서 이루어 지므로 하위 계층의 전송 프로토콜을 의미한다. 이러한 개념은 아래 <그림2>에 나타나 있다.
CSTA 응용프로세스에서 요구되는 통신기법은 Client/Server 의 관계로 모델화 된다. 즉 위에서 언급한 프로세싱 성분이 서비스를 요구하면 통신 성분이 클라이언트의 역할을 수행하며 요구된 서비스를 상대단에 전송하여 서버를 호출한다. 이러한 모델이 <그림3>에 나타나 있다.
2) 스위칭 영역 모델
스위칭 영역 모델은 응용 프로세스로 하여금 스위칭 기능의 동작을 개념화 할수 있게 한다.
CSTA 에서는 이러한 모델의 설명을 Device, Call, Connection 을 통해서 정의한다
(1) Device
Device 는 전화 기능을 수행하는 다양한 형태의 기능종단(end-point)을 의미하는데 논리적 요소와 물리적 요소로 구성되며 속성(Attribute)/특징(Feature)/서비스(Service) 로 표현된다.
물리적 요소는 물리적 성분의 속성과 사용자 인터페이스를 표현하는 추상적인 개념이다. 예를 들면 전화 단말의 여러 구성요소들, 즉 음성 수신장치, 훅 스위치, 버튼, 램프, 벨, 디스플레이 등이 물리적 요소에 해당된다.
논리적 요소는 Device에서 Call과 상호작용을 하거나 Call을 관리하는데 사용되는 부분을 말하는 추상적인 개념이다. 즉 Device 의 그룹, Pilot Number, ACD(Automatic Call Distribution) 과 같은 것을 말한다.
(2) Call
Call은 여러 Device들의 통신관계를 나타내는 추상적인 개념이며 Call의 동작은 서비스 경계에서 관찰 및 제어될 수 있다. Call 은 관련된 일련의 속성들로 표현되며 이러한 속성에는 Call Identifier, Call State, Call Type 등이 있다.
(3) Connection
Connection은 스위칭 영역 내에서 Device와 그 Device를 포함하는 Call간의 관계를 나타내는 추상적인 개념이다. Call 과 Device의 관계는 컴퓨팅 영역에서 모니터링되고 제어될수 있다. Connection의 속성으로는 Connection 식별자, Connection 상태가 있다. Connection 식별자는 Caller ID 와 Device ID 가 있다.
Connection 상태는 하나의 Call 과 Device 간 연결상태를 나타내는 속성으로 단계가 변화될 때 마다 다른 값을 갖는다. CSTA에서 정의한 Connection의 상태는 다음과 같은 7가지로 기술된다.
- Null : Call 과 Device 사이에 어떠한 관계도 없는 상태
- Initiated : Device 가 서비스를 요구하는 상태로 이때 Call을 생성한다(Dialing 상태라고함)
- Alerting : Device의 링이 울리고 있는 상태
- Connected : Device가 Call에 참여하여 다른 Device와 통신하는 상태
- Held : Connected 상태의 Call 이 비 활성화된 상태, 논리적으로는 Call에 참여하고 있지만 물리적으로 참여하고 있지 않은 상태
- Queued : 정상적인 상태의 Call이 그 다음 상태로 천이하기 위하여 대기하고 있는 상태
- Failed : 정상적인 상태의 진행이 중지된 상태
3. CSTA 서비스
CSTSA 서비스의 기능을 설명하기 위해 다음과 같은 그림으로 CSTA는 제공합니다.
- 사각형은 Device를 나타냅니다.
- 원은 Call을 나타냅니다.
- 선은 Call 과 Device사이의 Connection을 나타냅니다.
- 선이 없는 것은 CSTA Connection 이 Null 상태와 동일하다는 뜻입니다.
- 사각형들과 원에 라벨들은 Device 와 Call 인스탄스를 표시합니다.
- 선에 라벨들은 다음 키에 따라서 Connection 상태들을 표시합니다 :
-
a=Alerting
c=Connected
f=Failed
h=Hold
i=Initiated
q=Queued
a/h=Alerting or Hold (other combinations work similarly)
*=undefined
- 회색 사각형은 Device 나 Call이 서비스/이벤트 Report에 의한 영향 받지 않는다는 것을 나타냅니다.
- 흰 사각형은 Device 나 Call이 서비스/이벤트 Report에 의한 영향 받는다는 것을 나타냅니다.
1). Switching Function Service
1.1) Alternate Call
이 Service는 특정한 Device 들의 held 와 active Call 이 바꿔지도록 합니다.
위의 그림을 보면, Alternate Call Service는 D2의 active Call 을 Hold 시키고, D1과 D3 사이의 Call 을 active Call로 바꿉니다.
1.2) Answer Call
Answer Call Service는 alerting 혹은 대기중인 call 을 연결한다
Call 은 사용자에 의한 물리적인 조작 없이 Call 에 답할 수 있는 디바이스로 관련되어야 한다.
Answer Call 은 일반적으로 Call 을 설립하기 위하여 손이 동작이 필요 없는 스피커폰 장치를 부착한 전화들에 사용됩니다.
1.3) Associate Data
Associate Data Service는 CSTA Application Correlator Data, 특정한 Call의 Account Code 또는 Authorization Code 정보와 관련된다. Associate Data Service는 Call과 함께 call-specific 데이터와 관련된 Computing Function을 허락한다.
그것은 그것이 불러진 Call 의 상태 혹은 과정에 영향을 미치지 않는다.
1.4) Call Completion
응답되기 전에 종료하거나 실패 할지도 모르는 Call 을 완성시킨다.
1.5) Clear Call
Clear Call Service는 특정한 Call로부터 모든 device들을 해제하고 Call 그 자체를 삭제한다.
Call의 모든 device는 해제된다, 그리고 CSTA Connection 식별자도 해제된다.
1.6) Clear Connection
Clear Connection Service는 지정된 Call 로부터 특정한 device를 해제 한다. Connection은 Null 상태로 된다. 이 서비스는 지정된 Call 로부터 특정한 Connection과 CSTA Connection 식별자를 해제한다.
1.7) Conference Call Service
Conference Call Service는 conferencing device 에서 held call 과 다른 active call 사이에 회의를 만든다. 그 2개의 Call은 단일 Call로 병합될 것이다. 그리고 그 conferencing device에서의 그 2개의 Connections은 Connected 상태에 단일 Connection으로 변화될 것이다.
1.8) Consultation Call Service
상담 Call 서비스는 Make Call Service 에 따르게된 홀드 Call 서비스와의 복합 동작이다.
이 Service는 device에서 현존하는 active call을 홀드하고 같은 device로부터 새로운 call 을 개시할 것입니다.
1.9) Divert Call Service
전환 Call Service는 하나의 device에서 또 다른 device로 call을 이동시킬 것입니다.
전환 Call 서비스는 CSTA Connection 식별자에 지정된 원래 호출된 device를 특정한 connection 식별자를 가진 다른 Called Device로 바꿉니다.
Divert Call Service는 적어도 3가지의 일반적인 호출 전환 기능을 지원합니다 : ..
Deflection - device에서 호출을(일반적으로 alerting or queued)취한 후 새로운 목적지로 그것을 보낸다. Divert Call 을 deflection으로 사용할 때는 CSTA Connection 식별자는 포함되어야 합니다.
Pickup - 또 다른 목적지에서 호출을(일반적으로 alerting or queued) 취한후 그것을 device로 가져온다. Divert Call 을 Pickup 으로 사용할 때는 CSTA Connection 식별자는 포함되어야 합니다.
Group Pickup - 하나 혹은 그 이상의 미리 결정된 목적지에서 호출을(일반적으로 alerting or queued) 취한후 그것을 device로 가져온다. Divert Call 을 Pickup 으로 사용할 때는 CSTA Connection 식별자는 포함되지 않는다.
1.10) Hold Call Service
홀드 Call 서비스는 현존한 connection을 홀드 상태로 한다.
1.11) Make Call Service
Make Call Service는 두개의 device들 사이의 CSTA 호출을 시작한다.
Service는 새로운 Call이 생성되며 최초의 device와 connection 연결을 설립한다.
Make Call Service는 원래의 device에 Connection을 표시한 CSTA Connection 식별자를 제공한다.
1.12) Make Predictive Call Service
Make Predictive Call Service는 2개의 device들 사이의 CSTA Call 을 시작한다.
1.13) Park Call Service
Park Call Service 는 하나( parked-to )의 device에서 다른 device로 연결된 Call을 이동시킨다.
Park Call Service가 사용된 device는 더 이상 call에 관계하지 않는다.
1.14) Query Device Service
Query Device Service는 장치 특징 혹은 static 속성들의 상태의 표시를 제공한다.
Query Device Service 요구는 다음과 같은 파라미터를 포함한다.
Message Waiting , Do Not Disturb, Forward, Device Information, Agent State, Routing Enable, Auto Answer, Microphone Mute, Speaker Mute, Speaker Volume
1.15) Reconnect Call Service
Reconnect Call Service 는 Retrieve Call Service에 따르는 Clear Connection Service 복합 동작이다.
1.16) Retrieve Call Service
Retrieve Call Service 존재하는 Hold Connection 을 연결한다.
1.17) Send DTMF Tones Service
The Send DTMF Tones Service shall place DTMF Tones on behalf of a Connection in a call.
1.18) Set Feature Service
The Set Feature Service shall set features at a device. It does not set system features or allow administration.
1.19) Single Step Conference Service
Single Step Conference 는 현존한 호출로 device를 결합 한다.
이 Service는 현존한 호출과 device사이의 연결된 connection을 생성할 것입니다.
1.20) Single Step Transfer Call Service
Single Step Transfer Call Service는 호출에 현재 참가하지 않고 있는 새로운 device와 연결된 connection을 가진 Device 로 바꾼다.
1.21) Transfer Call Service
The Transfer Call Service shall transfer a call held at a device to an active call at the same device .
The held and active calls at a common device shall be merged into a new call .
Also , the Connections of the held and active calls at the common device shall become Null and their CSTA Connections Identifiers shall be released .
2. Status Reporting Services
CSTA 의 Status Reporting 서비스는 Change Monitor Filter, Event Report, Monitor Start, Monitor Stop 등이 있다. 즉 각 Device 의 상태를 모니터링 하며 특정 이벤트에 반응하여 보고하는 서비스를 말한다. 특히
Agent State Event (Agent의 Logged On, Logged Off, Ready, Busy…)
Call Event (Call Cleared, Conferenced, Established, Failed, Held, Queued, Retrieved, Transferred…)
Feature Event (Call Information, Do Not Disturb, Auto Answer, Message Waiting…)
Maintenance Event (Back in Service, Out of Service)
Voice Unit Event (Play, Record, Stop, Suspend…)
등을 잘 활용하는 것은 CTI Middle 개발에 매우 중요하다.
3. Computing Function Services
3.1) Re-Route Service
Re-Route Service는 이전 Route Select Service에 의한 제공된 목적지에서 호출을 위한 제공된 이전 정보를 기초로 다른 목적지를 요청한다
3.2) Route End Service
Route End Service 는 routing dialogue 를 끝낸다. 이것은 클라이언트 혹은 서버에 의해서 불러질 것이다.
3.3) Route Request Service
Route Request Service는 호출을 위한 목적지를 요청한다.목적지의 선택을 돕기위해, Service Request는 추가적인 정보를 포함한 현재의 목적지를 포함할수도 있다.
3.4) Route Select Service
Route 선택 서비스는 이전 Route 혹은 Re- Route 서비스에 의해서 요청된 목적지를 클라이언트에 제공한다.
3.5) Route Used Service
Route Used Service는 호출을 위해 실제 목적지을 제공한다.
4. Bi-directional Services
4.1) Escape Service
4.2) System Status Service
5. Input / Output (I/O) Services
Input-Output Services는 컴퓨터 application 들이 telephony device의 특성들을 개발하여 향상된 성능을 사용자들에게 제공하도록 허락합니다.
5.1) Data Path Resumed
5.2) Data Path Suspended
5.3) FastData
5.4) Resume Data Path
5.5) Send-Broadcast-Data
5.6) Send Data
5.7) Send-Multicast-Data
5.8) Start Data Path
5.9) Stop Data Path
5.10) Suspend Data Path
6. Voice Unit Services
Voice Unit은 이 표준의 모형화에 소개하는 Special Resource Function(SRF)의 한 예(서브 클래스)입니다. 이 Services는 특별히 음성을 위해 개발 되었습니다, 그러나 그것들은 팩스 혹은 비디오와 같은 다른 미디어를 위해서도 사용될수 있습니다.
6.1) Concatenate Message
Concatenate-Message는 순차적으로 제공된 다중 메시지들을 결합하여 싱글 메시지로 만드는 것.
이 Service는 그 연결 메시지가 삭제될 때까지 유효한 상태로 남을 단일의 Message Identifier를 제공한다.
6.2) Delete Message
지정된 음성 메시지의 삭제
6.3) Play Message
특정 Connection 상에서 음성 메시지의 재생
6.4) Query Voice Attribute
Query Voice Attribute Service는 특정한 Message에 대해 voice attribute의 현재 값을 보고한다.
6.5) Record Message
지정된 connection에서 음성 메시지를 녹음한다.
6.6) Reposition
Reposition Service는 메시지의 현재 위치에서 지정된 milliseconds만큼 포인터를 순방향 혹은 역방향을 이동시킨다.
6.7) Resume
suspend 된 음성 메시지의 녹음/재생을 다시 시작한다.
6.8) Review
Review Service는 녹음 세션동안 음성 메시지의 부분을 재생한다. Service가 완결되면 녹음 프로세스의 suspend/record 상태로 보이스 Unit은 메시지를 돌려준다.
6.9) Set Voice Attribute
6.10) Stop
6.11) Suspend
6.12) Synthesize Message
참고문헌 :
- Standard ECMA-217 (December 1994)
- CTI 기술의 표준화 동향 – 1997년 한국통신학회지
- CSTA 와 TAPI 기술분석 - 1997년 한국통신학회지