protected override UcwaUserConfiguration InternalExecute() { return(UcwaConfigurationUtilities.GetUcwaUserConfiguration(this.sipUri, base.CallContext)); }
// Token: 0x060019AD RID: 6573 RVA: 0x0005AB7C File Offset: 0x00058D7C protected override OnlineMeetingType InternalExecute() { this.SetDefaultValuesForOptics(); UserContext userContext = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true); if (string.Compare(userContext.SipUri, this.sipUri, StringComparison.OrdinalIgnoreCase) != 0) { base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.ManagerSipUri, ExtensibleLogger.FormatPIIValue(this.sipUri)); } if (userContext.ExchangePrincipal.MailboxInfo.OrganizationId != null && userContext.ExchangePrincipal.MailboxInfo.OrganizationId.OrganizationalUnit != null) { base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.Organization, userContext.ExchangePrincipal.MailboxInfo.OrganizationId.OrganizationalUnit.Name); } UcwaUserConfiguration ucwaUserConfiguration = UcwaConfigurationUtilities.GetUcwaUserConfiguration(this.sipUri, base.CallContext); if (!ucwaUserConfiguration.IsUcwaSupported) { base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.IsUcwaSupported, bool.FalseString); string errorString = string.Format("[InternalExecute] Attempted to create an online meeting for a non-UCWA supported user; autodiscover returned UcwaUrl: '{0}', DiagnosticInfo: '{1}'", ucwaUserConfiguration.UcwaUrl, ucwaUserConfiguration.DiagnosticInfo); this.LogAndTraceError(errorString); return(OnlineMeetingType.CreateFailedOnlineMeetingType("User is not UCWA enabled")); } if (!this.ShoudlMeetingBeCreated()) { return(OnlineMeetingType.CreateFailedOnlineMeetingType("Item already has an online meeting associated to it.")); } OAuthCredentials oauthCredential; try { oauthCredential = UcwaConfigurationUtilities.GetOAuthCredential(this.sipUri); oauthCredential.ClientRequestId = new Guid?(Guid.NewGuid()); base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.OAuthCorrelationId, oauthCredential.ClientRequestId.Value.ToString()); } catch (OwaException ex) { this.LogAndTraceError("An error occurred while obtaining OAuth Credential: " + UcwaConfigurationUtilities.BuildFailureLogString(ex)); return(OnlineMeetingType.CreateFailedOnlineMeetingType("An error occurred while obtaining OAuth credential")); } Task <OnlineMeetingResult> task = this.CreateLyncOnlineMeeting(ucwaUserConfiguration.UcwaUrl, oauthCredential, userContext.UserCulture); base.CallContext.ProtocolLog.Set(CreateOnlineMeetingMetadata.IsTaskCompleted, task.IsCompleted.ToString()); if (task.IsFaulted) { task.Exception.Flatten().Handle(new Func <Exception, bool>(this.HandleCreateOnlineMeetingTaskException)); return(OnlineMeetingType.CreateFailedOnlineMeetingType("An error occured while calling UCWA to create the meeting")); } if (task.Result == null) { this.LogAndTraceError("Result from call to UCWA is null"); return(OnlineMeetingType.CreateFailedOnlineMeetingType("Unable to create the meeting")); } if (task.Result.OnlineMeeting.WebUrl == "") { return(OnlineMeetingType.CreateFailedOnlineMeetingType("Unable to create the meeting")); } this.UpdateOpticsLog(task.Result); OnlineMeetingType result = this.ProcessOnlineMeetingResult(userContext, task.Result); this.DiposeObjectsIfNeeded(); return(result); }