Revision Summary Date Revision History Revision Class Comments 5/11/2007 0.1 New Version 0.1 release 8/10/2007 1.0 Updated and revised the technical content. 9/28/2007 2.0 Major Updated and revised the technical content. 10/23/2007 2.0.1 Editorial Changed language and formatting in the technical content. 11/30/2007 2.0.2 Editorial Changed language and formatting in the technical content. 1/25/2008 2.0.3 Editorial Changed language and formatting in the technical content. 3/14/2008 3.0 Updated and revised the technical content. 5/16/2008 4.0 Major Updated and revised the technical content. 6/20/2008 5.0 Updated and revised the technical content. 7/25/2008 5.0.1 Editorial Changed language
and formatting in the technical content. 8/29/2008 6.0 Major Updated and revised the technical content. 10/24/2008 7.0 Major Updated and revised the technical content. 12/5/2008 7.1 Minor Clarified the meaning of the technical content. 1/16/2009 7.2 Clarified the meaning of the technical content. 2/27/2009 7.3 Minor Clarified the meaning of the technical content. 4/10/2009 8.0 Major Updated and revised the technical content. 5/22/2009 9.0 Major Updated and revised the technical content. 7/2/2009 9.1 Minor Clarified the meaning of the technical content. 8/14/2009 10.0 Major Updated and revised the technical content. 9/25/2009 11.0 Major Updated and revised
the technical content. 11/6/2009 11.1 Clarified the meaning of the technical content. 12/18/2009 12.0 Major Updated and revised the technical content. 1/29/2010 13.0 Major Updated and revised the technical content. 3/12/2010 14.0 Major Updated and revised the technical content. 4/23/2010 14.1 Minor Clarified the meaning of the technical content. 6/4/2010 15.0 Major Updated and revised the technical content. 7/16/2010 16.0 Major Updated and revised the technical content. 8/27/2010 17.0 Major Updated and revised the technical content. 10/8/2010 18.0 Updated and revised the technical content. 11/19/2010 19.0 Major Updated and revised the
10/25/2012 26.0 Major Updated and revised the technical content. 1/31/2013 26.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 27.0 Updated and revised the technical content. 11/14/2013 27.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 27.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 27.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 28.0 Major Significantly changed the technical content. 10/16/2015 28.0 None No changes to the meaning, language,
If the value in rStatus does not equal TRUE, the protocol MUST perform the following steps: If the OutgoingMessageTable ADM element is not empty and the OutgoingQueueReference.State is not OnHold: Start the . Set the OutgoingQueueReference.State to NeedValidation. Take no further action. Set destinationHostName equal to the returned rHostName. Set destinationQmGuid equal to the returned rQueueManagerGuid. If destinationQmGuid is not equal to all zero bytes, the protocol MUST obtain the host name and the of the QueueManager ADM element instance at the next hop to the destination by performing the following steps: The protocol MUST a event with the following argument: iQmGuid: destinationQmGuid If the value in rStatus does not equal TRUE, the protocol MUST perform the following steps: If the OutgoingMessageTable ADM element is not empty and the OutgoingQueueReference.State is not OnHold: Start the Session Retry Connect Timer (section 3.1.2.3). Set the OutgoingQueueReference.State to NeedValidation. Take no further action. Clear the OutgoingQueueReference.NextHops collection. For each QueueManager ADM element instance, referred to as rQueueManager, in the returned rQueueManager's collection, perform the following: Resolve destinationHostName to addresses, referred to as destinationAddresses, which are usable by the transports specified in section .<55> For each successfully resolved destinationAddress in destinationAddresses, perform the following: Format the destinationAddress, as specified in section 2.3.12.12, and add it to the OutgoingQueueReference.NextHops collection. Create a ADM element instance and perform the following: Set NextHop.HostName to rQueueManager.QualifiedComputerName. Set NextHop.QMGuid to rQueueManager.Identifier. Set NextHop.Address to destinationAddress. Add the NextHop ADM element instance to the NextHopCollection ADM element. Set the NextHopIndexer ADM element to the element in the NextHopCollection ADM element.
_ 30 A 36 Acknowledgments 16 90 15 54 54 55 19 C 19 136 23 ConnectionParameters packet - receiving 69 70 70 23 24 D 36 33 E 33 24 EstablishConnection packet - receiving 68 68 69 24 25 Examples 118 session initialization and express message 122 122 119 120 118 118 119 126 123 13 F 20 29 74 29 G 61 8 H Higher-layer triggered events 108 63 63 63 I 127 90 127 12 Initialization 61 62 15 22 22 8 L events 103 Message Position Available 95 107 98 95 94 101 101 97 96 message removed from destination queue 102 103 102 M Message Position Available event 95 107 98 95 overview ( 94, 108) 101 101 97 96
Message processing 90 89 creating protocol session 67 65 65 67 90 receiving any packet 65 64 64 64 receiving ConnectionParameters packet 69 70 70 receiving EstablishConnection packet 68 68 69 74 72 receiving SessionAck packet 71 72 71 71 72 72 receiving UserMessage packet 75 84 75 86 75 85 84 84 78 89 88 Messages 23 24 29 22 message removed from destination queue 102 103 102 27 21 32 12 16 14 31 21 16 21 21 21 21 13 13 N 15 103 11 O 60 28 27 72 27 Outgoing message event 95 107 98 95 101 101 97 96 36 12 P Packet - receiving 65 64 64 64 127 51 32 21 32 15 19 19 128 Protocol Details 36 21 Protocol session - creating 67 65 65 67 36 34 Q manager 63 63 45 14 12 17
R 13 10 12 11 18 16 S 33 Security 127 14 127 127 55 Sequencing rules 90 89 creating protocol session 67 65 65 67 90 receiving any packet 65 64 64 64 receiving ConnectionParameters packet 69 70 70 receiving EstablishConnection packet 68 68 69 74 72 receiving SessionAck packet 71 72 71 71 72 72 receiving UserMessage packet 75 84 75 86 75 85 84 84 78 89 88 21 89 59 91 59 91 54 59 91 62 Session initialization and express message example 122 122 119 120 118 118 119 126 123 59 92 52 59 90 47 56 57 31 SessionAck packet - receiving 71 72 71 71 72 72 31 45 34 Source journaling 15 15 15 20 36 21 14 T Timer events 91 91 91 92 90 92 Timers 60 58 59 59 59 59 59 60 16 136 60