From 594f9504cee5ab5fa42b8a5c7fc6fdfb85161be4 Mon Sep 17 00:00:00 2001 From: Mikko Rantanen Date: Sun, 17 Oct 2010 18:49:28 +0300 Subject: [PATCH] Updated message documentation and fixed some errors based on pcgod's input. Fixed some references as well. --- doc/mumble-protocol.pdf | Bin 340767 -> 341794 bytes doc/mumble-protocol.tex | 65 +++++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/doc/mumble-protocol.pdf b/doc/mumble-protocol.pdf index 1de99d91b23eb1df81050aed41fa714d9d30696f..9402c423cfc0f067c5dc284ba52e1e0b8ee00d0b 100644 GIT binary patch delta 57547 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 diff --git a/doc/mumble-protocol.tex b/doc/mumble-protocol.tex index 3233f9a41..8d9d53628 100644 --- a/doc/mumble-protocol.tex +++ b/doc/mumble-protocol.tex @@ -303,6 +303,8 @@ recording & bool \subsection {Server sync} +\label{sect:serverSync} + The client has now received a copy of the parts of the server state he needs to know about. To complete the synchronization the server transmits a ServerSync message containing the session id of the clients session, the maximum bandwidth allowed on this server, the servers welcome text as well as the permissions the client has in the channel he ended up. %FIGURE GOES HERE @@ -337,7 +339,7 @@ If the client stops receiving replies to the UDP packets at some point or never \subsection{Data} -The voice data is transmitted in variable length packets that consist of header portion, followed by repeated data segments and an optional position part. The full packet structure is shown in figure \ref{fig:udpvoice}. The protocol transfers 64-bit integers using variable length encoding. This encoding is specified in section \ref{sect:varint}. +The voice data is transmitted in variable length packets that consist of header portion, followed by repeated data segments and an optional position part. The full packet structure is shown in figure \ref{fig:udpvoice}. The decrypted data should never be longer than 1020 bytes, this allows the use of 1024 byte UDP buffer even after the 4-byte encryption header is added to the packet during the encryption. The protocol transfers 64-bit integers using variable length encoding. This encoding is specified in section \ref{sect:varint}. \begin{figure}[htp]\begin{center}\begin{tabular}{l|rcl|p{0.5\textwidth}} @@ -401,8 +403,9 @@ The first byte of the header contains the packet type and additional target spec The audio frames consist of one byte long header and up to 127 bytes long data portion. The first bit in the header is the \texttt{Terminator bit} which informs the receiver whether there are more audio frames after this one. This bit is turned on (value \texttt{1}) for all but the last frame in the current UDP packet. Rest of the seven bits in the header specify the length of the data portion. The data portion is encoded using one of the supported codecs. The exact codec is specified in the type portion of the whole packet (See table \ref{tbl:udptypes}). \emph{The data in each frame is encoded separately.} \subsubsection{Whispering} +\label{sect:whispering} -Normal talking can be heard by the users of the current channel and all linked channels as long as the speaker has Talk permission on these channels. If the speaker wishes to broadcast the voice to specific users or channels, he may use whispering. This is achieved by registering a voice target using the VoiceTarget message (See \ref{msg:VoiceTarget}) and specifying the target ID as the target in the first byte of the UDP packet. +Normal talking can be heard by the users of the current channel and all linked channels as long as the speaker has Talk permission on these channels. If the speaker wishes to broadcast the voice to specific users or channels, he may use whispering. This is achieved by registering a voice target using the VoiceTarget message (See \ref{msg:voiceTarget}) and specifying the target ID as the target in the first byte of the UDP packet. \subsection{TCP tunnel} \label{sect:udptunnel} @@ -413,7 +416,7 @@ When the UDP packets are tunneled through the TCP tunnel they are prefixed with \hline Type & Length & UDP Packet \\ -1B & 3B & 0-2048 KiB \\ +1B & 3B & 0-1020 KiB \\ \hline \end{tabular} @@ -480,7 +483,7 @@ Used by the client to send the authentication credentials to the server. \mumbleMessageExItem{username}{string}{Opt.}{UTF-8 encoded username} \mumbleMessageExItem{password}{string}{Opt.}{Server or user password} \mumbleMessageExItem{tokens}{string}{Rep.}{Additional access tokens for server ACL groups} -\mumbleMessageExItem{celt\_versions}{int32}{Rep.}{TODO ??: Currently unused (mumble\\Messages.cpp does not write)} +\mumbleMessageExItem{celt\_versions}{int32}{Rep.}{A list of CELT bitstream version constants supported by the client.} \end{mumbleMessageEx} \subsection{BanList} @@ -518,19 +521,19 @@ Sent by the client when it wants a channel removed. Sent by the server when a ch \subsection{ChannelState} \label{msg:channelState} -Used to communicate channel properties between the client and the server. Sent by the server during the login process (See \ref{sect:conn:channels}) or when channel states are updated. TODO: Sent by users if they modify channels? +Used to communicate channel properties between the client and the server. Sent by the server during the login process (See \ref{sect:conn:channels}) or when channel properties are updated. Client may use this message to update said channel properties. \begin{mumbleMessageEx} \mumbleMessageExItem{channel\_id}{uint32}{Opt.}{Unique ID for the channel within the server.} \mumbleMessageExItem{parent}{uint32}{Opt.}{\texttt{channel\_id} of the parent channel.} \mumbleMessageExItem{name}{string}{Opt.}{Channel name, UTF-8 encoded.} -\mumbleMessageExItem{links}{uint32}{Rep.}{A collection of \texttt{channel\_id} values of the linked channels. Absent during the first channel listing (See \ref{ect:conn:channels}).} -\mumbleMessageExItem{description}{string}{Opt.}{Channel description, UTF-8 encoded.} +\mumbleMessageExItem{links}{uint32}{Rep.}{A collection of \texttt{channel\_id} values of the linked channels. Absent during the first channel listing (See \ref{sect:conn:channels}).} +\mumbleMessageExItem{description}{string}{Opt.}{Channel description, UTF-8 encoded. Only if the description is less than 128 bytes} \mumbleMessageExItem{links\_add}{uint32}{Rep.}{A collection of \texttt{channel\_id} values that should be added to \texttt{links}.} \mumbleMessageExItem{links\_remove}{uint32}{Rep.}{A collection of \texttt{channel\_id} values that should be removed from \texttt{links}.} \mumbleMessageExItem{temporary}{bool}{Opt.}{True if the channel is temporary. \textbf{Default: false}} \mumbleMessageExItem{position}{uint32}{Opt.}{Position weight to tweak the channel position in the channel list. \textbf{Default: 0}} -\mumbleMessageExItem{description\_hash}{bytes}{Opt.}{TODO ??} +\mumbleMessageExItem{description\_hash}{bytes}{Opt.}{SHA1 hash of the description if the description is 128 bytes or more. See \ref{msg:requestBlob}} \end{mumbleMessageEx} \subsection{CodecVersion} @@ -592,7 +595,7 @@ Used to initialize and resync the UDP encryption. See section \ref{sect:encrypti \begin{mumbleMessageEx} \mumbleMessageExItem{permission}{uint32}{Opt.}{The denied permission when type is \texttt{Permission}} \mumbleMessageExItem{channel\_id}{uint32}{Opt.}{\texttt{channel\_id} for the channel where the permission was denied when type is \texttt{Permission}} -\mumbleMessageExItem{session}{uint32}{Opt.}{TODO: Client never reads this, what is it?} +\mumbleMessageExItem{session}{uint32}{Opt.}{The user who was denied permissions, identified by \texttt{session}} \mumbleMessageExItem{reason}{string}{Opt.}{Textual reason for the denial} \mumbleMessageExItem{type}{DenyType}{Opt.}{Type of the denial} \mumbleMessageExItem{name}{string}{Opt.}{The name that is invalid when type is \texttt{UserName}} @@ -635,7 +638,7 @@ Sent by the client to notify the server that the client is still alive. Server m \mumbleMessageExItem{good}{uint32}{Opt.}{The amount of good packets received} \mumbleMessageExItem{late}{uint32}{Opt.}{The amount of late packets received} \mumbleMessageExItem{lost}{uint32}{Opt.}{The amount of packets never received} -\mumbleMessageExItem{resync}{uint32}{Opt.}{TODO: Hum?} +\mumbleMessageExItem{resync}{uint32}{Opt.}{The amount of nonce resyncs} \mumbleMessageExItem{udp\_packets}{uint32}{Opt.}{The total amount of UDP packets received} \mumbleMessageExItem{tcp\_packets}{uint32}{Opt.}{The total amount of TCP packets received} \mumbleMessageExItem{udp\_ping\_avg}{float}{Opt.}{UDP ping average} @@ -647,7 +650,7 @@ Sent by the client to notify the server that the client is still alive. Server m \subsection{QueryUsers} \label{msg:queryUsers} -Client may use this message to refresh its user information. The client should fill the IDs or Names of the users it wants to refresh. The server fills the missing parts and sends the message back. +Client may use this message to refresh its registered user information. The client should fill the IDs or Names of the users it wants to refresh. The server fills the missing parts and sends the message back. \begin{mumbleMessageEx} \mumbleMessageExItem{ids}{uint32}{Rep.}{User IDs} @@ -681,14 +684,12 @@ Sent by the server when it rejects the user connection. \subsection{RequestBlob} \label{msg:requestBlob} -Used by the client to request binary data from the server. - -\textbf{TODO: Someone can figure out how this works. The replies are transmitted inside UserState? D:} +Used by the client to request binary data from the server. By default large comments or textures are not sent within standard messages but instead the hash is. If the client does not recognize the hash it may request the resource when it needs it. The client does so by sending a RequestBlob message with the correct fields filled with the hashes it wants to receive. The server replies to this by sending a new UserState/ChannelState message with the resources filled even if they would normally be transmitted as hashes. \begin{mumbleMessageEx} -\mumbleMessageExItem{session\_texture}{uint32}{Rep.}{TODO} -\mumbleMessageExItem{session\_comment}{uint32}{Rep.}{TODO} -\mumbleMessageExItem{channel\_description}{uint32}{Rep.}{TODO} +\mumbleMessageExItem{session\_texture}{uint32}{Rep.}{Hashes of the requested UserState textures} +\mumbleMessageExItem{session\_comment}{uint32}{Rep.}{Hashes of the requested UserState comments} +\mumbleMessageExItem{channel\_description}{uint32}{Rep.}{Hashes of the requested ChannelState descriptions} \end{mumbleMessageEx} \subsection{ServerConfig} @@ -741,16 +742,18 @@ Used to tunnel the UDP packets through the TCP channel. See section \ref{sect:ud \subsection{UserList} \label{msg:userList} +Lists the registered users + \begin{mumbleMessageEx} -\mumbleMessageExItem{users}{User}{Rep.}{TODO} +\mumbleMessageExItem{users}{User}{Rep.}{A list of registered users} \end{mumbleMessageEx} \subsubsection{UserList\_User} \label{msg:userList:user} \begin{mumbleMessageEx} -\mumbleMessageExItem{user\_id}{uint32}{Req.}{TODO} -\mumbleMessageExItem{name}{string}{Opt.}{TODO} +\mumbleMessageExItem{user\_id}{uint32}{Req.}{Registered user ID} +\mumbleMessageExItem{name}{string}{Opt.}{Registered user name} \end{mumbleMessageEx} \subsection{UserRemove} @@ -778,16 +781,16 @@ Sent by the server when it communicates new and changed users to client. First s \mumbleMessageExItem{channel\_id}{uint32}{Opt.}{Channel on which the user is} \mumbleMessageExItem{mute}{bool}{Opt.}{True if the user is muted by admin} \mumbleMessageExItem{deaf}{bool}{Opt.}{True if the user is deafened by admin} -\mumbleMessageExItem{suppress}{bool}{Opt.}{TODO: ??} +\mumbleMessageExItem{suppress}{bool}{Opt.}{True if the user has been suppressed from talking by a reason other than being muted} \mumbleMessageExItem{self\_mute}{bool}{Opt.}{True if the user has muted self} \mumbleMessageExItem{self\_deaf}{bool}{Opt.}{True if the user has deafened self} -\mumbleMessageExItem{texture}{bytes}{Opt.}{TODO ??} +\mumbleMessageExItem{texture}{bytes}{Opt.}{User image if it is less than 128 bytes} \mumbleMessageExItem{plugin\_context}{bytes}{Opt.}{TODO ??} \mumbleMessageExItem{plugin\_identity}{string}{Opt.}{TODO ??} -\mumbleMessageExItem{comment}{string}{Opt.}{User comment} -\mumbleMessageExItem{hash}{string}{Opt.}{TODO ??} -\mumbleMessageExItem{comment\_hash}{bytes}{Opt.}{TODO ??} -\mumbleMessageExItem{texture\_hash}{bytes}{Opt.}{TODO ??} +\mumbleMessageExItem{comment}{string}{Opt.}{User comment if it is less than 128 bytes} +\mumbleMessageExItem{hash}{string}{Opt.}{The hash of the user certificate} +\mumbleMessageExItem{comment\_hash}{bytes}{Opt.}{SHA1 hash of the user comment if it 128 bytes or more. See \ref{msg:requestBlob}} +\mumbleMessageExItem{texture\_hash}{bytes}{Opt.}{SHA1 hash of the user picture if it 128 bytes or more. See \ref{msg:requestBlob}} \mumbleMessageExItem{priority\_speaker}{bool}{Opt.}{True if the user is a priority speaker} \mumbleMessageExItem{recording}{bool}{Opt.}{True if the user is currently recording} \end{mumbleMessageEx} @@ -795,10 +798,12 @@ Sent by the server when it communicates new and changed users to client. First s \subsection{UserStats} \label{msg:userStats} +Used to communicate user stats between the server and clients. + \begin{mumbleMessageEx} \mumbleMessageExItem{session}{uint32}{Opt.}{User whose stats these are} \mumbleMessageExItem{stats\_only}{bool}{Opt.}{True if the message contains only mutable stats (packets, ping), \textbf{Default: false}} -\mumbleMessageExItem{certificates}{bytes}{Rep.}{User certificates, TODO ??} +\mumbleMessageExItem{certificates}{bytes}{Rep.}{Full user certificate chain of the user certificate in DER format} % TODO: DER format reference \mumbleMessageExItem{from\_client}{Stats}{Opt.}{Packet statistics for packets received from the client} \mumbleMessageExItem{from\_server}{Stats}{Opt.}{Packet statistics for packets sent by the server} \\ @@ -810,7 +815,7 @@ Sent by the server when it communicates new and changed users to client. First s \mumbleMessageExItem{tcp\_ping\_var}{float}{Opt.}{TCP ping variance} \\ \mumbleMessageExItem{version}{Version}{Opt.}{Client version, see \ref{msg:version}} -\mumbleMessageExItem{celt\_versions}{int32}{Rep.}{Celt versions, TODO ??} +\mumbleMessageExItem{celt\_versions}{int32}{Rep.}{A list of CELT bitstream version constants supported by the client of this user.} \mumbleMessageExItem{address}{bytes}{Opt.}{Client IP address} \mumbleMessageExItem{bandwidth}{uint32}{Opt.}{Bandwith used by this client} \mumbleMessageExItem{onlinesecs}{uint32}{Opt.}{Connection duration} @@ -825,7 +830,7 @@ Sent by the server when it communicates new and changed users to client. First s \mumbleMessageExItem{good}{uint32}{Opt.}{The amount of good packets received} \mumbleMessageExItem{late}{uint32}{Opt.}{The amount of late packets received} \mumbleMessageExItem{lost}{uint32}{Opt.}{The amount of packets never received} -\mumbleMessageExItem{resync}{uint32}{Opt.}{TODO: Hum?} +\mumbleMessageExItem{resync}{uint32}{Opt.}{The amount of nonce resyncs} \end{mumbleMessageEx} \subsection{Version} @@ -841,7 +846,7 @@ Sent by the server when it communicates new and changed users to client. First s \subsection{VoiceTarget} \label{msg:voiceTarget} -Sent by the client when it wants to register or clear whisper targets. See \ref{sect:whispering} for more information. \textbf{Note: The first available target ID is 1 as 0 is reserved for normal talking. Maximum channel ID is 30} +Sent by the client when it wants to register or clear whisper targets. See \ref{sect:whispering} for more information. \textbf{Note: The first available target ID is 1 as 0 is reserved for normal talking. Maximum target ID is 30} \begin{mumbleMessageEx} \mumbleMessageExItem{id}{uint32}{Opt.}{Voice target ID}