PDUSession Establishment request failure

Hi Team,

We are trying to attach a 5G device on free5gc core. When UE plmn and GNB plmn are same (e.g 315010), UE is attached and able to access data.
Problem appears when UE belongs to some other network. Registration is successful but PDU session Establishment request is rejetced by SMF. This is the case of roaming with LBO.

Below are the details:

PLMN configured in GNB: 315010
PLMN configured on core: 315010
IMSI: 250071234567890

The GET request sent by UDM to UDR has below URI:


and data is present in the subscriptionData.provisionedData.smData for the IMSI is:

{ “_id” : ObjectId(“66546a07588a0724f25a45df”), “servingPlmnId” : “25007”, “singleNssai” : { “sst” : 1, “sd” : “010203” }, “dnnConfigurations” : { “internet” : { “pduSessionTypes” : { “defaultSessionType” : “IPV4”, “allowedSessionTypes” : [ “IPV4” ] }, “sscModes” : { “defaultSscMode” : “SSC_MODE_1”, “allowedSscModes” : [ “SSC_MODE_2”, “SSC_MODE_3” ] }, “5gQosProfile” : { “5qi” : 9, “arp” : { “preemptCap” : “”, “preemptVuln” : “”, “priorityLevel” : 8 }, “priorityLevel” : 8 }, “sessionAmbr” : { “uplink” : “1 Gbps”, “downlink” : “1 Gbps” } } }, “ueId” : “imsi-250071234567890” }

As spec, plmn should be serving core plmn while getting sm-data. But subscriptionData.provisionedData.smData collection has UE plmn (given at the time of provisioning the UE from UI).

Wanted to understand, what should be the correct query filters here?

@free5GC Hi All,

Can someone please answer the above query?

Thank you for reaching out and detailing the issue you are experiencing with the free5GC setup when attempting to handle a roaming scenario with Local Break Out (LBO).

Currently, free5GC is primarily designed to support non-roaming scenarios within a single network. This means it handles cases where the UE PLMN and the GNB PLMN are the same (e.g., 315010 in your example) efficiently, allowing successful attachment and data access.

However, when it comes to roaming scenarios, particularly those involving LBO where the UE belongs to a different network (e.g., UE-PLMN: 25007 while the GNB and core are configured for PLMN 315010), free5GC does not inherently support the required functionalities to manage such cases. This includes the necessary signaling and data handling between different PLMNs, which are essential for successful PDU Session Establishment in roaming conditions.

The issues you are experiencing, where registration is successful but the PDU session establishment is rejected by the SMF, are indicative of these limitations. The core network components like SMF in free5GC are not currently equipped to handle the dynamic adaptations required for roaming with LBO, where different PLMN IDs need to be reconciled and correctly processed.

Regarding the correct query filters, in an ideal roaming-supported setup, the UDM query to the UDR should incorporate filters that recognize and adapt to the PLMN of the roaming network (in your case, the UE-PLMN 25007) rather than the home network PLMN configured in the core and GNB. However, implementing this requires modifications to the core network software that are beyond the current scope of free5GC’s out-of-the-box functionalities.

We recommend exploring enhancements or custom modifications to the free5GC codebase if roaming support is critical for your project. Additionally, keeping an eye on updates from the free5GC community can be beneficial, as new features and supports are periodically added based on community contributions and needs.

Please let us know if there is anything else we can assist you with.