Using the Backend Property

 
Communications Server 2007 Server SDK Documentation

Using the Backend Property

The read-only Backend property is present in each of the pool-level classes. Used only for lookups, the Backend property is an additional parameter that is supplied to the Office Communications Server WMI provider as a means of specifying the location of the class instances.

The following table lists all pool-level classes and the server roles in which these classes are used.

WMI Class Enterprise Edition Standard Edition Proxy Server Access Edge Server
Backend store SQL Server MSDE WMI repository WMI repository
MSFT_SIPProxySetting x x x x
MSFT_SIPProxySecuritySetting x x x x
MSFT_SIPLogSetting x x x
MSFT_SIPRemoteAddressData x x x
MSFT_SIPRoutingTableData x x x
MSFT_SIPEsEmSetting x x
MSFT_SIPUserReplicatorSetting x x

While performing WMI operations, such as creating, updating, or deleting an instance, you must specify the Backend property. The Backend property cannot be null. Acceptable values are as follows:

Server Role Acceptable Values
Enterprise Edition SQL_Instance_Name
Standard Edition (local)\rtc
Access Edge Server or Proxy Server Empty string

When retrieving or updating an instance, the Office Communications Server WMI provider looks at the Backend property and queries the corresponding data store. Because SQL Server is accessible remotely, Enterprise Pool-level settings can be retrieved from any computer that has the Office Communications Server administrator tools installed and access to that SQL server.

To connect to the appropriate data store for a Standard Edition Server, Access Edge Server, or Proxy Server, you must first connect to the WMI service on the computer where the server is installed. Then you can query and update the settings.

When any of the pool-level classes are enumerated, the WMI provider returns all instances from the local computer (if Standard Edition Server, Access Edge Server, or Proxy Server is installed on that computer), as well as the instances for all Enterprise pools.

The Office Communications Server WMI provider queries MSFT_SIPPoolSetting and retrieves the BackEndDBPath property for instances that are of PoolType ???FEPool???. The WMI EnumerateInstances operation translates to an Active Directory query (to get the list of pools) followed by a connection to the back-end server for each Enterprise pool. For this reason, using EnumerateInstances is an expensive operation. Whenever possible, use ExecQuery based on the Backend property instead because this operation will translate to only one connection to a SQL server, the local MSDE, or WMI repository.

Code Examples [VBScript]

Enterprise Edition

For all operations (retrieve, put, or delete), connect to the local WMI service. To retrieve the instances for an Enterprise Pool, run a query based on the Backend property. The value of the Backend property should be the same as the value of BackEndDBPath of the corresponding MSFT_SIPPoolSetting instance.

Query = "SELECT * FROM MSFT_SIPProxySetting WHERE Backend = 'SQL_Instance_Name'"

For put operations, specify the back-end attribute like any other attribute.

Set DefaultRoutingInstance = GetObject("WinMgmts:MSFT_SIPRoutingTableData")
 Set NewRoutingInstance = DefaultRoutingInstance.SpawnInstance_

Populate the properties for new instance.

NewRoutingInstance.DropRouterHeaders = False;
???
???
NewRoutingInstance.Backend = "SQL_Instance_Name";

No escaping required here.

NewRoutingInstance.Put_ 0

Standard Edition

For all operations (retrieve, put, or delete), connect to the WMI service on the server whose configuration needs to be retrieved or updated. To retrieve the instances on a Standard Edition Server, run a query based on the Backend property with its value set to ???(local)\rtc???.

Query = "SELECT * FROM MSFT_SIPProxySetting WHERE Backend = ' (local)\\rtc'"

Note????The backslash character ???\??? is the escape character so it has to enclosed with another backslash ???\???.

For put operations, specify the Backend property like any other attribute.

Set DefaultRoutingInstance = GetObject("WinMgmts:MSFT_SIPRoutingTableData")
 Set NewRoutingInstance = DefaultRoutingInstance.SpawnInstance_

Populate the properties for new instance.

NewRoutingInstance.DropRouterHeaders = False;
???
???
NewRoutingInstance.Backend = "(local)\rtc";

No escaping required here.

NewRoutingInstance.Put_ 0

Proxy Server and Access Edge Server

For all operations (retrieve, put, delete), connect to the WMI service on the server whose configuration needs to be retrieved or updated. To retrieve the instances on a Proxy Server or Access Edge Server, run a query based on the back-end attribute with it set to empty string.

Query = "SELECT * FROM MSFT_SIPProxySetting WHERE Backend = ''"

For put operations specify the Backend property like any other attribute.

Set DefaultRoutingInstance = GetObject("WinMgmts:MSFT_SIPRoutingTableData")
 Set NewRoutingInstance = DefaultRoutingInstance.SpawnInstance_

Populate the properties for new instance.

NewRoutingInstance.DropRouterHeaders = False;
???
???
NewRoutingInstance.Backend = "";
NewRoutingInstance.Put_ 0
  
  What did you think of this topic?
  © 2007 Microsoft Corporation. All rights reserved.