The Mumble Protocol is Open Source, just like Mumble itself. The source code for the current version can be found in the Git repository in the file Mumble.proto.
A complete documentation about the protocol can be found at mumble-protocol.pdf.
UDP Ping packet
Mumble supports querying the following data by sending a ping packet to the target server. Both packets have to be formatted in Big Endian.
The ping request packet contains the following data:
|4 bytes||int||0||Denotes the request type|
|8 bytes||long long||ident||Used to identify the reponse.|
The response will then contain the following data:
|4 bytes||int||Version||e.g., \x0\x1\x2\x3 for 1.2.3. Can be interpreted as one single int or four signed chars.|
|8 bytes||long long||ident||the ident value sent with the request|
|4 bytes||int||Currently connected users count|
|4 bytes||int||Maximum users (slot count)|
|4 bytes||int||Allowed bandwidth|
An example script can be found at mumble-ping.py.