作者:中国移动集团公司 张阳 (章末附作者介绍)
作者微信公众号:网优小谈(wireless_talk)
俗话说的好,一入豪门深似海,对于VoLTE这个新技术领域的学习认知也一样,相比传统的电信技术,它糅合了大量计算机互联网的理念,正可谓吸毒毁一生,学习VoLTE毁三代。但是任何复杂、先进的技术都是人类制定的,因此对于VoLTE的理解只要循序渐进,把握住总体脉络,以需求入手,应该也不是什么天方夜谭。本系列撰文拟从一个传统的无线优化工程师的思维入手,尝试逐步揭开VoLTE神秘的面纱。
1 重要网元和基础概念
如果单从电信网络的眼光去看,VoLTE不过是承载在目前4G网络中的一种数据业务而已,只不过对于这种数据业务的QOS管理、调度需要引入新的系统或者功能进行管控,这也就是我们常常说的IPmultimedia subsystem(IP多媒体子系统)或者IMS域的职责。对于无线网络优化工程师来讲,VoLTE时代的来临对于传统的网优工作存在不小的挑战,因为大量的优化工作会从无线层面上移到业务层面的优化,熟悉一些IMS域核心网络的知识变得不可缺少。这一篇简单得从一些IMS域的重要网元以及基础概念入手。
只能永远把艰辛的劳动看作是生命的必要;即使没有收获的指望,也心平气静地继续耕种。
—平凡的世界
IMS域核心网网元及接口
IMS域核心网的网元、接口众多,如果单纯从IMS子系统的角度来看,各个网元、功能实体以及接口是如下这样的
如果需要全部掌握了解,需要花费相当的功夫,所以理解这些网元不可能眉毛胡子一把抓,需要循序渐进。这里从IMS域内的协议流程需要涉及的网元入手,逐步进行摸索与理解。 这里主要有5个功能实体Proxy-CSCF、Interrogating-CSCF、Serving-CSCF和Breakout Gateway Control Function、MultimediaResource Function(其中MRF包含两个逻辑网元MultimediaResource Function Controller和Multimedia Resource FunctionProcessor)。 Proxy-CSCF
全称为Proxy-Call Session Control Function,只要是IMS域中涉及的会话流程,不可避免都要与P-CSCF、I-CSCF和S-CSCF这三个网元进行交互。P-CSCF比较好理解,类似一个代理服务器,主要负责接收服务请求并在IMS子网内部中转这些服务请求。如果需要中转到其他的域,则要通过本地出口节点(IBCF)这个网元去实现。P-CSCF不仅转发SIP注册消息,同时转发SIP消息到相应的SIP服务器(S-CSCF)。在转发SIP消息请求与反馈中,P-CSCF需要确保SIP消息中包含了当前UE所处接入网的信息。除此之外,P-CSCF还有一些功能,包括检测处理紧急呼叫请求、产生计费话单、对会话的安全性管控、执行SIP消息的压缩与解压缩、QoS管理、以及对于不同业务优先级的检测与处理。P-CSCF可以分别在拜访地网络以及归属地网络进行设置,当P-CSCF设置在拜访地网络,见下图
这两种设置方式的区别在于,P-CSCF设置在拜访地网络时,需要通过IBCF功能实体与不同域的S-CSCF进行互联,而当P-CSCF设置在归属地网络时,需要通过“发现”机制被UE来确定进行信息交互,详见3GPP 23.228 5.1.1.0。简单的来看,P-CSCF功能实体起到了电信域与IMS域沟通互联的作用,而IBCF则是不同IMS域之间的联络节点。
Interrogating-CSCF
I-CSCF是用户接入IMS子系统的节点,这里容易和IBCF的功能混淆,其实这两个功能实体有类似之处,只不过I-CSCF作为本域接入点,而IBCF往往作为跨域(跨IMS域或者与IMS域与其他IP多媒体网络)的出口或者访问节点,这两个功能上不同的逻辑节点往往可以合设为一个物理节点。除了二者对于所处IMS子系统的逻辑位置的不同,二者还是有很多相似之处。例如I-CSCF在UE注册过程先从HSS获取S-CSCF的地址,然后将该S-CSCF分配给该UE用来SIP注册,之后将SIP请求或者反馈路由到注册的S-CSCF。I-CSCF在某些场景下还起到了地址翻译的作用,当需要进行HSS位置查询时,I-CSCF需要提前将SIP请求里的SIP URI转换成电信URI的格式,如果当某些场合不需要对用户寻址的时候,I-CSCF又可能起到了将电信URI翻译成SIP URI的作用。另外当会话的目的地并不在IMS域内,I-CSCF又可以将请求转发出去,实际起到了IBCF的作用,或者直接回复接入失败。I-CSCF域IBCF皆具有产生计费话单的功能,这为漫游结算提供了支撑。
Serving-CSCF
S-CSCF是IMS子系统中极为重要的功能实体,主要负责会话控制服务。在IMS子系统中,可能存在多个S-CSCF逻辑网元,并且这些逻辑网元有各自不同的功能。S-CSCF可执行如下功能
1、通过从HSS获取的用户信息完成注册
2、当UE在注册阶段上报支持GRUU能力,S-CSCF负责为UE分配唯一的P-GRUU,同时在每次重新注册时分配唯一对应的T-GRUU,并将该UE的GRUU分配情况反馈UE(当注册信息改变的时候,例如T-GRUU改变的时候,S-CSCF也需要及时通知用户),这有点类似EPS中MME在每次UE附着时为UE分配的TMSI的流程。
3、在注册阶段,S-CSCF还应向P-CSCF和/或者UE提供基于公共用户标识的一些诸如用户优先级信息
4、对于注册后的会话流程进行管理,例如,在获知用户被禁止接入信息后,可以将会话流程拒绝掉。同时,S-CSCF可以具备代理服务器或者用户代理的一些功能,例如中转服务请求或者独立产生、终止SIP流程。
对于主叫会话发起的流程,S-CSCF首先通过呼叫用户的电话号码或者SIP URI获取呼叫用户所在网络的接入点地址,然后将SIP请求转发至该接入点。如果主叫用户和被叫用户均在同一运营商网络下,则将SIP请求转发至该网络下的I-CSCF网元。如果呼叫到PSTN网络或者CS域,则需要将SIP请求转发至BGCF网元。同时,S-CSCF需要确保主叫SIP请求和响应的内容符合IMS子网络通信服务定义。如果INVITE消息里面包含用户优先级设置或者相应的字符串,需要将这些信息同时转发转发。值得注意的一点,如果主叫请求来自于IMS内部的应用服务器,且该主叫请求所表征的用户并没有注册,那么S-CSCF需要先完成相应的注册流程,之后才会将来自应用服务器的这些请求进行相应的转发。 对于被叫会话的流程,S-CSCF需要将SIP请求与响应转发至P-CSCF,如果被叫用户位于PSTN或者电信网络的CS域,S-CSCF需要修改SIP请求信息,并通过BGCF网元将请求或者反馈进行转发。如同对主叫会话流程的管理,在转发SIP请求或者反馈的时候,需要确保SIP消息的格式满足IMS子网络通信服务定义。如果是跨IMS域的请求转发,S-CSCF需要将请求通过IBCF网元进行路由转发。
一如既往,S-CSCF也同样兼具产生计费话单功能。 Breakout Gateway Control Function
Breakout这个英文单词的释义为“突围;中断”,因此也就隐含了两层意思,就是离开IMS域,中转到其他的域,例如PSTN/CS域等。BGCF起到了对被叫用户的识别以及路由。如果
被叫用户是本网络的PSTN/CS域用户,BGCF将下一跳路由到本网MGCF,后续由MGCF进行与PSTN/CS域的交互。如果被叫用户是位于其他网络的PSTN/CS域用户,那么BGCF会首先将下一跳路由到其他网络的BGCF。如果被叫用户位于其他的IMS网络,BGCF会将消息路由到该IMS网络的I-CSCF(接入节点)。
Multimedia Resource Function
多媒体资源功能可以被分成多媒体资源功能控制单元(MRFC)和多媒体资源功能处理单元(MRFP)两个逻辑网元,如下图所示