How to: Create an application manifest
Published: July 16, 2012
Learn how to create an application manifest that runs on Microsoft Lync Server 2013.
To create a SIP application that runs on Lync Server 2013, the first step is to create an application manifest. The application manifest contains both the basic rules for message delivery to the application and the Microsoft SIP Processing Language (MSPL) script that is used to process the message.
You can create two kinds of SIP applications with the Microsoft Lync Server 2013 SIP Application API:
MSPL script-only SIP applications that are embedded in the application manifest
.NET Framework-based managed SIP applications
MSPL script-only applications are appropriate for the following scenarios:
Proxying SIP messages of a specific type
Handling potentially complex branching proxy scenarios or supporting multiple points-of-presence (MPOP), where extensibility is not required
For information about the descriptions of the functionality that MSPL supports, see Microsoft SIP Processing Language Reference.
Managed SIP applications are appropriate for the following scenarios:
Handling potentially complex branching proxy scenarios or supporting MPOP, where extensibility is required
Working directly with SIP transaction objects and supporting multiple work threads
If you build a managed SIP application, you must also determine the division of labor between the message filter (the script block that dispatches specified messages) and the application (the managed code event handler that processes the dispatched messages).
After deciding the kind of application that you need, use an XML or text editor to write the content of the application manifest by using the following template:
<?xml version="1.0" ?> <lc:applicationManifest lc:appUri="URI" xmlns:lc=http://schemas.microsoft.com/lcs/2006/05> <!-- remove the following element for managed SIP app --> <lc:script-only /> <!-- required if the app’s priority is higher than that of UserServices --> <lc:allowRegistrationBeforeUserServices/> <lc:proxyByDefault action=”true|false”/> <lc:requestFilter methodName=”…”, … /> <lc:responseFilter reasonCodes= “…” /> <lc:splScript> <![CDATA[ insert_message_filter_script_here ]]> </lc:splScript> </lc:applicationManifest>
The <script-only> element must be the last child element of the <applicationManifest> element.
The appUri attribute value can be any HTTP URL that can uniquely identify the SIP application to the Lync Server 2013 instance.
Saving the application manifest
For MSPL script applications, save the manifest as a text file with an .am extension.
For managed SIP applications, either save the manifest as a text file with the .am extension or embed it in an application assembly as a resource. Application manifests can also be generated in-line or dynamically. For example, an application can filter on location-specific URIs or domain values that are supplied by code logic.