private IExtensible MumbleRead()
        {
            var sslStreamReader = new BinaryReader(sslStream);

            IExtensible result = null;

            Int16 type = IPAddress.NetworkToHostOrder(sslStreamReader.ReadInt16());
            Int32 size = IPAddress.NetworkToHostOrder(sslStreamReader.ReadInt32());

            if (type == (int)MessageTypes.UDPTunnel)
            {
                result = new UDPTunnel() { packet = sslStreamReader.ReadBytes(size) };
            }
            else
            {
                result = MumbleProtocolFactory.Deserialize((MessageTypes)type, size, sslStreamReader);
            }
            return result;
        }
        public void SendUDPTunnel(byte[] packet)
        {
            var message = new MumbleProto.UDPTunnel();

            message.packet = packet;

            MumbleWrite(message);
        }