UDM Configuration

UDM configuration files includes:

  • udm/udm1/config/udm.conf

  • udm/udm1/xml/udm-ue-key.xml

  • udm/udm1/xml/udm-ue.xml

  • udm/udm1/xml/udm-am-subscription-data.xml

  • udm/udm1/xml/udm-session-management-subscription-data.xml

  • udm/udm1/xml/udm-smf-selection.xml

  • udm/udm1/xml/udm-snssai.xml

udm.conf

<?xml version="1.0" encoding="UTF-8"?>
<ngc>
    <!--udmCfgComponent: Load udm Configuration besides interfaces
        udm-name:     The name of the udm node.
     -->
    <udmcfg udm-name="URANUS 5GC UDM"
            auth-enabled="1"
            local-udr-enabled="1"
            local-xml-enabled="1"
            udm-ue-key-profile="./xml/udm-ue-key.xml"
            udm-am-profile="./xml/udm-am-subscription-data.xml"
            udm-smf-sel-profile="./xml/udm-smf-selection.xml"
            udm-sm-data-profile="./xml/udm-session-management-subscription-data.xml"
            udm-snssai-profile="./xml/udm-snssai.xml"
            udm-ue-profile="./xml/udm-ue.xml" />
    <!--Http2Component - N11 interface component
        bind-port: Bind port for listening Http2 messages.
     -->
    <http2 http2-server-ip="0.0.0.0"
           http2-server-port="3123"
           http2-client-ip="0.0.0.0"
           http2-client-port="3122"
           local-udr-enabled="1"
           http2-udr-ip="0.0.0.0"
           http2-udr-port="8972"
           http2-amf-ip="192.168.80.52"
           http2-amf-port="88"
           http2-smf-ip="192.168.100.53"
           http2-smf-port="8014"/>
    <!--ETComponent thread-pool-size : the size of thread pool
    -->
    <wfcomponent thread-pool-size="50"
                 save-context-as-file="false" />
</ngc>

Nudm Interface (HTTP2)

  • HTTP2 Server IP: local IP address, Nudm listening server IP.

  • HTTP2 Server Port: local port, Nudm listening server Port, default 2123.

  • HTTP2 Client IP: local IP address for connecting to other NF.

  • HTTP2 Client Port: local port for connecting to other NF.

Enabled UDR

  • local-udr-enabled: “1” means using local xml subscription files, “0” means using external UDR.

  • UDR HTTP2 Server IP:

    • If local-udr-enabled=”1”, this IP serves as the UDR-Manage interface.

    • If local-udr-enabled=”0”, this IP is the external UDR address.

  • UDR HTTP2 Server Port:

    • If local-udr-enabled=”1”, this port serves as the UDR-Manage interface.

    • If local-udr-enabled=”0”, this port is the external UDR server port.

udm-ue-key.xml(用户标识与鉴权数据)

It stores op, amf, ue key and aka-algorithm.

<?xml version="1.0" encoding="UTF-8"?>
<op-profile>
    <ki-profile op="12 34 56 78 90 12 34 56 12 34 56 78 90 12 34 56"
                amf="80 00"
                vector-size="2"
                ue-size="100000">
      <ue-ki ue-supi="466920100001101"
             ue-usim-key="12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12"
             aka-algorithm="1"
             aka-method="1"
             opc="21 2E 3B 94 27 9C B0 F8 09 5A 55 E8 EF 55 69 F7"/>
      <ue-ki ue-supi="466920100001102"
             ue-usim-key="12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12"
             aka-algorithm="1"
             aka-method="1"
             opc="21 2E 3B 94 27 9C B0 F8 09 5A 55 E8 EF 55 69 F7"/>
      ...
    </ki-profile>
</op-profile>

NOTE: the case of external UDR is not used.

  • op (system op): default value is “12 34 56 78 90 12 34 56 12 34 56 78 90 12 34 56”.

  • amf (system amf): default value is “80 00”.

  • ue-size: number of ue profiles.

  • ue-supi: user SUPI.

  • ue-usim-key: UE KI, default value is “12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12”.

  • aka-method: ue authentication method, 1 for 5G AKA, and 2 for EAP AKA’.

  • aka-algorithm: 1 is Milenage, 2 is XOR. By default, it is Milenage.

  • opc (UE opc, optional): If configured, system op won’t apply to this UE.

udm-ue.xml(用户签约数据)

It stores mapping between imsi and other subscription data idices. subscription data are stored in separate files.

  • default-snssai-index-list:如果 UE 不请求指定 SNSSAI 的话,UDM 会根据该配置项去轮循分配,表示 UE 默认的切片分配列表,作用于 UE 没有指定切片。如果 udm-snssai.xml 中定义的 SNSSAI 不支持 UE 请求指定的 DNN 的话,UDM 就会拒绝掉。

  • snssai-index-list:如果 UE 请求了指定 SNSSAI 的话,那么该切片必须要在这个列表内,作用于 UE 指定的切片。

<?xml version="1.0" encoding="UTF-8"?>
<udm-profile nf-type="2">
  <user-profile name="user-profile" size="10000">
    <user-subscription ue-supi="466920100001101"
                       default-snssai-index-list="1"
                       snssai-index-list="1"
                       am-subscription-index="1"
                       session-management-data-index-list="1"
                       subscribed-snssai-info-index-list="1" />
    <user-subscription ue-supi="466920100001102"
                       default-snssai-index-list="2"
                       snssai-index-list="2"
                       am-subscription-index="2"
                       session-management-data-index-list="2"
                       subscribed-snssai-info-index-list="2" />
    ...        
  </user-profile>
</udm-profile>

# 注:DNN private 的配置使用。
    <user-subscription ue-supi="466920100001101"
                       default-snssai-index-list="3"
                       snssai-index-list="3"
                       am-subscription-index="1"
                       session-management-data-index-list="3"
                       subscribed-snssai-info-index-list="3" />
  • default-snssai-index-list: A list of snssai index reference to udm-snssai.xml.

  • snssai-index-list: A list of snssai index reference to udm-snssai.xml.

  • am-subscription-index: A am-data index reference to udm-am-subscription-data.xml.

  • session-management-data-index-list: A list of index reference to udm-session-management-subscription-data.xml.

  • subscribed-snssai-info-index-list: A list of snssai info index reference to udm-smf-selection.xml.

udm-am-subscription-data.xml(接入和移动管理签约数据)

It stores Access and Mobility Management subscription data. The data model can be reference to TS29.503.

<?xml version="1.0" encoding="UTF-8"?>
<udm-profile nf-type="2">
    <am-subscription name="am-subscription" size="2">
        <am-entry index="1"
				  subscribed-ue-ambr-ul="1024"
				  subscribed-ue-ambr-dl="1024"
				  rat-restriction=""
				  periodic-registrate-timer="20"
				  priority-service-ind="0"
				  subscribed-dnn-list="default,private">
          <area-restriction-list size="0">
                <restriction-entry
                   area-restriction-type="1"
								   tac-list="52,12,13"
								   tac-code="11"
								   max-number-tas="2"
								   rat-type="1" />
                <restriction-entry 
                   area-restriction-type="1"
								   tac-list="21,22,23"
								   tac-code="11"
								   max-number-tas="2"
								   rat-type="1" />
          </area-restriction-list>
        </am-entry>
        <am-entry index="2"
				  subscribed-ue-ambr-ul="102400"
				  subscribed-ue-ambr-dl="102400"
				  rat-restriction=""
				  periodic-registrate-timer="20"
				  priority-service-ind="0"
				  subscribed-dnn-list="public">
          <area-restriction-list size="0">
                <restriction-entry
                   area-restriction-type="1"
								   tac-list="52,12,13"
								   tac-code="11"
								   max-number-tas="2"
								   rat-type="1" />
                <restriction-entry 
                   area-restriction-type="1"
								   tac-list="21,22,23"
								   tac-code="11"
								   max-number-tas="2"
								   rat-type="1" />
          </area-restriction-list>
        </am-entry>
        ...
    </am-subscription>
</udm-profile>

udm-session-management-subscription-data.xml(会话管理签约数据)

It stores session management subscription data. The data model can be reference to TS29.503.

<?xml version="1.0" encoding="UTF-8"?>
<udm-profile nf-type="2">
    <sm-data-list size="3">
        <sm-data-entry index="1"
                       snssai-sst="1"
                       snssai-sd=""
                       dnn-size="1" >
            <dnn-configuration-entry dnn-index="11"
                                     dnn-name="default"
                                     defaultSessionType="2"
                                     allowedSessionTypes="1,3"
                                     defaultSscModes="1"
                                     allowedSscModes="1"
                                     iwkEpsInd="0"
                                     landnIndicator="0" />
        </sm-data-entry>
        <sm-data-entry index="2" snssai-sst="2" snssai-sd="" dnn-size="1" >
            <dnn-configuration-entry dnn-index="12" dnn-name="public"  defaultSessionType="2" allowedSessionTypes="1,3" defaultSscModes="1" allowedSscModes="1" iwkEpsInd="0" landnIndicator="0" />
        </sm-data-entry>
        <sm-data-entry index="3" snssai-sst="3" snssai-sd="" dnn-size="1" >
            <dnn-configuration-entry dnn-index="13" dnn-name="private"  defaultSessionType="2" allowedSessionTypes="1,3" defaultSscModes="1" allowedSscModes="1" iwkEpsInd="0" landnIndicator="0" />
        </sm-data-entry>
    </sm-data-list>
</udm-profile>

udm-smf-selection.xml(SMF 选择相关数据)

It stores smf selection subscription data. The data model can be reference to TS29.503.

<?xml version="1.0" encoding="UTF-8"?>
<udm-profile nf-type="2">
    <smf-select-subscription-list size="3">
        <subscribed-snssai-info-entry index="1" snssai-sst="1" snssai-sd="" dnn-size="1" >
            <dnn-info-entry dnn-index="11" dnn-name="default" default-dnn-ind="1" lbo-roaming-allowed="1" />
        </subscribed-snssai-info-entry>
        <subscribed-snssai-info-entry index="2" snssai-sst="2" snssai-sd="" dnn-size="1" >
            <dnn-info-entry dnn-index="12" dnn-name="public" default-dnn-ind="0" lbo-roaming-allowed="0" />
        </subscribed-snssai-info-entry>
        <subscribed-snssai-info-entry index="3" snssai-sst="3" snssai-sd="" dnn-size="1" >
            <dnn-info-entry dnn-index="13" dnn-name="private" default-dnn-ind="1" lbo-roaming-allowed="1" />
        </subscribed-snssai-info-entry>
    </smf-select-subscription-list>
</udm-profile>

udm-snssai.xml(切片数据)

It stores a snssai list. The data model can be reference to TS29.503.

<?xml version="1.0" encoding="UTF-8"?>
<udm-profile nf-type="2">
    <snssai-list size="3">
        <snssai-entry index="1" snssai-sst="1" snssai-sd="" plmn="46692" />
        <snssai-entry index="2" snssai-sst="2" snssai-sd="" plmn="46692" />
        <snssai-entry index="3" snssai-sst="3" snssai-sd="" plmn="46692" />
    </snssai-list>
</udm-profile>

TS

问题 1:启动顺序问题,重启 UDM 后需要分别再重启 AMF、SMF,查看日志确保互联成功。重启 UDM 后,最好也重启 AMF 来刷新一下从 UDM 获取到的信息。

问题 2:validateDnnAndSnssai 失败。

  • 错误:

UID466920100001102 validateDnnAndSnssai..
UID466920100001102 S-NSSAI is not requested by UE.
UID466920100001102 getting the 0 allowed snssai
UID466920100001102 System default S-NSSAI: 1ffffff
UID466920100001102 Compare Snssai. Snssai: 1ffffff, subscribedSnssai: 22be0a2
UID466920100001102 Snssai mismatch! Try next one...
UID466920100001102 Failed to validate DNN and Snssai !!!
  • 正确:

UID466920100001102 validateDnnAndSnssai...
UID466920100001102 S-NSSAI is not requested by UE.
UID466920100001102 getting the 0 allowed snssai
UID466920100001102 System default S-NSSAI: 1ffffff
UID466920100001102 Compare Snssai. Snssai: 1ffffff, subscribedSnssai: 1ffffff
UID466920100001102 DNN is requested by UE. Compare Dnn. Dnn: default, subscribedDnn: private
UID466920100001102 UE requested DNN mismatches with the subscription data.
UID466920100001102 DNN is requested by UE. Compare Dnn. Dnn: default, subscribedDnn: default
UID466920100001102 UE requested DNN matches with the subscription data.