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