Beispiel #1
0
        private void InitializeSupervisorControlChannel()
        {
            _supervisorControlChannel = new SupervisorContextChannel(_frontEndConversation, _initialSupervisorCall.RemoteEndpoint);

            _supervisorControlChannel.RequestReceived += ProcessSupervisorControlChannelRequestReceived;
            _supervisorControlChannel.StateChanged    += ProcessSupervisorStateChanged;


            try
            {
                _supervisorControlChannel.BeginEstablish(_matchMaker.Configuration.SupervisorDashboardGuid,
                                                         est =>
                {
                    try
                    {
                        _supervisorControlChannel.EndEstablish(est);


                        this.UpdateState(SupervisorSessionState.GeneralAgentActivityTracking);

                        this.InitializeAgentTracking();
                    }
                    catch (RealTimeException rtex)
                    {
                        _logger.Log("AcdSupervisorSession fails to end establish a supervisor session", rtex);
                        this.BeginShutDown(sd => { this.EndShutDown(sd); }, null);
                        return;
                    }
                },
                                                         null);
            }
            catch (InvalidOperationException ivoex)
            {
                _logger.Log("AcdSupervisorSession fails to begin establish a supervisor session", ivoex);
                this.BeginShutDown(sd => { this.EndShutDown(sd); }, null);
                return;
            }
        }
Beispiel #2
0
 public MonitoringChannel(string id, Uri uri, SupervisorContextChannel supervisorChannel)
 {
     m_id  = id;
     m_uri = uri;
     m_supervisorChannel = supervisorChannel;
 }