IMS客户端软件特性与技术标准解析

IMS 客户端软件特性与技术标准解析
作者:     文章来源:中国联通网站     更新时间: 2007-8-20 10:07:49

 
    1 、引言
    IMS 是基于 SIP sessioninitiationprotocol ,会话启始协议)的系统,它为多媒体服务提供了一整套标准体系架构。作为日趋成熟的标准体系, IETF 3GPP OMA openmobile alliance ,开放移动联盟)等国际标准组织都在定义和完善 IMS 标准。 IMS 技术允许运营商能更好地控制业务层,能更快地集成和开展 IMS 多媒体服务,并减少网络投资和运营开销,所以运营商都很重视 IMS 技术。同时, IMS 技术也能给用户带来统一的用户体验,用户将会获得更多质量和安全都有保障的 IMS 服务。 IMS 的提出,顺应了通信网络技术融合与业务融合发展的趋势,它将在未来通信网络中发挥重要作用。
    当前的 IMS 技术工作主要集中在探讨 IMS 网络上,而忽视了对 IMS 客户端的研究,然而, IMS 客户端才是最终用户享受 IMS 技术带来的诸多成果的最直接的表现方式。当前还没有统一的对 IMS 客户端的定义,但根据作者的理解,可以将 IMS 客户端定义为一个软件包(包括了驱动程序、协议栈、各种引擎、应用程序、人机界面等),并可运行在多种终端上(如移动终端、固定终端、 PDA 、台式机、笔记本电脑等),可在 IMS 网络架构下提供多种实时与非实时 IMS 业务(如 VoIP 、视频电话、呈现、即时消息、会议、组管理、一键通、协同工作、文档共享等)和统一的用户体验,并且符合 IETF 3GPP OMA JCP Javacommunityprocess Java 标准制定组织)等国际标准组织所规定的 IMS 相关规范。
    IETF 3GPP OMA JCP 等国际标准组织的相关 IMS 规范的研究是开发 IMS 客户端软件的基础。通过对这些标准的研究,便于理解相关标准之间的关系,从而总结出 IMS 客户端的基本需求,这将有助于描绘出 IMS 客户端的软件架构以及今后技术路线图的研究,为将来 IMS 客户端软件开发与具体实现做好准备工作。
    2 IMS 客户端标准分析和架构参考
    在此首先分析包括 IETF 3GPP OMA JCP 在内的标准组织与 IMS 客户端相关的规范,然后基于这些研究,给出了 IMS 客户端的软件架构参考设计图。
    2.1   IETF IMS 客户端相关规范
    IETF 定义了一整套基础协议包括 SIP SDP (会话描述协议)、 RTP/RTCP (实时传送协议 / 实时控制协议)、 SCTP (流控制传输协议)和 XCAP XML 配置接入协议)等,作为 IMS 客户端的基本协议簇。 SIP 用于两个或者多个 IP 节点间会话的建立、维护和拆除,可以运行在可靠的传输层(如 TCP SCTP )上或者非可靠的传输层(如 UDP )上。 SIP 的扩展很多,比如 SIP 消息类型的增加(如 Update Refer Publish Notify 等)、 Simple SIP 信令压缩、用于 3GPP 的私有包头扩展、认证和安全机制等。在实现 IMS 客户端时,这些 SIP 扩展的部分都应当有所考虑。 SDP 是一种应用层协议,用来描述媒体会话能力、媒体格式、媒体流地址和端口等信息。 RTP 是用于端到端传递实时数据的协议, RTCP 用于实时数据的服务质量监控。 XCAP 允许用户上传信息到 XCAP 服务器,通过 HTTP 更改、增加和删除存储在服务器上的 XML 文档。 XCAP 复用了 HTTP 中的 Get Put Delete 方法来获取、更改 / 增加和删除 XML 文档。通过一套巧妙的方法,将 XML 文档的存储路径和文档中的条目、元素和属性映射到 HTTP 中的 URL 路径。目前, XCAP IETF 中仍处于草案阶段。
    SIP 及其扩展、 SDP RTP/RTCP XCAP 都是实现 IMS 客户端最重要的基础协议。
    2.2   3GPP IMS 客户端相关规范
    如图 1 所示, 3GPP 中描述的 IMS 客户端( UE )通过两个参考点访问 IMS 网络,即 Gm Ut 参考点,其他 IMS 网络节点对 IMS 客户端都是不可见的。 IMS 客户端通过 Gm 参考点连接到 IMS 网络,它对应的节点是代理呼叫会话控制功能( P-CSCF ),所有的 SIP 消息都必须经过 P-CSCF 。这些消息用于注册过程(如 Register )、会话控制过程(如 Invite )和事务处理过程(如 Message )。 Ut 参考点是 IMS 客户端和应用服务器( applicationserver AS )之间的交互点。用户可以通过它安全地管理和配置存储在 AS 上与网络服务相关的信息。 XCAP 可以作为该参考点的协议。
    1 3GPP IMS 网络和 IMS 客户端间的接口
    3GPP 中也定义了一些服务所需的 IMS 架构和功能,如呈现、即时消息、组管理、会议等服务。
    2.3   OMA IMS 客户端相关规范
    OMA 主要定义移动服务规范,以确保运营商之间和终端之间端到端服务的互连性。 OMA 提出了一系列基于 IMS 的服务应用,每种应用都包含了客户端的功能列表、协议要求、与应用服务器之间的交互等。
    OMA 中呈现和可用性工作组定义了 PresenceSimple 服务。呈现功能是许多 IMS 应用的基础。 IMS 客户端既是呈现者也是观察者。呈现者是信息源,提供呈现信息给呈现服务器;观察者则请求获取关于呈现者的呈现信息。呈现服务器存储订阅者和产生呈现信息改变通知。呈现信息包括网络信息、用户当前的状态,也包括用户终端的能力等。有些呈现信息是网络侧提供的,如用户是否已经注册;有些是呈现者提供的,如呈现者设置的通信偏好。呈现者的状态只能被已授权的观察者看到,因此当某个观察者想订阅某个用户的状态信息时,需要呈现者的确认,呈现者有权拒绝观察者的订阅请求。观察者一般通过一个资源列表订阅一组呈现者的呈现服务,由资源列表服务器再向呈现服务器逐个订阅呈现信息,这样能够减少 IMS 客户端的负担和网络负载。在协议方面,呈现者通过 Publish 方法发布自己当前的状态,观察者通过 Subscribe 订阅呈现服务,呈现服务器通过 Notify 通知观察者其订阅用户的状态信息改变,呈现者也可以通过 Subscribe 订阅能获取其呈现信息的观察者列表。资源列表和呈现服务授权是通过 XCAP 实现的。每个资源列表和呈现服务授权都是一个单独的 XML 文档, IMS 客户端可以通过 XCAP 生成和修改这些文档。 IMS 客户端需要一个友好的人机界面,同时需要实现相应的 SIP 消息类型扩展和 XCAP ,才能给用户提供一个完整的呈现服务。
    OMA 中消息工作组定义了 IMSimple 服务,它允许实时地交换用户之间的即时信息。 IMS 中消息分为直接消息和基于会话的消息。直接消息是通过 IMS 客户端直接发送和接收消息实现的( RFC3428 ),它适用于像短信这样单独的短消息通信。基于会话的消息是通过 Invite 发起 MSRP messagesession relay protocol )信道协商,所有消息通过 MSRP 建立的信道传送,它适合于交互式的文本会话,如聊天。 IM 服务一般和呈现服务结合起来使用。通过呈现服务,用户可以将自己的好友分成不同组,并能实时地看到好友的信息。用户可以根据好友的状态发送即时消息。 IMS 客户端可以实现简单的 IM 服务,如只是通过消息方法进行在线即时通信,也可以增加更复杂的功能,如聊天室、会议聊天、消息历史存储、延迟消息等功能的支持。
    OMA 中移动一键通( pushtotalkover cellular PoC )工作组定义了一键通服务。提供 PoC 服务的 IMS 客户端能实现基于分组交换、半双工的 VoIP 方案。它用 SIP 作为信令,用 RTP 传输语音数据,同时它需要复用呈现和组管理功能来实现 PoC 服务。 PoC 应该是现实世界中第一个基于 IMS 的应用,因为 Presence IM 应用最初是基于 XMPP (可扩展消息和呈现协议),后来又是基于 IMPS (即时消息和呈现业务)协议实现。
    OMA 中呈现和可用性工作组还定义了 XML 文档管理服务。用户可以通过 IMS 客户端定位、存取和处理可被其他的服务引擎所存取的用户和服务相关信息,存储和处理以 XML 文档形式保存在网络上的服务相关的数据,也可以通过 SIP 来订阅和通知文档变更。该服务集成了其他 IMS 服务中的 XML 文档管理功能。 XML 文档管理功能包括:共享 XML 文档、呈现 XML 文档、资源列表 XML 文档、即时消息 XML 文档、 PoCXML 文档管理等。
    OMA 还成立了一个名叫融合 IP 消息的新工作组。具有这种功能的 IMS 客户端将对短信、彩信、即时消息、移动、一键通等这些传统的消息方式进行整合。这些传统的消息方式都是基于 IP 支持固定和移动网络传输,基于呈现服务支持多媒体,并且与一个统一的地址簿集成,能保持一致的用户体验,其具体的技术方案还在制定之中。
2.4   JCP IMS 客户端的相关规范
    JCP 是主要的 Java 标准组织, JSR Javaspecificationrequest )则定义了 Java 应用程序需调用的应用编程接口( API )。
    JSR164 规范提供给 Java 开发者基于 Simple 协议栈的一套标准 API ,用以开发基于呈现服务的 Java 程序。 JSR165 规范也提供给 Java 开发者基于 Simple 协议栈的一套标准 API ,用以开发基于即时消息服务的 Java 程序。而 JSR180 规范提供给 Java 开发者基于 SIP 协议栈的一套标准 API ,这套 API 屏蔽了 SIP 的许多实现细节,开发者不需要对 SIP 有非常详细的了解就能开发出基于 SIP 的诸多应用程序。
    JSR281 规范使应用开发者能很容易地开发出可以和 IMS 系统集成的应用程序,此规范以统一的高层 API 方式向用户提供 IMS 的功能。这些 API 最大限度地隐藏了 IMS 实现细节,抽象了下层技术,同时提供给开发者最大的灵活性。其 API 中至少支持 3 种类型的功能:高级 IMS 功能、 PoC 服务和组列表管理服务。 JSR281 规范目前没有涉及在 JSR164 JSR165 中已经定义了的呈现服务和即时消息服务。此规范还在制定过程中。
    2.5   IMS 客户端的软件架构
    通过对于 IMS 客户端相关规范的研究与分析,可以看出 IETF 提供了 IMS 客户端所需要的协议部分,包括详细的 SIP 信令消息交互,服务参数协商、媒体流的建立、 XML 文档的交互等。 3GPP OMA 提供了 IMS 客户端所需要的服务引擎,与不同应用服务器之间的交互方式以及如何接入到 IMS 网络等。 JCP 提供了一整套 IMS 客户端上 Java 应用程序所需的标准 Java 应用编程接口。由此可以总结归纳出 IMS 客户端软件架构参考,具体参见图 2
    2 IMS 客户端软件架构参考
    IMS 客户端软件架构主要包括了:
    1 )协议栈
    IMS 客户端的底层是协议栈部分。它们大都是基于 IETF 标准的,包括 SIP SDP HTTP XCAP RTP/RTCP DNS DHCP 等。其中用于接入 3GPP 定义的 IMS 网络所要求的那些 SIP 扩展部分也必须支持。
    2 )引擎 / 使能器
    服务引擎是提供应用编程接口给上层应用程序或者第三方应用开发的关键部分。根据其所提供服务的不同,可以包括不同的引擎,比如呈现引擎、即时消息引擎等。这些引擎主要是在 OMA 3GPP 中定义的,其中一些共同的部件包括会话 / 呼叫管理、注册、认证、安全、配置、供给等。
    3 Java 应用编程接口
    这些应用程序接口被上层的 Java 应用程序所使用。 Java 应用程序给用户提供了可以下载的更丰富且与操作系统无关的 IMS 应用。
    4 )应用层 / 图形界面
    应用程序给用户提供了 GUI 界面。 GUI 界面应当足够的友好和方便,这样才能更好地展现 IMS 服务和应用。
    3 IMS 客户端区别于一般 SIP 客户端的特性
    通过研究可以发现, IMS 客户端和一般的 SIP 客户端有许多不同之处,它相比一般的 SIP 客户端而言需要支持更多的功能,也更加复杂,对于 IMS 终端的要求也更高。其中关键的一点是 IMS 客户端必须符合 IMS 相关规范,才能够接入到 IMS 网络。为用户提供一系列的 IMS 服务。
    1 SIP 扩展
    IMS 客户端必须支持 SIP 扩展部分的有关规范,特别是 3GPP 所要求的那些 SIP 包头扩展部分,这样才能访问 IMS 网络。而一般 SIP 客户端只需要支持 RFC3261
    2 )认证机制
    IMS 标准中定义了不同的认证机制,如 HTTP 摘要( RFC2617 )、 IMS-AKA RFC3310 3GPPTS 33.203 )和 pre-IMS 认证( 3GPP TR 33.878 )等。 IMS 客户端需要支持更安全的认证方式(如 IMS-AKA )才能保证 IMS 终端和 IMS 网络之间的安全访问。
3 IPSec
    IPSec IP 层上提供了多种安全机制,用于保证用户客户端和安全网关之间的安全通信。在 IMS 客户端和 P-CSCF 之间建立一个安全的 IPSec 通道,能确保 IMS 客户端安全地接入到 IMS 网络中,这个通道是在 IMS 注册过程中建立起来的,而一般 SIP 客户端不需要支持这种特性。
    4 )包压缩功能
    SIP 包压缩能改善服务质量,特别是在无线环境下大大缩短呼叫建立时间。通过压缩网络和传输协议中的包头,能更有效地利用带宽,对 SIP/SDP 消息的压缩也提高了无线资源利用率。 IMS 客户端一般都是通过移动无线方式接入 IMS 网络的,所以包压缩的功能是必须的。而一般 SIP 客户端是通过宽带接入,所以不需要支持这个特性。
    5 )前提条件下的 QoS 保证
    前提条件下的 QoS 保证是指在会话建立过程中,必须在确保双方端到端的服务质量所需的媒体资源得以预留后,才能成功地建立起会话。比如在视频呼叫建立中,该机制用以验证会话中是否已经获得恰当的端到端服务质量。但是,这种机制比较复杂,延长了会话建立的时间。因此,仅在必要的时候, IMS 客户端才会打开这种机制。
    6 )发现机制
    P-CSCF IMS 客户端访问 IMS 网络惟一的接入点,所有从 IMS 客户端来的 SIP 信息都必须经过 P-CSCF 。所以,在 SIP 信息发送前, IMS 客户端必须知道 P-CSCF 的地址。该地址不是预先配置好的,而是 IMS 客户端通过发现机制而获得的。这些机制包括基于 OTA (空中下载)供给、基于 GGSN gatewayGPRSsupportnode GPRS 网关支持节点)和基于 DHCP P-CSCF 发现机制,除非是手工地配置 P-CSCF 信息,否则 IMS 客户端必须支持这个功能。
    7 IPv4/v6 的支持
    一般 SIP 客户端只支持 IPv4 ,但是 3GPP 最初规定 IMS 客户端应当支持 IPv6 。如果 IMS 核心网是 IPv4 IPv6 双栈,只支持 IPv4 IMS 客户端也能接入到这样的 IMS 网络中。
    8 ISIM 卡的支持
    IMS 客户端通过 ISIM IMSsubscriberidentitymodule )卡中的信息来认证和注册到 IMS 网络。 ISIM 卡中包括了用户的私有身份、公共身份、家乡域、密钥等与认证和注册相关的重要信息。如果是 USIM universal subscriber identity module )卡,也可以通过相关的算法推导出类似信息。但是 IMS 终端种类是多样性的,对非 IMS 移动终端, ISIM 卡的支持不是必须的,可以通过其他方式实现 IMS 网络认证和注册。
    9 CS 域和 IMS 的结合应用
    3GPP 中定义了 CSI combiningCSbearerwith IMS ),即电路交换( circuit switch CS )域和 IMS 的结合应用。 IMS 客户端间语音呼叫仍然使用 CS 域,同时利用分组交换( packet switch PS )域传送非实时媒体流。这样能保证语音质量,提高频谱利用率,解决了目前通过 GSM/UMTS 传送 IP 语音包而造成的语音质量下降的问题。 CSI 的第一阶段不涉及网络侧,主要是 IMS 客户端间交换终端能力,保持 CS 域和 PS 域的同时通信。但是这种服务需要 IMS 终端支持双传输模式( dual transfer mode DTM )(如果是 GERAN 接入)或者是 MultiRAB multiple radio access bearer )能力(如果是 UTRAN 接入),这样才能同时建立 PS 域会话和 CS 域通话。
    10 )语音无缝切换
    语音控制连续性( voicecallcontinuity VCC )是 3GPP 提出的解决 CS 域通话和 IMS 域会话之间的语音无缝切换的标准。支持 VCC 服务的 IMS 客户端和呼叫连续控制服务器配合,能保证用户进入和离开家庭或者办公室里的 WLAN (无线局域网)时仍然能保持 IMS 域或 CS 域语音呼叫的连续性。但是这种服务要求 IMS 终端具备多种无线接入能力,如 GSM/WLAN 双模终端就具备这样的物理条件。
4 IMS 客户端软件开发中需注意的问题
    通过对 IMS 客户端相关标准与技术的研究,以下几点被认为是在 IMS 客户端软件开发中应当注意的方面:
    1 )符合标准及协议的一致性
    IMS 客户端软件开发应当遵照相关标准组织的协议与规范进行,特别是协议层的一致性,需要严格按照 IETF 中的规定去解析和组织 SIP 包头。但是,如果还没有提出相关的标准或者标准还没有完全被定义好,一些私有的解决方案也是可行的,因为标准总会存在一定的滞后。对 SIP 包头和携带的文档一些域进行私有定义以及通过 XCAP 中交互的 XML 文档中一些字段的私有定义,可以实现一些 IMS 服务的创新。
    2 )保证与 IMS 网络和终端的互联互通性
    IMS 客户端软件应当和不同的 IMS 网络提供商的应用服务器以及其他的 IMS 客户端软件进行互联互通测试,从而保证客户端具有良好的互连性。 IMS 客户端的复杂性决定了 IMS 客户端间互联互通的重要性。不同的 IMS 客户端可以支持不同的特性,但是应当保持相同功能特性间的互通。比如具备 CSI IMS 客户端仍然可以和不具备 CSI IMS 客户端进行 PS 域的会话连接。
    3 )保持系统的可扩展性
    IMS 客户端的功能和特性还在不停地变化与演进中,因此,应当确保 IMS 客户端软件架构设计中的可扩展性和灵活性,以方便新的特性和引擎的加入。如果 IMS 客户端软件架构合理,当有新的协议和引擎加入时,只需增加相应的功能模块,而不需要对已有的功能模块做较大的改动就可以增加新的 IMS 服务。
    4 )实现软件性能优化
    由于手机上的 CPU 、内存、电池等资源都是有限的, IMS 客户端软件中的关键部分应当注意实现性能上的优化,如对内存的分配机制、电源管理、 XML 文档解析器算法优化等。
    5 )提供软件平台的开放性
    IMS 客户端软件应该能够提供相关的应用编程接口给第三方软件开发者。由于 IMS 服务是多样性的, IMS 客户端提供的这些接口会有助于更多的软件开发人员更快地开发出更多创新的 IMS 应用程序。 IMS 客户端软件在提供接口的开放度和灵活性将有所权衡。 JCP 中的 JSR281 IMS 客户端软件的 API 开发提供了一个很好的参考。
    6 )具有操作系统无关性
    IMS 客户端软件应尽量保持与操作系统的无关性,这样软件会很容易地被移植到其他的操作系统,如 WindowsMobile Symbian Linux 或者一些专有的操作系统。这需要在软件架构设计中将与系统相关的部分尽可能地分离出来。比如 IMS 客户端中的引擎和协议栈部分应尽量保持系统无关性,但是人机界面部分一般在不同的系统中都需要重新实现。系统无关部分调用相同的消息通信、内存分配、文件管理、信号管理等应用编程接口,然后根据不同的操作系统重新编写这些 API 。这种方法能很好地解决 IMS 客户端的软件移植问题。
    7 )支持传输层无关性
    由于手机上的 CPU 、内存、电池等资源都是有限的, IMS 客户端软件中的关键部分应当注意实现性能上的优化,如对内存的分配机制、电源管理 IMS 客户端应当支持不同的传输方式,如 GPRS xDSL Wi-Fi WiMax 等接入方式,并尽量保持接入方式的无关性,但是不同的接入方式也会直接影响到 IMS 客户端的行为。比如通过 GPRS 接入,就存在主和从 PDP Packetdataprotocol )上下文激活问题、在 PDP 上下文激活时获得 P-CSCF 地址问题、 SIP 包压缩问题等。如果是通过 Wi-Fi 接入,就不存在这些问题。如果 IMS 终端是双模,其接入方式发生转换时也会对 IMS 客户端产生影响。在设计 IMS 客户端软件时应当适当考虑这些情况。
5 、结束语
    目前,业界在 IMS 客户端的实际产品开发方面较之 IMS 网络要滞后一些,但仍然已取得许多成果,如爱立信已经推出了基于爱立信移动平台的 IMS 客户端,实现了 weShare (语音和多媒体共享业务);美国 Ecrio 公司推出了手机 IMS 框架软件,集成多种 IMS 功能,并提供了 IMS 软件开发包。随着 IMS 网络测试和今后 IMS 网络部署的展开,可以预见, IMS 客户端逐渐会成为开发和研究的热点。
    随着 IMS 应用的增加和丰富, IMS 客户端软件会变得越来越复杂,对 IMS 终端的要求也会更高。比如对多线程和多任务的需要,这要求 IMS 终端是一个智能终端,比较低端的手机可能不支持这样的特性。如果 IMS 客户端支持 CSI IMS 终端就必须支持 DTM 模式或者具备 MultiRAB 能力。如果 IMS 客户端支持 VCC 或者一些固定移动网络融合服务, IMS 终端必须是一个多模终端,包含多个无线空中接口。如果 IMS 客户端必须支持 IPSec 和包压缩, IMS 终端可能需要更强的 CPU/DSP 和更多的内存来处理复杂运算,因此,来自芯片制造商对 IMS 终端中的某些特性的硬件支持将有助于 IMS 终端的性能增强。
    IMS 客户端中仍有大量的课题有待研究。在 IMS 客户端协议栈中 SIP XCAP 都是基于文本的信令协议,需要大量的文本解析工作, SIP XML 解析器的性能和效率变得尤为重要,因此如何优化解析器算法就是一个需要解决的课题。 IMS 客户端的安全和认证机制也是比较复杂的,不同的接入方式有完全不同的安全和认证要求,同时上层各种 IMS 应用也有不同的服务级的安全要求,如何整合和实现这些功能也是需要解决的问题。 IMS 客户端的用户设备能力管理也是很重要的,这些能力包括设备能力、网络能力和用户服务属性等,这些能力可以是预设的,可以是存储在网络侧的,也可以是通过会话协商获得的。 IMS 客户端的复杂性和多样性决定了 IMS 客户端的一致性测试和互联性测试是今后要面临的重大课题,互联性没有很好地解决将会影响 IMS 技术和网络的发展。
    随着 IMS 技术和应用的日渐成熟与推广,对 IMS 客户端相关技术以及软件的设计实现方式等课题的深入研究,将会对有关设备生产商及电信运营商等具有重要的参考借鉴意义。
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值