IP 多媒体子系统 (IMS) 简介,第 2 部分: 构建 IMS 基础设施

来源:百度文库 编辑:神马文学网 时间:2024/04/24 10:54:55
IMS,IBM 的方式

文档选项

将此页作为电子邮件发送

讨论
级别: 中级
Rebecca LJ Chen (rchen@tw.ibm.com), 高级软件工程师, IBM Taiwan
Elisa CY Su (elisasu@tw.ibm.com), 高级软件工程师, IBM
Victor SC Shen (scshen@tw.ibm.com), 软件工程师, IBM Taiwan
Yi-Hong Wang (yhwang@tw.ibm.com), 软件工程师, IBM
2007 年 9 月 04 日
本文是本系列的第 2 部分,将说明如何使用 IBM 产品构建真正的 IMS 基础设施,这些产品包括 IBM WebSphere® Application Server 6.1、IBM WebSphere IMS Connector、IBM WebSphere Presence Server 和 IBM WebSphere GLS (Group List Server) 组件等。本文还将帮助您了解真正的 IMS 基础设施是什么样子、它如何工作以及如何使用现有 IBM 产品构建 IMS 基础设施。
在 IMS 解决方案系列文中的第 1 部分中,我们介绍了 IP 多媒体子系统(IP Multimedia Subsystem,IMS)的概念。我们了解了什么是 IMS 以及要实现它的原因。另外,我们还简单讨论了 IMS 体系结构的一个重要组件:Parlay X Web 服务。本文是本系列的第 2 部分,将说明如何使用 IBM 产品构建真正的 IMS 基础设施,包括 IBM WebSphere Application Server 6.1、IBM WebSphere IMS Connector、IBM WebSphere Presence Server 和 IBM WebSphere GLS (Group List Server) 组件等。本文还将帮助您了解真正的 IMS 基础设施是什么样子(及其如何工作),以及如何使用现有 IBM 产品构建 IMS 基础设施。
正如第 1 部分中提到的,IP 多媒体子系统 (IMS) 是一组规范,描述用于实现基于 IP 的电话和多媒体服务的下一代网络(Next Generation Networking,NGN)体系结构。传统的电话系统或 IP 网络描述为竖井 (silo) 结构,由与网络设备提供商(Network Equipment Providers,NEP)硬件紧密偶合的专用黑盒解决方案组成。因此,这种结构在不同的异类平台上存在大量重复功能。也就是说,正如图 1 中所示,为了创建和部署跨不同网络类型和访问类型的应用程序,将需要一组跨移动通信、语言和数据访问的各种竖井应用的未集成却可能类似的技术。IMS 提供了集成这些多样化访问的相关技术的下一代网络。IBM 支持组合服务 (Composite Service) 的概念,从而允许重用现有服务平台并使用新兴的 IMS 服务平台提供的功能对其进行充实。正如图 1 中所示,IBM 及其合作伙伴能够将目前的垂直竖井网络转换为水平集成的平台。IMS 体系结构可提供多媒体服务,供用户从使用 IP 网络或传统电话系统的各种设备进行访问。

IBM 提供了以服务开发、部署、执行及设备为核心的基于 IMS 的多媒体服务 (IMS-based Multimedia Services) 解决方案。IBM 提供了一整套应用程序和客户机软件来增强最终用户的质量体验(Quality of Experience,QoE),如图 2 中所示。IBM 还提供了专业的服务能力来支持在服务管理环境中进行业务应用程序集成。对服务生命周期的关注允许移动网络运营商为其控制和传输网络选择最好的技术。

IBM 提供了能够识别 IMS 的应用程序中间件和支持工具,另外还提供了用于创建端到端解决方案的服务。中间件中包含产品级的服务支持程序,提供在线状态 (Presence)、组列表管理 (Group List Management) 和 IMS/SIP 应用程序支持,这些应用程序均通过集成的 SIP 应用服务器构建于 WebSphere Application Server 平台上。正是以此为核心,IBM 才能够通过与网络设备供应商(提供网络传输、控制组件和设备应用程序)及应用程序内容的第三方应用程序与内容提供商的战略合作创建端到端解决方案。通过与 Rational 及 WebSphere 工具平台(提供各种工具,如 IBM Rational Application Developer、IBM WebSphere Integration Developer 和 IBM WebSphere Application Server Toolkit)的集成,IBM IMS 解决方案可提供可靠的构建与部署时功能,用于创建新 IMS 应用程序。
IBM 解决方案通过使用面向服务的体系结构(Service Oriented Architecture,SOA)和 Web 服务技术交付组合服务。IBM 利用其现有 IBM 产品(如 IBM WebSphere ESB 和 IBM WebSphere Process Server)来实现服务编排和协调。由于使用的构建基础是 WebSphere Application Server,IBM 中间件解决方案集成了该平台的所有优势,包括集成管理、高可用性、可伸缩性以及在中间件执行环境中创建丰富的聚合 IMS 应用程序的能力。
IBM 解决方案支持对服务进行个性化设置,最终用户可以在需要的时候以一致的方式更方便地获得所需的服务。另外,移动网络运营商还能够通过这样以灵活而易于修改的方式控制资源。
下面三个部分将对 IBM IMS 中间件进行简单概述,包括 IBM WebSphere IP Multimedia Subsystem (IMS) Connector、IBM WebSphere Presence Server 组件和 IBM WebSphere Group List Server 组件。




回页首
会话发起协议(Session Initiation Protocol,SIP)通常被视为与电信领域建立联系的事实协议。考虑到这一点,可以将 IBM WebSphere IP Multimedia Subsystem (IMS) Connector 视为作为构建于 WebSphere Application Server 6.1 之上的应用程序与核心电信网络基础设施间的桥梁的 IBM 解决方案。简单说来,IBM WebSphere IMS Connector 是 WebSphere Application Server 6.1 上的 J2EE Internet 应用程序与电信提供的无处不在的服务间的粘合剂。
图 3 显示了 IBM WebSphere IMS Connector 的组件体系结构:

WebSphere IMS Connector 以 WebSphere Application Server 6.1 提供的 SIP 功能(即 SIP Container)为基础构建,提供了各种功能,通过与电信核心网络基础设施的基础部分进行连接和沟通对 WebSphere Application Server 6.1 进行了扩展。IMS Connector 内的软件组件包括 IMS Service Control Interfaces、Diameter Stack/Diameter Web Services Interfaces 和 SIP Extensions。本文将简单介绍其中的每个组件,说明其功能以及各自如何与特定的电信网络组成元素进行通信。

IMS Service Control (ISC) Interfaces(如图 4 中的编号为 1 的部分所示)是 IMS Connector 的桥梁组件。它提供基于标准的连接功能,用于使用 SIP 连接到电信控制系统中的呼叫会话控制功能(Call Session Control Function,CSCF)网络组成元素。也就是说,通过 ISC 接口,可以允许部署在 WebSphere Application Server 6.1 上的 J2EE 应用程序与电信世界中现有的设备(如手机和其他 SIP 设备)进行通信和联网。
ISC 接口隐藏了与各种 CSCF 电信网络组成元素连接的复杂性。另外,还可对多个 J2EE 应用程序与终端移动设备的会话控制和通信起到促进作用。IBM 与多个网络设备提供商开展了合作,以确保 WebSphere IMS Connector 与 NEP 提供的核心网络组成元素(如 CSCF 服务器)的互操作性。NEP 对构建符合 IMS 要求的应用程序环境的迁移工作进行了优化。

WebSphere IMS Connector 还向开发人员提供了 Diameter Stack 的实现和以下两个主要 Web 服务接口,用于供其在应用程序中访问 Diameter 协议,而不用担心这个协议本身的复杂性:Sh 和 Rf 接口。Diameter Stack 如图 5 中编号 2 的部分中所示,而 Diameter Sh 和 Rf Web 服务接口分别如编号 3 和编号 4 的部分中所示。
WebSphere IMS Connector 实现了 Diameter Stack 来进行身份验证、授权和记帐(Authentication, Authorization, and Accounting,AAA)。Diameter 源自其前身 RADIUS 协议,进行了很多改进,通常被视为下一代 AAA 协议。IMS 体系结构广泛使用 Diameter 来在 IMS 实体间交换 AAA 相关信息。请参考 developerWorks 文章Introduction to Diameter,其中提供了 Diameter Stack 的详细信息。IP 多媒体子系统 (IMS) 简介,第 1 部分:SOA Parlay X Web 服务概略介绍了 Diameter 在 IMS 中的使用情况。
WebSphere IMS Connector 所提供的最强大的功能之一就是 Web 服务。Diameter 功能以部署在 WebSphere Application Server 6.1 上的 Web 服务的形式向开发人员提供。开发人员可以使用任何符合要求的 API(如 JAX-RPC)调用 Diameter Web 服务,而无需了解后端 Diameter 协议的复杂性。
Diameter Sh Web 服务接口(请参见图 5 中编号为 3 的部分)遵循上述模式,可为开发人员提供经过身份验证和授权的访问,以便访问称为归属用户服务器(Home Subscriber Server,HSS)的 IMS 核心网络组成元素。可以将 HSS 视为电信公司的电话簿页面,其中存储电信用户数据、用户位置或其他用户相关的信息之类的信息。为开发人员提供了一组 Web 服务操作,用于检索、更新 HSS 所拥有的用户数据或订阅其更新。例如,如果希望从 HSS 检索特定订阅者 A 的位置信息,则可以使用对 Diameter Sh Web 服务的简单调用(例如,使用 JAX-RPC 的 getLocationInformation(A,..,..,..))。调用成功将返回字符串,指示 A 的当前位置。其他操作包括 getUserData()、getUserState() 等等。此处的好处在于,您不必了解对电信 HSS 服务器的安全 AA 访问的复杂性。只需要进行简单的 Web 服务调用,然后就完成了相应的工作。
Diameter Rf Web 服务的工作方式与 Diameter Sh Web 服务一样,但不是连接到 HSS Rf Web 服务,而是连接到记帐服务器,允许进行脱机收费(请参见图 5 中编号为 4 的部分)。Rf 接口提供各种操作,包括分别用于开始和停止计费会话的 startOfflineAccounting() 和 stopOfflineAccounting()。Rf 接口提供 eventOfflineAccounting() 来处理离散事件的收费。对 Rf Web 服务调用这些操作后,会将您的呼叫转换为 Diameter 消息,并将其传递到后端记帐服务器进行记录。还提供了其他高级操作。同样,开发人员并不需要具有 Diameter 协议在记帐方面的全面知识。通过在代码中进行几个简单的 Web 服务调用就可以完成这些工作。

可以添加对 SIP 的扩展(如 IMS 特定的 Header、标记或参数)并提供给在 WebSphere Application Server 6.1 上运行的 J2EE 应用程序。这就增加了您的 IMS 应用程序环境的可扩展性,满足将来可能出现的需求。




回页首
WebSphere Presence Server 收集、管理和分发用户的实时在线状态信息。该服务器完全与 J2EE 体系结构集成,支持通过 SIP 协议提供用户在线状态感知功能。WebSphere Presence Server 包括两个主要组件:Presence Server 和 Group List Server。本文的此部分将重点讨论 Presence Server,将在下一部分讨论 Group List Server 如何管理组和成员。
IBM WebSphere Presence Server 部署在 WebSphere Application Server 上。它在 IMS 框架的服务层运行。
在讨论 Presence Server 的细节前,有必要解释一下在线状态信息 所指的内容。如果您熟悉即时消息传递(如 MSN Messenger、Yahoo Messenger 或 AOL 的 AIM),会在好友列表中看到每个人的可用性状态,如图 7 中所示;这就是在线状态的一个示例。

除了提供在线和脱机信息外,Presence Server 还通过集成从外部服务提供者(如日历系统和位置服务器)检索的信息提供更为丰富的在线状态信息。
Presence Server 通过一组 SIP Servlet 处理对用户的在线状态信息的 PUBLISH 和 SUBSCRIBE 请求。Presence Server 将在线状态信息存储在数据库中。用户可以提交其在线状态信息的 PUBLISH 请求,以指示当前状态。用户还可以发送 SUBSCRIBE 请求来指示对其他用户的在线状态的兴趣。图 8 中所示的序列关系图演示了 SUBSCRIBE 和 PUBLISH 请求间的交互。

以下示例对所涉及的两个步骤进行了说明。
订阅 (SUBSCRIBE):Betty 对 Andy 的在线状态信息感兴趣。Betty 向 Presence Server 发送 SUBSCRIBE 请求,并得到 200 OK 响应。Presence Server 接收 SUBSCRIBE 请求并从数据库检索 Andy 的在线状态信息。Presence Server 并未从数据库中发现 Andy 的信息,因此向 Betty 发送包含空在线状态文档的 NOTIFY 消息。
发布 (PUBLISH):Andy 通过向 Presence Server 发送 PUBLISH 请求提供其在线状态信息。Presence Server 将 Andy 的在线状态信息存储在数据库中,并向 Andy 发送 200 OK 响应。然后,Presence Server 向 Betty 发送 NOTIFY 消息,并在其中提供 Andy 的最新在线状态信息。
除了在数据库中存储用户的在线状态信息外,Presence Server 还将每个 PUBLISH、SUBSCRIBE 和 NOTIFY 事件的使用记录存储在数据库中。使用记录描述请求成功完成了,还是出现了错误。此信息可以用于以后的外部收费服务。
IBM WebSphere Presence Server 的另一个组件是 Group List Server。它提供了创建和管理基于网络的组定义及关联的组成员列表的功能。不仅能够根据需要管理组级别的属性和信息,还能够维护组的访问权限。在 Group List Server 与 Presence Server 集成的环境中工作时,可以控制谁能够查看您的在线状态信息。
在进行进一步的讨论前,请熟悉一下以下术语。
组管理员——具有全部权限,能够查看和管理组信息、组级别属性和组访问特权。有三种类型的组管理员: 超级管理员——具有所有域的管理权限。
Group List Server 管理员——具有某个域中所有组的管理权限。
用户——具有其创建的组的管理权限。
组内容——包括组标识符、组级别属性和组成员列表。有两种类型的组内容: 全局组——由超级管理员或 Group List Server 管理员创建。每个人都对全局组具有查询访问权限。
用户特定的组——由用户创建,该用户与超级管理员和 Group List Server 管理员共有其管理权限。Group List Server 向其他用户授予了访问权限后,这些用户就可以访问用户特定的组。
组成员——组中的一个条目,如 SIP URI、电子邮件地址或其他标记。
属性——包括附加到组或组成员的信息。属性包含三个部分: 名称——属性的标识符。
类型——提供有关值的格式的信息的字符串。
值——分配给属性的值。
Group List Server 充当存储组的信息的存储库。Group List Server 还提供用于访问和管理组信息的多种方法。让我们了解一下 Group List Server 的各个组成部分:
接口 采用基于 Web 的管理控制台,提供管理和自助服务相关的功能。用户可以查看和管理现有组及创建新组。
采用可扩展标记语言配置访问协议(Extensible Markup Language Configuration Access Protocol,XCAP)服务器,允许支持 XCAP 客户机的移动设备和应用程序管理组信息。
SIP 接口,实现订阅和发布功能。在属于订阅者或具有足够的权限进行查看或修改的 XCAP 文档中发生组定义修改时,此接口将向订阅者发送通知。
实用工具——Group List Server 提供了一组 XCAP 客户机类来帮助开发 XCAP 客户机应用程序。可以创建工具来将大量数据(如公司目录)加载到 Group List Server 中。
Group List Server 可以与其他服务集成,以促进各种活动的进行,如创建即时消息好友列表、管理聊天组或发起电子会议会话。由于组列表在网络级别维护,因此很多不同的服务可以共享相同的组列表。不同的服务可以使用相同的接口获取通知或执行管理。例如,服务 A 和 B 使用相同的 Group List Server 作为其组信息服务。在服务 A 中进行组信息更改时,还可以在服务 B 中获得经过更新的组列表。由于 Group List Server 是 IBM WebSphere Presence Server 的组件之一,因此可以将 Group List Server 与 Presence Server 集成。
当 Presence Server 与 Group List Server 集成时,可以针对单个用户进行订阅,也可以针对用户定义的组或全局组进行订阅。信息交付更为高效。由于向组提交 SUBSCRIBE 请求,而不是向组的每个成员提交请求,因此仍然能在组发生更改时接收到 SIP NOTIFY 消息。它使用服务器端的网络通信带宽。如果组中出现任何成员变更,Group List Server 还会向 Presence Server 发送通知。




回页首
IBM IMS 是与访问无关的解决方案,支持部署多媒体服务,可提供跨固定电话和移动电话领域的增强通信数据包骨干网络。IBM 解决方案通过支持多身份验证模式和服务配置文件增加了 IMS 标准的价值。IBM 解决方案还将应用程序逻辑从媒体处理分离。这些功能通常以独立但是可互操作的应用服务器和媒体服务器的形式提供。
IBM IMS 组件提供了总体 IMS 基础设施的一个关键部分,支持在 IMS 服务平台中部署应用程序和增值功能。


请 Digg 这个故事

发布到 del.icio.u

Slashdot 一下!

学习
您可以参阅本文在 developerWorks 全球站点上的英文原文 。
使用RSS feed 获取有关本系列即将推出的文章的通知。(查找有关developerWorks 内容的 RSS feed 的更多信息)。
有关 Diameter 的更多信息,请参见Introduction to Diameter。
请参阅本系列的第一篇文章IP 多媒体子系统 (IMS) 简介,第 1 部分: SOA Parlay X Web 服务。
有关 WebSphere 产品的信息,请访问IBM WebSphere Products for Telecom 信息中心。
请访问 IBM developerWorks 上的SOA and Web services 专区,以获得数百篇关于如何开发 Web 服务应用程序的文章以及入门级、中级和高级教程,您将大开眼界。
IBM SOA 网站 提供 SOA 的概述,并介绍 IBM 是如何帮助您实现 SOA 的。
了解关于developerWorks 技术事件和网络广播的最新消息。
访问Safari 书店,浏览有关这些技术主题以及其他方面的书籍。