[This is preliminary documentation and is subject to change. Blank topics are included as placeholders.]

Creates a new hosting provider for use in your organization. A hosting provider is a private third-party organization that provides instant messaging, presence, and related services for a domain that you would like to federate with. Hosting providers differ from public providers (such as Yahoo!, Windows Live, and AOL) in that their services are not offered to the general public.

Syntax

New-CsHostingProvider -Identity <XdsGlobalRelativeIdentity> -Enabled <$true | $false> -ProxyFqdn <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-IsLocal <$true | $false>] [-VerificationLevel <AlwaysVerifiable | AlwaysUnverifiable | UseSourceVerification>] [-WhatIf [<SwitchParameter>]]
New-CsHostingProvider -Identity <XdsGlobalRelativeIdentity> -Enabled <$true | $false> -EnabledSharedAddressSpace <$true | $false> -HostsOCSUsers <$true | $false> -ProxyFqdn <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-InMemory <SwitchParameter>] [-IsLocal <$true | $false>] [-VerificationLevel <AlwaysVerifiable | AlwaysUnverifiable | UseSourceVerification>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

String

Unique identifier for the hosting provider to be created. The Identity is simply a string value; for example, the Identity could be the fully qualified domain name of the hosting provider (e.g., fabrikam.com) or perhaps the name of the company providing the services (Fabrikam Hosting, Inc.).

Hosting provider Identities must be unique. Your command will fail if you try to create a new hosting provider if an existing provider already has that same Identity.

ProxyFQDN

Required

FQNDN

The fully qualified domain name for the proxy server used by the hosting provider. Note that this value cannot be modified. If the hosting provider changes its proxy server you will need to delete and then recreate the entry for that provider.

Enabled

Required

Boolean

Indicates whether the network connection between your domain and the hosting provider is enabled. Messages cannot be exchanged between the two organizations until this value is set to True. (The default value is False.)

VerificationLevel

Optional

String

Indicates the allowed verification level for messages sent to and from the hosted provider. The VerificationLevel must be set to one of the following values:

AlwaysVerifiable. Indicates that all messages sent from the hosting provider are considered verifiable. That means that no messages from the hosting provider will be rejected.

AlwaysUnverifiable. Indicates that all messages sent from the hosting provider are considered unverifiable. As a result, messages are passed only if the user on the hosting provider is in your contact list.

UseSourceVerification. Relies on the verification level included in messages sent from the hosting provider. If this level is not specified, then the message will be rejected as being unverifiable.

EnabledSharedAddressSpace

Optional

Boolean

If True, indicates that the hosting provider is being used in a split domain scenario. The default value is False.

HostsOCSUsers

Optional

Boolean

If True, indicates that the hosting provider is used to host Microsoft Communications Server accounts. If False, that indicates that the provider hosts other account types, such as Microsoft Exchange accounts. The default value is False.

IsLocal

Optional

Boolean

If True, indicates that the proxy server used by the hosting provider is contained within your Microsoft Communications Server topology. The default value is False.

InMemory

Optional

Switch Parameter

Creates an object reference without actually committing the object as a permanent change. If you assign the output of this cmdlet called with this parameter to a variable, you can make changes to the properties of the object reference and then commit those changes by calling this cmdlet’s matching Set- cmdlet.

Force

Optional

Switch Parameter

Suppresses the display of any non-fatal error message that might arise when running the command.

WhatIf

Optional

Switch Parameter

Describes what would happen if you executed the command without actually executing the command.

Confirm

Optional

Switch Parameter

Prompts you for confirmation before executing the command.

Detailed Description

Federation is a means by which two organizations can set up a trust relationship that facilitates communication between the two groups. When a federation has been established, users in the two organizations can send each other instant messages, subscribe for presence notifications, and otherwise communicate with one another using SIP applications such as Microsoft Communicator "14". Microsoft Communications Server 2010 allows for three types of federation: 1) direct federation between your organization and another; 2) federation between your organization and a public provider; and, 3) federation between your organization and a third-party hosting provider.

A hosting provider is an organization which provides SIP communication services for other organizations; for example, Fabrikam Hosting, Inc. might host users from Contoso, Northwind Traders, Wingtip Toys, and so on. When you establish a federation relationship with a hosting provider, you effectively establish federation with any organization hosted by that provider. For example, if you federate with Fabrikam Hosting, your users will be able to exchange instant messages and presence information with users from Contoso, Northwind Traders, and Wingtip Toys.

Hosting providers are also used in split domain scenarios. In a split domain scenario, some of your Communication Server users have accounts hosted on-premises (that is, hosted on your local implementation of Microsoft Communication Server). Other users have their accounts hosted "in the cloud"; that is, those accounts are maintained off-premises by the third-party hosting provider. Federating with the hosting provider enables your on-premises and off-premises users to communicate with one another.

In order to federate with a third-party hosting provider you need to create and enable a new hosting provider. (In addition, the third-party provider will need to create a federation relationship with you.) The New-CsHostingProvider cmdlet enables you to set up three types of hosting provider relationships:

Direct federation with the hosting provider. To create this type of relationship you must include the three required parameters: -Identity; -ProxyFQDN; and -Enabled.

Split domain, with Communications Server services being hosted. To create this type of relationship you need to include the three required parameters. In addition, you must set both the EnabledSharedAddressSpace and HostsOCSUsers properties to True.

Split domain, with non-Communications Server services (such as Microsoft Exchange) being hosted. To create this type of relationship you need to include the three required parameters. In addition, you must set the EnabledSharedAddressSpace to true and HostsOCSUsers to False.

When you create a new hosting provider both the Identity and the proxy FQDN for that provider must be unique: you cannot have two hosting providers (or even one hosting provider and one public provider) that share an identity and/or a proxy FQDN.

Note that you cannot federate with a hosting provider if your Access Edge servers are configured to use default routing rather than DNS server routing. For more information, type "Get-Help Set-CsAccessEdgeConfiguration" (without the quote marks) at the Windows PowerShell prompt.

Return Types

Creates new instances of the Microsoft.Rtc.Management.WriteableConfig.Settings.Edge.DisplayHostingProvider object.

Examples

-------------------------- Example 1 ------------------------

Copy Code
New-CsHostingProvider -Identity Fabrikam.com -ProxyFQDN "proxyserver.fabrikam.com" -Enabled $True

In Example 1, a new hosting provider with the Identity Fabrikam.com is created. In addition to specifying the Identity, the command also includes the other two required parameters: -ProxyFQDN (which specifies the proxy server used by Fabrikam.com); and -Enabled, which indicates whether or not the new hosting provider is enabled for use. If you leave out any of the required parameters, the New-CsHostingProvider will prompt you to enter those values before continuing.

-------------------------- Example 2 ------------------------

Copy Code
New-CsHostingProvider -Identity Fabrikam.com -ProxyFQDN "proxyserver.fabrikam.com" -Enabled $True -HostsOCSUsers $True -EnabledSharedAddressSpace $True

Example 2 demonstrates how you can create a new hosting provider for use in a split domain scenario. (Split domain means that some of your Communications Server accounts are maintained on-premise while other accounts are maintained by a hosting provider.) To create this type of hosting provider you must include the three required parameters (-Identity; -ProxyFQDN; and -Enabled). In addition, you must include -- and set to True -- both the -HostsOCSUsers and the -EnabledSharedAddressSpace parameters. To create a split domain provider that hosts non-Communications Server services (such as Microsoft Exchange), include these same two parameters but set -HostsOCSUsers to False.

-------------------------- Example 3 ------------------------

Copy Code
$x = New-CsHostingProvider -Identity Fabrikam.com -ProxyFQDN "proxyserver.fabrikam.com" -Enabled $True -InMemory
$x.HostsOCSUsers = $True
$x.EnabledSharedAddressSpace = $True
Set-CsHostingProvider -Instance $x

Example 3 also creates a new hosting provider for use in a split domain scenario; in this case, however, the new provider is initially created in-memory and is later added to your Communications Server infrastructure To do this, the first command in the example uses New-CsHostingProvider (and the required parameters -Identity; -ProxyFQDN; and -Enabled) to create a basic hosting provider. In addition to the required parameters, this initial command also uses the -InMemory parameter; -InMemory causes the new provider to be created in memory only. (Note that the new virtual provider is stored in the variable $x.)

In commands 2 and 3, property values for the virtual provider are modified: command 2 sets the HostsOCSUsers property to True ($True) and command 3 sets the EnabledSharedAddressSpace property to True. The final command in the example uses Set-CsHostingProvider to transform the virtual provider stored in $x into a real hosting provider configured for use in your organization. Keep in mind that the actual provider will not be created until you call Set-CsHostingProvider. If you fail to call this cmdlet then the virtual provider will disappear as soon as you terminate your Windows PowerShell session or delete the variable $x.