基于SIP应用服务器的IMS业务提供方法的初步研究

2024-02-06 00:08

本文主要是介绍基于SIP应用服务器的IMS业务提供方法的初步研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要: IP 多媒体子系统( IMS)由于实现了用户平面、控制平面、业务平面的分离,可以方便地向用户提供业务。本文将着重分析 SIP 应用 服务器(SIP AS)在IMS业务提供过程中的相关问题,从业务提供的一般过程,业务层面的计费功能,技术难点几个方面进行探讨,并结合IMS提供的一种具体业务(消息类业务)进行分析。

  关键词: IMS、SIP、SIP AS、计费、消息

  1.引言

   3GPP Rel-5开始定义的IP多媒体子系统(IMS),实现了用户平面、控制平面、业务平面的分离,使得业务的提供独立于下层的承载 网络。在业务平面,AS(Application Server)提供业务逻辑,用来支持用户的各种业务属性。IMS的业务功能架构如下图所示:



   运营商可以向它的IMS签约用户提供接入基于CAMEL业务环境、OSA以及SIP AS的业务。这其中SIP AS为基于SIP的应用服务器。由于S-CSCF和业务平台之间的ISC接口采用SIP协议,因此SIP AS可以直接和S-CSCF进行通信,而无需 信令转换过程。SIP AS可以提供广泛的增值多媒体业务,如呈现、消息、会议等。本文将从SIP AS开展IMS业务的一般过程,技术难点以及计费相关等方面进行探讨,并以消息类业务为例进行分析。

  2.基于SIP AS的业务提供的一般过程

  IMS的提出是为了基于IP向用户提供更为优质、廉价的多媒体业务和应用。应用服务器(AS)在业务提供过程中扮演了业务执行者的角色。业务的提供过程可分为下列四个步骤(这里假设从会话的发起侧考虑):

  1)IMS业务档案的下载

  在用户注册的过程中,一个包含业务和用户相关数据的业务档案由HSS下载到服务于此用户S-CSCF中。业务档案中的初始过滤准则,包含了是否将用户的请求路由到相关的AS的触发信息。在这里,触发信息可能是根据请求消息的请求URI(例如一个 语音信箱voice@ims.com)或请求的类型(如立即消息的MESSAGE请求)等来制定。

  2)用户请求的生成

  用户需要某种业务时,利用自己的设备生成相关的请求。例如,用户想要建立一个语音通话。他利用UE生成一个INVITE请求(包含请求URI,媒体描述等信息),这条请求经P-CSCF,到达服务于他的S-CSCF。

  注:关于路由过程等控制层面的相关内容本文不进行讨论。

  3)AS的选择

  用户的请求到达S-CSCF后,S-CSCF检索与请求的发起者匹配的业务档案。根据业务档案中的初始过滤准则,S-CSCF决定将请求路由到相应的AS或是直接进行转发。

  4)AS执行相关的服务

  在收到请求后,AS开始执行相关的服务。为了开展服务,AS可以工作在以下四种模式:

  终止UA—在这种模式下,AS充当了UE。比如,在消息类业务中,假设消息的接收方设置了某种过滤的准则,当其得到满足时,AS可能会代表接收方生成一个最终响应这时AS是作为一个SIP UA。如图2。

  重定向服务器—AS将用户的新位置或可能满足的会话替代服务通知给发起方。例如,当满足一定的触发条件(比如接收方暂时不可达),S-CSCF可能将请求路由到一个特定的AS,该AS将请求重定向到一个e-mail或语音信箱。如图2。




  SIP代理—AS对请求进行处理,然后将请求发回S-CSCF。在处理期间,AS可能会对SIP请求中的消息头内容进行相关的添加、修改或删除。如图3。
第三方呼叫控制—AS在一个不同的SIP对话中产生一个新的SIP请求,并发送到S-CSCF。如图5。




  另外,AS也可能充当发起UA。比如,对于会议业务,作为会议服务器的AS,可能会在一个约定好的时间向预先确定的会议参与者发送SIP INVITE请求,以建立一个会议呼叫。如图5。

  除了以上描述的过程,在业务提供的过程中,用户有时需要管理和配置与业务有关的信息。例如在会议业务中,用户希望邀请新的用户加入会议。这可以通过用户(UE)与AS之间的Ut接口实现。通过Ut接口管理用户业务相关信息的功能架构如下图(图6)所示:




  3.业务层面计费功能

  IMS的体系结构(三个平面的划分)决定了IMS的计费功能应当从承载层、控制层、业务层进行描述。IMS体系既支持在线计费能力,也支持离线计费能力。在线计费就是线计费系统与IMS实体进行实时交互,并控制和监视与业务使用有关的计费过程。离线计费主要是指在会话之后收集计费信息,而且计费系统不会实时地影响所使用的业务。所有的IMS网元都要求应用离线计费,而业务层面的AS同时要求应用在线计费。

  在业务层面,要求 AS能够区分何时采用在线计费或离线计费,采用在线计费时AS通过Rf接口将计费信息发往OCS(Online Charging System),采用离线计费时AS通过Ro参考点将计费信息发往CCF(Charging Collection Function)。业务层面的计费功能示意图如图所示(图7)。

  在Rf和Ro接口,AS均使用DIAMETER协议的ACR消息发送计费信息到OCS或CCF,并应用DIAMETER协议的ACA消息从OCS或CCF接收应答。

  计费的方式多种多样,取决于所应用的业务和运营商指定的策略。例如,对于会议类业务,可以根据会议的规模(参加人数等因素),所采用的媒体的形式,会议的时间等进行计费。

  4.技术难点分析

  目前IMS有很多的技术上的难点,比如说控制层面移动网络和固定网络的 融合,不同域之间端到端的 QoS保证体系。

  对于业务层面,如何基于SIP协议实现各种业务,比如说AS如何进行相关的通知机制,这可能涉及新的SIP扩展的制定等;多业务平台之间信息的共享,比如说用户的呈现信息如何在会议、消息类业务平台之间共享;用户同时触发多种业务时,认证方式及用户数据的安全问题,例如用户触发每一项业务是否都需要业务认证才能访问业务;运营商的业务管理策略等。

  5.IMS提供的业务举例

  本小节将以消息类业务为例,结合本文2、3小节的内容分析SIP AS在IMS业务提供过程中的相关问题。

  消息类业务对用户来讲已经非常的熟悉。一般来说,消息业务允许一个实体向另一个实体发送消息。目前,在中国大行其道的QQ聊天系统以及 移动通信领域的多媒体消息业务( MMS)都属于消息业务的范畴。IMS的消息类业务将带给用户更多的选择,用户可以随心所欲而且费用低廉地使用多种媒体方式,比如文本、视频和声音等,同时可以灵活地选用实时业务或非实时业务来沟通信息。

  IMS消息业务包括三种形式:
  - 立即消息
  - 基于会话的消息
  - 延迟传递的消息

  下面以立即消息为例进行讨论。立即消息要求在通信双方之间近似实时的传递消息。立即消息内容包含在MESSAGE请求当中。

  按照2小节中所述的内容,假设业务档案已经下载到S-CSCF中。

  首先,用户设备(UE)需生成一个MESSAGE请求,填入所需的内容——文字或多媒体片断(声音,图片等),同时将请求URI填写为接收者的地址。该请求接下来就使用与INVITE请求类似的方式在IMS系统中转发,直到这个立即消息到达目的UE。要求双方UE支持MESSAGE方法。

  然后,MESSAGE请求到达S-CSCF,S-CSCF按照业务档案中的触发信息(例如根据请求类型为MESSAGE)将该请求路由到一个SIP AS由其执行业务。这要求SIP AS必须支持MESSAGE方法。

  接着,AS执行一定的业务逻辑。例如,当目的UE暂时不可达时,AS可能会为UE保留MESSAGE请求,并在UE可达时进行提交。对于群发消息(多个接受方),这时AS可能作为一个中间节点,它有一个称为公共业务标识(PSI)的SIP URI,并维护一个用户列表。发起UE的请求URI即为公共业务标识(PSI)。消息到达AS后,由它将消息发往列表中的用户。

  SIP AS可能工作于本文2小节所述的某种模式下,有时也可能是几种模式的结合。例如拒绝会话时,它工作于终止UA的模式下。

  关于计费——可以根据所发消息的数量,所采用的媒体的形式,消息的大小等进行计费。例如,当用户A向B发送一条立即消息,消息内容为一段视频,大小为500 Bytes.假设计费是按消息的大小,100 Bytes收费¥0.05。AS收到用户发送的立即消息时,AS会向OCS发送一个计费请求,并将所提供的服务通知给(即发送一条500 Bytes 的消息)OCS,OCS执行其功能从用户帐户扣掉¥0.25。

  6.结束语

  在IMS的业务层面,利用SIP AS,运营商可以方便地向用户提供业务,而用户可以更为低廉地传输多媒体信息。SIP AS在这其中扮演了业务执行者的角色。目前,关于IMS 的业务提供体系,计费相关功能架构都已初步形成,但是其中一些具体的问题,如文中提到的一些技术难点,仍然需要进行细致的研究。

  IMS作为移动通信领域未来的发展方向,正吸引着越来越多的关注。普天信息技术研究院作为TD-SCDMA产业联盟的重要成员之一,正积极地进行IMS系统的研发工作,最终将向运营商提供完善的IMS系统解决方案。

参考文献

[1]Miikka Poiskselka,Georg Mayer,Hisham,Khartbil,Aki Niemi. The IMS: IP multimedia Concepts and Services in the Mobile Domain, June, 2004
[2]3GPP TS 23.228: "IP Multimedia Subsystem(IMS); Stage 2".
[3]3GPP TS 32.260: "Charging management; IP Multimedia Subsystem(IMS) charging ".
[4]3GPP TS 22.340: " IP Multimedia Subsystem(IMS) messaging; Stage 1".
[5]3GPP TS 24.229: " IP Multimedia Call Control Protocol based on Session Initiation Protocol(SIP) and Session Description Protocol (SDP); Stage 3". 作者:韩磊 盛云鹏   来源:由CHINA通信网组稿

这篇关于基于SIP应用服务器的IMS业务提供方法的初步研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682586

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu