private void ConferenceInvitation_AcceptCompleted(IAsyncResult result)
        {
            try
            {
                ConferenceInvitation invite = result.AsyncState as ConferenceInvitation;
                invite.EndAccept(result);

                if (_conversation == null)
                {
                    _conversation = invite.Conversation;

                    _conversationTranscriptRecorder = new ConversationTranscriptRecorder(this, _conversation);
                    _transcriptRecorders.Add(_conversationTranscriptRecorder);
                    _conversationToCallTranscriptMapping.Add(_conversationTranscriptRecorder, new List<MediaTranscriptRecorder>());

                    // TODO: Handle case where we're already joined into a different meeting for this conv?

                    ConferenceTranscriptRecorder conferenceTranscriptRecorder = new ConferenceTranscriptRecorder(this, _conversation);
                    _transcriptRecorders.Add(conferenceTranscriptRecorder);
                    _conversationToCallTranscriptMapping[_conversationTranscriptRecorder].Add(conferenceTranscriptRecorder);

                    conferenceTranscriptRecorder.ConferenceInviteAccepted(result);
                }
                else
                {
                    NonBlockingConsole.WriteLine("Warn: Already have a Conference/active conversation");
                    // Treat this as a sub conversation?
                    /*
                    subConvRecorder = new ConversationTranscriptRecorder(this, subConversation, true);
                    _transcriptRecorders.Add(subConvRecorder);
                    _conversationToCallTranscriptMapping.Add(subConvRecorder, new List<MediaTranscriptRecorder>());
                    _conversationToCallTranscriptMapping[subConvRecorder].Add(addingTranscriptRecorder);
                     */
                }
            }
            catch (Exception e)
            {
                NonBlockingConsole.WriteLine("Error: Exception occurred during conference invite acceptance: " + e.ToString());
            }
        }
        internal void OnEscalatedConferenceJoinRequested(Conversation conversation)
        {
            ConferenceTranscriptRecorder confRecorder = new ConferenceTranscriptRecorder(this, conversation);
            _transcriptRecorders.Add(confRecorder);
            _conversationToCallTranscriptMapping[_conversationTranscriptRecorder].Add(confRecorder);

            // TODO: log message for conf escalation events
            confRecorder.EscalateToConferenceRequested();
        }