Revision Summary Date Revision History Revision Comments 4/4/2008 0.1 New Initial version 4/25/2008 0.2 Updated the technical content. 6/27/2008 1.0 Major Updated and revised the technical content. 8/15/2008 1.01 Minor Revised and edited the technical content. 12/12/2008 2.0 Updated and revised the technical content. 2/13/2009 2.01 Minor Revised and edited the technical content. 3/13/2009 2.02 Minor Revised and edited the technical content. 7/13/2009 2.03 Revised and edited the technical content 8/28/2009 2.04 Editorial Revised and edited the technical content 11/6/2009 2.05 Editorial Revised and edited the technical content 2/19/2010 2.06 Editorial Revised and edited the technical content 3/31/2010 2.07 Major Updated and revised the
technical content 4/30/2010 2.08 Editorial Revised and edited the technical content 6/7/2010 2.09 Editorial Revised and edited the technical content 6/29/2010 2.10 Editorial Changed language and formatting in the technical content. 7/23/2010 2.10 None No changes to the meaning, language, or formatting of the technical content. 9/27/2010 3.0 Major Significantly changed the technical content. 11/15/2010 3.0 None No changes to the meaning, language, or formatting of the technical content. 12/17/2010 3.0 None No changes to the meaning, language, or formatting of the technical content. 3/18/2011 3.0 None No changes to the meaning, language, or
formatting of the technical content. 6/10/2011 3.0 None No changes to the meaning, language, or formatting of the technical content. 1/20/2012 4.0 Major Significantly changed the technical content. 4/11/2012 4.0 None No changes to the meaning, language, or formatting of the technical content. 7/16/2012 4.0 None No changes to the meaning, language, or formatting of the technical content. 10/8/2012 4.1 Minor Clarified the meaning of the technical content. 2/11/2013 4.1 None No changes to the meaning, language, or formatting of the technical content. 7/30/2013 4.1 None No changes to the meaning, language, or
formatting of the technical content. 11/18/2013 4.1 None No changes to the meaning, language, or formatting of the technical content. 2/10/2014 4.1 None No changes to the meaning, language, or formatting of the technical content. 4/30/2014 5.0 Major Significantly changed the technical content. 7/31/2014 5.1 Minor Clarified the meaning of the technical content. 10/30/2014 5.1 None No changes to the meaning, language, or formatting of the technical content. 3/30/2015 6.0 Major Significantly changed the technical content. 6/30/2015 6.0 None No changes to the meaning, language, or formatting of the technical content.
TCP Framing Header 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 Type Reserved Length Type (1 byte): The data contained in this frame is a TURN control message or end-to-end data. This MUST be set to "0x02" to identify a TURN control message or it MUST be set to "0x03" to identify end-to-end data. Reserved (1 byte): Not used and MUST be set to zero. Length (2 bytes): The number of bytes of the frame following immediately after the Length field itself. UDP When UDP is used as a transport for this protocol no transport specific framing is required. Message Syntax Message Header All TURN messages consist of a 20 byte TURN header followed by 1 or more TURN attributes. The TURN attributes are encoded. The TURN message header is the same as the message header specified in section 10.1. All TURN messages begin with any necessary transport specific framing, as specified in section 2.1, followed by this header. 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 00 Message Type Message Length Transaction ID (16 bytes) Message Type (16 bits): The type of TURN message. The most significant two bits of this MUST be set to zero so that TURN packets can be differentiated from other protocols. The TURN message types are specified in section 9.1. The TURN message types supported in this extension: "0x0003": Allocate request "0x0103": Allocate response "0x0113": Allocate response "0x0004": Send request "0x0115": Data Indication "0x0006": Set Active Destination request "0x0106": Set Active Destination response "0x0116": Set Active Destination response
Protocol syntax refers to data elements (such as packets, structures, enumerations, and methods) as well as interfaces. Protocol revision refers to changes made to a protocol that affect the bits that are sent over the wire. The changes made to this document are listed in the following table. For more information, please contact . Section Tracking number (if applicable) and description Major change (Y or N) Change type Message Attribute the Multiplexed TURN Session ID optional attribute. Y Content update. Multiplexed TURN Session ID Added new section for this attribute. Y New content Multiplexed TURN new section for this message element. Y New content added. Allocating Public Transport Addresses information about the values required for the attribute. Y Content update. Sending Multiplexed TURN Encapsulated Data to the Peer Added new section for this event. Y New content added. Receiving Allocate Response Messages Added information to clarify the values of (5) and (6) for the MS-Version attribute. Y Content update. Receiving Multiplexed TURN Encapsulated Data from the Client Added new section for this event. Y New content added.
A Abstract data model client ( 35, 36, 41) server ( 35, 36, 41) 13 C 13 55 Client abstract data model ( 35, 36, 41) 35 37 38 38 37 37 38 initialization ( 35, 37) 35 39 38 41 36 35 35 36 35 41 40 40 local events ( 35, 41) 35 39 38 41 41 40 40 timer events ( 35, 41) timers ( 35, 36) D Data model - abstract client ( 35, 36, 41) server ( 35, 36, 41) E 46 F 13 G 6 H triggered events 35 37 38 38 37 37 38 server ( 35, 42) I 50 50 9 Initialization client ( 35, 37) server ( 35, 42) 6 M 19 24 26 27 26 23 24 25 Mapped Address ( 20, 32) 21 31 MS-Service Quality ( 9, 32) 30 28 28 27 24 21 29 18 Message processing 35 39 38 41 36 35 35 36 35 41 40 40 35 42 45
36 35 35 36 45 45 35 44 44 Messages 19 24 26 27 26 23 24 25 Mapped Address ( 20, 32) 21 31 MS-Service Quality ( 9, 32) 30 28 28 27 24 21 29 18 33 15 15 17 18 33 N 8 O local events client ( 35, 41) server ( 35, 45) 9 P 50 13 13 51 R 8 9 8 13 S Security 50 50 Sequencing rules 35 39 38 41 41 40 40 35 42 45 45 45 44 44 Server abstract data model ( 35, 36, 41) higher-layer triggered events ( 35, 42) initialization ( 35, 42) 35 42 45 36 35 35 36 45 45 35 44 44 local events ( 35, 45) 35 42 45 45 45 44 44 events ( 35, 45) timers ( 35, 41) 13 T Timer events client ( 35, 41) server ( 35, 45) Timers client ( 35, 36) server ( 35, 41) 55 15 15 17 18 Triggered events - higher-layer 35 37 38 38 37