Hosted Office Communications Server::ModifyUserPlan

This procedure modifies a user plan.

Use this procedure to modify an existing OCSUserHosting plan. At this time, OCSOrgHosting plans do not contain any features, so there is no functional difference between OCSOrgHosting plans.

Arguments

Input argument Required Description

<preferredDomainController>

Yes

string

<planName>

Yes

string

<newPlanName>

No

string

<planDescription>

No

string

<features>

No

string

<features/enabled>

No

boolean

<features/ enabledForEnhancedPresence>

No

boolean

<features/ enabledForFederation>

No

boolean

<features/ enabledForInternetAccess>

No

boolean

<features/ publicNetworkEnabled>

No

boolean

<features/ allowOrganizeMeetingWithAnonymousParticipants>

No

boolean

<features/meetingPolicy>

No

string

<features/ucEnabled>

No

boolean

<features/ucPolicy>

No

string

Remarks

Security

The caller must be at least a member of role: Domain Administrator

Permission Check

No explicit permission check is required for this procedure. The procedure calls Managed Plans::ModifyPlan which performs a test for Domain Administrator.

Preconditions

  • The Hosted Office Communications Server namespace was initialized.

  • The plan was previously created.

Business Rules

The specified plan must be of type 'OCSUserHosting'.

Post-conditions

The plan will be updated with the specified values.

Sequence Narrative

  1. Actor submits ModifyUserPlan request to the Hosted Office Communications Server namespace.

  2. ModifyUserPlan calls the private procedure GetPlanWithTypeValidation_ to validate that the plan submitted is of the required type "OCSUserHosting".

  3. ModifyUserPlan calls the private ValidatePlanFeatures_. This procedure will validate that all the submitted plan features are of type boolean (1|0|true|false). An exception will be raised if any of the values fail this test.

  4. ModifyUserPlan calls private procedure GetUserPlanFeatures_ to retrieve the feature name and description which are required by Managed Plans.

  5. If 'enabledForEnhancedPresence', 'enabledForFederation', or 'publicNetworkEnabled' parameters are supplied, the Hosted Office Communications Server namespace calls the Managed Plans::AddFeaturesToPlan procedure.

  6. If 'newPlanName' or 'planDescription' is supplied, the Hosted Office Communications Server namespace calls the Managed Plans::ModifyPlan procedure.

Exceptions

HResult Message Conditions

0x80070057

The parmeter '%1' with a value of '%2' is invalid. A bool value was expected.

One of the supplied feature values is not a boolean.

Sample Code

Example XML Request

<request> 
  <data> 
    <!--The unique name of the new service plan to be assigned to the customer.--> 
    <planName>OCSBasicIM</planName> 
    <!--New unique name for the plan--> 
    <newPlanName>OCSBronze</newPlanName> 
    <!--Description of the plan--> 
    <planDescription>Basic OCS user plan with IM.</planDescription> 
    <!--The name of the preferred domain controller in the Service Provider domain.--> 
    <preferredDomainController>AD01.Fabrikam.Com</preferredDomainController> 
    <!----> 
    <features> 
      <!--This allows the user to invite anonymous user to meeting.--> 
      <allowOrganizeMeetingWithAnonymousParticipants>true</allowOrganizeMeetingWithAnonymousParticipants> 
      <!--This enables the user for Office Communications Server.--> 
      <enabled>true</enabled> 
      <!--This enables the user for new advanced features of Office Communications Server.--> 
      <enabledForEnhancedPresence>true</enabledForEnhancedPresence> 
      <!--This enables the user to participate in a federated conversation.--> 
      <enabledForFederation>true</enabledForFederation> 
      <!--This enables the user for internet access.--> 
      <enabledForInternetAccess>true</enabledForInternetAccess> 
      <!--This setting controls the user ability to participate in conversations with public IM providers such as AOL, MSN and Yahoo.--> 
      <publicNetworkEnabled>true</publicNetworkEnabled> 
      <!--Specifies the name of the Meeting Policy to be applied to a user.--> 
      <meetingPolicy>Default Policy</meetingPolicy> 
      <!--This enables the user for Unified Communications.--> 
      <ucEnabled>true</ucEnabled> 
      <!--Specifies the name of the Unified Communications Policy to be applied to a user. This parameter must be present if ucEnabled is true.--> 
      <ucPolicy>Default Policy</ucPolicy> 
    </features> 
  </data> 
  <procedure> 
    <execute namespace="Hosted Office Communications Server" procedure="ModifyUserPlan" impersonate="1"> 
      <before source="data" sourcePath="planName" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="newPlanName" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="planDescription" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="preferredDomainController" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="features" destination="executeData" mode="move" /> 
      <after source="executeData" destination="data" mode="merge" /> 
    </execute> 
  </procedure> 
</request>

Example XML Response

<response> 
  <data /> 
</response>

Applies To

Hosted Office Communications Server Namespace API for:

  • Hosted Messaging and Collaboration version 4.5

See also

Tasks

Hosted Office Communications Server::CreateUserPlan
Hosted Office Communications Server::GetUserPlan