public IAsyncResult BeginStartMonitoringSession(Uri uri, AsyncCallback userCallback, object state) { requestType request = _requestProcessor.CreateRequest(ContextChannelRequestType.StartMonitoring); request.startmonitoringsession = new startmonitoringsessionType { uri = uri.ToString(), sessionId = Guid.NewGuid().ToString() }; SupervisorMonitoringChannel monitoringChannel = new SupervisorMonitoringChannel(this, request.startmonitoringsession.sessionId); _monitoringChannel = monitoringChannel; ProcessRequestAsyncResult requestAsyncResult = new StartMonitoringProcessRequestAsyncResult(monitoringChannel, request, _requestProcessor, userCallback, state); _requestProcessor.AddPendingRequest(request, requestAsyncResult); requestAsyncResult.Process(); return(requestAsyncResult); }
public IAsyncResult BeginHold(AsyncCallback userCallback, object state) { requestType request = _requestProcessor.CreateRequest(ContextChannelRequestType.Hold); ProcessRequestAsyncResult requestAsyncResult = new ProcessRequestAsyncResult(request, _requestProcessor, Conversation, ApplicationId, userCallback, state); _requestProcessor.AddPendingRequest(request, requestAsyncResult); requestAsyncResult.Process(); return(requestAsyncResult); }
public IAsyncResult BeginBargeIn( AsyncCallback userCallback, object state) { requestType request = _requestProcessor.CreateRequest(ContextChannelRequestType.BargeIn); ProcessRequestAsyncResult requestAsyncResult = new ProcessRequestAsyncResult(request, _requestProcessor, SupervisorDashboardChannel.Conversation, SupervisorDashboardChannel.ApplicationId, userCallback, state); _requestProcessor.AddPendingRequest(request, requestAsyncResult); requestAsyncResult.Process(); return requestAsyncResult; }