1、 ECMA Technical Report TR/85International December 2002 Standardizing Information and Communication Systems Using ECMA-323 (CSTA XML) in a Voice Browser Environment Phone: +41 22 849.60.00 - Fax: +41 22 849.60.01 - URL: http:/www.ecma.ch - Internet: helpdeskecma.ch . ECMA Technical Report TR/85Inter
2、national December 2002 Standardizing Information and Communication Systems Using ECMA-323 (CSTA XML) in a Voice Browser Environment Phone: +41 22 849.60.00 - Fax: +41 22 849.60.01 - URL: http:/www.ecma.ch - Internet: helpdeskecma.ch IW tr-085.doc 15-01-03 08,43 . Brief History This Technical Report
3、illustrates how CSTA XML (ECMA-323) can be used in a Voice Browser environment. This TR is part of a suite of ECMA CSTA Phase III Standards and Technical Reports. All of the Standards and Technical Reports in this Suite are based upon the practical experience of ECMA member companies and each one re
4、presents a pragmatic and widely based consensus. This ECMA Technical Report has been adopted by the General Assembly of December 2002. - i - Table of contents 1 Scope 1 2 References 1 3 Brief Overview of ECMA-323 1 4 Fundamental Concepts 2 4.1 CSTA Connection 2 4.2 CSTA Connection State Model 2 4.3
5、Connection State Transitions for CSTA Calls 2 4.3.1 Incoming Call 2 4.3.2 Outgoing Call 3 5 CSTA Profiles 3 5.1 Level 1a Voice Browser Profile 4 5.1.1 Services 4 5.1.2 Events 4 5.2 Level 1b Voice Browser Profile 4 5.2.1 Services 4 5.2.2 Events 4 5.3 Level 2 Voice Browser Profile 5 5.3.1 Services 5 5
6、.3.2 Events 5 5.4 Basic Telephony Profile 6 5.4.1 Services 6 5.4.2 Events 6 5.5 Other Features 6 6 ECMA-323 Illustrative Examples 7 6.1 Discovering the Capabilities of a Telephony Platform 7 6.2 Starting a Monitor (i.e. listening for incoming calls) 7 6.2.1 Monitor Start Service Request example 7 6.
7、2.2 Monitor Start Service Response example 7 6.3 Notification of an Inbound Call 8 6.3.1 Delivered Event example 8 6.4 Answering an Inbound Call 9 6.4.1 Answer Call Service Request example 9 6.4.2 Answer Call Service Response example 9 6.5 Notification of a Connected Call 9 6.5.1 Established Event e
8、xample 9 6.6 Clearing a Connection 10 6.6.1 Clear Connection Service Request example 10 - ii - 6.6.2 Clear Connection Service Response example 10 6.7 Notification of a Cleared Connection 10 6.7.1 Connection Cleared Event example 10 6.8 Initiating an Outbound Call 11 6.8.1 Make Call Service Request e
9、xample (refer to Profile) 11 6.8.2 Make Call Service Response example 11 6.9 Outbound Call Event Sequence 12 6.9.1 Originated Event Example 12 6.9.2 Network Reached Event 12 6.9.3 Delivered Event 13 6.9.4 Established Event 14 6.10 Single Step Transfer 14 6.10.1 Single Step Transfer Service Request e
10、xample 14 6.10.2 Single Step Transfer Service Response example 14 6.11 Notification of a Transferred Connection 15 6.11.1 Transferred Event example 15 6.12 Deflect 16 6.12.1 Deflect Service Request example 16 6.12.2 Deflect Service Response example 16 6.13 Notification of a Diverted Connection 16 6.
11、13.1 Diverted Event example 16 6.14 Single Step Conference 17 6.14.1 Single Step Conference Service Request example 17 6.14.2 Single Step Conference Service Response example 17 6.15 Notification of an Party Added to a call 17 6.15.1 Conferenced Event example 18 6.16 Failure Response example 19 7 SAL
12、T/CSTA XML Programming Example 19 8 CCXML/CSTA XML Programming Example 23 9 CSTA Call Control Features 25 9.1 Services 25 9.2 Events 26 1 Scope Services for Computer Supported Telecommunications Applications are defined by Standard ECMA-269 and the XML Protocol for those services are defined by Stan
13、dard ECMA-323. In many cases, applications require only a small subset of the features standardized in CSTA. In a voice browser environment, processing speech (not call control) is usually the major focus of the application. For example, from a CSTA feature perspective, an application may simply nee
14、d to answer an incoming call and then later clear it. As these speech-centric applications evolve they can use additional, more advanced, features standardized by CSTA that are provided by CSTA-conformant communications platforms. Since ECMA-269 and ECMA-323 are relatively large standards (combined
15、over 1100 pages), it is a challenge for application developers without prior knowledge of the CSTA standards to know where to find basic concepts that they need to understand in order to implement basic CSTA features. This TR illustrates how ECMA-323 can be used in a Voice Browser environment. These
16、 concepts illustrated in this TR can be applied to any Voice Browser environment that provides an XML-based read/write messaging interface (i.e. CSTA Service Boundary) that supports asynchronous events from a CSTA conformant communication platform. SALT enabled browsers that implement a ECMA-323 int
17、erface for call control using the SALT smex mechanism is an example of a browser with this capability. Throughout this TR the term “ECMA-323 enabled voice browser” is used, in a generic sense, to refer to browser implementation that support a CSTA conformant ECMA-323 interface. Examples are provided
18、 that show how ECMA-323 can be used in several different environments such as SALT-enabled browsers and CCXML. 2 References This TR provides informative examples of how to use ECMA-323 in a Voice Browser environment. The following ECMA Standards should be used as the definitive references for CSTA.
19、ECMA-269 Services for Computer Supported Telecommunications Applications (CSTA) Phase III ECMA-323 XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III ECMA CSTA Standards can be used for call control in many different environments. The following references provide ad
20、ditional information on using the ECMA CSTA standards in different environments: SALT Speech language Application Language Tags 1.0 Specification (SALT), SALT Forum, 15 July 2002, (http:/www.saltforum.org). CCXML Voice Browser Call Control: CCXML Version 1.0 - W3C Working Draft, W3C, 11October 2002,
21、 (http:/www.w3c.org/TR/ccxml/). 3 Brief Overview of ECMA-323 ECMA-323 consists of a set of XML Schemas based upon the W3C XML Schema Language Recommendation. The Standard includes schemas for many categories of services defined in ECMA-269 (Services for Computer Supported Telecommunications Applicat
22、ions (CSTA) Phase III). Call control is just one category of services in ECMA-323. Examples of other categories of services are: capability exchange (feature discovery) services, call routing services, services to control a device (e.g. message waiting, writing to display, forwarding settings), and
23、many others. CSTA provides a protocol independent abstraction layer for applications. It provides a consistent, standards-based messaging interface that can be used with basic 1stparty call control based platforms as well as more complex 3rdparty call control (CTI) platforms, or a combination of bot
24、h (1stparty call control with some additional 3rdparty call control features). CSTA modeling and concepts are also compatible with many procedural and object models such as the SALT CallControl object (chapter 3 of the SALT specification). - 2 - 4 Fundamental Concepts This section introduces some in
25、formative modeling concepts that are useful to illustrate how ECMA-323 enabled voice browsers can use ECMA-323 messages. The actual ECMA CSTA standards should be used for the definitive descriptions. 4.1 CSTA Connection CSTA call control services are applied to CSTA connections. A CSTA connection re
26、fers to a relationship between a call and a telephony endpoint. A CSTA connection is referenced via a CSTA connection identifier. A CSTA connection identifier consists of a call identifier and a device (endpoint) identifier. In a typical 1stparty call control implementation, a voice browser applicat
27、ion manipulates only the CSTA connection directly associated with the voice browser platform. However, other call control implementations may also provide application control of other endpoints in the call using CSTA services (via 3rdparty call control, for example). A device identifier is included
28、in a CSTA connection identifier to allow any endpoint to be addressed by a voice browser application. 4.2 CSTA Connection State Model A ECMA-323 enabled voice browser application is informed of connection state transitions (via ECMA-323 call control events) by placing a monitor on a telephony endpoi
29、nt via an associated address (e.g. this is how an application “listens” for incoming calls). Each CSTA connection in a call is associated with a connection state. CSTA specifies a connection state model (see ECMA-269, Figure 6-19) that consists of the following connection states: Alerting Indicates
30、an incoming call at an endpoint. Typically the connection may be ringing or it may be in a pre-alerting (e.g. offered) condition. Connected Indicates that a connection is actively participating in a call. This connection state can be the result of an incoming or outgoing call. Failed Indicates that
31、call progression has stalled. Typically this could represent that an outgoing call attempt that encountered a busy endpoint. Held Indicates that an endpoint is no longer actively participating in a call. For implementations that support multiple calls per endpoint (i.e. line), a connection could be
32、Held while the line is used to place another call (consultation transfer on an analog line, for example). Initiated A transient state, usually indicating that the endpoint is initiating a service (e.g. dialtone). Null There is no relationship between the call and the endpoint. Queued Indicates that
33、the call is temporarily suspended at a device (e.g. call has been parked, camped on). The CSTA Connection State is provided in ECMA-323 events. 4.3 Connection State Transitions for CSTA Calls 4.3.1 Incoming Call The following figure illustrates the CSTA events for an incoming call. The connection st
34、ate of endpoint on the voice browser platform (called connection) is indicated in parenthesis. Delivered Event (Alerting) Indicates call is alerting. Calls that are “auto-answered” do not sent this event. A CSTA Answer Call service can be used to answer the call. This results in an Established event
35、. Established Event (Connected) indicates call has been answered. Media path has been established. The CSTA Clear Connection service can be used to clear the call. A Connection Cleared event is generated as the result of the Clear Connection service. Connection Cleared Event (Null) indicates connect
36、ion has cleared. This can be the result of the Clear Connection service or as the result of any party clearing from the call. - 3 - Call is answeredCall is cleared Incoming call arrives Delivered EventEstablished EventConnection Cleared Event4.3.2 Outgoing Call The following figure illustrates the C
37、STA events for an outgoing call. The connection state of the endpoint on the Voice Browser platform (originating connection) is indicated in parenthesis. This sequence could be the result of a CSTA Make Call service. Originated Event (Connected) Indicates that the originating connection (an endpoint
38、 on the voice browser platform) is connected. Delivered Event (Connected) Indicates the call is alerting the called party. Established Event (Connected) indicates the called party has answered the call. Media path has been established. Connection Cleared Event (Null) indicates connection has cleared
39、. called party is alerted Established Eventcalled party answers called partyclears Delivered Event Connection Cleared EventOriginated Event 5 CSTA Profiles Since many CSTA features are optional, and to enhance application portability across different CSTA implementations, CSTA standards require a mi
40、nimal subset of functionality as conformance criteria. ECMA-269 specifies a set of Profiles. At least one profile is required to be supported. The following profiles most closely match the call control services and events needed by a Voice Browser application. Level 1a Voice Browser Profile (added i
41、n ECMA-269 5thedition) provides support for answering an incoming call, clearing, and moving the call to another endpoint using the Single Step Transfer Call service. The Get Switching Function Capabilities Service is not required to be supported in this profile. Level 1b Voice Browser Profile (adde
42、d in ECMA-269 5thedition) - provides support for answering an incoming call, clearing, and moving the call to another endpoint using the Deflect Call service. The Get Switching Function Capabilities Service is not required to be supported in this profile. Level 2 Voice Browser Profile (added in ECMA
43、-269 5thedition) provides support for making a call in addition to the services and events required in either the Level1a Voice Browser Profile of the Level 1b Voice Browser Profile. The Get Switching Function Capabilities Service is required to be supported in this profile. Basic Telephony Profile
44、provides support for answering an incoming call, creating an outgoing call, and clearing the call. The Get Switching Function Capabilities Service is required to be supported in this profile. NOTE Telephony platforms that interface with networks and/or endpoints that do not expose the underlying net
45、work/device signaling are not expected to provide all of these CSTA events. For example, if the telephony network does not provide a busy indication, the Failed event is not required. - 4 - 5.1 Level 1a Voice Browser Profile 5.1.1 Services The following CSTA services are included in the Level 1a Voi
46、ce Browser Profile: Answer call Answers an alerting call. In a voice browser, the answering device is an endpoint on the platform. Clear Connection Clears a connection. In a voice browser environment, the clearing device is an endpoint on the voice browser platform. Single Step Transfer (of a connec
47、ted call) Transfers a call to another endpoint. In a voice browser environment, the transferring device is an endpoint on the voice browser platform and is no longer involved with the call after the single step transfer service is completed. Monitor Start Establishes a device-type monitor on an endp
48、oint. In a voice browser environment, the monitored device is an endpoint on the voice browser platform. Monitor Stop Terminates an existing monitor. 5.1.2 Events The following CSTA events are included in the Level 1a Voice Browser Profile: Connection Cleared Indicates that an endpoint has disconnec
49、ted from a call. Delivered Indicates that a call is alerting an endpoint. Established Indicates that an endpoint has answered or been connected to a call. Failed Indicates that a call cannot be completed (e.g. call has encountered a busy endpoint). Transferred Indicates that an existing call has been transferred from an endpoint (on the voice browser platform) to another endpoint and has been disconnected from the call. This implies th