[MS-OCER]:

Client Error Reporting Protocol

Intellectual Property Rights Notice for Open Specifications Documentation

§  Technical Documentation. Microsoft publishes Open Specifications documentation (“this documentation”) for protocols, file formats, data portability, computer languages, and standards support. Additionally, overview documents cover inter-protocol relationships and interactions.

§  Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you can make copies of it in order to develop implementations of the technologies that are described in this documentation and can distribute portions of it in your implementations that use these technologies or in your documentation as necessary to properly document the implementation. You can also distribute in your implementation, with or without modification, any schemas, IDLs, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications documentation.

§  No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

§  Patents. Microsoft has patents that might cover your implementations of the technologies described in the Open Specifications documentation. Neither this notice nor Microsoft's delivery of this documentation grants any licenses under those patents or any other Microsoft patents. However, a given Open Specifications document might be covered by the Microsoft Open Specifications Promise or the Microsoft Community Promise. If you would prefer a written license, or if the technologies described in this documentation are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting .

§  Trademarks. The names of companies and products contained in this documentation might be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. For a list of Microsoft trademarks, visit www.microsoft.com/trademarks.

§  Fictitious Names. The example companies, organizations, products, domain names, email addresses, logos, people, places, and events that are depicted in this documentation are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred.

Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than as specifically described above, whether by implication, estoppel, or otherwise.

Tools. The Open Specifications documentation does not require the use of Microsoft programming tools or programming environments in order for you to develop an implementation. If you have access to Microsoft programming tools and environments, you are free to take advantage of them. Certain Open Specifications documents are intended for use in conjunction with publicly available standards specifications and network programming art and, as such, assume that the reader either is familiar with the aforementioned material or has immediate access to it.

Revision Summary

Date / Revision History / Revision Class / Comments /
4/4/2008 / 0.1 / New / Initial version
4/25/2008 / 0.2 / Minor / Updated based on feedback
6/27/2008 / 1.0 / Major / Updated and revised the technical content.
9/12/2008 / 1.01 / Minor / Revised and edited the technical content.
12/12/2008 / 2.0 / Major / Updated and revised the technical content.
2/13/2009 / 2.01 / Minor / Revised and edited the technical content.
3/13/2009 / 2.02 / Minor / Revised and edited the technical content.
7/13/2009 / 2.03 / Major / Revised and edited the technical content
8/28/2009 / 2.04 / Editorial / Revised and edited the technical content
11/6/2009 / 2.05 / Editorial / Revised and edited the technical content
2/19/2010 / 2.06 / Editorial / Revised and edited the technical content
3/31/2010 / 2.07 / Major / Updated and revised the technical content
4/30/2010 / 2.08 / Editorial / Revised and edited the technical content
6/7/2010 / 2.09 / Editorial / Revised and edited the technical content
6/29/2010 / 2.10 / Editorial / Changed language and formatting in the technical content.
7/23/2010 / 2.10 / None / No changes to the meaning, language, or formatting of the technical content.
9/27/2010 / 3.0 / Major / Significantly changed the technical content.
11/15/2010 / 3.0 / None / No changes to the meaning, language, or formatting of the technical content.
12/17/2010 / 3.0 / None / No changes to the meaning, language, or formatting of the technical content.
3/18/2011 / 3.0 / None / No changes to the meaning, language, or formatting of the technical content.
6/10/2011 / 3.0 / None / No changes to the meaning, language, or formatting of the technical content.
1/20/2012 / 4.0 / Major / Significantly changed the technical content.
4/11/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
7/16/2012 / 4.0 / None / No changes to the meaning, language, or formatting of the technical content.
10/8/2012 / 4.1 / Minor / Clarified the meaning of the technical content.
2/11/2013 / 4.1 / None / No changes to the meaning, language, or formatting of the technical content.
7/30/2013 / 4.2 / Minor / Clarified the meaning of the technical content.
11/18/2013 / 4.2 / None / No changes to the meaning, language, or formatting of the technical content.
2/10/2014 / 4.2 / None / No changes to the meaning, language, or formatting of the technical content.
4/30/2014 / 4.3 / Minor / Clarified the meaning of the technical content.
7/31/2014 / 4.4 / Minor / Clarified the meaning of the technical content.
10/30/2014 / 4.5 / Minor / Clarified the meaning of the technical content.
3/30/2015 / 5.0 / Major / Significantly changed the technical content.
9/4/2015 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.
7/15/2016 / 5.0 / None / No changes to the meaning, language, or formatting of the technical content.

Table of Contents

1 Introduction 7

1.1 Glossary 7

1.2 References 9

1.2.1 Normative References 9

1.2.2 Informative References 10

1.3 Overview 10

1.4 Relationship to Other Protocols 10

1.5 Prerequisites/Preconditions 10

1.6 Applicability Statement 10

1.7 Versioning and Capability Negotiation 10

1.8 Vendor-Extensible Fields 10

1.9 Standards Assignments 11

2 Messages 12

2.1 Transport 12

2.2 Message Syntax 12

2.2.1 Diagnostics Headers 12

2.2.1.1 ms-diagnostics Header 12

2.2.1.2 ms-diagnostics-public Header 14

2.2.2 application/msrtc-reporterror+xml Report Error Document Format 15

3 Protocol Details 17

3.1 Client Error Reporting Protocol 17

3.1.1 Abstract Data Model 17

3.1.2 Timers 17

3.1.3 Initialization 17

3.1.4 Higher-Layer Triggered Events 17

3.1.4.1 Reporting an error (reportError SERVICE Request) 17

3.1.5 Message Processing Events and Sequencing Rules 18

3.1.6 Timer Events 19

3.1.7 Other Local Events 19

4 Protocol Examples 20

4.1 Report Error Example 20

5 Security 23

5.1 Security Considerations for Implementers 23

5.2 Index of Security Parameters 23

6 Appendix A: application/msrtc-reporterror+xml Schema 24

7 Appendix B: Diagnostics Header Error Identifiers and Reason Values for Lync Server 2010 and Lync Server 2013 26

7.1 MS-Diagnostic Public Errors 26

7.2 SipStack 28

7.3 Presence 32

7.4 Conferencing 44

7.5 Lync front-end server 58

7.6 Lync server API and applications 75

7.7 IM conferencing 77

7.8 Audio video conferencing 79

7.9 Audio video edge authentication 82

7.10 Lync mediation server 83

7.11 VoIP outbound routing 90

7.12 VoIP inbound routing 91

7.13 VoIP translation service 93

7.14 VoIP Exchange UM service 94

7.15 Intelligent IM filter 96

7.16 Protocol client version filter 97

7.17 User PIN service 97

7.18 Group chat server 99

7.19 Application sharing MCU 100

7.20 Unified communications managed API 102

7.21 Inter cluster routing 109

7.22 Web auth 110

7.23 Conference auto attendant 115

7.24 Conference announcement service 118

7.25 Call park service 120

7.26 Client Error Reporting 121

8 Appendix C: Diagnostics Header Error Identifiers and Reason Values for Releases prior to Lync Server 2010 122

8.1 MS-Diagnostic Public Errors 122

8.2 SipStack 122

8.3 Presence 123

8.4 Conferencing 129

8.5 OCS front-end server 135

8.6 OCS server API and applications 144

8.7 IM conferencing 144

8.8 Audio video conferencing 145

8.9 Audio video edge authentication 149

8.10 OCS mediation server 149

8.11 VoIP outbound routing 153

8.12 VoIP inbound routing 154

8.13 VoIP translation service 155

8.14 VoIP Exchange UM service 155

8.15 Intelligent IM filter 156

8.16 Protocol client version filter 156

8.17 Metrics 157

8.18 User PIN service 157

8.19 Group chat server 157

8.20 Application sharing MCU 158

8.21 Unified communications managed API 158

9 Appendix D: Client Display of Received Diagnostic Codes for Lync 2010 and Lync 2013 162

9.1 Client Error Display and Logic 162

9.1.1 Error Handling Logic 162

9.2 Handled Error Display 162

9.2.1 Modes 163

9.2.2 MS-Diagnostic Errors 163

9.2.3 SIP Errors 176

9.2.4 SIP Warning Errors 181

9.2.5 Windows Errors 182

9.3 Unhandled Error Display 183

9.3.1 Generic Error Message Strings 183

9.3.2 Ms-Diagnostic Errors Not Handled 184

10 Appendix E: Client Display of Received Diagnostic Codes for Releases prior to Lync 2010 187

10.1 Client Error Display and Logic 187

10.1.1 Error Handling Logic 187

10.2 Handled Error Display 187

10.2.1 Modes 188

10.2.2 MS-Diagnostic Errors 188

10.2.3 SIP Errors 192

10.2.4 SIP Warning Errors 195

10.2.5 Windows Errors 196

10.3 Unhandled Error Display 196

10.3.1 Ms-Diagnostic Errors Not Handled 196

11 Appendix F: Product Behavior 199

12 Change Tracking 205

13 Index 206

1  Introduction

The Client Error Reporting Protocol describes proprietary extensions to the Session Initiation Protocol (SIP) for protocol client error reporting. The Session Initiation Protocol (SIP) is used by terminals to establish, modify, and terminate multimedia sessions or calls.

Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in this specification are informative.

1.1  Glossary

This document uses the following terms:

101 Progress Report: A response that indicates the progress of a SIP request.

200 OK: A response to indicate that the request has succeeded.

Active Directory: A general-purpose network directory service. Active Directory also refers to the Windows implementation of a directory service. Active Directory stores information about a variety of objects in the network. Importantly, user accounts, computer accounts, groups, and all related credential information used by the Windows implementation of Kerberos are stored in Active Directory. Active Directory is either deployed as Active Directory Domain Services (AD DS) or Active Directory Lightweight Directory Services (AD LDS). [MS-ADTS] describes both forms. For more information, see [MS-AUTHSOD] section 1.1.1.5.2, Lightweight Directory Access Protocol (LDAP) versions 2 and 3, Kerberos, and DNS.

aggregation: A mechanism for reusing objects. The outer object exposes interfaces from one or more inner objects as if they were implemented on the outer object itself.

Application Sharing Multipoint Control Unit (ASMCU): A Multipoint Control Unit (MCU) that supports application sharing conferencing.

Augmented Backus-Naur Form (ABNF): A modified version of Backus-Naur Form (BNF), commonly used by Internet specifications. ABNF notation balances compactness and simplicity with reasonable representational power. ABNF differs from standard BNF in its definitions and uses of naming rules, repetition, alternatives, order-independence, and value ranges. For more information, see [RFC5234].

call park service (CPS): A server endpoint (5) that allows a user agent to make a call inactive without terminating that call. The call can then be reactivated by the same user agent, by using the same or a different endpoint (5), or a different user agent. See also parking lot.

container: A data model that is used to store published presence (1) information and a list of subscribers who are permitted to view that information. It enables a publisher to publish different data values of the same category (4) and instance, which enables different subscribers to see different values.

Content-Type header: A message header field whose value describes the type of data that is in the body of the message.

Edge Server: A server that is the entry point for all external traffic that both conforms to the Session Initiation Protocol (SIP) and that enters and exits an enterprise. It is typically installed on the perimeter network for an enterprise.

federated partner: An enterprise that is trusted for federation.

federated user: An external user who possesses valid credentials with a federated partner and who therefore is treated as authenticated by a protocol server.

federation: The ability of a server deployment to interoperate with other servers that were deployed by other enterprises.

fully qualified domain name (FQDN): An unambiguous domain name (2) that gives an absolute location in the Domain Name System's (DNS) hierarchy tree, as defined in [RFC1035] section 3.1 and [RFC2181] section 11.

Hypertext Transfer Protocol (HTTP): An application-level protocol for distributed, collaborative, hypermedia information systems (text, graphic images, sound, video, and other multimedia files) on the World Wide Web.

INVITE: A Session Initiation Protocol (SIP) method that is used to invite a user or a service to participate in a session.

mailbox: A message store that contains email, calendar items, and other Message objects for a single recipient.

read-only mode: An attribute (1) that indicates that an object cannot be changed or deleted. The object can only be accessed or displayed.

REGISTER: A Session Initiation Protocol (SIP) method that is used by an SIP client to register the client address with an SIP server.

remote procedure call (RPC): A context-dependent term commonly overloaded with three meanings. Note that much of the industry literature concerning RPC technologies uses this term interchangeably for any of the three meanings. Following are the three definitions: (*) The runtime environment providing remote procedure call facilities. The preferred usage for this meaning is "RPC runtime". (*) The pattern of request and response message exchange between two parties (typically, a client and a server). The preferred usage for this meaning is "RPC exchange". (*) A single message from an exchange as defined in the previous definition. The preferred usage for this term is "RPC message". For more information about RPC, see [C706].

server: A replicating machine that sends replicated files to a partner (client). The term "server" refers to the machine acting in response to requests from partners that want to receive replicated files.