public void Send(IVoipMessage message)
 {
     if (!_isRunning)
         return;
     lock (_messageQueue)
     {
         _messageQueue.Add(message);
     }
     _are.Set();
 }
 private void _audioChatClient_MessageReceived(IVoipMessage message)
 {
     switch (message.MessageType)
     {
         case (VoipMessageVoice.MType):
             ReceivedVoice((VoipMessageVoice)message);
             break;
         case (VoipMessageJoinRoom.MType):
             ReceivedJoin((VoipMessageJoinRoom)message);
             break;
         case (VoipMessageLeaveRoom.MType):
             ReceivedLeave((VoipMessageLeaveRoom)message);
             break;
         default:
             VoipSession.VoipDebug(VoipSession.DebugPacketContent, "Unhandled message type: " + message.MessageType);
             break;
     }
 }