public Task <ReturnMessage> StartShareDoc()
        {
            Task <ReturnMessage> checkTask = _meetingManager.CheckMeetingServerStatus();

            if (checkTask != null)
            {
                return(checkTask);
            }

            var tcs = new TaskCallback <ReturnMessage>("StartShareDoc");

            if (_meetingManager.TaskCallbacks.ContainsKey(tcs.Name))
            {
                _meetingManager.TaskCallbacks.Remove(tcs.Name);
            }

            _meetingManager.TaskCallbacks.Add(tcs.Name, tcs);

            var result = MeetingAgent.StartShareDoc();

            if (result != 0)
            {
                ReturnMessage returnMessage;
                switch (result)
                {
                case -1006:
                    returnMessage = MessageManager.DocVideoNotSet;
                    break;

                case -1007:
                    returnMessage = MessageManager.DocAudioNotSet;
                    break;

                default:
                    returnMessage = MessageManager.FailedToStartShareDoc;
                    break;
                }
                return(Task.FromResult(returnMessage));
            }

            return(tcs.Task);
        }