Application Attributes

 
Microsoft Office Live Communications Server 2005 with SP1

Application Attributes

Application attributes precede the message filter script in an application manifest, and contain specific data describing the application to Live Communications Server. They directly follow the <lc:applicationManifest> tag, as shown in the following example:

<?xml version="1.0" ?>
<lc:applicationManifest
 lc:appUri="http://www.adatum.com/applicationName"
 xmlns:lc=https://schemas.microsoft.com/lcs/2004/05>

  application attributes

<lc:splScript><![CDATA[

  message filter script

]]></lc:splScript>
</lc:applicationManifest>

The xmlns attribute specifies the version of Live Communication Server on which an application is intended to run. Applications intended to run on Live Communication Server 2005 with SP1 must match the xmlns attribute value shown in the preceding example (where the alias "lc" can be replaced with whatever string value you assigned to your namespace). Applications intended to run on Live Communications Server 2003 only may use the xmlns attribute value

xmlns:lc="https://schemas.microsoft.com/rtc/2003/05"

although any xmlns attribute value that does not match "https://schemas.microsoft.com/lcs/2004/05" causes the application to be treated as a Live Communications Server 2003 application.

The following application attribute tags can be set.

Note  The string alias "lc" in the following tags should be replaced with the string value you assigned your namespace in the xmlns attribute of the <applicationManifest> tag.

Application attribute tag Description
<lc:proxyByDefault
   action="true|false" />
Specifies default proxy behavior for the application. If true, the server automatically proxies any messages not handled by the application. If false, the message is dropped and applications executing subsequent to this one will not receive it.

A message is considered handled if one of the following happens during the execution of the application’s MSPL script:

<lc:scriptOnly />
When present, specifies that the application does not have a managed code component, with all functionality provided by the MSPL script in the application manifest.

Note that calling the Dispatch built-in function will generate a compiler error when an application is script-only.

Script-only applications are also installed with the Microsoft® Management Console (MMC), and not through WMI directly.

<lc:requestFilter 
   methodNames="METHOD_NAMES|NONE|ALL"
   registrarGenerated="true|false"
   strictRoute="true|false" 
   domainSupported="true|false" />
Specifies which requests the server passes to the application. The value of the methodNames attribute is a comma-separated list of the following values:
  • REGISTER
  • SUBSCRIBE
  • NOTIFY
  • BENOTIFY
  • ACK
  • BYE
  • INVITE
  • OPTIONS
  • MESSAGE
  • SERVICE
  • INFO
  • REFER
  • OTHER

OTHER indicates that custom request methods defined for the SIP application infrastructure should be filtered. Two alternate values are defined for methodNames:

  • NONE—no SIP request methods are passed to the application.
  • ALL—all SIP request methods, including OTHER, are passed to the application.

NONE and ALL are mutually exclusive with each other, and with the specific method types. They must not be present in the comma-separated list of methods. This attribute tag has methodNames set to NONE by default.

If the registrarGenerated attribute is true, the application will see requests generated by the endpoint service. The default value is true.

If the strictRoute attribute is true, the application will see requests with a strict (fixed) route in addition to other requests. If strictRoute is false, the application will not see strict-routed requests

A request is considered as strictRouted if one or more of the following hold:

  • The request URI has the maddr parameter.
  • The request had a Route header that pointed to the local server when it arrived, meaning that the request already has destination set in the request-uri in compliance with RFC 3261
  • The request has one or more Route headers at the time of processing
  • A previous application supplied route information by setting the request-uri
Applications should set strictRoute to true if they wish to receive all messages. Setting the strictRoute filter to false guarantees that only requests that need routing will be delivered.

Route headers can be deleted by the managed application before proxying. The default value for strictRoute is true.

If the domainSupported attribute is true, the application will see only those requests from a domain supported by the local registrar. The default value is false.

Note  If a request is filtered by the server, then any responses to that request will likewise be filtered.

<lc:responseFilter 
   reasonCodes="RESPONSE_CLASSES|ALL|NONE" />
Specifies which classes of response the server passes to the application. The value of the reasonCodes attribute is a comma-separated list of the following values:
  • 1XX
  • 2XX
  • 3XX
  • 4XX
  • 5XX
  • 6XX

Each value corresponds to a class of SIP response codes, as defined in the IETF SIP Protocol specification (RFC 3261). Two alternate values are defined for reasonCodes:

  • NONE—no SIP reason codes are passed to the application.
  • ALL—all SIP reason codes are passed to the application.

NONE and ALL are mutually exclusive with each other, and with the specific method types. They must not be present in the comma-separated list of methods. This attribute tag has reasonCodes set to NONE by default.

<lc:file
   path="filePath"		
   keyColumnName=[columName]	
   delimitedBy="comma/tab/whitespace"	
 <column name="columnName"/>
    <lc:column name="ColumnName"/>
</lc:file>
The name attribute refers to the text file, which must be a valid MSPL identifier.

The path attribute is the actual path to the file. If the path is relative, it is relative to the path containing the running RTCSRV.EXE process. Required.

The keyColumnName attribute is the name of a column that can be used to access a record directly. Optional. The values in the specified column must be unique, else an error is logged when the file is loaded, causing the application to terminate. Defaults to no column. This attribute enables direct record access by string. Without this attribute, access is by integer.

The delimitedBy attribute specifies how column data is delimited. Acceptable values are "comma", "whitespace", or "tab".Optional. Defaults to "comma". If the value is "whitespace", both the leading and trailing white space on each line, along with the white space separating each column, are stripped. If delimiter characters are to be included within the column data, they must be surrounded by quotation marks.

The static attribute specifies whether the file contents can change while the script is running. Acceptable values are "true" or "false". The default is "false". If "true", the file is loaded into memory when the script is first loaded, and until the script is reloaded, that in-memory copy is the one used. If "false", then each time the script accesses a field in the file, the last write time is compared against what was last loaded into memory. If the file has been modified since it was last loaded, it is reloaded. Any error reloading the file causes the script to be terminated.

<lc:column
   name="columnName"
The column node specifies the name of each column to be read. One or more column nodes are required beneath the file tag, and each node must have a corresponding name attribute, which must be a valid MSPL identifier.
  
  What did you think of this topic?
  © 2008 Microsoft Corporation. All rights reserved.