第4章IMS关键技术 4.1 IMS用户标识 IMS的用户标识较多,为了更贴近实际网络,本文采用VoNR(即NR接入的IMS)进行介绍,也同样适用于VoLTE(LTE接入下的IMS)。
4.1.1 IMPI IMPI(IM Private Identity)即IMS用户私有标识,是归属IMS运营商侧用户的唯一全球IMS标识,需要在IMS-HSS中做签约数据发放。IMPI最主要的用途是鉴权(VoNR注册流程)。IMPI只能用来鉴权,不能用于SIP消息的路由。 IMPI的格式:IMSI@ims.mnc<MNC>.mcc<MCC>.3gppnetwork.org 需要注意,由于4/5G网络均采用不换卡平滑升级,UE没有采用ISIM卡而是继续沿用USIM卡,因此,需要终端支持能从USIM卡中读取IMSI作为IMPI的一部分,并用于鉴权目的。直白点说,IMPI在HSS和UE侧都需要有,只不过HSS是通过BOSS来统一发放,UE则需要自己根据IMSI来生成。
4.1.2 IMPU IMPU(IM Public Identity)是IMS用户公有标识。主要用于VoNR呼叫流程中的呼叫路由和寻址。IMPU同样也需要在HSS中开户签约。IMPU采用SIP URI或TEL URI的格式。例如tel: +8613x66668888或者sip:IMSI@ims. mnc<MNC>.mcc<MCC>.3gppnetwork.org或者sip:+MSISDN@gd.ims.mnc00X.mcc460.3gppnetwork.org。
4.1.3 Tel-URI Tel-URI采用E.164编码,采用以“tel:电话号码;[参数]”的格式。 电话号码包括全局号码和本地号码: - 全局号码:以+开头,如+8613x88888888,或+86073188888888。 - 本地号码:不以+开头,如87654321。 参数:phone-context - 格式:可以是号码格式也可以是域名格式。如+8610或51xuetongxin.com。 - 作用:由于本地号码不唯一,该参数可让归属域网元能唯一识别被叫用户。例如取值tel:87654321;phone-context=+8610就代表是北京的号码87654321。
4.1.4 SIP-URI SIP-URI采用RFC2543的定义,格式为sip:用户信息@主机端口;[参数]”。 - 用户信息:可以是用户名或电话号码,如aiweisheng、87654321。 - 主机端口:域名或IP地址+端口号,如51xuetongxin.com、10.1.1.1:5060 - 参数:sip-uri的附属信息,用于标识sip-uri的一些特殊属性。与主机端口用;隔开。例如,在主机端口后携带“user=phone”参数,可以表明被叫用户是一个电话用户。
4.1.5 ISIM和USIM Q1:ISIM和USIM存储的东西有啥区别? A1:为了存放IMS码号,有专门的ISIM卡,来取代现有的USIM卡。 以下是ISIM卡和USIM卡模块存放的数据对比:
可以看到,ISIM卡中保存了(开卡时写入)用于注册和呼叫寻址的IMPI、IMPU和归属网络域标识(实际现网中,会加入省份标识如广东gd)。因此,当有ISIM卡的情况下,终端(如VoNR手机)只需要从ISIM卡提取出相应的码号资源,就可以直接用于VoNR的注册和呼叫流程了。
4.1.6 T-IMPI和T-IMPU 前面提到,在不换卡的前提下,UE需要从USIM中提取出IMSI并推导出IMPI(不带省份标签的),用于注册流程。这个推导出来的IMPI是临时的,因此也叫做T-IMPI。说它是临时的,是因为HSS里存有真正的永久的带省份标签的IMPI。这个T-IMPI会出现在Register消息的Authorization部分。
4.1.7 不换卡,P-CSCF如何找到归属地I-CSCF? 不换卡带来的另一个问题是,现网的IMS建设一般是以省为单位建设的,按照IMS的规范要求,除了P-CSCF以外的所有IMS网元都在归属地,也就是归属省份。这是通过在IMPU中增加省份标签实现的(如bj代表北京)。 如果有ISIM卡,那好说,这个省份标签信息会写到卡里。注册流程自动就带上来了,然后拜访地省份P-CSCF查DNS,DNS就可以根据配置好的带省份标签的DNS记录选择归属地省份I-CSCF。 但现在是USIM卡,需要UE自行推导T-IMPU,这里边是没有省份标签的。那P-CSCF查DNS是没法得到归属地I-CSCF的信息的?怎么办? - Answer:你答对了。无解。只能找到一个折中的方案。 因此,现网中注册流程中的I-CSCF都在拜访地。这个是和规范不一致的地方。
4.1.8 HSS总共要签约发放几个用户标识? 综上所述,实际网络中IMS-HSS需要为用户开通4个IMS码号: - 终端推导出的2个:1个IMPI和1个IMPU用于注册流程; - 网络侧下发给UE的2个:2个IMPU用于呼叫流程(tel-uri和sip-uri)。
4.1.9 HSS的隐式注册集 前面提到,HSS需要开通为同一个IMS用户开通4个IMS码号,那是不是UE要发4遍注册流程,分别把这4个ID都注册一遍呢?显然不是,这个就要提到HSS侧的隐式注册集(Implicit Registration Set)功能。在HSS中,可以将一个用户的多个ID定义到一个隐式注册集中,只要某一个ID完成了注册,则隐式注册集中所有的ID都会被认为注册成功。这样的好处就是UE不需要把每个ID都注册一遍。
|