Share via


Managed Office Communications Server::CreateSipUser

This procedure adds an existing Active Directory user to the Office Communications Server.

Arguments

Input argument Required Type Description

<user>

Yes

xs:string

The Lightweight Directory Access Protocol (LDAP) path of the user.

<preferredDomainController>

Yes

xs:string

The domain controller to use for Active Directory actions.

Type: xs:string

<enabled>

Yes

xs:boolean

If true, this user is authorized for Office Communications Server; if false, the user does not have specific support under SIP.

<enabledForEnhancedPresence>

No

xs:boolean

If true. the user is enabled for enhanced presence. If false. the user is not enabled for enhanced presence. The default is false.

<enabledForFederation>

No

xs:boolean

If true, the user is enabled for federation. If false, the user is not enabled for federation. The default is false.

<enabledForInternetAccess>

No

xs:boolean

If true, the user is enabled for Internet access. If false, the user is not enabled for Internet access. The default is false.

<primaryURI>

Yes

xs:string

The primary SIP URI of the user. This URI must be unique and must be represented in the form "sip:user@domain" where the domain substring is either a fully qualified domain name or a valid IP address. Domains cannot be 0.0.0.0 or any multicast domain address from 224.0.0.0 to 239.255.255.255.

<publicNetworkEnabled>

No

xs:boolean

This parameter controls whether the user is able to exchange instant messages with other users who are hosted by one or more public IM service providers. If true, the user is authorized for public IM connectivity. If false, the user not authorized for public IM connectivity. The default is false.

<allowOrganizeMeetingWithAnonymousParticipants>

No

xs:boolean

If true, the user is allowed to invite anonymous user to meeting.

<meetingPolicy>

No

xs:string

The name of the Meeting Policy to be applied to a user.

<ucEnabled>

No

xs:boolean

If true, the user is enabled for Unified Communications.

The default value is false.

<ucPolicy>

No

xs:string

The name of the Unified Communications Policy to be applied to a user.

<archiveFederatedCommunications>

No

xs:boolean

This parameter controls whether a user's communications across federated domains are archived.

<archiveInternalCommunications>

No

xs:boolean

This parameter controls whether a user's communications within their internal domain are archived.

<ipPBXSoftPhoneRoutingEnabled>

No

xs:boolean

This parameter controls whether the user is enabled for both remote call control and Enterprise voice. Requires that the UCEnabled be set to true.

<lineServerURI>

No

xs:string

The SIP URI of the telephony gateway server assigned to this user for remote-call control (RCC).

A valid SIP URI uses the following form: Sip:abc@pbx1.phones.microsoft.com.

This property is not indexed, but is marked for global container replication.

If RemoteCallControlTelephoneyEnabled is true, then this value cannot be NULL.

The value of this property is not case-sensitive. The maximum length of the string is 454 characters.

<lineURI>

No

xs:string

Either the SIP URI or the Tel. URI of the user's phone line.

This value is used by the Microsoft Office Communicator client and by Enterprise Voice for call routing.

A valid SIP URI uses the following form: sip:+14257777777@phones.fabrikam.com;user=phone. This SIP URI value must be unique.

A valid Tel. URI uses the following form: tel:+14257071111;ext=71111;attribute=telephone number.

This property is indexed and marked for global container replication.

If RemoteCallControlTelephoneyEnabled is true, then this value cannot be NULL. The value of this property is not case-sensitive.

The maximum length of the string is 454 characters.

<remoteCallControlTelephonyEnabled>

No

xs:boolean

This parameter controls whether the user is able to use the Microsoft Office Communicator client in combination with the user's computer to initiate, receive, and forward phone calls.

If true, the user is authorized for remote call control. If false, the user is not authorized for remote call control. If the value is true, LineURI and LineServerURI cannot be null. The default value is false.

<poolFQDN>

No

xs:string

The fully qualified domain name (FQDN) of the home application pool for this user.

<poolTag>

No

xs:string

The tag to filter the list of available pools when automatically selecting a pool.

Output argument Type Description

<poolFQDN>

xs:string

The fully qualified domain name (FQDN) of the home application pool for this user.

<poolDN>

xs:string

The distinguished name of the home application pool for this user. This name must be valid within the domain's Active Directory.

Remarks

Security

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

Permission Check

This procedure will perform a test for Customer Administrator (UserCreators).

Preconditions

  • The user exists in Active Directory.

  • At least one SIP Domain has been provisioned for the organization.

  • At least one available shared pool exists.

Business Rules

The user's SIP address must contain a domain suffix that matches a SIP Domain assigned to the organization.

Post-conditions

The user will be added to the Office Communications Server.

Sequence Narrative

  1. Actor submits CreateSipUser request to the Managed Office Communications Server namespace.

  2. The users owning organization's LDAP path is retrieved using the private internal procedure GetOwningOrg_.

  3. The Managed Office Communications Server namespace verifies that the SIP domain is part of the owning organization's domain or its parent's domain using procedure ValidateSipDomainOwnership.

  4. Alt: If no homeServerDN is submitted, calls private procedure SelectPool_ to automatically pick up a available pool for the user. This process will follow previous section Pool Assignment.

  5. The Managed Office Communications Server namespace transforms the user's LDAP path to DN using the private internal procedure LDAPtoDN_.

  6. The Managed Office Communications Server namespace calls the Office Communcations Server Provider::GetMeetingPolicyDNByName. A DN is expected by Office Communications Server Provider.

  7. The Managed Office Communications Server namespace calls the Office Communcations Server Provider::GetUCPolicyDNByName. A DN is expected by Office Communications Server Provider.

  8. The Managed Office Communications Server namespace calls the Office Communcations Server Provider::CreateSipUser. When calling this procedure, a transform must be performed to prefix the primaryUri with "SIP:"

Exceptions

HResult Message Conditions

0x80070057

No available pool was found for this user. Please supply the 'poolFQDN' parameter.

poolFQDN cannot be null when there is no available pool in auto selection.

Sample Code

Example XML Request

<request> 
  <data> 
    <!--The preferred domain controller for Active Directory operations.--> 
    <preferredDomainController>AD01.Fabrikam.com</preferredDomainController> 
    <!--The LDAP path of the user--> 
    <user>LDAP://CN=JohnC@alpineskihouse.com,OU=AlpineSkiHouse,OU=ConsolidatedMessenger,OU=Hosting,DC=Fabrikam,DC=Com</user> 
    <!--The primary SIP URI of the user. This URI must be unique and must be represented in the form "sip:user@domain" where the domain substring is either a fully qualified domain name.--> 
    <primaryURI>sip:JohnC@alpineskihouse.com</primaryURI> 
    <!--If true, this user is authorized for SIP; if false, the user does not have specific support under SIP.--> 
    <enabled>1</enabled> 
    <!--If true the user is enabled for enhanced presence. If false the user is not enabled for enhanced presence. The default is false.--> 
    <enabledForEnhancedPresence>0</enabledForEnhancedPresence> 
    <!--If true the user is enabled for federation. If false the user is not enabled for federation. The default is false.--> 
    <enabledForFederation>0</enabledForFederation> 
    <!--If true the user is enabled for Internet access. If false the user is not enabled for Internet access. The default is false.--> 
    <enabledForInternetAccess>1</enabledForInternetAccess> 
    <!--Controls whether the user is able to exchange instant messages with other users who are hosted by one or more public IM service providers. If true, the user is authorized for public IM connectivity. If false, the user not authorized for public IM connectivity. The default is false.--> 
    <publicNetworkEnabled>0</publicNetworkEnabled> 
    <!--This allows the user to invite anonymous user to meeting.--> 
    <allowOrganizeMeetingWithAnonymousParticipants>true</allowOrganizeMeetingWithAnonymousParticipants> 
    <!--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> 
    <!--Controls whether a user's communications across federated domains are archived.--> 
    <archiveFederatedCommunications>true</archiveFederatedCommunications> 
    <!--Controls whether a user's communications within their internal domain are archived.--> 
    <archiveInternalCommunications>true</archiveInternalCommunications> 
    <!--Controls whether the user is enabled for both remote call control and Enterprise voice.  Requires that the UCEnabled be set to true.--> 
    <ipPBXSoftPhoneRoutingEnabled>true</ipPBXSoftPhoneRoutingEnabled> 
    <!--The SIP URI of the telephony gateway server assigned to this user for remote-call control (RCC).--> 
    <lineServerURI>sip:server01@pbx1.phones.fabrikam.com</lineServerURI> 
    <!--Either the SIP URI or the Tel. URI of the user's phone line. This value is used by the Microsoft Office Communicator client and by Enterprise Voice for call routing.--> 
    <lineURI>tel:+15555550101</lineURI> 
    <!--Controls whether the user is able to use the Microsoft Office Communicator client in combination with the user's computer to initiate, receive, and forward phone calls.--> 
    <remoteCallControlTelephonyEnabled>true</remoteCallControlTelephonyEnabled> 
    <!--The fully qualified domain name (FQDN) of the home application pool for this user.--> 
    <poolFQDN>pool01.fabrikam.com</poolFQDN> 
    <!--The tag to filter the list of available pools when automatically selecting a pool.--> 
    <poolTag>LabA</poolTag> 
  </data> 
  <procedure> 
    <execute namespace="Managed Office Communications Server" procedure="CreateSipUser" impersonate="1"> 
      <before source="data" sourcePath="preferredDomainController" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="user" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="primaryURI" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="enabled" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="enabledForEnhancedPresence" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="enabledForFederation" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="enabledForInternetAccess" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="publicNetworkEnabled" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="allowOrganizeMeetingWithAnonymousParticipants" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="meetingPolicy" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="ucEnabled" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="ucPolicy" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="archiveFederatedCommunications" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="archiveInternalCommunications" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="ipPBXSoftPhoneRoutingEnabled" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="lineServerURI" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="lineURI" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="remoteCallControlTelephonyEnabled" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="poolFQDN" destination="executeData" mode="move" /> 
      <before source="data" sourcePath="poolTag" destination="executeData" mode="move" /> 
      <after source="executeData" destination="data" mode="merge" /> 
    </execute> 
  </procedure> 
</request>

Example XML Response

<response> 
  <data> 
    <!--The fully qualified domain name (FQDN) of the home application pool for this user.--> 
    <poolFQDN>pool01.fabrikam.com</poolFQDN> 
    <!--The distinguished name of the home application pool for this user. This name must be valid within the domain's Active Directory.--> 
    <poolDN>CN=LC Services,CN=Microsoft,CN=Pool,CN=Pools,CN=RTC Service,CN=Microsoft,CN=System,DC=fabrikam,DC=com</poolDN> 
  </data> 
</response>

Applies To

Managed Office Communications Server Namespace API for:

  • Hosted Messaging and Collaboration version 4.5

See also

Tasks

Managed Office Communications Server::DeleteSipUser