《5G核心网原理与实践》实践篇 · AMF 网元功能
《5GC原理与实践》实践篇(1) 初始注册流程关键步骤分析
爱卫生
2023年02月12日 19:25
《5GC原理与实践》实践篇是按网元来规划的。包括AMF篇、SMF篇、PCF篇等。
本文是AMF篇的第1篇。
1.1.1初始注册流程分析
5G初始注册流程的原理部分请参考《5G核心网原理与实践:原理篇》的3.1.1节:初始注册流程。这里不
再赘述。
本节主要分析该流程中的一些重要消息。
【交流方便、抓重点、更简明扼要的表达,只呈现应用层消息部分。供参考。】
1.1.1.1UE发给AMF的注册请求(UE-ID为SUCI)
注册请求中的主要参数:
-Messagetype:Registrationrequest。这个是5GNAS消息类型。这里是注册请求。
-5GSregistrationtype:initialregistration。表示因为开机发起的初始注册。和周期性注册、移动性注册更
新、紧急注册这几种注册类型区分出来。
-Securityheadertype取值为0,表示未加密的明文NAS消息。即5G-EA0算法。
-NASkeysetidentifier:用于安全上下文的标识。本例取值为7。另外子参数TSC表示NAS安全上下文的类
型。Native表示是5GAMF原生的安全上下文(而不是4-->5映射过来的。)
-5GSmobileidentity:5G用户标识。可以是5G-GUTI或者SUCI。这里是SUCI。SUCI包括了
RoutingIndicator(本例为0,用于回归属地AUSF/UDM的寻址)、HomeNetworkpublickeyid(本例为3,
表示UE加密SUCI用到的公钥标识)、Schemeoutput(是SUPI加密以后的密文输出)、
ProtectionschemeId(取值为1表示采用ECIESprofileA加密算法,中文叫椭圆曲线加密算法)。
-UEsecuritycapability:UE所支持的加密和完整性保护算法。用于和AMF的算法协商,取交集。
Non-Access-Stratum5GS(NAS)PDU
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Registrationrequest(0x41)
5GSregistrationtype
....1...=Follow-OnRequestbit(FOR):Follow-onrequestpending
.....001=5GSregistrationtype:initialregistration(1)
NASkeysetidentifier
0.......=Typeofsecuritycontextflag(TSC):Nativesecuritycontext(forKSIAMF)
.111....=NASkeysetidentifier:7
5GSmobileidentity
Length:53
0.......=Spare:0
.000....=SUPIformat:IMSI(0)
....0...=Spare:0
.....001=Typeofidentity:SUCI(1)
MobileCountryCode(MCC):China(460)
MobileNetworkCode(MNC):Unknown(XX)
Routingindicator:0
....0001=ProtectionschemeId:ECIESschemeprofileA(1)
Homenetworkpublickeyidentifier:3
Schemeoutput:0201cb2e92f836055b82adfe4…
UEsecuritycapability
ElementID:0x2e
Length:2
1.......=5G-EA0:Supported
.0......=128-5G-EA1:Notsupported
..0.....=128-5G-EA2:Notsupported
...0....=128-5G-EA3:Notsupported
....0...=5G-EA4:Notsupported
.....0..=5G-EA5:Notsupported
......0.=5G-EA6:Notsupported
.......0=5G-EA7:Notsupported
0.......=5G-IA0:Notsupported
.1......=128-5G-IA1:Supported
..0.....=128-5G-IA2:Notsupported
...0....=128-5G-IA3:Notsupported
....0...=5G-IA4:Notsupported
.....0..=5G-IA5:Notsupported
......0.=5G-IA6:Notsupported
.......0=5G-IA7:Notsupported
1.1.1.2AMF查NRF得到AUSF
AMF根据UE注册请求中提供的RoutingIndicator查NRF,得到归属地AUSF。这样可以发起鉴权请求。
1)AMF调用NRF的Discovery服务,发起AUSF的查询。用的是HTTPGet方法。但Get方法是不允许通过
JSON来封装参数的。只能把参数部分放在requesturi里,多个参数用&分隔。如下图所示。
可以看到在Get请求中携带了多个参数。包括:
-service-names=nausf-auth。我要选择的网元是AUSF,并支持AUTH这个服务。
-requester-nf-type=AMF。请求者也就是我是谁?我是AMF。
-routing-indicator=0。这就是查询条件。拿RI来换AUSF的nfprofile(网元档案)。
2)NRF返回200OK。包括了AUSF的nfprofile(寻址信息和能力信息。)
主要参数有:
-validityPeriod:结果的有效期,这里是180秒。
-nfInstances:网元实例名。每个实例就代表一个活的网元,通常是uuid格式。
-nfType:网元类型。这里返回AUSF。
-nfStatus:REGISTERED。表示在NRF中的注册状态。这里是已注册。
-plmnList:目标网元支持的PLMN列表。-capacity:AUSF的静态容量。
-sNssais:AUSF所支持的切片。-FQDN:AUSF的域名。-priority:AUSF优先级。
-nfServices:AUSF所支持的服务。-ipEndPoints:AUSF的IP和端口号。
-ausfinfo:ausf网元的特有参数。包括AUSF所支持的supirange:也就是用户IMSI号段。AUSF对应的
group、以及关联的Routingindicator。
JavaScriptObjectNotation:application/json
Object
MemberKey:validityPeriod
Numbervalue:180
Key:validityPeriod
MemberKey:nfInstances
Array
Object
MemberKey:nfInstanceId
Stringvalue:aaaaaa-bbbb-cccc-dddd-eeee
Key:nfInstanceId
MemberKey:nfType
Stringvalue:AUSF
Key:nfType
MemberKey:nfStatus
Stringvalue:REGISTERED
Key:nfStatus
MemberKey:plmnList
Array
Object
MemberKey:mnc
Stringvalue:XX
Key:mnc
MemberKey:mcc
Stringvalue:460
Key:mcc
Key:plmnList
MemberKey:sNssais
Array
Object
MemberKey:sst
Numbervalue:0
Key:sst
MemberKey:sd
Stringvalue:123456
Key:sd
Key:sNssais
MemberKey:fqdn
Stringvalue:100.1.1.1
Key:fqdn
MemberKey:priority
Numbervalue:3
Key:priority
MemberKey:capacity
Numbervalue:100
Key:capacity
MemberKey:nfServices
Array
Object
MemberKey:serviceInstanceId
Stringvalue:nausf-auth-01
Key:serviceInstanceId
MemberKey:serviceName
Stringvalue:nausf-auth
Key:serviceName
MemberKey:versions
Array
Object
MemberKey:expiry
Stringvalue:2020-08-08T08:08:08
Key:expiry
MemberKey:apiFullVersion
Stringvalue:1.R15.1.1
Key:apiFullVersion
MemberKey:apiVersionInUri
Stringvalue:v1
Key:apiVersionInUri
Key:versions
MemberKey:scheme
Stringvalue:http
Key:scheme
MemberKey:nfServiceStatus
Stringvalue:REGISTERED
Key:nfServiceStatus
MemberKey:fqdn
Stringvalue:100.1.1.1
Key:fqdn
MemberKey:capacity
Numbervalue:100
Key:capacity
MemberKey:ipEndPoints
Array
Object
MemberKey:ipv4Address
Stringvalue:100.1.1.1
Key:ipv4Address
MemberKey:port
Numbervalue:80
Key:port
Key:ipEndPoints
Key:nfServices
MemberKey:ausfInfo
Object
MemberKey:groupId
Stringvalue:1
Key:groupId
MemberKey:routingIndicators
Array
Stringvalue:0000
Stringvalue:0
Key:routingIndicators
MemberKey:supiRanges
Array
Object
MemberKey:start
Stringvalue:460000000000000
Key:start
MemberKey:end
Stringvalue:460XX0000000000
Key:end
Key:supiRanges
Key:ausfInfo
Key:nfInstances
1.1.1.3AMF请求AUSF进行鉴权并获取鉴权参数
AMF调用AUSF的authentication服务,请求AUSF对UE进行鉴权。是HTTPPost方法。AUSF通常和UDM
是合设的,因此AUSF会把SUPI或SUCI发给UDM,UDM据此选择UE的鉴权方法。并返回相关的鉴权向
量组(如果收到的是SUCI,UDM需要先根据本地的私钥解密成SUPI。)。AUSF发201Created响应,并
把鉴权向量组返回给AMF。
1)AMF给AUSF的请求消息
-Request-uri是:/nausf-auth/v1/ue-authentications。是AUSF的鉴权服务入口。
参数包括SUCI和AMF的拜访地servingnetworkname。
JavaScriptObjectNotation:application/json
Object
MemberKey:supiOrSuci
Stringvalue:suci-0-460-XX-0-1-3-82ADF997CE069E19。。。。
Key:supiOrSuci
MemberKey:servingNetworkName
Stringvalue:5G:mncXX.mcc460.3gppnetwork.org
Key:servingNetworkName
2)AUSF回的201created。主要参数有:选择的鉴权算法authType:5G_AKA表示UDM为UE选择的鉴权
算法是5GAKA。5gAuthData是鉴权参数组中的rand(随机数,要发给UE,用于UE计算鉴权结果)、
autn(发给UE,用于UE对网络侧的鉴权)、hxresStar(发给AMF,用于AMF站在拜访地角度,比对鉴
权结果。)
JavaScriptObjectNotation:application/json
Object
MemberKey:5gAuthData
Object
MemberKey:rand
Stringvalue:C86DE80E314。。。
Key:rand
MemberKey:autn
Stringvalue:0EB6E8AECF。。。
Key:autn
MemberKey:hxresStar
Stringvalue:7bc64f9669b。。。
Key:hxresStar
Key:5gAuthData
MemberKey:authType
Stringvalue:5G_AKA
Key:authType
1.1.1.4AMF向UE发起鉴权
AMF根据AUSF提供的鉴权参数,向UE发起鉴权。这是两个NAS消息。分别被封装到N2消息:
DownlinkNASTransport和UplinkNASTransport中。如下:
1)AMF-->UE的鉴权请求消息参数主要有:
-ABBA:用于Kamf密钥派生的输入参数。-RAND:随机数,从AUSF拿到的。
-AUTN:对网络侧的鉴权。包括SQN异或AK、AMF、MAC这几部分。
Non-Access-Stratum5GS(NAS)PDU
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Authenticationrequest(0x56)
0000....=SpareHalfOctet:0
NASkeysetidentifier-ngKSI
....0...=Typeofsecuritycontextflag(TSC):Nativesecuritycontext(forKSIAMF)
.....000=NASkeysetidentifier:0
ABBA
Length:2
ABBAContents:0x0000
AuthenticationParameterRAND-5Gauthenticationchallenge
ElementID:0x21
RANDvalue:b3c86de930e31e。。。
AuthenticationParameterAUTN(UMTSandEPSauthenticationchallenge)-5Gauthenticationchallenge
ElementID:0x20
Length:16
AUTNvalue:cf400eb67eb9。。。
SQNxorAK:cf7ebf4c59d8
AMF:9a10
MAC:0ebabc11c5767
2)UE-->AMF的鉴权响应消息参数主要有RES:即UE计算出的鉴权结果。
Non-Access-Stratum5GS(NAS)PDU
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Authenticationresponse(0x57)
Authenticationresponseparameter
ElementID:0x2d
Length:16
RES:8eae41608413acde。。。
1.1.1.5AMF向AUSF转发UE计算结果,AUSF进行鉴权比对
AMF站在拜访地角度对UE进行鉴权后(比对HRES*和HXRES*),再次调用AUSF的auth服务(PUT方
法)将UE的计算结果RES*发给AUSF进行比对。AUSF比对成功后返回200OK。
1)AMF-->AUSF的PUT请求,主要参数有:
-request-uri是/nausf-auth/v1/ue-authentications/112233/5g-aka-confirmation。其中112233是authctxid
-res*:UE计算出的鉴权结果。
JavaScriptObjectNotation:application/json
Object
MemberKey:resStar
Stringvalue:8E1111084E7。。。
Key:resStar
2)AUSF-->AMF的200OK响应。主要参数包括-authresult:鉴权结果。本例取值为success表示鉴权成
功。-Kseaf:用于密钥派生的Kseaf。-supi:UDM解密后的SUPI。AUSF发给AMF。
JavaScriptObjectNotation:application/json
Object
MemberKey:authResult
Stringvalue:AUTHENTICATION_SUCCESS
Key:authResult
MemberKey:kseaf
Stringvalue:e84862dae1c1ad2fc39。。。
Key:kseaf
MemberKey:supi
Stringvalue:imsi-460XX0000000888
Key:supi
1.1.1.6AMF对UE发起安全流程(加密和完保)
AMF接下来可以对UE发起安全流程,用于NAS消息的加密和完整性保护(防止被篡改)。对应的NAS消
息是SecuritymodeCommand和SecuritymodeComplete。如下图所示:
1)AMF-->UE的SecuritymodeCommand主要参数有:
-NASsecurityalgorithms:网络侧选择的加密和完整性保护算法。本例取值是5G-EA0和128-5G-IA1
-UEsecuritycapability:UE的安全能力。其实也是之前从UE收到的。
-IMEISVrequest:AMF可以借此向UE要求提供IMEISV。
-ngKSI:NAS安全上下文标识。
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Securitymodecommand(0x5d)
NASsecurityalgorithms
0000....=Typeofcipheringalgorithm:5G-EA0(nullcipheringalgorithm)(0)
....0001=Typeofintegrityprotectionalgorithm:128-5G-IA1(1)
0000....=SpareHalfOctet:0
NASkeysetidentifier-ngKSI
....0...=Typeofsecuritycontextflag(TSC):Nativesecuritycontext(forKSIAMF)
.....000=NASkeysetidentifier:0
UEsecuritycapability-ReplayedUEsecuritycapabilities
IMEISVrequest
1110....=ElementID:0xe....0...=Sparebit(s):0x00
.....001=IMEISVrequest:IMEISVrequested(1)
2)UE-->AMFUE的SecuritymodeComplete主要参数有:
-Securityheadertype取值为4,表示带有新5G安全上下文和完保、加密的消息。
-Messageauthenticationcode:消息摘要码。用于完整性保护。
-5GSmobileidentity:UE返回的IMEISV。
Non-Access-Stratum5GS(NAS)PDU
SecurityprotectedNAS5GSmessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0100=Securityheadertype:Integrityprotectedandcipheredwithnew5GSsecuritycontext(4)
Messageauthenticationcode:0x2f66d7e6
Sequencenumber:0
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Securitymodecomplete(0x5e)
5GSmobileidentity
ElementID:0x77
Length:9
....0...=Odd/evenindication:Evennumberofidentitydigits
.....101=Typeofidentity:IMEISV(5)
IMEISV:8866550000000011
1.1.1.7AMF根据SUPI查NRF得到UDM
AMF接下来要去到UDM中做注册登记(UECM服务)和获取签约数据(SDM服务)。
因此,AMF调用NRF的Discovery服务,发起UDM的查询。用的是HTTPGet方法。NRF返回200OK,包
含了UDM的nfprofile。如下图所示。
1)Get请求中的主要参数包括:
-service-names=nudm-sdm。我要选择的网元是UDM,并支持SDM这个服务。
-requester-nf-type=AMF。请求者也就是我是谁?我是AMF。
-SUPI=imsi。这就是查询条件。拿SUPI来换UDM的nfprofile(网元档案)。
2)NRF返回的200OK消息主要参数包括:
JavaScriptObjectNotation:application/json
Object
MemberKey:validityPeriod
MemberKey:nfInstances
Array
Object
MemberKey:nfInstanceId
MemberKey:nfType
MemberKey:nfStatus
MemberKey:sNssais
MemberKey:fqdn
MemberKey:priority
MemberKey:capacity
MemberKey:plmnList
MemberKey:nfServices
MemberKey:udmInfo
Object
MemberKey:supiRanges
Array
Object
MemberKey:start
Stringvalue:460XX0000000000
Key:start
MemberKey:end
Stringvalue:460XX9999999999
Key:end
Key:supiRanges
MemberKey:routingIndicators
Array
Stringvalue:0000
Stringvalue:0
Key:routingIndicators
Key:udmInfo
Key:nfInstances
-所有网元的公共参数:validityPeriod(结果有效期)、nfInstances(网元实例名)、nfType(网元类
型,本例为UDM)、nfStatus(注册状态)、priority(网元的优先级)、capacity(网元的静态容量
值)、nfServices(UDM所支持的服务)。
-UDM特有的参数udminfo:包括supirange(UDM支持的UE号段)、routing-indicator(UDM支持的
RoutingIndicator的范围。)
1.1.1.8AMF在UDM中做注册登记
AMF接下来要去到UDM中做注册登记(UECM服务)。在请求消息中,AMF需要提供自己的GUAMI和
SUPI信息给UDM,从而完成AMF和UE的绑定(这种绑定关系登记在UDM里)。UDM检查如果AMF之前
注册过,返回204nocontent。如果没有,则返回201created。
1)AMF-->UDM的PUT请求消息的主要参数:
-AMF的GUAMI、SUPI、amfInstanceId(AMF实例标识)、imsOverPS(AMF是否支持IMS的指示)、
deregCallbackUri(AMF提供的用于接收后续通知的回调地址)、pei(可选登记UE的imei)等。如下表
所示:
JavaScriptObjectNotation:application/json
Object
MemberKey:amfInstanceId
Stringvalue:e17aa627-6681-6637-940f-21b663cf8079
Key:amfInstanceId
MemberKey:deregCallbackUri
Stringvalue:http://100.1.1.1:8080/namf-callback/v1/imsi-460XX0000000008/deregistration-notification
Key:deregCallbackUri
MemberKey:guami
Object
MemberKey:plmnId
Object
MemberKey:mcc
Stringvalue:460
Key:mcc
MemberKey:mnc
Stringvalue:XX
Key:mnc
Key:plmnId
MemberKey:amfId
Stringvalue:183ABC
Key:amfId
Key:guami
MemberKey:ratType
Stringvalue:NR
Key:ratType
MemberKey:pei
Stringvalue:imeisv-8866550000000022
Key:pei
MemberKey:imsVoPs
Stringvalue:HOMOGENEOUS_SUPPORT
Key:imsVoPs
MemberKey:initialRegistrationInd
Truevalue
Key:initialRegistrationInd
1.1.1.9AMF从UDM获取am-data签约数据
AMF接下来要去到UDM中获取接入管理相关的签约数据即am-data(SDM服务)。
1)HTTPGet请求(AMF到UDM):
Request-URI:/nudm-sdm/v1/imsi-4600x1112223333/am-data
2)HTTP响应200OK(UDM到AMF)
返回am-data。用于接入限制和移动性管理。包含以下主要子参数。
-gpsis:用户的手机号
-nssai:UE签约的切片。可以有多个。并且包含一个缺省的nssai。
-subscribedUeAmbr:签约的UE-AMBR。分上下行。本例为下行1.2Gbps,上行125Mbps
-subsRegTimer:签约的周期性注册计时器。本例为3600秒。
-ueUsageType:用于DCN(dedicatedcorenetwork)的选择(即eDECOR)。本例取值为1。
-ratRestriction:RAT的限制。本例取值为EUTRA。表示禁止4G接入。
-areaRestrictions:区域限制,即不允许UE访问的TA。本例取值为SAR_NOT_ALLOWED_AREA,以及
TAC1和TAC2不允许访问。
除此以外,AMF还要到UDM获取smf-select-data(用于接下来的PDU会话建立流程中SMF的选择,包括
了SMF支持的切片和DNN等信息。am-data和smf-select-data都是UDM中的签约数据,消费者也都是
AMF。AMF可以单独发两个Get请求去获取,也可以合并成一次Get请求获取。)
1.1.1.10AMF根据GPSI查NRF得到PCF
AMF接下来可根据签约数据中的用户的手机号GPSI作为查询条件,查询NRF得到PCF的地址。
同样
也是一对Get/200OK消息。
1)Get请求中的主要参数都在request-uri部分,多个参数用&分隔。消息中用gpsi的信息。具体消息举
例:Get/nnrf-disc/v1/nf-instances?service-names=npcf-am-policy-control&target-nftype=PCF&requester-nf-type=AMF&snssais=XXX&gpsi=msisdn-8613X55667788
2)NRF返回的200OK消息主要参数包括:
-plmnList:PCF支持的PLMN列表。-sNssais:PCF所支持的切片。
-ipEndPoints:PCF的IP和端口号。
-pcfInfo:PCF网元所特有的参数。包括支持的DNN、支持的GPSI号段。还可以携带PCF的Rx接口的
diameter主机名和realm(因为PCF和4G的PCRF是合设的。)
JavaScriptObjectNotation:application/json
Object
MemberKey:validityPeriod
Numbervalue:180
Key:validityPeriod
MemberKey:nfInstances
Array
Object
MemberKey:nfInstanceId
Stringvalue:1166c290-3621-d742-71b8-e0031119ab66
Key:nfInstanceId
MemberKey:nfType
Stringvalue:PCF
Key:nfType
MemberKey:nfStatus
Stringvalue:REGISTERED
Key:nfStatus
MemberKey:plmnList
Array
Object
MemberKey:mnc
Stringvalue:XX
Key:mnc
MemberKey:mcc
Stringvalue:460
Key:mcc
Key:plmnList
MemberKey:sNssais
Array
Object
MemberKey:sst
Numbervalue:1
Key:sst
MemberKey:sd
Stringvalue:000001
Key:sd
Key:sNssais
MemberKey:ipv4Addresses
Array
Stringvalue:100.2.2.2
Key:ipv4Addresses
MemberKey:priority
Numbervalue:3
Key:priority
MemberKey:capacity
Numbervalue:100
Key:capacity
MemberKey:nfServices
Array
Object
MemberKey:serviceInstanceId
Stringvalue:npcf-ampc-0001
Key:serviceInstanceId
MemberKey:serviceName
Stringvalue:npcf-am-policy-control
Key:serviceName
MemberKey:versions
Array
Object
MemberKey:apiFullVersion
Stringvalue:1.R15.2.0
Key:apiFullVersion
MemberKey:apiVersionInUri
Stringvalue:v1
Key:apiVersionInUri
Key:versions
MemberKey:scheme
Stringvalue:http
Key:scheme
MemberKey:nfServiceStatus
Stringvalue:REGISTERED
Key:nfServiceStatus
MemberKey:apiPrefix
Stringvalue:npcf-am-policy-control
Key:apiPrefix
MemberKey:ipEndPoints
Array
Object
MemberKey:ipv4Address
Stringvalue:100.2.2.2
Key:ipv4Address
MemberKey:port
Numbervalue:8080
Key:port
Key:ipEndPoints
Key:nfServices
MemberKey:pcfInfo
Object
MemberKey:dnnList
Array
Stringvalue:xxnet
Key:dnnList
MemberKey:supiRanges
Array
Object
MemberKey:start
Stringvalue:460000000000001
Key:start
MemberKey:end
Stringvalue:460000999999999
Key:end
Key:supiRanges
MemberKey:gpsiRanges
Array
Object
MemberKey:start
Stringvalue:8613X073100000001
Key:start
MemberKey:end
Stringvalue:8613X073100009999
Key:end
Key:gpsiRanges
MemberKey:rxDiamHost
Stringvalue:rx.pcf01.51xuetongxin.com
Key:rxDiamHost
MemberKey:rxDiamRealm
Stringvalue:rx.51xuetongxin.com
Key:rxDiamRealm
Key:pcfInfo
Key:nfInstances
1.1.1.11AMF从PCF获取am-policy(接入管理策略)
AMF接下来到PCF中获取am-policy也就是接入管理策略。PCF提供的接入管理策略,要比UDM中签约数
据am-data中指定的接入管理策略优先级更高。也就是PCF提供的策略可以覆盖掉UDM的签约数据。因为
签约数据是静态数据,PCF提供的策略则是根据时间(忙/闲时)、地点(忙/闲小区)、人物(VIP或普
通)动态制定的。优先级理应更高。
AMF通过调用PCF的npcf-am-policy-control服务获取am-policy,对应到一对消息:Post和201Created。
201响应中包含了JSON封装的接入管理策略。
1)AMF发给PCF的Post请求主要参数:
-用户的SUPI和GSPI;-userLoc:用户的位置信息,包括TAC和NCGI;
-servingPlmn:AMF的服务PLMN;-ratType:当前的接入类型,这里取值NR。
-AMF的GUAMI。-servingNfId:服务网元的ID,这里是AMF的ID。
JavaScriptObjectNotation:application/json
Object
MemberKey:notificationUri
Stringvalue:http://100.2.2.2:8080/namf-callback/v1/am-policy-control
Key:notificationUri
MemberKey:suppFeat
Stringvalue:1
Key:suppFeat
MemberKey:supi
Stringvalue:imsi-460XX0000000008
Key:supi
MemberKey:gpsi
Stringvalue:msisdn-8613X00000008
Key:gpsi
MemberKey:accessType
Stringvalue:3GPP_ACCESS
Key:accessType
MemberKey:pei
Stringvalue:imeisv-8866550000000011
Key:pei
MemberKey:userLoc
Object
MemberKey:nrLocation
Object
MemberKey:tai
Object
MemberKey:plmnId
Object
MemberKey:mcc
Stringvalue:460
Key:mcc
MemberKey:mnc
Stringvalue:XX
Key:mnc
Key:plmnId
MemberKey:tac
Stringvalue:000011
Key:tac
Key:tai
MemberKey:ncgi
Object
MemberKey:plmnId
Object
MemberKey:mcc
Stringvalue:460
Key:mcc
MemberKey:mnc
Stringvalue:XX
Key:mnc
Key:plmnId
MemberKey:nrCellId
Stringvalue:0000AA00
Key:nrCellId
Key:ncgi
Key:nrLocation
Key:userLoc
MemberKey:servingPlmn
Object
MemberKey:mcc
Stringvalue:460
Key:mcc
MemberKey:mnc
Stringvalue:88
Key:mnc
Key:servingPlmn
MemberKey:ratType
Stringvalue:NR
Key:ratType
MemberKey:guami
Object
MemberKey:plmnId
Object
MemberKey:mcc
Stringvalue:460
Key:mcc
MemberKey:mnc
Stringvalue:88
Key:mnc
Key:plmnId
MemberKey:amfId
Stringvalue:AABBCC
Key:amfId
Key:guami
MemberKey:servingNfId
Stringvalue:aaaaae86327-7781-3667-912f-cf079
Key:servingNfId
2)PCF给AMF回的201Created消息中的主要参数有:
-servAreaRes:UE的服务区域限制,有没有不允许访问的区域。本例中为空值。即不受限。
-triggers:PCF向AMF订阅的触发条件。当条件发送,AMF需要向PCF报告并更新策略。这里的LOC_CH
是指UE的位置发生变化,AMF需立即向PCF报告。
JavaScriptObjectNotation:application/json
Object
MemberKey:servAreaRes
Object
MemberKey:restrictionType
Stringvalue:NOT_ALLOWED_AREAS
Key:restrictionType
MemberKey:areas
Array
Key:areas
Key:servAreaRes
MemberKey:triggers
Array
Stringvalue:LOC_CH
Key:triggers
1.1.1.12AMF给UE回注册接受
AMF最后给UE回注册接受消息。主要参数有分配的周期性更新计时器T3512、5G-GUTI、UE的注册区
(TA列表)、允许的切片ID、网络侧的特性参数(如是否支持N26口、是否支持IMS等)等参数。
PlainNAS5GSMessage
Extendedprotocoldiscriminator:5Gmobilitymanagementmessages(126)
0000....=SpareHalfOctet:0
....0000=Securityheadertype:PlainNASmessage,notsecurityprotected(0)
Messagetype:Registrationaccept(0x42)
5GSregistrationresult
Length:1
...0....=NSSAAPerformed:False
....0...=SMSoverNAS:NotAllowed
.....001=5GSregistrationresult:3GPPaccess(1)
5GSmobileidentity-5G-GUTI
ElementID:0x77
Length:11
....0...=Odd/evenindication:Evennumberofidentitydigits
.....010=Typeofidentity:5G-GUTI(2)
MobileCountryCode(MCC):China(460)
MobileNetworkCode(MNC):Unknown(XX)
AMFRegionID:58
0000000110......=AMFSetID:6
..001111=AMFPointer:15
5G-TMSI:0xc0003366
5GStrackingareaidentitylist
ElementID:0x54
Length:7
Partialtrackingarealist1
NSSAI-AllowedNSSAI
ElementID:0x15
Length:5
S-NSSAI1
5GSnetworkfeaturesupport
ElementID:0x21
Length:1
0.......=MPSindicator(MPSI):Accessidentity1notvalidinRPLMNorequivalentPLMN
.0......=InterworkingwithoutN26:Notsupported
..01....=Emergencyservicefallbackindicator(EMF):EmergencyservicesfallbacksupportedinNRconnectedto
5GCNonly(1)
....00..=Emergencyservicesupportindicator(EMC):Emergencyservicesnotsupported(0)
......0.=IMSvoiceoverPSsessionovernon-3GPPaccessindicator(IMS-VoPS-N3GPP):Notsupported
.......1=IMSvoiceoverPSsessionindicator(IMSVoPS):Supported
GPRSTimer3-T3512value
ElementID:0x5e
Length:1
GPRSTimer:10hr