内部公开▲
位置更新业务介绍
一. 位置更新 RANAP、MM 处理
1. 业务流程
UE/RNS
RANAP
MM(old)
MM(new) VLR(old) VLR(new)
LUReq
mrInitUE(LUReq)
IdReq
IdRsp
mrDirecttrans(IdReq)
mrDirecttrans(IdRsp)
mcvLUReq
mcvPvdIMSIReq
mcvPvdIMSICnf
mrChangeModuleInd
mcvChangeModuleToMM
mrChangeModuleInd
AuthReq
AuthRsp
mrDirectTrans(AuthReq)
mrDirectTrans(AuthRsp)
FwdChkSSReq
mrDirectTrans(FwdChkSSReq)
SecurityModeCmd
mrSecurityModeCmd
SecurityModeCom
mrSecurityModeCom
LUAcc
mrDirectTrans(LUAcc)
TmsiReallCom
mrDirectTrans(TmsiReallCo
mrIuRelease
mcvSndLUReq
mcvAuthReq
mcvAuthCnf
mcvFwdChkSSReq
mcvSecModeCmd
mcvLUCnf
mcvFwdNewTmsiReq
mcvFwdNewTmsiCnf
图 12 位置更新业务流程
必选信令
可选信令
A
B
C
D
E
F
G
中兴通讯 版权所有 第 1 页,共 11 页
内部公开▲
2. RANAP 处理流程
当 MS 发起位置更新时,MS 侧的 MM 实体要求 RR 实体建立 RR 连接。RR 连接建立后,RNC 将内容为
LUReq 的 L3 消息组装成 SCCP-CR 消息发送到 UMSC-RANAP 实体,Iu 口第一条信令是 InitialUE 消息,RANAP
收到消息后,对 InitialUE 信令进行解码,得到用户的标识 IMSI 或 TMSI,于是根据用户标识最后 3 位根据
后台网管的配置规则找到具体的 CMP 模块,然后将消息发送给 CMP 的 MM 模块进行业务处理。RANAP 原
来根据 IMSI 后两位查找业务模块号,现在是根据最后 3 位来决定业务模块,如果想查找具体的 IMSI 的业务
在哪个模块,可以通过后台网管的“设备配置”下的“IMSI 负荷分担”上的“查询 IMSI 散列值”来查找业务所在
的模块。
RANAP 在后续的业务处理过程中,接收 MM 的 DT 消息,发送给 MS,同时接收 MS 的消息,将 MS 的消
息通过 DT 消息发送给 MM。
在位置更新过程中,上层 VLRMAP 根据后台配置检查是否需要 TMSI 重分配,如果需要 TMSI 重分配,
则需要发起完整性保护和加密过程,VLRMAP 将加密消息发送给 MM,MM 模块发送给 RANAP 模块,RANAP
将消息发送给 RNC,RNC 进行加密算法和完成性算法的选择,成功后返回安全模式完成消息。
在位置更新结束后,MM 发送 Iu Release 消息给 RANAP,RANAP 则发送释放消息到 RNC 侧释放 IU 口
消息。
3. MM 处理流程
1) 移动用户由于位置区改变、开机、插入 SIM 卡以及周期性更新等原因决定向网络发起位置更新过程,
位置更新的类型分为:
l 一般性位置更新
l 用户开机
l 周期性位置更
用户位置更新时用户标识可以有两种,包括:IMSI 或 TMSI。
2) MM 模块收到 RANAP 的 InitialUE 后,首先检查相关参数和保存信息,包括:
l 首先保存位置信息 SAI 和 RNCID。
l 根据位置区信息 LAI 调用数据库接口获取当前位置区的配置信息,如果配置了当前位置区的信
息,则返回 LAI 对应的虚拟 MSC 索引,如果没有配置位置区信息,则报“获取虚拟 MSC 索引失败”,
中兴通讯 版权所有 第 2 页,共 11 页
内部公开▲
并将当前的 LAI 和呼损一同上报,向 RANAP 发送 IU RELEASE 消息释放 IU 口,流程结束。
l 检查 LAI 之后,对 L3 消息进行解码,如果解码失败,则释放 IU 口,同时报呼损“解码失败”,如
果解码成功,对 L3 消息中的消息类型和用户标识进行合法性检查。
l 在参数检查完毕,根据 RANAP 模块和 RANAP 索引进行 RANAP 的 HASH 表检查,根据用户标识
(IMSI 或 TMSI)进行 HASH 表检查,检查当前用户是否存在业务,如果当前用户存在业务进行
重用检查,如果发生重用,则当前业务失败。如果未发生重用现象,则释放之前的业务,处理
位置更新业务。
l 在数据检查之后,将申请 MM 进程数据区和用户数据区,保存位置更新信息,进入位置更新状态
处理过程中。组织位置更新消息,形成内部消息 mvLUReq 发送给 VLRMAP,并且启动等待位置
更新响应有名定时器 mcaT3210,默认时长为 20 秒。
3) 用户使用 TMSI 进行位置更新时,MSC/VLR 不认识用户提供的 TMSI,VLRMAP 要求用户提供 IMSI,
则发送 mcvPvdImsiReq 消息。请求 IMSI 过程由 MS 处理。MM 将消息内容放入 mrDirectTrans 中的
NAS-PDU 发送给 RANAP,MM 启动定时器 mcaT3270(12 秒),等待 MS 的 IDRSP 消息,RANAP 将消
息发送给 MS。MS 将 IMSI 通过 IDRsp 消息回送给网络,MM 将 IDRSP 消息发送给 VLRMAP。
4)
VLR 如果发现用户提供的 IMSI 不在本模块处理的范围,向 MM 发送 mcvChangeModuleToMM 消息,
要求进行业务迁移,并将用户的 IMSI、对应的新模块号、已经鉴权次数等参数在消息中带给 MM。
MM 收到消息后,向 RANAP 发送 mrChangeModuleToSig 消息,在消息中带有 IMSI、新模块号和保存
的 NAS-PDU,释放 MM 连接。RANAP 根据 IMSI 的末两位选择新的模块,向新模块的 MM 发送
mrChangeModule 消息,在消息中携带旧模块的 MM 传来的 NAS-PDU 和 IMSI,由新模块的 MM 对
NAS-PDU 解码后形成 mcvLUReq 消息,用 IMSI 向新模块的 MSC/VLR 发送位置更新请求。业务迁至
新模块,后续处理在新模块进行.
5) 根据 OMC 配置需要对此位置更新过程进行鉴权,MSC/VLR 发送 mcvAuthReq 消息给 MS。同样,鉴
权过程由 MS 处理。MM 将消息内容放入 mrDirectTrans 中的 NAS-PDU 发送给 MS。MS 利用 A8 算法
对消息中的 RAND 进行计算后,将产生的 RES 在证实消息中回送给 MSC/VLR。由 VLR 进行比较,判
断用户的合法性。UMTS 系统的鉴权采用五元组,若 UTRAN 或 ME 为 2G 设备,存在五元组与三元
组的转换。
6)
VLR 中不存在用户数据时需要位置更新 HLR。在用户位置更新之前,HLR 中的用户补充业务数据可
能被修改,或者 HLR 可能重新启动过,那么 HLR 将发送 mcvFwdCheckSSReq 消息通知 VLR。MSC/VLR
转发此消息给 MM。MM 使用一新的呼叫无关补充业务 Register 消息(包含在 mrDirectTrans 中)传
中兴通讯 版权所有 第 3 页,共 11 页
内部公开▲
送给 MS,通知 MS 检查相关的补充业务信息。
7) 根据 OMC 配置需要为用户重新分配 TMSI,则 MSC/VLR 启动加密过程,发送 mvSecModeCmd 消息
到 MM,消息中指明是否加密,以及采用的加密算法。加密过程是 RNC 与 MS 之间的过程,所以 MM
形成相应 RANAP 消息发送给 RNC。RNC 加密完成后通知 MM。需要注意的是,在 UMTS 系统中加密
过程还包含了完整性保护的作用,一般来说,完整性保护和加密过程之前首先检查应用上下文是否
存在,如果不存在则必须启动鉴权过程,因为加密的密钥是通过 mcvAuthReq 消息带到 MS 的。为
了在不鉴权时进行加密,GSM/UMTS 系统采用了 CKSN/KSI 方法。MS 在接入网络时将存储的 CKSN/KSI
带上来,若和 VLR 中的 CKSN/KSI 一致,则可以直接启动加密过程。
8) 位置更新接受,VLR 重新分配 TMSI,VLRMAP 形成 mcvFwdNewTmsiReq 消息通知 MM 重新分配 TMSI
(没有 TMSI 重新分配过程时,VLRMAP 发送 mcvLUCnf 消息通知 MM 位置更新过程正常结束)。MM
将 新 TMSI 包 含 在 LUAcc 消 息 中 送 给 MS, MS 存 储 新 TMSI 和 LAI , 删 除 旧 TMSI , 返 回
TmsiReallocComplete 消息。MM 接收消息给 VLR 发送 mcvFwdNewTmsiCnf,位置更新完成。若 MS
在位置更新请求中携带有 follow-on 参数,表示位置更新有后续业务需要处理,则 MM 在 LUAccept
消息中带回 follow-on 参数,等待后续业务。在 MM 接收 TmsiReallocComplete 消息后,若支持
follow-on,则不释放 Iu 连接,设置定时器等待后续业务。否则,MM 发送 mrIuRel 消息释放 Iu 连接。
若 MM 在 LUAccept 消息中只包含 IMSI,表示不使用 TMSI,MS 删除原来 TMSI;若在 LUAccept 消息
中不带有任何用户标识,则 MS 使用原来的标识。若当前存在多个 PLMN 网络,且运营者允许用户接
入其他网络,则在 LUAcc 消息中用"equivalent PLMNs"参数包含这些允许接入网络标识给 MS,MS
保存信息到 SIM 卡中。在"equivalent PLMNs"参数为空时,MS 删除 SIM 卡已有信息。
二. 位置更新 VLRMAP 处理
1. VLRMAP 位置更新流程
中兴通讯 版权所有 第 4 页,共 11 页
内部公开▲
mvmStaNULL_M
mcvLUReqEvent
mcvSn dLUReqEvent
mvmMoniProc
mvmCheckIndication
mcvMmAndVlrmap
ReleaseEvent
no
Result.Flag=mReturnOK_M
yes
mvmSaveMsg
Sa ve LAI and celli d
in buffer
no
mcvMmAndVlrmap
ReleaseEvent
result.Flag=mRetrunOK_M
yes
LocAreaInd.pLAIFg
yes
invlr=
mvmJudgeLaiInVlr
InVlr
true
false
false
PdbPtr->inVLRULFlag=mvmSet
PdbPtr->inVLRULFlag=mvmNotSet
yes
PdbPtr->SubID.KeyType
=ID_IMSI
input->LocAreaInd.UsrIdFg==0
no
PdbPtr->SubID.KeyType
=ID_TMSI
PdbPtr->SubID.dnQu ery.IM SI
=Lo cAreaInd.SubID.UsrId.IMSI
PdbPtr->SubID.dnQuery.IMSI
=LocAreaInd.SubID.UsrId.TMSI
Upd ate by IMSi
Update by TMSI
图 24
中兴通讯 版权所有 第 5 页,共 11 页
内部公开▲
update by tmsi
PdbPtr->inVLRULFlag==mvmSet
yes
no
CM_VLRREADMSBDATA
(TMSI)
input->LocAreaInd.PLAIFg
==true
Result.Flag==mReturnOK_M
no
yes
no
PdbPtr->ULDBFlag=
mvmSetHLRNotConf
yes
GetSccpFromPLAI
no
Result.Flag==
mReturnOK_M
yes
mcvPrvdImsiReq
mvmULJudgeAuthReq
mcvPrvdImsiReq
mvmDlgDataApply
mvmStaWaitProvIMSIAcK_M
mvmStaAuthenMacro_M
mvmMACRO_PVLR
mvmStaWaitProvIMSIAcK_M
mvmStaWaitPVLRMacro_M
图 25
mvmStaWaitPVLRMacro_M
mvmMACRO_PVLR
Result.Flag
mReturnContinue_M
mReturnRecall_M
mReturnUsrErr_M
mReturnPrvErr_M
mReturnOK_M
mReturnAbort_M
mvmDlgIdFree
CM_VLRMODIFYFLAG
(mvdID_LICnfHLR_M=mvmNotConfirmed)
failCause=
mvmRecReleaseEvent
&&!=mChangeModule
yes
no
mcvPrvdImsiReq
Result.Flag==mReturnOK_M
mcvMmAndVlrmap
ReleaseEvent
mvmStaWaitPVLRMacro_M
mvmStaWaitProvIMSIAcK_M
yes
no
mcvMmAndVlrmap
ReleaseEvent
mvmStaAuthenMacro_M
err
err
图 26
中兴通讯 版权所有 第 6 页,共 11 页
内部公开▲
Update by IMSI
LocAreaInd.pLAIFg=1
&&event=mcvLUReqEvent
no
yes
mvmWarn
mvmIMSIUseAlarmEvent
CM_VLRREADMSBDATA
(IMSI)
Result.Flag==mReturnOK_M
no
no
CM_VLRINSIMSINREC
yes
PdbPtr->inVLRULFlag
== mvmNotSet
yes
Result.Flag==mReturnOK_M
CM_VLRMODIFYFLAG
(mvdID_LICnfHLR_M=mvmNotConfirmed)
FailCause=
mvdTableFull_M
yes
no
mvmWarn
mvmVDBFullWarnEvent
yes
no
Result.Flag==mReturnOK_M
mcvMmAndVlrmap
ReleaseEvent
PdbPtr->NewRecordFlag
=mvmSet
yes
no
mcvMmAndVlrmap
ReleaseEvent
err
mvmULJudgeAuthReq
mvmULJudgeAuthReq
err
mvmStaAuthenMacro_M
mvmStaAuthenMacro_M
mvmStaWaitProvIMSIAcK_M
mvmRecProvIMSIAck
Result.Flag==
mReturnOK_M
yes
no
mvmULJudgeAuthReq
mvmStaAuthenMacro_M
图 27
中兴通讯 版权所有 第 7 页,共 11 页
内部公开▲
mvmStaAuthenMacro_M
event
PdbPtr->AUTHFlag
== mvmNeedAuth_M
yes
mvmMACRO_Authenticate
result.Flag
mReturnUsrErr_M
mReturnAbort_M
mReturnPrvErr_M
failCauses
no
mReturnContinue_M
mRerurnRecall_M
mReturnOK_M
PdbPtr->NewRecordFlag
no
mUnknowSubscriber_M
yes
mIllegalSubscriber_M
other
mvmStaAuthenMacro_M
CM_VLRDELEMSDATA
CM_VLRDELEMSDATA
mvmWarn
no
PdbPtr->NewRecordFlag
==mvmSet
yes
CM_VLRMODIFYFLAG
(RadioCnfFlag = mvmConfirmed)
CM_VLRUPDATELOCATION
CM_VLRDELEMSDATA
mvmRlsMsg
(Free LAI and CellId in temp)
err
yes
SubDataCnfHLRFlag==mvmConfirmed
&&LICnfHLRFlag==mvmConfirmed
no
mvmDlgDataApply
yes
Result.Flag==
mReturnOK_M
mvmStaLUCompleteMacro_M
no
PdbPtr->NewRecordFlag
==mvmSet
yes
no
mvmMACRO_ULComplete
CM_VLRDELEMSDATA
mcvMmAndVlrmap
ReleaseEvent
mvmStaUpdateHlrMacro_M
err
图 28
中兴通讯 版权所有 第 8 页,共 11 页