Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow registration to PLMNID other than 208-93 #119

Merged
merged 1 commit into from
Jan 26, 2024

Conversation

yoursunny
Copy link
Contributor

@yoursunny yoursunny commented Jan 23, 2024

This patch fixes several bugs in UE and gNB, to make it possible to register the UE to a core network with MCC=001 MNC=01.
This has been tested with free5GC, for uetriggservicereq and deregister procedures. Test log: free5gc.zip
Resolves #68.
Closes #88.

initImsi and other places in profile package

The IMSI is converted to integer and back to string without preserving its length.
When MCC is set to 001, this removes the leading zeros, resulting in mismatched IMSI.

SupiToSuci

MCC and MNC are searched, separately, in the IMSI.
When MNC happens to be a substring of MCC, this results in incorrect MSIN.
For example, an input of "imsi-001017005551000" would result in MSIN "017005551000" instead of "7005551000".

SN_NAME

208-93 was hard-coded in SN_NAME constant.
This is replaced with a dynamic construction according to UE's PLMNID.

HandleInitialUEMessage and other places in gnbcpueworker package

ngapTestpacket package generates messages with hard-coded 208-93 TAC=1 in UserLocationInformation IE.
This is wrapped with updating procedures in gnodeb/ngap package.

@onf-bot
Copy link
Contributor

onf-bot commented Jan 23, 2024

Can one of the admins verify this patch?

@thakurajayL
Copy link
Contributor

HI @yoursunny . Thank you for your contribution. We are happy to have you as a contributor. Can you please singup for CLA agreement. Thank you.

@thakurajayL
Copy link
Contributor

@gab-arrobo : can you add your comment about lint errors? Also Unit test job name - unit-test-pfcpiface seems wrong.. We should remove pfcpiface.

@gab-arrobo
Copy link
Contributor

@gab-arrobo : can you add your comment about lint errors? Also Unit test job name - unit-test-pfcpiface seems wrong.. We should remove pfcpiface.

Let me take a closer look at it. However, in general, we need to refactor the GHAs to be aligned with the rest of the SD-Core repos

@gab-arrobo
Copy link
Contributor

@thakurajayL please review PR #120. That should fix the issue with lint here. However, we still need to enable several more lints in the .golanci.yml file

@thakurajayL
Copy link
Contributor

Hi @yoursunny could you please help me with details like what core netork you used to test this PR ? Thanks.

@yoursunny
Copy link
Contributor Author

what core netork you used to test this PR ?

This was tested with Open5GCore.
So far it allowed registration with AMF.
However, PDU session establishment is not working yet.

@yoursunny yoursunny marked this pull request as draft January 24, 2024 13:53
@yoursunny
Copy link
Contributor Author

I'm now testing with free5GC.
free5GC seems to be more strict than Open5GCore in the registration procedures.
It detects a few more hard-coded 208-93 and TAC=000001.
I'm trying to resolve them.

@thakurajayL
Copy link
Contributor

Could you please update README as well. So it highlights that this tool is used against free5gc, open5g core?

@yoursunny
Copy link
Contributor Author

yoursunny commented Jan 24, 2024

This is now mostly working with free5GC including registration and PDU session.
Test log is linked on the top message.

free5GC is rejecting ServiceRequest procedure due to #126 .
Given it is not caused by PLMNID or TAC, I will not try to solve this now.

Open5GCore has more complications, see #125 , so that it would not work at the moment.

Could you please update README as well. So it highlights that this tool is used against free5gc, open5g core?

README doesn't have a section on interoperability, and the implementation isn't fully working for all procedures, so that I'd rather not.

@thakurajayL thakurajayL merged commit ef3503e into omec-project:main Jan 26, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Servings network name is hardcoded
4 participants