Application Manifest是什么?
Application Manifest是一个用来描述SIP应用(程序)以什么规则与Live Communications Server通讯的XML文档.它还包含了发送特定SIP消息给应用程序和过滤其他消息的逻辑.Application Manifest与Assembly Manifest在一个管理应用程序中是没有联系的.
创建一个Live Communications Server应用程序的第一步是创建一个Application Manifest.在这点上,你需要考虑你开发的应用程序的功能并且决定出现在Application Manifest中的基于脚本的消息过滤是否能满足需求.当做这个决定的时候一些问题是需要考虑的:
·应用程序简单的代理某几个类型的SIP消息.如果是这样,作为Application Manifest一部分出现的Microsoft SIP Processing Language (MSPL)可以轻松的满足需求.
·应用程序需要管理复杂的多分支代理,或者需要支持multiple points-of-presence (MPOP).如果是这样,消息过滤脚本也许可以胜任,但是也许不能满足你扩展性的需求.这样的话,你应该考虑可扩展性和强壮性对应用程序是否是必须的?如果你预计将来(应用程序)会更复杂,那么管理应用程序会更适合.
·应用程序直接与SIP处理对象交互,并且支持多线程.应用程序不能仅仅是脚本,你必须与脚本过滤和发送脚本一起创建一个管理应用程序.
创建Application Manifest
一个Application Manifest文档是使用XML格式的,包括一个嵌入在CDATA块中的MSPL消息过滤脚本.Application Manifest的每个元素都带有一个定义在applicationManifest标签的xmlns属性的命名空间别名前缀.在以下Application Manifest的例子中,命名空间别名被定义为"lc"并且以冒号与元素名称隔开




















第一个元素applicationManifest,使用appUri属性定义一个在Live Communications Server中可以唯一标识的URI.两个拥有相同URI的应用程序是不允许在同一个Live Communications Server实例中运行的.xmlns属性说明了在特定应用程序里标识XML元素的别名(alias)
requestFilter和responseFilter标签设置SIP中request和response消息的初步过滤.这允许你控制什么消息将被应用程序优先看到.在上面的例子中,只有request是"INVITE"或者"MESSAGE"的SIP方法才会被传给应用程序,没有response需要传送.response可以过滤状态类别(status class),例如"1xx"或者"2xx".
scriptOnly标签说明应用程序不包含管理代码模块,消息只被MSPL单独处理.如果你有一个管理代码模块,这个标签就不能出现.
脚本本身使用splScript标签被定义在CDATA块中,使用MSPL语言.
所有Application Manifest中可以使用的标签的详细说明可以查看
http://msdn.microsoft.com/library/en-us/lcs2005/rtc/application_attributes.asp