Revision Summary Date Revision History Revision Class Comments 3/31/2010 0.1 Major Initial Availability 4/30/2010 0.2 Editorial Revised and edited the technical content 6/7/2010 0.3 Editorial Revised and edited the technical content 6/29/2010 0.4 Editorial Changed language and formatting in the technical content. 7/23/2010 0.4 None No changes to the meaning, language, or formatting of the technical content. 9/27/2010 1.0 Significantly changed the technical content. 11/15/2010 1.0 None No changes to the meaning, language, or formatting of the technical content. 12/17/2010 1.0 None No changes to the meaning, language, or formatting of the technical content. 3/18/2011 1.0 None No changes to the
meaning, language, or formatting of the technical content. 6/10/2011 1.0 None No changes to the meaning, language, or formatting of the technical content. 1/20/2012 2.0 Major Significantly changed the technical content. 4/11/2012 2.0 None No changes to the meaning, language, or formatting of the technical content. 7/16/2012 2.0 None No changes to the meaning, language, or formatting of the technical content. 10/8/2012 3.0 Significantly changed the technical content. 2/11/2013 3.0 None No changes to the meaning, language, or formatting of the technical content. 7/30/2013 3.1 Minor Clarified the meaning of
the technical content. 11/18/2013 3.1 None No changes to the meaning, language, or formatting of the technical content. 2/10/2014 3.1 None No changes to the meaning, language, or formatting of the technical content. 4/30/2014 3.2 Minor Clarified the meaning of the technical content. 7/31/2014 3.2 None No changes to the meaning, language, or formatting of the technical content. 10/30/2014 3.2 None No changes to the meaning, language, or formatting of the technical content. 3/30/2015 4.0 Major Significantly changed the technical content. 9/4/2015 4.0 None No changes to the meaning, language, or formatting
0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 RpcMessage BodyLength ... Body (variable) ... RpcMessage (1 byte): Header for the message type; defined as "0x16". BodyLength (4 The unsigned length of the following body. Body (variable): The payload of the PSOM operation message. This message is described in section 2.2.2. RPCOpen Message The RPCOpen message is represented by "0x37". This is a PSOM channel open message and instructs the implementation to accepting messages for the specified PSOM channel. The record body MUST include the PSOM channel identifier, which is an unsigned 32-bit integer, and a special ConnMgr distributed object. RpcMessage MUST follow this identifier. For more information about the special RpcMessage, see section . This message MUST only be used to create the root distributed object PSOM channel, PSOM channel 2, and not the connection PSOM channel, PSOM channel zero. This message has the following format. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 RpcOpen ChannelId ... RpcMsgBodyLen ... RpcMessageBody ... RpcOpen header (1 byte): The header to denote the message type. ChannelId (4 bytes): The unsigned integer value of the PSOM channel to open. RpcMessageBodyLen (4 The unsigned integer value of the length of the message body. RpcMessageBody (variable): The contents of the message, intended to be treated as an RpcMessage body for a distributed object proxy object on the previous PSOM channel. PSOM Operation Channel Messages (RpcMessage) PSOM channel messages represent a PSOM operation, which is an action to take or method to call that involves a particular distributed object. PSOM channel messages are exchanged between the two peers of a distributed object, client and server, and represent one of the following operations: Connect child.
"ANCHOR" Annotation location "EXTENT" Drawing/Image Annotation size "DRAWINGTYPE" Drawing annotation type "STROKE" Drawing annotation stroke color "STROKETHICKNESS" Drawing annotation stroke thickness "FILL" Drawing annotation fill color "DATA" Drawing annotation path data "IMAGETYPE" Image annotation type "TEXT" Text annotation text "WIDTH" Text annotation width "FONTFACE" Text annotation font face "FONTSIZE" Text annotation font size "FONTCOLOR" Text annotation font color "TEXTDIRECTION" Text annotation text direction Interface [Name="Microsoft.Rtc.Server.DataMCU.Meeting.AnnotationContainer", Version=1] DOInterface AnnotationContainer { [Hash=-5714708003270970775] ServerInterface { void type, String[][] properties); void sChangeProperties(Int32 id, Int32 gen, String[][] properties); void sChangePropertyForGroup(Int32[] ids, Int32[] gens, String property, String value); void sChangePropertyForGroup(Int32[] ids, Int32[] gens, String property, String[] values); void id, Int32 gen, Int32 textVersion, Int32[] begins, Int32[] ends, String[] characters); void sClearAnnotations(); void sRemoveAnnotation(Int32 id); void sRemoveAnnotations(Int32[] ids, Int32 cookie); void sSetTelepointer(String anchor, Boolean visible); } [Hash=2571074477103256610] ClientInterface {
Index A Abstract data client ( 26, 50) 26 89 26 server ( 26, 77) 26 100 100 100 101 18 C 18 106 Channel distributed object roots 17 Channels 17 Client abstract data model ( 26, 50) 26 higher-layer triggered events ( 27, 54) distributed objects ( 28, 54) initialization ( 27, 51) 51 27 message processing ( 50, 76) other local events ( 50, 77) overview ( 26, 50) sequencing rules ( 50, 76) timer events ( 50, 76) timers ( 27, 51) Common 26 Connection of PSOM channel zero 90 91 93 90 91 91 92 93 91 27 D Data - abstract client ( 26, 50) 26 89 26 server ( 26, 77) 26 E 100 100 100 101 Examples 90 91 93 90 91 91 92 93 91 90 94 94 F 18 G 9 H triggered events client ( 27, 54) distributed objects ( 28, 54) 89 server ( 27, 79) distributed objects ( 28, 79) 87 57 I 99 99 12 Initialization client ( 27, 51) 51 27 89 server ( 27, 77) 77 27 9 M Message processing client ( 50, 76) 89 server ( 50, 88) Messages overview 16
21 24 23 23 19 19 19 N 12 O local events client ( 50, 77) 89 server ( 50, 88) 12 17 17 15 16 P 99 18 18 104 89 26 89 89 89 89 overview ( 26, 88) 89 89 89 PSOM channel 2 connection 94 21 24 23 23 R 19 19 12 12 12 17 S 103 Security 99 99 Sequencing rules client ( 50, 76) 89 server ( 50, 88) Server abstract data ( 26, 77) 26 higher-layer triggered events ( 27, 79) distributed objects ( 28, 79) 87 57 initialization ( 27, 77) 77 27 message processing ( 50, 88) other local events ( 50, 88) overview ( 26, 77) sequencing rules ( 50, 88) timer events ( 50, 88) timers ( 27, 77) Server to client RPC message exchange 94 18 T Timer events client ( 50, 76) 89 server ( 50, 88) Timers client ( 27, 51) 89 server ( 27, 77) 106 19 Triggered events 27 28 27 28 Triggered events - higher-layer 54 54 89 79 79 87 57 U Upload package 103 V 18 18