(http://www.vodacom.co.kr) 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이다. - 1/18 -
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/18 -
- 3/18 -
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> 에나타나있다. - 4/18 -
CSTA 응용프로세스에서요구되는통신기법은 Client/Server 의관계로모델화된다. 즉위에서언급 한프로세싱성분이서비스를요구하면통신성분이클라이언트의역할을수행하며요구된서비스를 상대단에전송하여서버를호출한다. 이러한모델이 < 그림 3> 에나타나있다. - 5/18 -
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가지로기술된다. - 6/18 -
- Null : Call 과 Device 사이에어떠한관계도없는상태 - Initiated : Device 가서비스를요구하는상태로이때 Call을생성한다 (Dialing 상태라고함 ) - Alerting : Device의링이울리고있는상태 - Connected : Device가 Call에참여하여다른 Device와통신하는상태 - Held : Connected 상태의 Call 이비활성화된상태, 논리적으로는 Call에참여하고있지만물리적으로참여하고있지않은상태 - Queued : 정상적인상태의 Call이그다음상태로천이하기위하여대기하고있는상태 - Failed : 정상적인상태의진행이중지된상태 - 7/18 -
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에의한영향받는다는것을나타냅니다. - 8/18 -
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 을완성시킨다. - 9/18 -
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으로변화될것이다. - 10/18 -
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 식별자는포함되지않는다. - 11/18 -
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 에관계하지않는다. - 12/18 -
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 을생성할것입니다. - 13/18 -
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. - 14/18 -
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 는호출을위해실제목적지을제공한다. - 15/18 -
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 - 16/18 -
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 - 17/18 -
6.10) Stop 6.11) Suspend 6.12) Synthesize Message 참고문헌 : - Standard ECMA-217 (December 1994) - CTI 기술의표준화동향 1997년한국통신학회지 - CSTA 와 TAPI 기술분석 - 1997년한국통신학회지 - 18/18 -