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
Actor submits CreateSipUser request to the Managed Office Communications Server namespace.
The users owning organization's LDAP path is retrieved using the private internal procedure GetOwningOrg_.
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.
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.
The Managed Office Communications Server namespace transforms the user's LDAP path to DN using the private internal procedure LDAPtoDN_.
The Managed Office Communications Server namespace calls the Office Communcations Server Provider::GetMeetingPolicyDNByName. A DN is expected by Office Communications Server Provider.
The Managed Office Communications Server namespace calls the Office Communcations Server Provider::GetUCPolicyDNByName. A DN is expected by Office Communications Server Provider.
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