Microsoft Office Protocol Documentation OCSPROT

Description

Microsoft Office Protocol Documentation

Reviews
[MS-OCSPROT]: Office Communications Server Protocols Overview Intellectual Property Rights Notice for Protocol Documentation Copyrights. This protocol 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 may make copies of it in order to develop implementations of the protocols, and may distribute portions of it in your implementations of the protocols or your documentation as necessary to properly document the implementation. This permission also applies to any documents that are referenced in the protocol documentation. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the protocols. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, the protocols may be covered by Microsoft's Open Specification Promise (available here: http://www.microsoft.com/interop/osp). If you would prefer a written license, or if the protocols are not covered by the OSP, patent licenses are available by contacting protocol@microsoft.com. Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights. This notice does not grant any licenses under those rights. Reservation of Rights. All other rights are reserved, and this notice does not grant any rights other than specifically described above, whether by implication, estoppel, or otherwise. Tools. This protocol documentation is intended for use in conjunction with publicly available standard specifications and network programming art, and assumes that the reader either is familiar with the aforementioned material or has immediate access to it. A protocol specification 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. Revision Summary Author Microsoft Corporation Microsoft Corporation Microsoft Corporation Microsoft Corporation Date April 4, 2008 April 25, 2008 June 27, 2008 August 15, 2008 Version 0.1 0.2 1.0 1.01 Comments Initial Availability Revised and edited the technical content Revised and edited the technical content Revised and edited the technical content 1 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Table of Contents 1 Introduction........................................................................................................................... 4 1.1 Glossary ............................................................................................................................. 4 1.2 References ......................................................................................................................... 5 1.2.1 Normative References .............................................................................................. 5 1.2.2 Informative References ............................................................................................ 8 Office Communications Server 2007 Overview ............................................................... 10 2.1 Editions ............................................................................................................................ 10 2.2 Reference Architecture ................................................................................................... 10 2.3 Server Roles..................................................................................................................... 11 2.3.1 Standard Edition Server ......................................................................................... 11 2.3.2 Enterprise Edition Pool .......................................................................................... 12 2.3.2.1 Front End Server ............................................................................................. 12 2.3.2.2 Enterprise Pool Configurations ...................................................................... 12 2.3.3 Conferencing Servers ............................................................................................. 12 2.3.3.1 IM Conferencing Server ................................................................................. 13 2.3.3.2 A/V Conferencing Server ............................................................................... 13 2.3.3.3 Telephony Conferencing Server .................................................................... 13 2.3.4 Director ................................................................................................................... 13 2.3.5 Archiving and CDR Server .................................................................................... 14 2.3.6 Mediation Server .................................................................................................... 14 2.3.7 Edge Servers ........................................................................................................... 14 2.3.7.1 Access Edge Server ........................................................................................ 14 2.3.7.2 A/V Edge Server ............................................................................................. 14 2.3.8 Quality of Experience Monitoring Server ............................................................. 15 2.4 Office Communicator 2007 ............................................................................................ 15 Protocols .............................................................................................................................. 15 3.1 Protocols List ................................................................................................................... 15 3.2 Session Initiation Protocol (SIP) .................................................................................... 19 3.2.1 SIP Overview .......................................................................................................... 19 3.2.2 SIP Extensions for Office Communications server 2007 ..................................... 19 3.2.2.1 SIP Connection Management Extensions [MS-CONMGMT] .................... 19 3.2.2.2 SIP Compression Protocol [MS-SIPCOMP] ................................................ 20 3.2.2.3 SIP Authentication Extensions [MS-SIPAE] ................................................ 20 3.2.2.4 SIP Routing Extensions [MS-SIPRE] ........................................................... 20 3.2.2.5 SIP Registration Extensions [MS-SIPREGE] ............................................... 21 3.2.2.6 Presence Protocol [MS-PRES]....................................................................... 22 3.2.2.7 SIP Extensions for PSTN Calls [MS-OCPSTN]........................................... 22 3.3 Call Control Protocol Extensions for Exchange Unified Messaging (UM) [MSOCEXUM]................................................................................................................................ 22 3.4 Centralized Conference Control Protocol (C3P) ........................................................... 23 3.4.1 C3P for Provisioning [MS-CONFPRO] ............................................................... 24 3.4.2 C3P Basic Architecture and Signaling [MS-CONFBAS].................................... 25 2 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 2 3 3.4.2.1 Conference State Maintenance ....................................................................... 26 3.4.2.2 Meeting Deactivation...................................................................................... 26 3.4.3 Centralized Conference Control Protocol IM Extensions [MS-CONFIM] ........ 26 3.4.4 Centralized Conference Control Protocol: Audio-Video Extensions [MSCONFAV]............................................................................................................................ 27 3.5 Session Description Protocol Extensions for Audio and Video [MS-SDPEXT] ........ 28 3.6 Audio Video Edge Authentication Protocol [MS-AVEDGEA]................................... 28 3.7 Interactive Connectivity Establishment (ICE) Extensions [MS-ICE] .......................... 29 3.8 Traversal using Relay NAT (TURN) Extensions [MS-TURN] ................................... 29 3.9 Real-Time Transport Protocol ........................................................................................ 30 3.9.1 Real-time Transport Protocol (RTP) Extensions [MS-RTP] ............................... 31 3.9.2 Secure Real-Time Transport Protocol (SRTP) Protocol [MS-SRTP] ................. 31 3.9.3 Scale Secure Real-Time Transport Protocol (SSRTP) Protocol [MS-SSRTP] .. 32 3.9.4 RTP Payload for Redundant Audio Data Extensions [MS-RTPRADEX] ......... 32 3.9.5 RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Extensions [MS-DTMF] ..................................................................................................... 32 3.9.6 RTP Payload Format for H.263 Video Streams Extensions [MS-H263PF] ....... 33 3.9.7 RTP Payload Format for RTVideo Streams [MS-RTVPF] ................................. 33 3.10 XML Schema for Media Control Extensions [MS-XMLMC] ................................ 33 3.11 Distribution List Expansion Protocol [MS-DLX] ..................................................... 34 3.12 Address Book File Structure [MS-ABS] ................................................................... 34 3.13 Client Error Reporting Extension [MS-OCER] ........................................................ 35 3.14 Quality of Experience (QoE) Monitoring Server Extensions [MS-QoE] ................ 35 4 Usage Scenarios.................................................................................................................. 36 3 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 1 Introduction The Microsoft® Office Communications Protocols Program makes available the protocols that enable Microsoft Office Communicator 2007 to communicate with Microsoft Office Communications Server 2007. This document is a companion to the protocol and data structure specifications that are included in the Office Communications Server 2007 protocols documentation set. It provides an overview of how these protocols are related to each other and provides examples of how these protocols could be implemented in order to enable Office Communicator 2007 scenarios such as instant messaging, presence, voice, and video. The rest of this document is organized as follows: Section 2 provides a conceptual and architectural overview of Office Communications Server 2007. Section 3 lists the protocols that are documented in the Office Communications Server 2007 Protocols Documentation set and provides an introductory description of each protocol. Section 4 describes how the protocols can be used to enable core Office Communicator 2007 scenarios. 1.1 Glossary The following terms are defined in [MS-GLOS]: Active Directory (AD) (1) administrator Audio/Video Edge Server (A/V Edge Server) authentication certificate client encryption fully qualified domain name (FQDN) group policy Kerberos server session (5) stream Transport Layer Security (TLS) User Datagram Protocol (UDP) XML 4 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 The following terms are defined in [MS-OCSGLOS]: caller conference control dominant speaker dual-tone multi-frequency (DTMF) Edge Server federation Focus Factory in-band provisioning Instant Message Delivery Notification (IMDN) Interactive Connectivity Establishment (ICE) Multipoint Control Unit (MCU) Network Address Translation (NAT) organizer participant private branch exchange (PBX) RTP profile RTVC1 Real-Time Transport Control Protocol (RTCP) Real-Time Transport Protocol (RTP) Scale Secure Real-Time Transport Protocol (SSRTP) Secure Real-Time Transport Protocol (SRTP) Session Description Protocol (SDP) Session Initiation Protocol (SIP) subscriber access throttling video frame 1.2 References 1.2.1 Normative References We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact dochelp@microsoft.com. We will assist you in finding the relevant information. Please check the archive site, http://msdn.microsoft.com/en-us/library/cc136647.aspx, as an additional source. [IETFDRAFT-ICENAT-06] Rosenberg, J., "Interactive Connectivity Establishment (ICE): A Methodology for Network Address Translator (NAT) Traversal for Offer/Answer Protocols", draft-ietf-mmusic-ice-06, October 2005, http://tools.ietf.org/html/draft-ietf-mmusic-ice-06. 5 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 [IETFDRAFT-OUGRUAUSIP-10] Rosenberg, J., "Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)", draft-ietf-sip-gruu10, July 2006, http://tools.ietf.org/id/draft-ietf-sip-gruu-10.txt. [IETFDRAFT-SIPSOAP-00] Deason, N., "SIP and SOAP", draft-deason-sip-soap-00, June 2000, http://tools.ietf.org/draft/draft-deason-sip-soap/draft-deason-sip-soap-00.txt. [IETFDRAFT-STUN-02] Rosenberg, J., Huitema, C., and Mahy, R., "Simple Traversal of UDP Through Network Address Translators (NAT) (STUN)", draft-ietf-behaverfc3489bis-02, July 2005, http://tools.ietf.org/html/draft-ietf-behave-rfc3489bis-02. [IETFDRAFT-TURN-08] Rosenberg, J., Mahy, R., and Huitema, C., "Traversal Using Relay NAT (TURN)", draft-rosenberg-midcom-turn-08, September 2005, http://tools.ietf.org/html/draft-rosenberg-midcom-turn-08. [IETFDRAFT-XMLSMC-12] Levin, O., Even, R., and Hagendorf, P., "XML Schema for Media Control", draft-levin-mmusic-xml-media-control-12, November 2007, http://ietfreport.isoc.org/all-ids/draft-levin-mmusic-xml-media-control-12.txt. [MS-GLOS] Microsoft Corporation, "Windows Protocols Master Glossary", March 2008. [MS-OCSGLOS] Microsoft Corporation, "Office Communications Server Master Glossary", June 2008. [MS-SIP] Microsoft Corporation, "Session Initiation Protocol Extensions", August 2007. [RFC793] Postel, J., "Transmission Control Protocol: DARPA Internet Program Protocol Specification", RFC 793, September 1981, http://www.ietf.org/rfc/rfc0793.txt. [RFC2045] Freed, N., et al., "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996, http://ietf.org/rfc/rfc2045.txt. [RFC2046] Freed, N. and Borenstein, N., "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996, http://ietf.org/rfc/rfc2046.txt. [RFC2118] Pall, G., "Microsoft Point-to-Point Compression (MPCC) Protocol", RFC 2118, March 1997, http://www.ietf.org/rfc/rfc2118.txt. [RFC2190] Zhu, C., "RTP Payload Format for H.263 Video Streams", RFC 2190, September 1997, http://www.ietf.org/rfc/rfc2190.txt. [RFC2198] Perkins, C., Kouvelas, I., Hodson, O., et al., "RTP Payload for Redundant Audio Data", September 1997, http://www.ietf.org/rfc/rfc2198.txt. 6 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 [RFC2246] Dierks, T. and Allen, C., "The TLS Protocol Version 1.0", RFC 2246, January 1999, http://www.ietf.org/rfc/rfc2246.txt. [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000, http://www.ietf.org/rfc/rfc2818.txt. [RFC2976] Donovan, S., "The SIP INFO Method", RFC 2976, October 2000, http://www.ietf.org/rfc/rfc2976.txt. [RFC3261] Rosenberg, J., et al., "SIP: Session Initiation Protocol", RFC 3261, June 2002, http://www.ietf.org/rfc/rfc3261.txt. [RFC3262] Rosenberg, J., Schulzrinne, H., "of Provisional Responses in the Session Initiation Protocol (SIP)", RFC 3262, June 2002, http://www.ietf.org/rfc/rfc3262.txt. [RFC3263] Rosenberg, J., Schulzrinne, H., "Session Initiation Protocol (SIP): Locating SIP Servers", RFC 3263, June 2002, http://www.ietf.org/rfc/rfc3263.txt. [RFC3265] Roach, A. B., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002, http://www.ietf.org/rfc/rfc3265.txt. [RFC3325] Jennings, C., Peterson, J., Watson, M., "Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks", November 2002, http://www.ietf.org/rfc/rfc3325.txt. [RFC3550] Schulzrinne, H., et al., "RTP: A Transport Protocol for Real-Time Applications", RFC 3550, July 2003, http://www.ietf.org/rfc/rfc3550.txt. [RFC3551] Schulzrinne, H., Casner, S., "RTP Profile for Audio and Video Conferences with Minimal Control", July 2003, http://www.ietf.org/rfc/rfc3551.txt. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., Norrman, K., "The Secure Real-time Transport Protocol (SRTP)", March 2004, http://www.ietf.org/rfc/rfc3711.txt. [RFC3863] Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr, W., and Peterson, J., "Presence Information Data Format (PIDF)", RFC 3863, August 2004, http://www.ietf.org/rfc/rfc3863.txt. [RFC3892] Sparks, R., "The Session Initiation Protocol (SIP) Referred-By Mechanism", September 2004, http://www.ietf.org/rfc/rfc3892.txt. [RFC4353] Rosenberg, J., "A Framework for Conferencing with the Session Initiation Protocol (SIP)", February 2006, http://www.ietf.org/rfc/rfc4353.txt. [RFC4566] Handley, M., Jacobson, V., and Perkins, C., "SDP: Session Description Protocol", RFC 4566, July 2006, http://www.ietf.org/rfc/rfc4566.txt. 7 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 [RFC4575] Rosenberg, J., et al., "A Session Initiation Protocol (SIP) Event Package for Conference State", August 2006, http://www.ietf.org/rfc/rfc4575.txt. [RFC4733] Schulzrinne, H., Taylor, T., "RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals", December 2006, http://www.ietf.org/rfc/rfc4733.txt. [SMPTE-VC-1] Society of Motion Picture and Television Engineers, "VC-1 Compressed Video Bitstream Format and Decoding Process", SMPTE 421M-2006, 2006, http://www.smpte.org/standards. Note There is a charge to download the specification. [WSDL] Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S., "Web Services Description Language (WSDL) 1.1", W3C Note, March 2001, http://www.w3.org/TR/2001/NOTE-wsdl-20010315. 1.2.2 Informative References [MS-ABS] Microsoft Corporation, "Address Book File Structure", June 2008. [MS-AVEDGEA] Microsoft Corporation, "Audio Video Edge Authentication Protocol Specification", June 2008. [MS-CONFAV] Microsoft Corporation, "Centralized Conference Control Protocol: Audio-Video Extensions", June 2008. [MS-CONFBAS] Microsoft Corporation, "Centralized Conference Control Protocol: Basic Architecture and Signaling Specification", June 2008. [MS-CONFIM] Microsoft Corporation, "Centralized Conference Control Protocol: Instant Messaging Extensions", June 2008. [MS-CONFPRO] Microsoft Corporation, "Centralized Conference Control Protocol: Provisioning Specification", June 2008. [MS-CONMGMT] Microsoft Corporation, "Connection Management Protocol Specification", June 2008. [MS-DLX] Microsoft Corporation, "Distribution List Expansion Protocol Specification", June 2008. [MS-DTMF] Microsoft Corporation, "RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Extensions", June 2008. [MS-H263PF] Microsoft Corporation, "RTP Payload Format for H.263 Video Streams Extensions", June 2008. 8 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 [MS-ICE] Microsoft Corporation, "Interactive Connectivity Establishment (ICE) Extensions", June 2008. [MS-OCER] Microsoft Corporation, "Client Error Reporting Protocol Specification", June 2008. [MS-OCEXUM] Microsoft Corporation, "Call Control Protocol Extensions for Exchange Unified Messaging", June 2008. [MS-OCPSTN] Microsoft Corporation, "Session Initiation Protocol (SIP) Extensions for PSTN Calls", June 2008. [MS-PRES] Microsoft Corporation, "Presence Protocol Specification", June 2008. [MS-QoE] Microsoft Corporation, "Quality of Experience Monitoring Server Protocol Specification", June 2008. [MS-RTP] Microsoft Corporation, "Real-time Transport Protocol (RTP) Extensions", June 2008. [MS-RTPRADEX] Microsoft Corporation, "RTP Payload for Redundant Audio Data Extensions", June 2008. [MS-RTVPF] Microsoft Corporation, "RTP Payload Format for RT Video Streams Extensions", June 2008. [MS-SDPEXT] Microsoft Corporation, "Session Description Protocol (SDP) Extensions", June 2008. [MS-SIPAE] Microsoft Corporation, "Session Initiation Protocol (SIP) Authentication Extensions", June 2008. [MS-SIPCOMP] Microsoft Corporation, "Session Initiation Protocol (SIP) Compression Protocol Specification", June 2008. [MS-SIPRE] Microsoft Corporation, "Session Initiation Protocol (SIP) Routing Extensions", June 2008. [MS-SIPREGE] Microsoft Corporation, "Session Initiation Protocol (SIP) Registration Extensions", June 2008. [MS-SRTP] Microsoft Corporation, "Secure Real-time Transport Protocol (SRTP) Extensions", June 2008. [MS-SSRTP] Microsoft Corporation, "Scale Secure Real-time Transport Protocol (SSRTP) Extensions", June 2008. 9 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 [MS-TURN] Microsoft Corporation, "Traversal Using Relay NAT (TURN) Extensions", June 2008. [MS-XMLMC] Microsoft Corporation, "XML Schema for Media Control Extensions", June 2008. 2 Office Communications Server 2007 Overview Microsoft Office Communications Server 2007 provides instant messaging (IM), presence notification, on-premise Web conferencing, Voice over IP (VoIP) telephony, and audio/video (A/V) communications for organizations running the Windows Server 2003 operating system. Office Communications Server 2007 works with Microsoft Exchange Server 2007 to provide call answering and voice mail. The following overview focuses on components that participate in communications between the Office Communicator 2007 client and Office Communications Server 2007. Components that do not participate in such communication may or may not be mentioned in passing and are not described in greater detail. 2.1 Editions Office Communications Server 2007 is available in two editions: Standard Edition for organizations with 5000 or fewer users and Enterprise Edition for organizations with more than 5000 users. The two editions are functionally equivalent. For any defined group of users, only one of the editions is required. 2.2 Reference Architecture Figure 1 shows a reference topology for Office Communications Server 2007 Enterprise Edition, including servers performing various roles within the infrastructure, clients, thirdparty hardware devices, and the protocols that are used for communication among the various components. An equivalent Standard Edition topology would replace the Enterprise Edition Pool with a single Standard Edition Server. All other components and connections would be the same. 10 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Figure 1: Office Communications Server 2007 Reference Topology 2.3 Server Roles Office Communications Server 2007 includes multiple server roles, each performing a different function or set of functions within the Communications Server infrastructure. Some server roles are required for all deployments; others are optional, depending on the topology and functionality that are desired. This section briefly describes the basic functionality of all Office Communications Server 2007 server roles. 2.3.1 Standard Edition Server A Standard Edition server is installed on a single computer and includes all the components, server roles, and logic that are necessary to provide, IM, presence, and conferencing over an organization’s internal IP network. A Standard Edition server functions as a Session Initiation Protocol (SIP) registrar, presence server, and proxy server, as defined in [RFC3261]. In the role of registrar, the Standard Edition server maintains user data, including contacts, permissions, endpoints, and subscription information, in a Microsoft SQL Server Desktop Engine (MSDE) database on the Standard Edition server. Users who are enabled for Office Communications Server are said to be "homed" on the Standard Edition server where their data is stored. In the role of proxy server, the Standard Edition server accepts SIP requests that are directed to or sent by homed users and forwards them as specified in routing instructions contained in the SIP message headers. 11 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 In addition to functioning as a SIP registrar and proxy, Standard Edition Server also includes all the necessary components for initiating, maintaining, and terminating on-premise audio/video, Web conferences. These components include four conferencing servers and the Web Components Server, all of which are described separately below. 2.3.2 Enterprise Edition Pool An Enterprise Edition pool typically consists of two or more Front End Servers and a separate back-end SQL Server database. Users are registered not on a single Front End Server, but on the pool itself. Persistent user data is stored in the back-end database. Like a Standard Edition server, an Enterprise pool acts as a SIP registrar and proxy server and provides IM, presence, and conferencing services. 2.3.2.1 Front End Server Front End Servers in an Enterprise pool function as a logical unit: All Front End Servers in the pool must be configured identically and are addressable exclusively through a hardware load balancer. A single Front End Server without a load balancer is supported but not typical. The Enterprise Edition Front End Server is the functional equivalent of a Standard Edition server, except that the Front End Server does not store persistent user data. Depending on the chosen pool configuration, Front End Servers may or may not be collocated with one or more conferencing servers and the Web Components Server. 2.3.2.2 Enterprise Pool Configurations An Enterprise Pool can be deployed in one of two configurations: consolidated or expanded. In the consolidated configuration, all conferencing components are collocated on the Front End Servers. These components include the conferencing servers and the Web Components Server. These servers must be configured identically on each of the Front End Servers. In the expanded configuration, the Web Conferencing Server, A/V Conferencing Server, and Web Components Server can be deployed on separate, dedicated physical servers to enhance performance and scalability. 2.3.3 Conferencing Servers Content for on-premise conferences is managed by four conferencing servers: the IM Conferencing Server, Web Conferencing Server, A/V Conferencing Server, and Telephony Conferencing Server. These conferencing servers are also known as Multipoint Control Units (MCUs) because they integrate input from multiple endpoints into a single conference stream that is available to all participants. Each conferencing server manages a particular media type and communicates with conference clients using a protocol that is appropriate to each media type. All conferencing servers are collocated with the Standard Edition server or with Enterprise Edition Front End Servers that are deployed in the consolidated configuration. In the expanded configuration, the Web Conferencing Server, A/V Conferencing Server, and Telephony 12 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Conferencing Server can optionally be deployed on separate computers within the pool. The Web Conferencing Server does not communicate with the Office Communicator client and therefore is not described below. The IM Conferencing Server and Telephony Conferencing Server always run as separate processes on a Standard Edition server or on Enterprise Edition Front End Servers. They cannot be deployed on separate, dedicated computers. 2.3.3.1 IM Conferencing Server The IM Conferencing Server makes it possible to escalate a two-party IM session (5) to a multiparty IM conference. The IM Conferencing Server manages conference state, maintains a roster of participants (including participant roles and presence status), and exposes available conference commands. The IM Conferencing Server communicates with clients by using SIP. 2.3.3.2 A/V Conferencing Server The A/V Conferencing Server mixes audio and video feeds from each participant and returns the mixed signal to all conference participants. A/V content is exchanged through industrystandard Real-Time Transport Protocol (RTP) packets [RFC3550]. 2.3.3.3 Telephony Conferencing Server The Telephony Conferencing Server enables external audio conference participants who have not deployed Office Communications Server to participate through the services of a thirdparty audio conferencing provider. The provider enables conferencing over an external PSTN bridge. 2.3.4 Director The Director server role directs sign-in traffic to the appropriate home server or pool and authenticates users who are attempting to connect from points outside the organization's Internet firewall. A Director is highly recommended but not required for all organizations that have more than one Standard Edition server or Enterprise Edition pool, or that support outside users. In organizations with multiple Front End Servers or pools, the Director provides a single connection point for user sign in. In deployments that support connections from outside an organization’s firewall, a Director intercepts and authenticates all traffic originating from outside the firewall before directing it to the appropriate home server or pool. In this way, the Director insulates internal Office Communications servers from direct access by outside users. The Director role can be deployed on a single Standard Edition server or Enterprise Edition Front End Server or on an array of Enterprise Edition Front End Servers. If the Director is deployed on an array of Front End Servers, that array must be deployed between a pair of hardware load balancers. The Director functions exclusively as a SIP proxy and should not be configured to also function as a SIP registrar. That is, users should never be registered on a Director, because 13 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 doing so would allow outside users to connect directly to the pool and therefore could compromise security. 2.3.5 Archiving and CDR Server The Archiving and CDR Server makes it possible to monitor message content, call detail records such as the time or duration of a call, or both. The Archiving and CDR Server cannot be collocated with any other Office Communications Server 2007 server role. 2.3.6 Mediation Server The Mediation Server provides signaling and media translation between the Office Communications Server VoIP infrastructure and third-party PSTN gateways and private branch exchanges (PBXs) that do not natively support SIP and media extensions used by Office Communications Server 2007 and Office Communicator 2007. 2.3.7 Edge Servers Edge Servers enable users who are connecting over the Internet to send and receive instant messages, participate in conferences, and share presence information with users who are directly connected to an Office Communications Server deployment or with other Internet users. There are three edge server roles: the Access Edge Server, the Web Conferencing Edge Server, and the A/V Edge Server. Each edge server role acts as a single connection point for communications involving its corresponding type of media. Only the Access Edge Server and A/V Edge Server are described in the following sections. The Web Conferencing Edge Server is not discussed further because it does not communicate with the Office Communicator client. Edge servers are deployed in an organization’s peripheral network between an external firewall and an internal firewall. Ports open in the firewalls allow media traversal. Each type of edge server can be collocated with one or both of the others, or they can be deployed on dedicated computers. Edge Servers cannot be collocated with any other Office Communications Server 2007 server role. 2.3.7.1 Access Edge Server The Access Edge Server handles all SIP traffic across the corporate firewall. The Access Edge Server does not handle data transfer, nor does it authenticate users. authentication of inbound traffic is performed by the Director or the Front End Server. The Access Edge Server is essential for all external user scenarios, including conferencing, remote user access, federation, and public IM connectivity. 2.3.7.2 A/V Edge Server The Audio/Video Edge Server (A/V Edge Server) provides a single trusted connection point through which inbound and outbound media traffic can securely traverse NATs (network address translators) and firewalls. The industry standard solution for multimedia traversal of 14 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 firewalls is ICE (Interactive Connectivity Establishment), which uses the STUN (Simple Traversal Underneath NAT) and TURN (Traversal Using Relay NAT) protocols. The A/V Edge Server is a TURN server. 2.3.8 Quality of Experience Monitoring Server Microsoft® Office Communications Server 2007, Quality of Experience Monitoring Server, provides near real-time monitoring and service assessment of the media quality of VoIP calls. These quality metrics are aggregated and stored in a SQL database. The data can then be used to alert the system administrator to abnormal media quality conditions and also to generate routine media quality reports. 2.4 Office Communicator 2007 Office Communicator 2007 is the recommended unified communications client for Office Communications Server 2007. Office Communicator enables end users to access and use the IM, presence, telephony, and conferencing features that are provided by Office Communications Server 2007. These features include the following: Expanded presence information and user control over who sees it VoIP, voice mail, remote call control, and other telephony services Group IM based on Exchange distribution lists Multiparty audio/video conferencing Addition of audio and video to IM conversations 3 Protocols 3.1 Protocols List The protocols specified in the Office Communications Server 2007 Protocols Documentation set can be grouped into four categories: Session Initiation Protocol (SIP) protocol extensions, which are used to initiate, modify, and terminate multimedia sessions. Conferencing protocol extensions, which are used to establish a conference and maintain its state. Media protocols, which negotiate and exchange audio and video data among participants of a multimedia session. Other protocols, which provide additional distribution list, address book, and error reporting services. 15 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Table 1 lists the protocols specified in the Office Communications Server Protocols Documentation set. Table 1: Office Communications Server Protocol Documentation Set Protocols Protocol Description Protocol Document Short Name [MS-CONMGMT] SIP PROTOCOL EXTENSIONS Connection Describes the functional behavior for a client Management to automatically discover the address of the Protocol server, and for maintaining a persistent, reliable, in-order transport between them. SIP Compression Describes a SIP extension to compress data Protocol between the client and the server. The SIP Compression Protocol uses a modified form of the Microsoft Point-to-Point Compression Protocol (MPPC), as described in [RFC2118], to compress SIP data. SIP Describes SIP extensions used for Authentication authentication between the Office Extensions Communicator 2007 and Office Communications Server 2007. SIP Routing Describes SIP extensions for routing. SIP Extensions Routing Extensions also include extensions to SIMPLE-based presence, as specified in [RFC3261] and [RFC3265]. SIP Registration Describes SIP extensions to enable Office Extensions Communications Server to provision clients as part of the registration process. Presence Protocol Describes SIP extensions to enable Office Communications Server 2007 to support enhanced presence capabilities in Office Communicator. SIP Extensions Describes SIP extensions for the interface for PSTN Calls between Microsoft Office Communicator 2007 and Office Communications Server 2007 to interface with PSTN (public switched telephone network) and PBX. Call Control Describes SIP extensions that allow Office Protocol Communicator users to play voice messages Extensions for and use voice commands to manage their Exchange Unified Exchange Unified Messaging mailbox. Messaging CONFERENCING PROTOCOL EXTENSIONS [MS-SIPCOMP] [MS-SIPAE] [MS-SIPRE] [MS-SIPREGE] [MS-PRES] [MS-OCPSTN] [MS-OCEXUM] 16 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Protocol Description Centralized Describes the use of C3P by Office Conference Communicator 2007 for creating conferences Control Protocol hosted by Office Communications Server (C3P): 2007. Provisioning Protocol Centralized Describes the use of C3P by Office Conference Communicator 2007 for activating Control Protocol: conferences and remaining synchronized Basic with the state of a conference that is hosted Architecture and by Office Communications Server 2007. Signaling Specification Centralized Describes extensions to [MS-CONFBAS] Conference that are used by Office Communicator 2007 Control Protocol: during multiparty IM conferences that are Instant Messaging hosted on Office Communications Server Extensions 2007. Centralized Describes extensions to [MS-CONFBAS] Conference that are used by Office Communicator 2007 Control Protocol: during multiparty audio/video conferences Audio/Video that are hosted by Office Communications Extensions Server 2007. MEDIA PROTOCOL EXTENSIONS Audio/Video Describes extensions to SDP that enable Session Office Communicator 2007 to negotiate Description advanced media session capabilities with Protocol (SDP) Office Communications Server 2007. Extensions Audio/Video Provides clients with Office Edge Communications Server 2007 security Authentication tokens, which are used to authenticate clients Protocol with an Office Communications Server 2007 component called the Audio/Video Edge Servers (A/V Edge Servers). Interactive Establishes audio and video RTP streams Connectivity between two endpoints in a way that allows Establishment them to traverse Network Address (ICE) Extensions Translation (NAT) computers and firewalls. Traversal Using Enables a client behind a NAT or a firewall Relay NAT to acquire a transport address from a TURN (TURN) server that is located in the Internet. The Extensions client can then provide this transport address to the external peer, which can use it to establish connectivity and to exchange media with Office Communications Server 2007. Protocol Document Short Name [MS-CONFPRO] [MS-CONFBAS] [MS-CONFIM] [MS-CONFAV] [MS-SDPEXT] [MS-AVEDGEA] [MS-ICE] [MS-TURN] 17 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Protocol Real-Time Transport Protocol (RTP) Extensions Description Extends the standard Real-Time Transport Protocol [RFC3550]. The extensions define features such as dominant speaker notification, enhanced host security, bandwidth estimation, and lost packet notification. Secure Real-time Provides a framework for encryption and [MS-SRTP] Transport message authentication for both RTP and Protocol (SRTP) RTCP streams. The client and server use Protocol SRTP when exchanging RTP traffic in either direction. Scale Secure Provides the same functionality as SRTP, but [MS-SSRTP] Real-time improves performance in scenarios where the Transport same RTP payload is distributed to multiple Protocol (SSRTP) receivers. Protocol RTP Payload for Describes a payload format that contains [MS-RTPRADEX] Redundant Audio redundant audio encoding to help reduce Data Extensions packet loss. If a packet is dropped, redundant data is carried in a subsequent packet so that the lost data can be reconstructed. RTP Payload for Describes the payload format for [MS-DTMF] DTMF Digits, transmitting dual-tone multi-frequency Telephony Tones, (DTMF) signaling, tone signals, and and Telephony telephony events in RTP packets. Signals Extensions RTP Payload Describes the payload format for [MS-H263PF] Format for H.263 encapsulating an H.263 video stream. Video Streams Extensions RTP Payload Describes the RTP payload format for [MS-RTVPF] Format for encapsulating an RTVideo (real-time video) RTVideo Streams stream. XML Schema for Extends the XML message semantics for [MS-XMLMC] Media Control carrying video control messages in SIP INFO Extensions methods. In multiparty video sessions, these extensions provide a mechanism that freezes unused video streams, thereby minimizing the load on the network. OTHER PROTOCOL EXTENSIONS Distribution List Describes a protocol for Office [MS-DLX] Expansion Communicator 2007 to discover members of Protocol a distribution list. Protocol Document Short Name [MS-RTP] 18 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Protocol Address Book File Structure Description Client Error Reporting Protocol Quality of Experience Monitoring Server Protocol Describes the format of the Address Book files that are produced daily by the Address Book Server and accessed by clients to get information about users and groups stored in Active Directory (AD) (1). Describes a mechanism whereby a server can [MS-OCER] report errors encountered while fulfilling client requests and can send additional troubleshooting information to clients. Specifies the Quality of Experience [MS-QoE] Monitoring Server Protocol, which is used for publishing audio and video Quality of Experience (QoE) metrics. Protocol Document Short Name [MS-ABS] 3.2 Session Initiation Protocol (SIP) 3.2.1 SIP Overview The Session Initiation Protocol (SIP) specifies the fundamental communications infrastructure on which Office Communications Server 2007 is built. SIP is formally described in the IETF (International Engineering Task Force) reference specifications [RFC3261], [RFC3262], [RFC3263], and [RFC3863]. The Microsoft implementation of SIP is described in [MS-SIP]. Microsoft has also implemented additional SIP extensions that are specific to Office Communications Server. These extensions support functionality that is either unsupported or only partially supported by the reference specifications cited above. This document provides an overview of these extensions and refers readers to companion protocol documentation that describes each extension in detail. 3.2.2 SIP Extensions for Office Communications server 2007 Office Communications Server 2007 extensions to SIP are summarized in the Protocols List. The remainder of this overview provides additional information about these extensions. For authoritative descriptions of these extensions, see the protocol documents listed in the Protocols List. 3.2.2.1 SIP Connection Management Extensions [MS-CONMGMT] SIP Connection Management Extensions provide specifications of the functional behavior for a client to automatically discover the address of its SIP outbound proxy and for maintaining a persistent, reliable, in-order transport between the client and the proxy. The SIP Connection Management Extensions specify the following: A mechanism for a client to automatically discover its SIP outbound proxy 19 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 The certificate requirement for the TLS [RFC2246] channel from the client to the server A mechanism to negotiate keep-alive capability between the client and server A mechanism for sending keep-alive on the established connection 3.2.2.2 SIP Compression Protocol [MS-SIPCOMP] The SIP Compression Protocol provides a way to perform compression between the client and its first hop SIP proxy. The SIP Compression Protocol defines the usage of a modified form of the Microsoft Point-to-Point Compression Protocol (MPPC) to perform compression of SIP data. The SIP Compression Protocol also defines the protocol for negotiating compression capability. Both client and server can operate as the sender of compressed data. [MS-SIPCOMP] begins immediately following Transport Layer Security (TLS) negotiation. A SIP Compression Protocol session has two phases, negotiation and transport. In the negotiation phase, the client and server exchange a compression negotiation request and a compression negotiation response. In the transport phase, the client and server exchange compression packet headers and data. [MS-SIPCOMP] compresses data carried over a TLS channel on top of a TCP connection [RFC793], which guarantees in-order transport instead of assuming unreliable transport, 3.2.2.3 SIP Authentication Extensions [MS-SIPAE] SIP Authentication Extensions specify extensions for authentication functionality to the SIP protocol. [MS-SIPAE] specifies NT LAN Manager (NTLM) and Kerberos authentication schemes based on the general authentication framework described in [RFC3261]. It also defines the details and extensions for the Asserted Identity (based on [RFC3325] and Referred-By (based on [RFC3892]) mechanisms as they are employed in the protocol between an Office Communicator Client and Office Communications Server 2007. [MS-SIPAE] implements a proprietary Kerberos and NTLM authentication mechanism that is used by the client for client-to-server authentication and mutual signing of messages by both the client and the server. 3.2.2.4 SIP Routing Extensions [MS-SIPRE] The SIP routing extensions address SIP message routing requirements in Office Communications Server 2007 that are not addressed in [RFC3261]. These requirements include: Unique identifiers for client endpoints in SIP topologies where an entity, such as an instance of a conference, is not addressable by an IP address or fully qualified domain name (FQDN) or where multiple endpoints may represent a single user or service. 20 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Extensions to SIP URI and header field syntax to ensure that SIP messages are processed consistently and reliably in SIP topologies featuring multiple redundant servers and where clients and servers are separated by a firewall or network address translation (NAT) device. A mechanism whereby a client can specify the subset of phone number normalization rules the server should use to resolve partially specified phone numbers for a particular location, such as internal extensions or local numbers that are entered without the appropriate calling codes. A way for a client to describe all the endpoints that should receive calls directed to a particular user and to define routing parameters to be used by the server when processing such calls. Extensions that enable a client inside the enterprise firewall to determine whether an incoming SIP request from the outside the firewall originates with a remote user, a federated partner, or a public IM provider. 3.2.2.5 SIP Registration Extensions [MS-SIPREGE] [MS-SIPREGE] defines new header fields and new option tags for existing header fields for the SIP REGISTER request. These extensions support the following new functionality in Office Communications Server 2007: Enhanced presence extensions as described in [MS-PRES]. Enhanced presence provides a way for users to customize their personal information and assign permissions to various portions of that information to different classes of users in their contact lists. Globally Routable User Agent URI as described in [IETFDRAFT-OUGRUAUSIP10] and [MS-SIPRE]. The GRUU provides a way of identifying specific user endpoints from among the several possible endpoints that a single user might have. The GRUU also provides a way to identify and connect to endpoints and services that otherwise would be unavailable. In-band provisioning, as described in [MS-SIPREGE]. In-band provisioning enables clients to obtain configuration and other data from the SIP registrar server at the time of registration. Automatic client discovery of its next-hop outbound server as described in [MSCONMGMT]. Undoing a previous registration, as described in [MS-SIPREGE]. 21 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 3.2.2.6 Presence Protocol [MS-PRES] The Presence Protocol extends SIP, as specified in [RFC3261], and SIMPLE-based presence, as specified in [RFC3261], [RFC3265], and [RFC3863] and previous extensions introduced in [MS-SIP], to provide support for the "enhanced presence" model introduced in Office Communications Server 2007. [MS-PRES] also defines the mechanisms whereby the enhanced presence model interoperates with the legacy presence model described in [MSSIP]. Enhanced presence defines a mechanism whereby users who are enabled for Office Communications Server can publish their personal presence data and subscribe to presence data published by others. Enhanced presence also provides a way for users to exercise greater control over what types of personal information are available to various groups of users. 3.2.2.7 SIP Extensions for PSTN Calls [MS-OCPSTN] Office Communicator can interface with other traditional telephony networks, such as a public switched telephone network (PSTN) and an Enterprise PBX or IP-PBX. To enable this interface, [MS-OCPSTN] specifies SIP header fields that: Designate a remote SIP user agent as a network gateway. Enable a SIP URI to hold an address of a dial string that is given by a user. Indicate the origin of the call so that redundant loops between an integrated PBX and VoIP system can be identified and avoided. Enable a SIP user agent to indicate that it can receive an SDP [RFC4566] answer in a non-reliable 183 response to an INVITE message. 3.3 Call Control Protocol Extensions for Exchange Unified Messaging (UM) [MS-OCEXUM] The Exchange Server 2007 Unified Messaging server is one of several server roles that you can install and configure on a computer that is running Exchange 2007. Exchange Unified Messaging combines voice messaging and e-mail messaging into a single store that is accessible from a telephone or computer. It provides the following services: Call Answering. Call answering is the taking of voice messages on behalf of users whose extensions are not answered or are busy. It includes playing a personal greeting, recording a message, and submitting the message to the Exchange Hub Transport Server to be queued up for eventual delivery to the user’s mailbox, which is stored on the Exchange mailbox server. If a caller leaves a message, the message is sent to the user’s inbox. If a caller chooses not to leave a message, a missed call notification is stored in the user’s mailbox. 22 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Outlook Voice Access. Outlook Voice Access enables an Enterprise Voice user to access not just voice mail, but the Exchange inbox including e-mail, voice messages, calendar, and contacts from a telephony interface. The subscriber access number is assigned by an Exchange UM administrator. Auto-Attendant. An auto-attendant is a feature of Exchange 2007 Unified Messaging that configures a phone number that outside users can dial to reach company representatives. In particular, it provides a series of voice prompts that assist an external caller in navigating a menu system. The list of available options is configured by the administrator on the Exchange Unified Messaging server. Exchange Unified Messaging and Office Communications Server work together to provide call answering, Outlook Voice Access, and auto-attendant services. Microsoft has defined an extension to SIP that enables telephone calls between Office Communicator clients and the Exchange Unified Messaging server so that users can access these services. [MS-OCEXUM] describes how Microsoft has extended SIP by adding headers and parameters that allow the user to play voice messages and to manage the unified messaging mailbox using voice commands. 3.4 Centralized Conference Control Protocol (C3P) The Centralized Conference Control Protocol (C3P) is used by clients, Front End Servers, and conferencing servers to establish and maintain the state of a conference. As shown in Figure 2, two entities on the Front End Server manage conference activation and state. The first entity is the Focus Factory, which creates conferences in response to requests from scheduling clients. The second entity is the Focus, which represents a single instance of a conference and is responsible for maintaining the state of the conference for its duration. Between the clients and the Focus Factory or Focus, C3P commands are transported through SIP commands. Between the Focus Factory or Focus and the conferencing servers, C3P commands are transported over HTTPS [RFC2818]. 23 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Figure 2: Centralized Conference Control Protocol (C3P) Reference Architecture Office Communications Server conferencing uses three categories of C3P, which are documented in the following protocol specifications: [MS-CONFPRO] Centralized Conference Control Protocol – Provisioning. This specification describes the use of C3P during conference creation. [MS-CONFBAS] Centralized Conference Control Protocol – Basic Architecture and Signaling. This specification describes the use of C3P for conference activation and ongoing communication of conference state between clients, Front End Servers, and conferencing servers. [MS-CONFIM] Centralized Conference Control Protocol Instant Messaging Extensions. This specification describes extensions to C3P that are used for communicating with the IM conferencing server. [MS-CONFAV] Centralized Conference Control Protocol: Audio/Video Extensions. This specification describes extensions to the [MS-CONFBAS] protocol that allow for centralized processing of audio and video data by the A/V Conferencing Server. 3.4.1 C3P for Provisioning [MS-CONFPRO] When a scheduling client creates a new meeting, the Focus Factory receives information about the organizer, conference options, and participants, and creates data records for the conference in the conferencing database. The Focus Factory then creates the conference URI, which forms the basis for the join URL that is distributed to participants. The URI contains information clients will use to connect to the Focus. 24 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 The following are the primary actions performed by the Focus Factory: Queries the database for a list of created conferences Queries the details of a created conference Deletes an existing conference Performs ancillary operations necessary to create a conference Scheduling clients use C3P to exchange conference creation and control commands with the Focus Factory. Clients send commands to the Focus Factory by using C3P commands in SIP SERVICE or INFO messages. SIP requests and responses are specified in [RFC3261]. The use of C3P during conferencing provisioning is described in the Centralized Conference Control Protocol – Provisioning specification [MS-CONFPRO]. 3.4.2 C3P Basic Architecture and Signaling [MS-CONFBAS] When the first participant joins a conference, an instance of the conference, called the Focus, is created on the Front End Server. A separate Focus is created for each active conference. The Focus is a SIP user agent that maintains the state of the conference for its duration. The Focus performs the following functions: Authenticates and authorizes participants according to the organizer’s meeting policy, as assigned by the server administrator Maintains a list of participants in the meeting that includes the following: o Participants who are connected to the Focus o Participants who are connected to each conferencing server Maintains changes to user roles during the meeting Maintains the state for each conferencing server Maintains the state of the meeting (such as locked/unlocked) During conference activation, a client joins the conference by submitting a SIP INVITE request, which contains an addUser C3P command within the body of the SIP message. A SIP dialog is opened between the Focus and the client, and conference event subscription and publication commands are exchanged using C3P over SIP. During activation, the Focus also enlists the appropriate types of media servers for the conference based on the media types selected when the meeting was scheduled. The Focus 25 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 sends an addConference C3P command to all enlisted conferencing servers, and the servers in turn allocate resources to the conference. In its notifications to the clients, the Focus provides the URIs for the conferencing servers that will be used during the meeting. A client establishes a connection to a conferencing server by sending an addUser C3P command containing the server URIs. The Focus authorizes the command from the client and proxies it to the appropriate conferencing server. In turn, the conferencing server constructs an addUser C3P response that contains contact information for connecting to the server. The use of C3P during conferencing activation is described in the [MS-CONFBAS] Centralized Conference Control Protocol – Basic Architecture and Signaling specification. 3.4.2.1 Conference State Maintenance During the conference, the Focus maintains the state of the conference with the conferencing servers using C3P commands transported over HTTPS. When a client issues a request, the Focus verifies that a client is authorized to perform the request, and then it sends the command to the appropriate conferencing servers. If the client issues a request that requires no processing by the Focus, the Focus transparently proxies the C3P command to the conferencing server. The server sends a C3P notification containing the updated conference state to the Focus, and the Focus notifies all clients of the updated state. If new media types are required during the conference, the Focus enlists the appropriate conferencing server or servers. After the appropriate conferencing servers are enlisted, media data is exchanged directly between the clients and conferencing servers using media-specific conferencing protocols. 3.4.2.2 Meeting Deactivation If an organizer or presenter manually ends the meeting, or all participants leave the meeting, the meeting is deactivated. When a meeting is deactivated, all remaining attendees are disconnected, and all transient state information is deleted from the server. The Focus sends a deleteConference C3P command to all of the conferencing servers that were allocated to the meeting. The Focus instance of the meeting is then removed from the Front End Server. The general framework for using SIP to initiate, modify, and terminate media sessions involving multiple participants is defined in [RFC4353]. The SIP conference state event package, which is used between servers and clients to communicate membership and state updates, is defined in [RFC4575]. In the Microsoft implementation, the underlying XML structure and data types are the same as those defined in [RFC4575]. However, there are some key differences. The extensions to [RFC4353] and [RFC4575] that Microsoft defines for conference activation, control, and deactivation tasks are specified in [MS-CONFBAS]. 3.4.3 Centralized Conference Control Protocol IM Extensions [MS-CONFIM] As mentioned in the Section 3.4.2, "C3P Basic Architecture and Signaling [MS-CONFBAS]", the Focus enlists the conferencing servers that are needed during a conference. If a conference 26 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 includes instant messaging, the Focus enlists an IM conferencing server. During the conference, some of the C3P control commands that are exchanged between the client and the IM conferencing server contain extensions to C3P. These extensions supplement the conference-info XML schema with information about the following: Client capabilities specific to instant messaging (communicated in the conference-info element) The IM formats that are supported by the IM Conferencing Server (communicated to clients through the endpoint and endpoint-capabilities elements conference state notify messages) How the client establishes the IM media session with the server The XML schema for sending the Instant Message Delivery Notifications (IMDNs). The use of multipart MIME [RFC2045], [RFC2046] for exchanging IM messages between the IM conferencing server and the client. The [MS-CONFIM] specification describes the IM extensions to C3P. When the client sends an IM to the server on the media session of a conference, the server forwards the IM to all the other participants connected to the conference. It also sends notifications to senders about any failures in forwarding the message. 3.4.4 Centralized Conference Control Protocol: Audio-Video Extensions [MSCONFAV] As mentioned in the Section 3.4.2, "C3P Basic Architecture and Signaling [MS-CONFBAS]," the Focus enlists the conferencing servers that are needed during a conference. If a conference includes audio and video, the Focus enlists an Audio/Video Conferencing Server. The Audio/Video Conferencing Server maintains a separate communication session with each client for transferring RTP Audio and RTP Video media types. It also generates and maintains a roster of the endpoints to which it is connected. The Conferencing Call Control Protocol: Audio-Video Extensions Protocol Specification [MS-CONFAV] specifies extensions to the [MS-CONFBAS] protocol that allow for centralized processing of audio and video data by the A/V Conferencing Server. After the Focus sends the conferencing server URI and conference state information to the client, the client constructs a SIP INVITE message (dial-in request) that contains the SDP offer content. The SDP offer specifies the type and format of audio or video media that will be passed between the sender and receiver during a session. [MS-CONFAV] gives specifications for the SDP offer that the client constructs in its outgoing SIP INVITE message to the Audio/Video Conferencing Server. It also gives specifications for the outgoing addUser dialout request, the addUser dial-in request, and the modifyEndpointMedia request sent between the client and the Audio/Video Conferencing Server. 27 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 The [RFC4575] standard describes the Conference Document, which specifies the XML structure for conveying conference information. As described in the previous section, [MSCONFBAS] uses the same general underlying XML data types to represent conference media as [RFC4575], but it specifies certain exceptions. In particular, although [RFC4575] specifies one container for all conference-wide media, [MS-CONFBAS] defines separate conferencing servers (also called multipoint control units, or MCUs) for different types of media. [MSCONFBAS] also specifies a separate container for each conferencing server, which contains the conference information specific to the conferencing server. In addition, within the container, [MS-CONFBAS] defines a element, which serves as a container for the conference media instances that are associated with a particular conferencing server. [MS-CONFAV] describes the XML schema types that are specifically used by the Audio/Video Conferencing Server. 3.5 Session Description Protocol Extensions for Audio and Video [MSSDPEXT] The Session Description Protocol is an application layer protocol that is used to negotiate and define a multimedia session. As described in Section 3.9, "Real-Time Transport Protocol," the protocols that are used to exchange media all depend on SDP to establish the parameters regarding the type of media that is about to be passed between the sender and receiver. Additionally, SRTP requires SDP to establish the cryptographic parameters that will be used in the media stream. [RFC4566] specifies a set of required and optional attributes that make up an SDP session description. [MS-SDPEXT] defines the key parameters of the a=crypto, a=cryptoscale, and a=encryption attributes, defines two new payload types (RTAudio and RTVideo), and defines the scenarios in which early media is supported. In addition, it specifies how in the Office Communications Server 2007 implementation SDP and related protocols are extended or implemented differently than specified in [RFC4566]. 3.6 Audio Video Edge Authentication Protocol [MS-AVEDGEA] The Audio/Video Edge Server provides a single trusted connection point through which audio and video traffic enters and exits a private network. To send media into an enterprise, a remote client must be authenticated. There are two scenarios in which an external client sends media into an enterprise: The authenticated external client calls an authenticated internal client or server (for example, a Mediation Server). The authenticated external client calls another authenticated external client. An external Office Communicator client becomes authenticated by signing into Office Communications Server, thereby establishing an authenticated SIP session. Within the context 28 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 of this authenticated, encrypted SIP session, the client can obtain authentication credentials from the A/V Authentication Service. The external client authenticates itself with the A/V Edge Server and obtains media session ports on the server for use in the upcoming call. Microsoft uses a proprietary protocol, Audio/Video Edge Authentication Protocol [MSAVEDGEA], to provide clients with Office Communications server security tokens. These tokens are used to authenticate clients with an Audio/Video Edge Servers. 3.7 Interactive Connectivity Establishment (ICE) Extensions [MS-ICE] Interactive Connectivity Establishment (ICE) specifies a protocol for setting up audio and video RTP streams between two endpoints, for example, Office Communicator clients, in a way that allows them to traverse Network Address Translators (NAT). When a signaling protocol, such as SIP, sets up an audio or video session, it contains the IP addresses and ports for each client. If a NAT is present between the clients, it performs address translation on the IP addresses and ports, which can break end-to-end connectivity. ICE establishes connectivity even if a NAT is present by using protocols such as Simple Traversal of User Datagram Protocol (UDP) through NAT (STUN) [IETFDRAFT-STUN-02] and Traversal Using Relay NAT (TURN) [MS-TURN]. To establish connectivity and facilitate the flow of media between two clients, ICE gathers one or more potential transport addresses that the endpoints can use to communicate. Then ICE determines which transport address will provide the best connectivity between the clients. In Office Communications Server 2007, ICE has been implemented according to [IETFDRAFT-ICENAT-06]. Areas in which the protocol has been further defined or extended are specified in the [MS-ICE], Interactive Connectivity Establishment (ICE) Extensions: Protocol Specification. In certain cases, Microsoft has established requirements for items that are described as optional in [IETFDRAFT-ICENAT-06]. Also included in [MSICE] are specifications for how the ICE protocol has been extended or implemented differently from [IETFDRAFT-ICENAT-06]. 3.8 Traversal using Relay NAT (TURN) Extensions [MS-TURN] The presence of a NAT between two clients who want to exchange audio and video data can interfere with connectivity, because the NAT performs address translation on the IP addresses and ports. Traversal Using Relay NAT (TURN), as specified in [IETFDRAFT-TURN-08], is a mechanism that enables a client behind a NAT to acquire a transport address from a TURN server that is located in the public Internet. The client can then provide this transport address to the external peer, who can use it to establish connectivity and exchange media. The Traversal Using Relay NAT (TURN) Extensions Protocol [MS-TURN] is used between Microsoft Office Communicator and a Microsoft Office Communications Server as part of the protocol specified in [MS-ICE]. [MS-TURN] specifies Microsoft extensions to the TURN protocol. 29 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 3.9 Real-Time Transport Protocol During an Office Communications Server conference that includes audio or video, the client connects to the Audio/Video Conferencing Server, and media is exchanged through RTP packets. An RTP session is established by SIP/SDP, which manages the negotiation for the RTP session, including defining the transport, payload, and security parameters. RTP and its associated control protocol, Real-Time Transport Control Protocol (RTCP), are formally described in [RFC3550]. In addition, [RFC3551] defines the set of payload type codes and payload formats for audio and video. Office Communications Server 2007 extensions to RTP are documented in the following protocol specifications: [MS-RTP] Real-time Transport Protocol (RTP) Extensions. This specification describes the Microsoft-specific extensions to RTP [RFC3550] and the Audio/Video Profile [RFC3551] for dominant speaker notification, enhanced host security, bandwidth estimation, and lost packet notification. [MS-SRTP] Secure Real-Time Transport Protocol (SRTP) Extensions. This specification describes the Microsoft-specific extensions to [RFC3711] for SRTP. [MS-SSRTP] Scale Secure Real-Time Transport Protocol (SSRTP) Extensions. This specification describes the Microsoft-specific extensions to [MS-SRTP] for the addition of a new AES Counter Mode encryption algorithm and the processing sequence for SSRTP packets. [MS-RTPRADEX] RTP Payload for Redundant Audio Data Extensions. This specification describes the payload format that is used to provide redundancy when transmitting audio frames across a network that uses lossy compression. [MS-DTMF] RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Extensions. This specification describes the payload format that is used for transmitting telephony digits, tones, and signals in RTP packets. [MS-H263PF] RTP Payload Format for H.263 Video Streams Extensions. This specification describes the payload format that is used to packetize H.263 video frames and transmit them using RTP. [MS-RTVPF] RTP Payload Format for RTVideo Streams. This specification describes the payload format that is used to packetize RTVideo frames and transmit them using RTP. 30 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 3.9.1 Real-time Transport Protocol (RTP) Extensions [MS-RTP] Microsoft has implemented extensions to RTP [RFC3550] and the Audio/Video Profile [RFC3551] that enable or supplement the following features: Dominant speaker notification for identification of the current speaker. Synchronization Source (SSRC)/Sequence Number change throttling for protection against attacks that artificially increase resource usage on a host. Bandwidth estimation to calculate the bandwidth on the link between the sender and receiver. Packet loss notification for quick recovery from lost packets. 3.9.2 Secure Real-Time Transport Protocol (SRTP) Protocol [MS-SRTP] Secure Real-Time Transport Protocol (SRTP) is an extension of the RTP Audio/Video Profile. SRTP provides a framework for encryption and message authentication for both RTP and RTCP streams. SRTP also provides replay protection, which protects against unauthorized storage and replaying of packets. Office Communicator and Office Communications Server use SRTP when exchanging RTP traffic, both from client to server and from server to client, as shown in Figure 3. During an exchange of RTP profile data, the sender uses SRTP to encrypt and authenticate the RTP and RTCP packets. On the receiver side, the packets are authenticated and decrypted before being passed along to other profiles. SRTP works with the RTP payload formats discussed earlier in this section As with RTP, all capability negotiation, session establishment, and session control is managed by SIP and SDP. Figure 3: Basic SRTP packet processing The Secure Real-time Transport Protocol (SRTP) [RFC3711] defines a set of default cryptographic transforms for SRTP and its control protocol, Secure Real-Time Transport Control Protocol (STRCP). It also provides a framework for using other encryption and authentication algorithms with different parameters. In Office Communications Server 2007, SRTP parameter settings have been implemented as specified in [MS-SRTP]. In certain cases, [RFC3711] is extended or implemented differently in Office Communications Server 2007. 31 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 3.9.3 Scale Secure Real-Time Transport Protocol (SSRTP) Protocol [MSSSRTP] Scale Secure Real-Time Transport Protocol (SSRTP) [MS-SSRTP] is a Microsoft proprietary extension of SRTP. SSRTP provides the same functionality as SRTP but improves performance in scenarios where the same RTP payload is distributed to multiple receivers. [MS-SSRTP] defines the cryptographic transform that is used to accomplish the goals of SSRTP. The cryptographic transform used by SSRTP differs from SRTP in packet format, encryption parameters, and message authentication processing, as shown in Figure 4. Figure 4: Basic SSRTP packet processing SSRTP uses the same parameters and algorithms as those specified in [MS-SRTP]. However, the SSRTP protocol provides a new AES Counter Mode encryption algorithm and outlines the SSRTP packet processing sequence. 3.9.4 RTP Payload for Redundant Audio Data Extensions [MS-RTPRADEX] The RTP Payload for Redundant Data [RFC2198] specifies a payload format that contains redundant audio encoding to help reduce packet loss. If a packet is dropped, redundant data is carried in a subsequent packet so that the lost data can be reconstructed. Microsoft has implemented extensions to [RFC2198], which are documented in [MSRTPRADEX]. 3.9.5 RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Extensions [MS-DTMF] The RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals [RFC4733] specifies a payload format for transmitting dual-tone multifrequency (DTMF) signaling, tone signals, and telephony events in RTP packets. [RFC4733] describes the mechanism for both in band and out of band telephony digits, tones, and signals. Office Communications Server and Office Communicator support only out-of-band transmission of digits and tones. Any of the descriptions of in-band transmission of digits and tones in [RFC4733] do not apply to Office Communications Server. For out-of-band transmission of digits and tones, Microsoft has implemented extensions to [RFC4733], which are documented in [MS-DTMF] RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals Extensions. 32 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 3.9.6 RTP Payload Format for H.263 Video Streams Extensions [MS-H263PF] The RTP Payload Format for H.263 Video Streams [RFC2190] specifies a payload format for H.263, which is a compression format that is used in videoconferencing. The H.263 payload format encapsulates an H.263 bitstream for transport in RTP packets. During two-party calls, Office Communicator uses the H.263 payload format to capture and transmit video streams, and to receive and render video streams. In the Office Communicator implementation, H.263 video frames are fragmented and packetized using the mechanism described in [RFC2190], and the H.263 payload format follows the specifications in [RFC2190]. The H.263 video frame is reconstructed by concatenating the H.263 video payload data contained in all of the RTP packets for the video frame. [RFC2190] describes three H.263 video stream modes, which vary by network packet size and the H.263 encoding options. Microsoft has implemented extensions that support only mode A and mode B as described in [RFC2190]. 3.9.7 RTP Payload Format for RTVideo Streams [MS-RTVPF] Office Communicator 2007 uses the real-time video stream transmission protocol (RTVideo) to transmit video streams that are encoded using the RTVC1 codec. The RTVideo stream payload format encapsulates an RTVC1 bitstream for transport in RTP packets. During twoparty peer-to-peer calls, Office Communicator uses RTVideo to capture and transmit video streams, and to receive and render video streams. RTVideo is also used during multiparty conferences to transport video streams between Office Communicator and Office Communications Server. In the Office Communicator implementation, RTVideo video frames are fragmented and packetized using the mechanism described in [SMPTE-VC-1] and RTVC1. The H.263 video frame is reconstructed by concatenating the H.263 video payload data contained in all of the RTP packets for the video frame. [MS-RTVPF] specifies four RTP payload formats and specifies header formats for each of these payload formats. 3.10 XML Schema for Media Control Extensions [MS-XMLMC] During multiparty video sessions, video is managed by Office Communications Server, which acts as a central video processor (CVP). Office Communications Server receives multiple RTP video streams, processes them, and distributes the resulting streams to participants. In multiparty sessions where many clients are sending video, only a portion of the video sources can be displayed at any one time. To minimize the impact on the network and the server, unused video streams should be stopped before they are sent. The mechanism that Office Communications Server uses to freeze unused video streams consists of using the SIP INFO method [RFC2976] to transmit a control message. 33 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 In a session that is initiated by SIP, applications can use the SIP info method to convey application-specific information, as specified in [RFC2976]. Because video sessions in Office Communications Server are initiated by SIP, the media control messages that facilitate video management can be carried in SIP INFO methods. The Internet-Draft Proposal entitled "XML Schema for Media Control" [IETFDRAFT-XMLSMC-12] specifies the XML message semantics for carrying video control messages in SIP INFO methods. It defines a MIME content type for XML-encoded media control messages, and specifies the XML message semantics for conveying information about media control primitive type, video control primitive type, and a video encoder control primitive types. It also defines a video encoder control primitive named , which requests the sender of an RTP video stream to send a full video frame update as soon as possible. Microsoft has extended the XML message semantics and schema defined in [IETFDRAFTXMLSMC-12] by adding a control message, which is defined in XML Schema for Media Control: Microsoft Extensions [MS-XMLMC]. The control message requests the sender to stop sending its video stream without changing any SIP session state. The message and the message defined in [IETFDRAFT-XMLSMC-12] provide a lightweight and low-latency signaling mechanism for pausing and restarting video streams. 3.11 Distribution List Expansion Protocol [MS-DLX] Office Communications 2007 introduces a new feature which allows users to add mailenabled groups that exist in Active Directory to their contact lists. These mail-enabled groups, otherwise knows as distribution groups, can be expanded to show a list of address entries. These address entries can represent individuals or other distribution lists. When a user adds a distribution group to the contact list, he or she is simply adding the URL of the distribution group. If a user wishes to expand the distribution group, the client sends a request to the server with this distribution group address. In order to know which server for the client to connect to it can get the FQDN of the server using another channel such as SIP. The server provides the address entries in the specified distribution group through in-band provisioning. The protocols used to achieve this request and response are SOAP (Simple Object Access Protocol [IETFDRAFT-SIPSOAP-00] and WSDL (Web Services Description Language) [WSDL]. SOAP is used over HTTPS [RFC2818]. HTTPS is used over TCP [RFC793]. 3.12 Address Book File Structure [MS-ABS] Office Communicator 2007 downloads the entire enterprise address book to the client for enabling user search and related contact information. This download is generated by an Office Communication Server component called Address Book Server. Each day, the Address Book Server performs the following tasks: Retrieves contact information from an SQL Server Back-End Database (or an SQL Server Express Edition database stored on a Standard Edition Server). 34 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Generates a set of compressed full files and delta files, which are stored in a standard NTFS folder. The advantage of the full file and delta file generation is that it minimizes the impact of the client download. When an Office Communicator client logs on to its Enterprise pool or Standard Edition Server, it receives a URL to the NTFS folder. By using this URL, the client uses the HTTP GET protocol to retrieve a full file the first day it connects to the server and delta files on subsequent days. The information in these files is sent to the client in an encoded format whose schema is specified in [MS-ABS]. 3.13 Client Error Reporting Extension [MS-OCER] This SIP protocol extension defines diagnostic headers that the server can use to notify the client of errors that occurred while processing a client request. These headers can specify client error handling behaviors or recommend troubleshooting procedures. In the event a request fails, the SIP client can upload collected diagnostic data to the SIP server for analysis or troubleshooting. 3.14 Quality of Experience (QoE) Monitoring Server Extensions [MS-QoE] Quality of Experience Monitoring Server Protocol is a Microsoft proprietary protocol used for reporting audio and video Quality of Experience (QoE) metrics, calculated by Microsoft Office Communicator to the Microsoft Office Communications Server for monitoring and diagnostics purposes. The QoE metrics are published at the end of each SIP session for audio and/or video, after a SIP BYE transaction, in a SIP SERVICE [IETFDRAFT-SIPSOAP-00] message to the Microsoft Office Communications Server. The QoE metrics sent to the Microsoft Office Communications Server can be used for the following purposes: Generating alerts for abnormal media quality conditions. Generating media quality and resource utilization reports. Building a historical database for advanced diagnostics and analytic applications. XML data is carried as the message payload of SIP SERVICE [IETFDRAFT-SIPSOAP-00] message body, and routed from Microsoft Office Communicator to Quality of Experience Monitoring Server via the Microsoft Office Communications Server SIP Proxy, based on SIP routing rules specified in [MS-SIPRE]. 35 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 4 Usage Scenarios The protocols described in the previous section collectively enable collaboration, instant messaging, presence, voice, and video functionality features in Microsoft Office Communicator 2007. Table 2 presents the main usage scenarios provided by Microsoft Office Communicator 2007, and outlines how the protocols support the interaction between the client and server. Only the major steps within each scenario are included for illustrative purposes. Table 2: Office Communications Server 2007 Scenarios Scenario User sign-in Description User sign-in is a SIP transaction between the Office Communicator client and the user’s Office Communications Server 2007 home server or pool. When a user signs in, the following events occur in roughly the following order: 1. Server discovery and compression negotiation, as described in [MS-CONMGMT] and [MS-SIPCOMP]. 2. Registration, including a. Authentication, as described in [MS-SIPAE] b. Connection management, as described in [MSCONMGMT] c. GRUU provisioning, as described in [MSSIPRE], NoSection and [MS-SIPREGE] d. Client-server presence synchronization, as described in [MS-SIPREGE] 3. In-band provisioning, as described in [MSSIPREGE] 4. Initial subscription to user contacts and groups, as described in [MS-SIPREGE] 5. Initial publication of user presence information and subscription to presence of users on contact list, as described in [MS-SIPREGE] and [MS-PRES] Each step, plus authentication, is described separately below. 36 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Server discovery and compression negotiation Description Office Communicator uses domain portion of SIP-URI for DNS lookup to discover hostname of user’s home server or pool, as described in [MS-CONMGMT]. Office Communicator and Office Communications Server establish TLS connection, as described in [MSCONMGMT] and [RFC2246]. If the connection is encrypted and if compression is enabled based on group policy settings, the client may request compression on the connection, as described in [MS-SIPCOMP]. Registration/Authentication Office Communicator sends a REGISTER request to the user’s home server. The request asks the server to provide: 1. A Globally Routable User-Agent URI (GRUU), as described in [MS-SIPRE]. 2. Acknowledgment of support for Resource lists for enhanced presence, as described in [MS-PRES]. 3. Acknowledgment of support for an XML document conforming to the enhanced presence XML schema, as described in [MS-PRES]. 4. Acknowledgment of support for the connection keep-alive mechanism defined in [MS-CONMGMT]. In response to the client’s REGISTER request, the server requests user authentication and offers the client a choice of using either the Kerberos or NTLM (NT LAN Manager) authentication protocols. Client and server then negotiate authentication, as provided by the authentication extensions described in [MS-SIPAE]. Following user authentication (see following scenario), the server generates a GRUU for the newly registered endpoint and returns it to the client, as described in [MSSIPRE] and [MS-SIPREGE]. The server may also confirm support for the keep-alive mechanism, provided encrypted proof for the client of the server’s own authenticity, and offer a way to verify that client and server are in synch for user presence, as described in [MS-SIPREGE]. 37 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario In-band provisioning Description Following authentication, a client sends a SUBSCRIBE request for in-band provisioning, as described in [MSSIPREGE]. In-band provisioning is a mechanism whereby a server can provide a client with initial configuration information at a point when the client does not yet have access to global policies stored in Active Directory. This information includes server configuration, various policies that the client must enforce, the URL of the Address Book Server, and information essential for client control of the user’s desktop phone. These categories of information are defined in provisioning extensions, as described in [MS-SIPREGE]. Subsequent SERVICE requests retrieve information about available conferencing servers (MCUs) and the user’s location profile for VoIP calls. Office Communicator requests the server to return the user’s contact list, as described in [MS-SIP] and [MSSIPREGE]. Office Communicator subscribes to the user’s own presence information, as described in [MS-SIPREGE] and [MS-PRES], for purposes of publishing it to other users. The client also issues a batch subscription request, as described in [MS-SIPREGE], for enhanced presence information, as described in [MS-PRES], for all members of the contact list that was returned by the server in the subscription request described in the preceding row of this table. When a user’s presence information changes, Office Communicator sends a SIP SERVICE request to the user’s home server. The SIP SERVICE request contains one or more of the following: The user’s calendar and meetings obtained from Exchange. The device on which Office Communicator is running and the device’s capabilities. The user’s activity on a particular device. The user’s contact information, such as phone numbers, office location, and title. The server responds with a 200 OK message, which contains the user’s updated presence information. The server sends a NOTIFY SIP request to all the Office Communicator clients that subscribe to the user’s presence information, as described in [MS-PRES]. Initial subscription to user contacts and groups Initial publication of user’s and subscription to contacts’ presence information Publication of a change in a user’s presence information 38 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Multiple points of presence Escalation to a multiparty IM conference Description A user signs into the server by using multiple computers or devices running Communicator. The server aggregates the information that is published by all of the user’s devices (for example, the user’s availability and calendar information from Exchange) as described in [MS-PRES]. The clients elect the most suitable endpoint to accept IM conversations on the user’s behalf. This process is facilitated by publishing capabilities through the presence channel, as described in [MS-PRES]. Additional users are added to an existing two-party IM session. When more than two participants are involved in an IM session, a conference is created by using C3P. The following events occur: 1. The Focus Factory provisions a new conference as described in [MS-CONFPRO]. 2. The Focus creates an instance of the conference, enlists the IM conferencing server, and maintains the state of the conference as described in [MS-CONFBAS]. 3. The clients and IM conferencing server establish communications as described in [MS-CONFIM]. 4. Clients exchange text, hyperlinks, and files in SIP messages. 5. A participant may send an IM message to an Exchange distribution group in his or her contact list, which is expanded as described in [MS-DLX]. 39 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Addition of audio and video to a multiparty IM conference Audio and video are added to an existing two-party IM conference. Description Audio and video are added to an existing multiple party IM conference. The Focus enlists the appropriate conferencing servers. The following events occur: 1. The Focus enlists the A/V conferencing server as described in [MS-CONFBAS]. 2. The clients and Audio/Video conferencing server establish communications as described in [MSCONFAV]. 3. The client authenticates with the A/V Edge Server as described in [MS-AVEDGEA] and allocates TURN addresses as described in [MS-TURN] 4. The client exchanges session description details with the A/V conferencing server as described in [MSSDPEXT]. 5. The client and the A/V conferencing server determine the best transport connectivity as specified in [MS-ICE]. 6. The clients and the A/V conferencing server exchange audio using RTP as described in [MS-RTP], [MS-SRTP], [MS-SSRTP], [MS-RTPRADEX], and [MS-DTMF]. 7. The clients and the A/V conferencing server exchange video using RTP as described in [MS-RTP], [MS-SRTP], [MS-SSRTP], [MS-H263PF], [MS-RTVPF]. SIP is used to send video control messages as described in [MSXMLMC]. 8. At the end of the session, the clients and the A/V conferencing server send out quality reports as described in [MS-QoE]. The following events occur: 1. Any external clients in the conference are authenticated by the A/V Edge Server as described in [MS-AVEDGEA] and allocates TURN addresses as described in [MS-TURN] 2. The clients exchange session description details as described in [MS-SDPEXT]. 3. The clients determine the best transport connectivity as specified in [MS-ICE]. 4. The clients exchange audio by using RTP as described in [MS-RTP], [MS-SRTP], [MS-SSRTP], [MSRTPRADEX], and [MS-DTMF]. 5. The clients exchange video by using RTP as described in [MS-RTP], [MS-SRTP], [MS-SSRTP], [MS-H263PF], [MS-RTVPF]. SIP is used to send video control messages as described in [MS-XMLMC]. 6. At the end of the session, the clients send quality reports as described in [MS-QoE]. 40 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Refreshing the client address book Description Address Book Server retrieves user and contact data from the Office Communications SQL database and creates both full and delta address book files, as described in [MS-ABS]. Address Book Server also normalizes user phone numbers. Office Communicator refreshes the local copy of the address book by using the Address Book Server URL that it received through inline provisioning during registration to download Address Book delta files. Outbound call routing occurs as follows, as described in [MS-SIPREGE], [MS-SRTP], [MS-SDPEXT], [MSSIPRE], and [MS-OCPSTN]: 1. User dials internal extension from Office Communicator. 2. Office Communicator normalizes the number, using normalization rules associated with the location profile that was provided to the client through in-band provisioning during sign-in, as described in [MSSIPREGE]. 3. The client authenticates with the A/V Edge Server as described in [MS-AVEDGEA] and allocates TURN addresses as described in [MS-TURN] 4. Office Communicator sends a SIP INVITE with the number to the server. The INVITE also specifies the type and format of media it supports, the media protocol to be used (as described in [MS-SRTP]), along with other information as described in [MS-SDPEXT]. 5. The server performs reverse lookup on number to obtain SIP-URI of the call recipient. 6. Server applies recipient’s calling preferences (forward to voice mail or another number), as appropriate, as described in [MS-SIPRE] and [MS-OCPSTN]. 7. Server rings all user endpoints corresponding to SIPURI, as described in [MS-SIPRE]. 8. The client exchanges session description details with the accepting endpoint as described in [MS-SDPEXT]. 9. The client and the accepting endpoint determine the best transport connectivity as specified in [MS-ICE]. 10. The client and the accepting endpoint exchange audio using RTP as described in [MS-RTP], [MS-SRTP], [MSRTPRADEX], and [MS-DTMF]. 11. At the end of the session, the client and the A/V Conferencing Server will send out quality reports as described in [MS-QoE]. Outbound call from Office Communicator 2007 41 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Description Inbound PSTN/PBX call to Inbound PSTN/PBX-to-Communicator call routing Office Communicator 2007 occurs as follows, as described in [MS-SRTP], [MSSDPEXT], [MS-SIPRE], [MS-OCPSTN], and [MSOCEXUM]: 1. PSTN/PBX caller dials number of enterprise user. 2. A PSTN/PBX gateway at the enterprise boundary accepts the call and passes both signaling and media to an Office Communication Server component call the Mediation Server. The Mediation Server creates a SIP session for the call and sends the SIP request to the SIP proxy connected to the Mediation Server. 4. The SIP Proxy performs reverse number lookup on the target phone number (a TEL URI) to find the SIP URI of the intended recipient of the call, and directs the call to that user’s home server. 5. The home server applies forwarding rules, if any, and forks the call to all endpoints associated with the intended recipient. 6. The recipient’s Office Communicator client determines whether the user should be notified of the call or left undisturbed, based on rules set by the user on the client, as described in [MS-PRES] and [MS-OCEXUM]. 7. When the client accepts the call, it exchanges session description details with the Mediation Server as described in [MS-SDPEXT] 8. The client and the Mediation Server determine the best transport connectivity as specified in [MS-ICE]. 9. The client and the Mediation Server exchange audio using RTP as described in [MS-RTP], [MS-SRTP], [MSSSRTP], [MS-RTPRADEX], and [MS-DTMF]. 10. At the end of the session, the client and the Mediation Server will send out quality reports as described in [MSQoE]. Accessing Exchange The user selects the voicemail feature in Office Unified Messaging services Communicator. Office Communicator accesses the Exchange Unified Messaging server. The user plays voicemail and manages the mailbox using voice commands, as described in [MS-OCEXUM]. Expansion of distribution The user selects a distribution list in his or her contact list list and clicks + to expand the distribution list as described in [MS-DLX]. 42 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008 Scenario Instant messaging conversation with public IM users (for example, MSN, AOL, or Yahoo! users) Conversation with users in a federated domain Description A user exchanges IM messages with public IM users. The process is as follows: 1. The user adds a public IM user to his or her Contact list by entering the contact’s address. 2. The user subscribes to the public IM user’s presence information as described in [MS-SIPREGE]. Presence information between the public IM user and the enterprise user is exchanged by the mechanism described in [MS-PRES]. 3. Instant messages are delivered to and from the public IM user as described in [MS-SIPRE]. An enterprise user communicates with one or more users who reside in a federated domain. The process is as follows: 1. A user adds a federated user to his or her Contact list by entering the contact’s address. 2. The user subscribes to the federated user’s presence information as described in [MS-SIPREGE]. Presence information between the federated user and the enterprise user is exchanged by the mechanism described in [MSPRES]. 3. Instant messages are delivered to and from the federated user as described in [MS-SIPRE]. 4. The enterprise user may communicate with more than one federated user as described in the “Escalation to a multiparty IM conference” scenario. 5. The enterprise user may additionally communicate by using A/V with one or more federated users as described in the “Addition of audio and video to a multiparty IM conference” scenario. 43 of 43 [MS-OCSPROT] - v1.01 Office Communications Server Protocols Overview Copyright © 2008 Microsoft Corporation. Release: August 15, 2008

Related docs
Microsoft Office Protocol Documentation SRTP
Views: 153  |  Downloads: 2
Microsoft Office Protocol Documentation DTMF
Views: 47  |  Downloads: 2
Microsoft Office Protocol Documentation OFREF
Views: 1226  |  Downloads: 8
Microsoft Office Protocol Documentation DLX
Views: 31  |  Downloads: 1
premium docs
Other docs by Alisha Wright
Heisman Trophy Candidate Previews
Views: 50  |  Downloads: 0
Heisman Trophy Race 2009
Views: 60  |  Downloads: 0
Heisman Trophy Winners
Views: 143  |  Downloads: 0
Guitar Hero 5 Song List Track List
Views: 90  |  Downloads: 0
Alabama Crimson Tide Football Stats
Views: 544  |  Downloads: 5
Old Dogs Movie Poster
Views: 152  |  Downloads: 1
Revised FTC Endorsement Guidelines
Views: 56  |  Downloads: 1
Toys R Us Big Book 2009 Goes Social
Views: 741  |  Downloads: 11