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进行编解码转换等功能。
还有很多其他网元和参考点,就不一一看了,本篇先到这里。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis复习笔记03(小滴课堂)

Redis6常见数据结构概览 0代表存在,1代表不存在。 1表示删除成功,0表示失败。 查看类型,默认string类型。 也可以设置set类型。 list类型。 查看key的过期时间: Redis6数据结构之String类型介绍和应用场景 批量设置: …

AI与5G、IDC等成为数字经济的重要基础设施

AI与5G、IDC等已经成为数字经济的重要基础设施,它们的影响和作用不容忽视。随着技术的迅速发展,AI在各行各业都得到了广泛应用,并成为数字经济的核心驱动力之一。 首先,AI的兴起为数字经济带来了巨大的机遇。AI技术可以帮助企业从…

LiveSIPB流媒体国网B接口功能-国网B接口服务安装使用说明

LiveSIPB 国网B接口服务安装使用说明 1、服务说明1.1、安装包说明1.2、国网B接口信令服务1.3、国网B接口流媒体服务1.4、配置信令服务(LiveCMS)1.5、配置流媒体服务(LiveSMS) 2、服务运行2.1、Windows2.2、Linux 3、配置设备接入3.1、海康STATE_GRID接入示例 4、平台使用4.1、管…

【HarmonyOS】装饰器下的状态管理与页面路由跳转实现

从今天开始,博主将开设一门新的专栏用来讲解市面上比较热门的技术 “鸿蒙开发”,对于刚接触这项技术的小伙伴在学习鸿蒙开发之前,有必要先了解一下鸿蒙,从你的角度来讲,你认为什么是鸿蒙呢?它出现的意义又是…

小白入门基础 - Restful

一:REST与RESTful: REST:表现层状态转移,资源在网络中以某种形式进行状态转移。 RESTful是基于REST理念的一套开发风格,是具体的开发规则。 服务器端只返回数据,以json或者xml的格式。 RESTful开发规范&a…

八大算法排序@归并排序(C语言版本)

目录 归并排序概念算法思想第一步第二步第三步 算法步骤代码实现代码1代码优化 时间复杂度空间复杂度特性总结 归并排序 概念 归并排序(Merge Sort)是一种基于分治策略的经典排序算法。它的基本思想是将待排序的数组划分成两个子数组,分别对…

大模型实战笔记02——大模型demo

大模型实战笔记02——大模型demo 1、大模型及InternLM模型介绍 2、InternLM-Chat-7B智能对话Demo 3、Lagent智能体工具调用Demo 4、浦语灵笔图文创作理解Demo 5、通用环境配置 注 笔记图片均为视频截图 笔记课程视频地址:https://www.bilibili.com/video/BV1Ci4y1…

基于 IP 多播的网络会议程序(2024)

1.题目描述 局域网 IP 多播程序&#xff0c;设计一个图形界面的网络会议程序&#xff08;实现文本多播方式即可&#xff09;。 2.演示Demo 3.参考代码 广播发送代码 //服务端 #include <winsock2.h> #include <iostream> #include <list>#pragma comment(l…

顶顶通呼叫中心中间件通过队列外呼拨打另一个sip并且放音(mod_cti基于FreeSWITCH)

介绍 顶顶通呼叫中心中间件通过队列外呼拨打另一个sip并且放音 一、添加acl 打开ccadmin->点击配置文件->点击acl.conf->在</list>后面添加一条图中的信息->muqi是我自己设置的名字你们可以修改为自己需要的名字->添加好了点击提交XML->在运维调试点…

Redis概览

Redis存储是Key-Value结构的数据&#xff0c;其中Key是字符串类型&#xff0c;Value有5种常见的数据类型 字符串 String 哈希 hash 列表 list 集合 set 有序集合 sorted set / zset 各种数据类型的特性 字符串操作命令 : ● SET ke…

LeetCode 2125. 银行中的激光束数量【数组,遍历】1280

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

技术学习周刊第 1 期

2018 年参与过 1 年的 ARTS 打卡&#xff0c;也因为打卡有幸加入了 MegaEase 能与皓哥&#xff08;左耳朵耗子&#xff09;共事。时过境迁&#xff0c;皓哥已经不在了&#xff0c;自己的学习梳理习惯也荒废了一段时间。 2024 年没给自己定具体的目标&#xff0c;只要求自己好好…

电话号码信息收集工具:PhoneInfoga | 开源日报 No.137

sundowndev/phoneinfoga Stars: 11.2k License: GPL-3.0 PhoneInfoga 是一个用于扫描国际电话号码的信息收集框架&#xff0c;它允许用户首先收集基本信息 (如国家、地区、运营商和线路类型)&#xff0c;然后使用各种技术来尝试找到 VoIP 提供商或识别所有者。该工具与一系列必…

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-7二阶系统

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-7二阶系统 1. 二阶系统对初始条件的动态响应 Matlab/Simulink - 2nd Order Syetem Response to IC2. 二阶系统的单位阶跃响应 2nd Order System Unit Step Response3. 二…

copilot在pycharm的应用

Copilot在PyCharm中的应用 一、引言 随着人工智能技术的飞速发展&#xff0c;AI在编程领域的应用也越来越广泛。Copilot&#xff0c;作为一款由微软开发的AI编程助手&#xff0c;已经引起了广大开发者的关注。它利用深度学习技术&#xff0c;通过分析大量开源代码&#xff0c…

Linux-v4l2框架

框架图 从上图不难看出&#xff0c;v4l2_device作为顶层管理者&#xff0c;一方面通过嵌入到一个video_device中&#xff0c;暴露video设备节点给用户空间进行控制&#xff1b;另一方面&#xff0c;video_device内部会创建一个media_entity作为在media controller中的抽象体&a…

unity中0GC优化方案《zstring》

文章目录 序言简介GC带来的问题性能瓶颈玩家体验受损 使用方式 序言 游戏开发秉承遇到好东西要分享&#xff0c;下面介绍zstring&#xff0c;感谢作者开源无私奉献 源码地址&#xff1a;https://github.com/871041532/zstring 简介 GC带来的问题 性能瓶颈 GC暂停主线程执行…

docker 安装elasticsearch、kibana、cerebro

安装步骤 第一步安装 docker 第二步 拉取elasticsearch、kibana、cerebro 镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 docker pull docker.elastic.co/kibana/kibana:7.10.2 docker pull lmenezes/cerebro:latest第三步、创建 容器 创建e…

设计模式之中介者模式【行为型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…

[Kafka集群] 配置支持Brokers内部SSL认证\外部客户端支持SASL_SSL认证并集成spring-cloud-starter-bus-kafka

目录 Kafka 集群配置 准备 配置流程 Jaas(Java Authentication and Authorization Service )文件 zookeeper 配置文件 SSL自签名 启动zookeeper集群 启动kafka集群 spring-cloud-starter-bus-kafka 集成 Kafka 集群配置 准备 下载统一版本Kafka服务包至三台不同的服…