IMS基本架构

IP Multimedia Core Network Subsystem (IMS)商用已久,相对于CS domain的语音方案,IMS则是基于IETF定义的会话控制功能与多媒体传输功能通过IP-CAN实现的 全IP完整语音解决方案。
IMS能为无线和有线用户实现语音、视频、消息、数据等服务。便于运营商通过IMS向其用户提供多媒体服务,IMS也包含计费,鉴权,签约数据收发等功能。相比于企业级的语音方案,运营商级的语音网络要更过的考虑计费,移动性,Qos等等问题。
IMS是业务层面实现,不关心接入网,因而有线或WIFI、2/3/4/5G等都可以作为IP-CAN,进而有了VONR,VOLTE,VOWIFI....等为区分而有的名字,尽管名字不同,IMS架构都是那些内容。IMS在3GPP R5中引入,通过PS domain实现voice,video,text等多媒体业务,常见的就是通过EPC,5GC和4/5G接入网实现的系统。接下来就从3GPP角度看下基于SIP的IMS架构以及相关的一些网元功能。
单纯从IMS角度来看,各个网元、功能实体以及接口的结构如上图。包括用于session control的CSCF,用于用户数据管理的HSS/SLF,用于业务处理的AS/MRFC/MRFP,用于互通的BGCF、MGCF、IBCF、IMS-MGW以及用于计费等其他网元。这里就先从UE侧常用流程涉及的网元开始看起。

Proxy‑CSCF(P-CSCF)

Proxy-CSCF(P-CSCF)是IMS内的第一个接触点,也就是入口。P-CSCF 的行为类似于代理,即它负责接收UE或接入网发给IMS网络的请求并转给内部的IMS网元来处理。P-CSCF不会修改SIP INVITE消息中的Request URI。 P-CSCF 可以充当用户代理,即在异常情况下,它可以终止并独立生成 SIP transactions。
P-CSCF 执行的功能是:
(1)将从UE接收到的SIP注册请求转发到使用UE提供的归属域名确定的入口点。
(2)将从UE接收到的SIP消息转发到SIP服务器(例如,S-CSCF),其名称作为注册过程的结果,P-CSCF已接收到。
(3)当信息可从接入网络获得时,确保从UE接收到SIP服务器(例如S CSCF)的SIP消息包含关于UE当前使用的接入网络类型的正确或最新信息。 根据运营商策略,当信息可从接入网络获得时,P-CSCF可以在任何SIP消息(请求或响应)中插入UE当前使用的接入网络类型。
(4)基于运营商策略以及来自接入网络的用户位置信息和/或UE 时区的可用性,确保相关SIP消息包含有关用户位置信息和/或UE时区的正确或最新信息 由UE当前使用的接入网提供。
(5)将SIP请求或响应转发给UE。检测并处理紧急会话建立请求。
(6)生成 Charging Data Record。
(7)维护其自身与每个UE之间的安全关联(33.203)。
(8)执行 SIP 消息压缩/解压缩。
(9)承载资源授权和QoS管理。
(10)检测和处理发起或终止 IMS MPS 会话建立或会话修改请求。
(11)可支持 IMS 对话语音的寻呼策略差异。
(12)可以订阅PCC机制的接入网络类型变化的通知。
P-CSCF discovery在24.229中有根据场景进行区分,如上图示。
常见的P-CSCF discovery方式如上图,UE通过 PDN Connectivity Request/PDU session establishment req 过程中的 Protocol Configuration Options过程获得。
如果是在vowifi注册,则通过IKE over ePDG过程获得等。

Interrogating‑CSCF(I-CSCF)

为当前网络运营商的用户或当前位于该网络运营商的服务区域内的漫游用户提供所有连接的联系点就是I-CSCF 。
运营商网络内可能有多个I-CSCF。 I-CSCF会在不同的过程不同的功能。
在Registration过程中 I-CSCF会将 S-CSCF分配给执行 IP registration的用户(通过查询HSS,获取UE注册在哪个S-CSCF下来得到S-CSCF的地址)。
对于Session-related或session-unrelated flows:
(1)I-CSCF会将从另一个网络接收到的SIP请求路由到S-CSCF。
(2)在执行HSS 位置查询之前,将所有具有user=phone 参数格式的 SIP URI 的 Request-URI 中包含的E.164 地址转换为 Tel: URI 格式。 如果用户不存在且运营商有对应策略配置时,则 I-CSCF 可以调用传输功能的一部分,将 Tel: URI 格式的Request-URI中包含的 E.164 地址转换为可路由的 SIP URI 。
(3)从HSS获取S-CSCF的地址。
(4)将SIP请求或响应转发到由上述步骤确定的S-CSCF
基于本地配置,I-CSCF可以执行传输路由功能。 如果I-CSCF基于HSS查询确定会话的目的地不在 IMS 内,则它可以转发请求,或者可以向始发端点返回失败响应。
I-CSCF还会生成CDR。

Serving‑CSCF(S-CSCF)

S-CSCF为UE执行session control服务。 它会根据网络运营商支持服务的需要维护会话状态。 在运营商的网络内,不同的S-CSCF可以具有不同的功能。 
S-CSCF 在会话期间执行的功能是:
Registration:
(1)接受注册请求并通过位置服务器(例如 HSS)提供其信息。
(2)当注册请求包括正在注册的联系人的Instance ID并指示支持GRUU时,S-CSCF将向Public User Id和Instance ID的组合分配唯一的P-GRUU和新的且唯一的 T-GRUU。
(3)如果注册请求指示支持GRUU,则 S-CSCF 将返回分配给每个当前注册Instance ID 的GRUU set。
(4)S-CSCF应通知subscriber有关Registration更改的信息,包括分配给registered instance的GRUU set。
(5)在注册过程中,S-CSCF 应从HSS向P-CSCF和/或UE 提供Public User Id的策略信息(如果可用)。
Session-related and session-unrelated flows
(1)已注册端点会话的会话控制。在注册后被bar的PUI,S-CSCF会reject被bar PUI的IMS通信。
(2)可以充当代理服务器,即它接受请求并在内部为它们提供服务或转发它们。
(3)可以充当用户代理,即它可以终止并独立生成 SIP 事务。
(4)根据确定的服务用户,处理与服务平台的交互以支持服务
(5)向端点提供服务事件相关信息(例如音调/公告通知以及附加媒体资源的位置、计费通知)
(6) 对于始发端点(即originating始发用户/UE,或originating AS):当目标用户是不同网络运营商的客户时,S-CSCF会从数据库中根据目标名称(例如拨打的电话号码或 SIP URI)获取为目标用户提供服务的网络运营商的入口点地址,并向入口点转发SIP请求或响应;如果接收到GRUU作为联系人,S-CSCF要确保请求中的服务用户的PUI和封装在P-GRUU中或与T-GRUU关联的PUI属于相同的服务配置文件;当目的地用户的目的地名称(例如拨打的电话号码或 SIP URI)和发起用户是同一网络运营商的客户时,S-CSCF会将SIP 请求或响应转发到运营商网络内的I-CSCF;S-CSCF会根据运营商策略将SIP请求或响应转发到位于IMS外部的ISP域内的另一个SIP服务器;为将call路由到PSTN或CS domain,S-CSCF会将SIP请求或响应转发到 BGCF;确保始发端点订阅了determined IMS 通信服务;确保始发端点发送或接收的SIP请求或响应的内容(例如,Content-Type SIP 标头中包含的值、SDP 中包含的媒体行)与订阅了determined IMS 通信服务相匹配等等。
(7)对于目的地端点(即terminating用户/UE)S-CSCF的作用繁多,S-CSCF会将SIP请求或响应转发到 P-CSCF;如果用户要通过CS domain接收传入的会话,就要根据HSS和服务控制交互修改将SIP请求路由到CS domain;将SIP请求或响应转发到BGCF,以将呼叫路由到PSTN或CS domain;确保终止端点订阅了determined IMS通信服务;确保目标端点发送或接收的SIP请求或响应的内容(例如,Content-Type SIP 标头中包含的值、SDP 中包含的媒体行)与订阅的determined IMS通信服务相匹配;如果 SIP 请求包含目标端点特征的首选项,则S-CSCF就要执行指定的首选项和功能匹配。对于重定向session,根据运营商策略配置,S-CSCF会执行发起转移的转移订户的身份证明。
(8)对于根据运营商策略配置Request URI发起的请求包含E.164 number的SIP表示形式时:S-CSCF尝试将SIP URI中的E.164 address转换为全局可路由的 SIP URI。如果E.164 address转换失败,则可以将请求转发到BGCF以允许路由到PSTN,如果转换成功,则更新请求URI,并根据获取的SIP URI。当请求发送到另一个域时,如果需要,可以通过本地网络出口点 (IBCF) 路由它们,然后将请求转发到另一个域的入口点。 
基于本地配置,S-CSCF可以被配置为运营商网络内用于转接 IMS 场景的联络点,并且可以执行转接路由功能。S-CSCF还要生成CDR 。

Emergency‑CSCF(E-CSCF

1 从PCSCF或S-CSCF接收紧急会话建立请求。
2 如果 UE 没有credentials,则应根据当地法规的要求导出non-dialable callback number。
3 如果位置信息未包括在紧急请求中或者需要附加位置信息,则E-CSCF可以请求LRF检索位置信息。
4 如果需要,E-CSCF请求LRF验证位置信息(如果 UE 包含)。
5 确定或查询LRF以获取正确的路由information/PSAP 目的地。
6 将紧急会话建立请求路由到适当的目的地,包括匿名会话建立请求。
7 根据本地法规,E-CSCF可以将P断言的ID 或 UE 标识的内容发送到 LRF。
8 基于运营商策略,E-CSCF可以将紧急 IMS 呼叫路由到 ECS以进行进一步的呼叫处理。
9 为了支持SRVCC和/或DRVCC,E-CSCF将会话建立请求转发到服务IMS网络中的EATF以进行anchoring。
10 CDR 的生成。
11 对于NG-eCall并且如果未部署LRF/RDF,E-CSCF可以使用自动eCall或手动eCall的指示来辅助紧急会话建立请求的路由。
12 为了支持来自 ICS 增强的 MSC 服务器的紧急会话请求。 E-CSCF 遵循与处理来自 P-CSCF 的紧急会话请求所定义的相同过程。

HSS

如上图Home Subscriber Server(HSS)虽然不是IMS专有的,但是HSS是IMS用户签约的主要数据库,因而HSS是相当重要的部分。
(1移动管理:该功能支持用户CS doamin、PS domain和IMS的移动性。
(2) 呼叫和/或会话建立支持:HSS支持CS domain、PS domain和IMS中的呼叫和/或会话建立过程。 对于terminating traffic,它提供有关当前托管用户的呼叫和/或会话控制实体的信息。
(3)用户安全信息生成
(4)HSS 为 CS 和 PS domain以及IMS 生成用户认证、完整性和加密数据。 用户安全支持HSS通过存储生成的用于身份验证、完整性和加密的数据并将这些数据提供给CN中的适当实体来支持访问CS domain、PS domain和 IMS服务的身份验证过程,例如MSC/VLR、SGSN、MME,3GPP AAA Server或CSCF等。
(5)用户身份识别处理:HSS会为CS domain、PS  domian和 IMS提供用于确定用户身份的唯一标识符,例如CS domain的IMSI和MSISDN,PS domain的IMSI, MSISDNs and IP addresses以及IMS的private identity and public identities 。
(6) 访问授权:当 MSC/VLR、SGSN、MME、3GPP AAA 服务器或CSCF请求时,HSS通过检查是否允许用户漫游到该访问网络来授权用户进行移动接入。
(7)服务授权支持:HSS为MT呼叫/会话建立和服务调用提供基本授权。 此外,HSS要用与向用户提供的服务相关的相关信息来更新适当的服务实体,例如MSC/VLR、SGSN、MME、3GPP AAA服务器、CSCF等。
(8)服务提供支持
(9)HSS会提供对服务配置文件数据的访问以便在CS domain、PS domain及IMS内使用。 应用服务和 CAMEL 服务支持(用于 GERAN 和 UTRAN 接入)。
(10)GUP数据存储库:HSS支持IMS用户相关数据的存储,通过Rp参考点提供对这些数据的访问。

相关参考点

Gm参考点用于UE和IMS之间的通信,也就是UE和P-CSCF之间的接口,与注册和session控制相关, Gm参考点用的是 SIP协议,用于传输UE和IMS之间的SIB信令。
Mw参考点用于在注册和session control过程中CSCF之间的信令消息的发送,同样是基于SIP协议。例如在注册过程中,P-CSCF会使用Mw接口转发UE的registration信令给I-CSCF,之后I-CSCF再传送给S-CSCF;在 session control过程,会用于转发MO或MT侧在CSCF之间的信令。
Cx参考点用于CSCF和HSS之间的信息传输,采用 Diameter协议,主要用于S-CSCF的选择,用户安全参数的传输以及路由和鉴权相关信息的传输。
上图是IMS registration时相关网元间信令传输的简图。
接着看其他部分网元。

SLF

Subscription Locator Function(SLF)不会在single HSS出现或当AS已经设定好pre-defined HSS时也不需要SLF;这就意味着SLF主要是用于在多个HSS场景下选择某个HSS,例如在registration和session 建立期间I-CSCF和S-CSCF可以查询SLF以便获取HSS的信息;通过3GPP AAA server或者AS结合Sh接口查询获得包含所需订户特定数据的 HSS 。具体地CSCF可以通过Dx接口,AS可以通过Dh接口以及3GPP AAA server通过 Dw 接口对SLF进行访问。

AS

Application server(AS)即 SIP Application server、OSA Application server或 CAMEL IM-SSF,是主要用于voice业务的网元。通常位于用户的home 网络或第三方位置,用于提供增值 IP Multimedia (IM) 服务。如上图AS可以通过Sh和Si与HSS通信。
S-CSCF到AS接口可以为归属网络中的 AS 提供 CSCF 服务,同时也会向可信外部网络(例如第三方或受访网络)中的 AS 提供CSCF服务;I-CSCF到AS接口用于将发往AS托管的公共服务身份的SIP请求直接转发到该AS;AS 到 MRFC 的接口Mr′用于session控制而Cr用于media控制;AS会使用AS到MRB 接口 (Rc) 来请求将具有某些特性的MRF资源分配给正在进行的call。

SCC AS

Service Centralization and Continuity Application server(SCC AS)负责Terminating Access Domain Selection和SRVCC相关的一些控制等。

MRF

Media Resource Function(MRF) 包括MRFC和MRFP,负责对media resource进行控制和处理,实现音视频播放、会议、DTMF收号和音频录音等功能。例如MRFC用于控制MRFP中的media stream resources识别来自AS和S-CSCF的信息并相应地控制MRFP,还可要生成CDR;MRFP会提供由MRFC 控制的资源,处理音频转码等等功能。

BGCF

BGCF可以配置为运营商网络中用于传输IMS消息的联络点;运营商网络中可能有多个BGCF,可用于SIP消息的路由,IMS 到PSTN/CS网络的路由,根据配置选择合适的MGCF进行SIP 信令的转发以及生产CDR。

MGCF

MGCF负责控制与IMS-MGW 中媒体通道的连接控制有关的呼叫状态部分;根据incoming call的routing number进行号码分析确定路由;与CSCF、BGCF 和CS网络进行通信;完成ISUP/TCAP/SIP-I与IM subsystem call control协议的转换等。

IMS-MGW

IMS-MGW负责与MGCF进行资源控制,用来处理媒体转换、承载控制和对voice进行相应处理;还会将UMTS/GSM的 media进行编解码转换等功能。
还有很多其他网元和参考点,就不一一看了,本篇先到这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/299267.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于OpenCV的图像翻转和镜像

我们将解释如何在Python中实现图像的镜像或翻转。大家只需要了解各种矩阵运算和矩阵操作背后的基本数学即可。 01. 依赖包要求 NumPy —用于矩阵运算并对其进行处理。 OpenCV —用于读取图像并将其转换为2D数组(矩阵)。 Matplotlib —用于将矩阵绘制为…

【CSS】文字描边的三种实现方式

目录 1. 可行的几种方式1.1. text-shadow 描边代码优缺点 1.2. text-stroke 描边实现优缺点 1.3. svg 描边实现优缺点 总结 1. 可行的几种方式 text-shadow–webkit-text-strokesvg 1.1. text-shadow 描边 MDN text-shadow 代码 <div class"text stroke">…

Mybatis简易搭建并查询数据库表内所有数据

搭建步骤 1.在mysql中创建user表&#xff0c;添加数据2.创建maven模块&#xff0c;导入坐标3.在资源文件夹中导入需要用到的logback.xml4.编写MyBatis 核心配置文件->替换连接信息 解决硬编码问题5.编写 SQL映射文件->统一管理sgl语句&#xff0c;解决硬编码问题6.编码定…

软件测试之单元测试、系统测试、集成测试知识总结

一、单元测试的概念 单元测试是对软件基本组成单元进行的测试&#xff0c;如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff0c;有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如&#xff1a;明确的功能、规格定义&#…

利用VIN接口实现自动识别车型功能

如何利用vin接口实现自动识别车型功能&#xff0c;首先实现此功能我们来大概分析一下流程图&#xff1a; ## 1-收集VIN信息&#xff1a;用户输入或扫描车辆的VIN码。 ## 2-OCR识别&#xff1a;把用户所扫描的内容进行识别。 ## 3-发起API请求&#xff1a;通过编程语言或工具…

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

系列文章目录 前言 一、Windows11 - Ubuntu 双系统安装 硬件信息&#xff1a; 设备名称 DESKTOP-B62D6KE 处理器 13th Gen Intel(R) Core(TM) i5-13500H 2.60 GHz 机带 RAM 40.0 GB (39.8 GB 可用) 设备 ID 7673EF86-8370-41D0-8831-84926668C05A 产品 ID 00331-10000-0000…

mysql生成数据库字典文档

项目交付离不开项目数据库字典文档。下面用python轻松生成交付文档字典。 一 生成doc文档数据库字典效果&#xff1a; 1 生成doc文件&#xff0c;如下图&#xff1a; 2 打开文件字典格式内容 &#xff0c;如下图&#xff1a; 二 python生成doc字典文档代码 生成doc数据库字典…

uniapp 文字超出多少字,显示收起全文按钮效果demo(整理)

收起展开 <template><view class"font30 color000 mL30 mR30"><text :class"showFullText ? : clamp-text">{{ text }}</text><view v-if"showToggleBtn && text.length > 42" click"toggleShowFu…

STM32实战之IAP代码升级

目录 1 IAP介绍 2 内存分区 3 整体设计流程图 4 Boot Loader的代码编写 5 APP1代码编写 6 APP2代码编写 stm32内部flash操作相关函数 1 IAP介绍 IAP&#xff08;In Application Programming&#xff09;即在应用编程&#xff0c; IAP 是用户自己的程序在运行过程中…

机器学习周刊第二期:300个机器学习应用案例集

大家好 前文&#xff1a;机器学习项目精选 第一期 继续分享我最近看过并觉得非常硬核的资源&#xff0c;包括Python、机器学习、深度学习、大模型等等。 1、Python编程挑战 地址&#xff1a;https://github.com/Asabeneh/30-Days-Of-Python 30天Python编程挑战是一个逐步学…

c++比Java更不容易失业吗?

c比Java更不容易失业吗&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01…

SpringBoot 如何 返回页面

背景 RestController ResponseBody Controller Controller中的方法无法返回jsp页面&#xff0c;或者html&#xff0c;配置的视图解析器 InternalResourceViewResolver不起作用&#xff0c;返回的内容就是Return 里的内容。 Mapping ResponseBody 也会出现同样的问题。 解…

SpringCloud系列篇:入门讲解Spring Cloud是什么

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Spring Cloud是什么 二.Spring …

java基于vue的音乐播放器的设计与实现论文

摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮或者怕火&#xff0c;不容易备份&#xff0c;需要花费大量的人员和资金来管理用纸质文…

ThinkPHP5多小区物业管理系统源码(支持多小区)

基于 ThinkPHP5 Bootstrap 倾力打造的多小区物业 管理系统源码&#xff0c;操作简单&#xff0c;功能完善&#xff0c;用户体验良好 开发环境PHP7mysql 安装步骤: 1.新建数据库db_estate,还原数据db_estate.sql 2.修改配置文件&#xff1a;application/database.php 3.运…

【已解决】You have an error in your SQL syntax

报错讯息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘desc,target_url,sort,status,create_by,modify_by,created,last_update_time FROM…

基于JAYA算法优化的Elman神经网络数据预测 - 附代码

基于JAYA算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于JAYA算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于JAYA优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针…

2024年阿里云、腾讯云、华为云、LightNode、硅云服务器如何选?怎么买最划算?[最新价格表]

很多小伙伴都有一颗上云的心&#xff0c;包括我自己 有事没事的折腾一下自己的小破站&#xff0c;也挺有意思的&#xff01; 那么&#xff0c;云服务器哪家好&#xff1f;优惠力度哪家大&#xff1f;活动入口哪里进&#xff1f;云服务器如何配置&#xff1f;如何选型&#xf…

【InternLM】Lagent智能体工具调用实践浦语·灵笔(InternLM-XComposer)图文理解创作Demo练习

目录 前言一、Lagent智能体工具1-1、什么是智能体&#xff1f;1-2、Lagent智能体 二、InternLM-XComposer&#xff08;图文理解创作模型介绍&#xff09;三、Lagent调用实践3-0、环境搭建3-1、创建虚拟环境3-2、导入所需要的包3-3、模型下载3-4、Lagent安装3-5、demo运行 四、I…

篇三:让OAuth2 server支持密码模式

由于Spring-Security-Oauth2停止维护&#xff0c;官方推荐采用 spring-security-oauth2-authorization-server&#xff0c;而后者默认不支持密码授权模式&#xff0c;本篇实战中采用的版本如下&#xff1a; <dependency><groupId>org.springframework.security<…