예제 #1
0
        public void AddAVIncomingCall(CallReceivedEventArgs <AudioVideoCall> e, CancellationTokenSource cts = null)
        {
            if (_state != TranscriptRecorderState.Active)
            {
                NonBlockingConsole.WriteLine("Warn: AddAVIncomingCall in unexpected TranscriptRecorderSession state: " + _state.ToString());
            }

            AVTranscriptRecorder    a      = new AVTranscriptRecorder(this);
            ConversationParticipant caller = e.RemoteParticipant;

            Message m = new Message("AudioVideo Conversation Participant Added.", caller.DisplayName,
                                    caller.UserAtHost, caller.Uri, DateTime.Now,
                                    _conversation.Id, (_conversation.ConferenceSession == null) ? "null" : _conversation.ConferenceSession.ConferenceUri,
                                    MessageType.ConversationInfo, MessageDirection.Outgoing);

            this.OnMessageReceived(m);

            _transcriptRecorders.Add(a);
            _conversationToCallTranscriptMapping[_conversationTranscriptRecorder].Add(a);

            a.AudioVideoCall_Received(e);
        }