今天看VOLTE信令流程手册中注册流程部分,提到MME根据APN配置和网络拓扑选择SGW和PGW,向S/PGW发送Create Session Request,请求建立数据APN缺省承载。
只写了MME根据APN配置和网络拓扑选择SGW和PGW,具体怎么根据还是没有说清楚。看了华为手册里面大概了解了,具体细节待进一步核实。
比如当前用户所在TAC为0x7188,则构建SGW域名
88.71.7188.EPC.MNC00.MCC460.3GPPNETWORK.ORG去查询DNS,获得SGW列表
当用户用CMNET APN附着,则构建PGW域名
CMNET.APN.EPC.MNC00.MCC460.3GPPNETWORK.ORG去查询DNS,获得PGW列表
按照优先级和权重选取SGW和PGW
标准域名构成
TAC-LBTAC-LOW-BYTE.TAC-HBTAC-HIGH-BYTE.TAC.EPC.MNCMNC.MCCMCC.3GPPNETWORK.ORG
APNNI.APN.EPC.MNCMNC.MCCMCC.3GPPNETWORK.ORG
查询方式
默认NAPTR记录查询。也可以通过ADD DNSQ命令配置为A记录查询,具体请参考该命令的联机帮助。
S-GW和P-GW选择
MME根据S-GW主机的优先级和权重进行候选S-GW排序,先使用优先级进行排序,相同优先级内,再根据权重进行随机选择,得到S-GW的候选序列。
MME根据P-GW主机的优先级和权重进行候选P-GW排序,先使用优先级进行排序,相同优先级内,再根据权重进行随机选择,得到P-GW的候选序列。
MME根据S-GW和P-GW排序后的序列进行S-GW/P-GW的选择,选择排序第一个的S-GW和排序第一个的P-GW,如果P-GW交互失败后,则S-GW不变,选择P-GW候选序列中的下一个P-GW。如果S-GW交互失败,则此次激活流程失败。
MME根据S-GW和P-GW的拓扑信息进行S-GW/P-GW的选择,在S-GW的候选序列和P-GW的候选序列中比较,寻找是否有合一的S-GW/P-GW,并且根据S-GW的优先级和权重信息进行排序,得到S-GW/P-GW的候选组。