1、 ECMA TR/87 1stEdition / June 2004 Using CSTA for SIP Phone User Agents (uaCSTA) Technical Report ECMA TR/87 1stEdition / June 2004 Using CSTA for SIP Phone User Agents (uaCSTA) Ecma International Rue du Rhne 114 CH-1204 Geneva T/F: +41 22 849 6000/01 www.ecma-international.org IW TR-087.doc 30.09.2
2、004 12:13 . Brief history This Technical Report illustrates how CSTA can be used over a SIP session to control and observe SIP user agents (uaCSTA). This Technical Report is part of a suite of Ecma CSTA Phase III Standards and Technical Reports. All of the Standards and Technical Reports in this sui
3、te are based upon the practical experience of Ecma member companies and each one represents a pragmatic and widely based consensus. This Ecma Technical Report has been adopted by the General Assembly of June 2004. Table of contents 1 Scope 1 2 Purpose 1 3 References 1 4 Terminology 2 4.1 General ter
4、ms 2 4.2 SIP/CSTA Terminology Mappings 5 Example Environments for uaCSTA 3 5.1 Controlling and Observing a SIP Phone 5.2 Controlling and Observing a SIP Phone by Augmenting B2BUA Functionality 3 5.3 Controlling a PBX Phone 4 6 Example User Agent Configurations 5 6.1 Single Line Phone UA 6.2 Multi Li
5、ne Phone UA 6.3 Bridged Appearance Phone and other Advanced UA Configurations 6 7 SIP Transport Mechanism for CSTA Messages 6 7.1 Establishing a CSTA Application Session 7.2 Transporting CSTA Service Requests and Responses 7 7.3 Starting a Monitor and Transporting CSTA Events 8 8 uaCSTA Profiles 9 8
6、.1 Minimal uaCSTA Call Control Profile 10 8.1.1 Services 10 8.1.2 Events 10 8.2 Basic uaCSTA Call Control Profile 10 8.2.1 Services 10 8.2.2 Events 10 8.3 Advanced uaCSTA Call Control Profile 11 8.3.1 Services 11 8.3.2 Events 11 8.4 Conferencing uaCSTA Call Control Feature Profile 12 8.4.1 Services
7、12 8.4.2 Events 12 - i - 8.5 Basic uaCSTA Device Feature Profile 12 8.5.1 Services 12 8.5.2 Events 12 8.6 Speaker uaCSTA Device Feature Profile 12 8.6.1 Services 12 8.6.2 Events 12 9 CSTA Calls and Connections 13 9.1 CSTA Connection State Model 9.2 Connection State Transitions for CSTA Calls 13 9.2.
8、1 Incoming Call 13 9.2.2 Outgoing Call 14 10 Call Control 14 10.1 Alternate Call 14 10.1.1 Service Request 15 10.1.2 Positive Service Response 15 10.1.3 Negative Service Response 10.2 Answer Call 16 10.2.1 Service Request 16 10.2.2 Positive Service Response 16 10.2.3 Negative Service Response 10.3 C
9、lear Connection 17 10.3.1 Service Request 17 10.3.2 Positive Service Response 18 10.3.3 Negative Service Response 10.4 Consultation Call 19 10.4.1 Service Request 19 10.4.2 Positive Service Response 19 10.4.3 Negative Service Response 10.5 Deflect Call 20 10.5.1 Service Request 20 10.5.2 Positive Se
10、rvice Response 20 10.5.3 Negative Service Response 21 10.6 Generate Digits 21 10.6.1 Service Request 22 10.6.2 Positive Service Response 22 10.6.3 Negative Service Response 10.7 Hold Call 23 10.7.1 Service Request 23 10.7.2 Positive Service Response 23 10.7.3 Negative Service Response 10.8 Make Call
11、 24 10.8.1 Service Request 24 - ii - 10.8.2 Positive Service Response 25 10.8.3 Negative Service Response 10.9 Reconnect Call 26 10.9.1 Service Request 26 10.9.2 Positive Service Response 27 10.9.3 Negative Service Response 10.10 Retrieve Call 27 10.10.1 Service Request 27 10.10.2 Positive Service R
12、esponse 28 10.10.3 Negative Service Response 10.11 Single Step Transfer Call 10.11.1 Service Request 29 10.11.2 Positive Service Response 29 10.11.3 Negative Service Response 10.12 Transfer Call 30 10.12.1 Service Request 30 10.12.2 Positive Service Response 31 10.12.3 Negative Service Response 11 P
13、hysical Phone Features 32 11.1 Get Message Waiting Indicator 32 11.1.1 Service Request 33 11.1.2 Service Response 11.2 Set Message Waiting Indicator 33 11.2.1 Service Request 33 11.2.2 Service Response 11.3 Get Speaker Mute 34 11.3.1 Service Request 34 11.3.2 Service Response 11.4 Set Speaker Mute 3
14、4 11.4.1 Service Request 34 11.4.2 Service Response 35 11.5 Get Speaker Volume 11.5.1 Service Request 11.5.2 Service Response 35 11.6 Set Speaker Volume 36 11.6.1 Service Request 11.6.2 Service Response 37 12 Logical Phone Features 12.1 Get Do Not Disturb 37 12.1.1 Service Request 12.1.2 Service Res
15、ponse 12.2 Set Do Not Disturb 38 - iii - 12.2.1 Service Request 38 12.2.2 Service Response 12.3 Get Forwarding 38 12.3.1 Service Request 38 12.3.2 Service Response 12.4 Set Forwarding 39 12.4.1 Service Request 39 12.4.2 Service Response 40 13 Monitoring Services and Events 40 13.1 Monitor Start 40 1
16、3.1.1 Service Request 40 13.1.2 Positive Service Response 41 13.1.3 Negative Service Response 13.2 Monitor Stop 42 13.2.1 Service Request 42 13.2.2 Positive Service Response 42 13.2.3 Negative Service Response 13.3 Events 43 14 Snapshot Services 43 14.1 Snapshot Device 43 14.1.1 Service Request 43 1
17、4.1.2 Positive Service Response 44 14.1.3 Negative Service Response 46 15 Discovery and System Status Services 47 15.1 Get CSTA Features 47 15.1.1 Service Request 15.1.2 Service Response 15.1.3 Negative Service Response 48 15.2 Request System Status 15.2.1 Service Request 48 15.2.2 Service Response
18、49 15.2.3 Negative Service Response 49 15.3 System Status 49 15.3.1 Service Request 49 15.3.2 Positive Service Response 50 15.3.3 Negative Service Response 16 ECMA-323 Illustrative Examples 50 16.1 Controlling a SIP UA 50 16.1.1 Creating an Application Session, Establishing a Monitor for a SIP Phone
19、 50 16.1.2 Creating a Call from a SIP UA, Clearing a Call at a SIP UA 53 - iv - 16.1.3 Answering and Clearing an Incoming Call at a UA 57 16.1.4 Answering an Incoming Call at a UA (no CSTA monitor or CSTA events) 59 16.1.5 Examples of Exception Conditions at a SIP UA 61 16.2 Controlling a PBX Phone
20、63 16.2.1 Creating an Application Session, Establishing a Monitor for a PBX Phone 63 16.2.2 Creating a Call from a PBX Phone, Clearing a Call at a PBX Phone 65 16.2.3 Answering and Clearing an Incoming Call at a PBX Phone 70 16.2.4 Examples of Exception Conditions at a PBX Phone 73 Annex A (informat
21、ive) Example use of SIP and TEL URIs 75 - v - 1 Scope The Session Initiation Protocol (SIP) is a control (signalling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia con
22、ferences. CSTA standardizes a very powerful and flexible set of application services to observe and control voice and non-voice media calls as well as control and observe non-call related features. This Ecma Technical Report describes how CSTA can be used to provide a subset of CSTA call control fun
23、ctionality, called 1stparty call control, for SIP user agents. The term uaCSTA (for user agent CSTA) refers to transporting ECMA-323 (CSTA XML) messages over a SIP session. uaCSTA leverages SIP mechanisms to provide a highly featured, robust, and extensible set of features to support applications in
24、 the Enterprise environment. uaCSTA can be implemented by several different types of SIP user agents: directly by a SIP user agent on a SIP phone uaCSTA can also be implemented by a SIP B2BUA to augment 3PCC functionality by a proxy server that is front-ending a PBX. 2 Purpose Describe the relevant
25、portions of the CSTA Standards The two primary CSTA Standards, Services for Computer Supported Telecommunications Applications (ECMA-269) and the XML Protocol for CSTA (ECMA-323), are relatively large standards (combined over 1100 pages). Due to their size it is sometimes difficult for SIP developer
26、s without prior knowledge of CSTA standards to quickly find the relevant parts of the CSTA standards needed to implement basic features. This TR shows the relevant CSTA concepts and how they can be used to implement a CSTA-based application protocol without having to read all of the CSTA Standards.
27、Terminology Although many of the concepts are similar, different terms are used in SIP and CSTA to describe the same concepts. Since CSTA is designed to be protocol independent, it is helpful to show how the abstract terminology of CSTA is mapped to SIP specific terminology. Extensibility - A SIP ph
28、one that is being developed to support a specific application may initially need to only support a small subset of the features standardized in CSTA. As the types and complexity of applications using these devices increase, it is expected that these devices will need to support additional, more adva
29、nced, features standardized by CSTA, similar to features supported by other types of phones in Enterprise environments. This TR shows how basic features can be extended to support a rich standards-based feature set for applications. Interoperability - In order to encourage interoperability of applic
30、ations and phones supporting this application protocol, additional CSTA Profiles, which include minimal sets of CSTA functionality, are described. These profiles can be extended by implementations to provide a more complete set of call and devices features commonly used by Enterprise applications. 3
31、 References This TR provides informative examples of how to use CSTA concepts as an application protocol for SIP user agents. The following Ecma Standards should be used as the definitive references for CSTA. ECMA-269 Services for Computer Supported Telecommunications Applications (CSTA) Phase III,
32、6thedition (June 2004) ECMA-323 XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III, 3rdedition (June 2004) - 1 - The following IETF references provide information on the SIP features referenced in this TR: RFC 3261 SIP: Session Initiation Protocol, Rosenberg, J. et
33、al, IETF, June 2002 4 Terminology 4.1 General terms The following table summarizes some of the commonly used terminologies used in this Technical Report. . application Refers to all components that control and observe uaCSTA instances that may be present in an application/computing domain such as an
34、 application residing on any type of computing device (desktop PC, mobile computing device, CTI middleware, SIP B2BUA, SIP UA, etc.). uaCSTA user agent CSTA This refers the mechanism to transport CSTA messages over a SIP session, and the type of call control, called 1stparty call control, that allow
35、s an application to control and observe only the device or devices it is directly involved with. A desktop application controlling its associated phone, for example. uaCSTA device Refers to a SIP UA, such as a SIP or PBX phone, that supports the CSTA features over SIP as described in this TR. phone
36、A SIP UA that supports calls. It is also a PBX device that supports calls. Examples of the types of phones that can be supported by this application protocol are described in clause 6. B2BUA A back-to-back-user-agent is a type of user agent that acts both as a user agent server (receives requests) a
37、nd acts as a user agent client (generates requests). B2BUA is used to implement SIP third party call control (3PCC) features. uaCSTA could be used to augment the existing B2BUA functionality for enhanced call control. 4.2 SIP/CSTA Terminology Mappings The following table shows some of the common SIP
38、 terms and how they are referenced using CSTA and vice versa. SIP Term CSTA Term Notes User Agent or UA device A SIP UA can be modelled as a type of CSTA device. Whenever the term device is used in this TR, it is referring to a SIP UA. SIP URI device identifier or deviceID A SIP URI can be used to a
39、ddress a SIP UA or a PBX phone in the same way that a CSTA device identifier can be used to address a CSTA device. One of the formats of a Device Identifier is URI. Whenever the term DeviceID is used in this TR, it is referring to a URI format of CSTA deviceID. Refer to Annex A for a description of
40、the ways to represent a user and a users device with a URI. - 2 - TEL URI device identifier or deviceID A TEL URI can be used to address a device or a dialled number in the same way that a CSTA device identifier can be used to address a CSTA device. Refer to Annex A for a description of the ways to
41、represent a device and a dialled number with a TEL URI. 5 Example Environments for uaCSTA The following figures illustrate how uaCSTA is used to pass ECMA-323 messages between an application and a user agent that supports this protocol. uaCSTA provides a standards-based protocol for applications to
42、use to request a UA to invoke features. The term uaCSTA device refers to a SIP UA, such as a SIP phone, that supports the ECMA-323 messages over SIP as described in this Technical Report. 5.1 Controlling and Observing a SIP Phone In this environment, a PC-based application can use uaCSTA to directly
43、 control and observe its associated SIP UA phone. PC-based CSTA client application SIP protocol uaCSTA Other SIP phone uaCSTA enabled SIP Phone 5.2 Controlling and Observing a SIP Phone by Augmenting B2BUA Functionality In this environment, uaCSTA is used to augment existing B2BUA functionality to i
44、nvoke features on the SIP phone not possible with standard SIP. - 3 - 5.3 Controlling a PBX Phone In this environment, a PC-based application can use uaCSTA to control its associated PBX phone that is part of a PBX/IP Switch. A SIP/CSTA Gateway is a type SIP UA that terminates SIP and converts ECMA-
45、323 messages to/from an application to/from PBX dependent protocols. The uaCSTA Gateway allows an application to control only its associated device(s) (1stparty call control). PC-based CSTA client application uaCSTA uaCSTA Gateway PBX Specific Protocol (could be CSTA)PBX CSTA client application uaCS
46、TA enabled SIP Phone Other SIP phoneSIP protocol SIP Application Server (B2BUA) CSTA XML PBX Phones uaCSTA - 4 - 6 Example User Agent Configurations CSTA defines two elements that are relevant for user agents: A logical element the set of attributes/features/services that have an association with th
47、e control and/or observation of calls at a UA. For example (line) appearances and attributes such as forwarding. Some phones provide more than one addressable logical elements (e.g. multi line phones). Some phones share a logical element among multiple physical devices (e.g. bridged appearance phone
48、s). A physical element the set of attributes/features/services that have any association with the control or observation of the physical components (speaker, microphone, display, etc.) of a UA. Some UAs provide a single address which can be used to address all of its (logical and physical) elements
49、while other UAs provide multiple addresses so that requests can be directed to a specific logical element on the UA (e.g. a specific line on a multi-line phone). This chapter discusses the typical types of phones that can be supported by this application protocol, the types of elements supported by phone type, and how applications can address each element. 6.1 Single Line Phone UA A single line phone is a type of user agent that supports only one logical element (addressable line) not shared with any other device and a single physical element (see 6.1.3