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

fix: HoldingAmfUe restore when CM-Idle #141

Merged
merged 3 commits into from
Aug 31, 2024
Merged

fix: HoldingAmfUe restore when CM-Idle #141

merged 3 commits into from
Aug 31, 2024

Conversation

andy89923
Copy link
Contributor

@andy89923 andy89923 commented Aug 29, 2024

Description

This PR fixes the issue that if the UE is in CM-Idle state, the UE initiating ServiceRequest will require authentication again.

Others

@andy89923 andy89923 marked this pull request as draft August 29, 2024 07:19
@andy89923 andy89923 marked this pull request as ready for review August 29, 2024 08:07
@andy89923 andy89923 requested a review from ianchen0119 August 29, 2024 08:08
@andy89923
Copy link
Contributor Author

Hi @ss920386

Could you please help to review this PR?

Tks.

ranUe.FindAmfUe = nil
} else {
// New AmfUe
ranUe.AmfUe = amfSelf.NewAmfUe("")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The case of Service Request
UE context is in CM-IDLE state.

if err != nil {
ue.AmfUe.NASLog.Errorln(err)
ranUe.AmfUe.NASLog.Errorln(err)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assume that we have an existing UE context, which is in CM-CONNECTED state.
We will release it if the new UE context has a valid security context in line 53.

if ranUe.AmfUe == nil {
if ranUe.FindAmfUe != nil && !ranUe.FindAmfUe.CmConnect(ranUe.Ran.AnType) {
// models.CmState_IDLE
gmm_common.ClearHoldingRanUe(ranUe.FindAmfUe.RanUe[ranUe.Ran.AnType])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!ranUe.FindAmfUe.CmConnect(ranUe.Ran.AnType) implies that ranUe.FinAmfUe didn't have underlying ranUe, right?
Shouldn't ClearHoldingRanUe(ranUe.FindAmfUe.RanUe[ranUe.Ran.AnType]) do nothing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ClearHoldingRanUe(ranUe.FindAmfUe.RanUe[ranUe.Ran.AnType]) do noting.
This line had been remove in the latest commit.

@andy89923 andy89923 changed the title fix: FindAmfUe restore when CM-Idle fix: HoldingAmfUe restore when CM-Idle Aug 30, 2024
@andy89923
Copy link
Contributor Author

Thanks a lot. @ianchen0119 & @ss920386

@ianchen0119 ianchen0119 merged commit 299aeb9 into main Aug 31, 2024
3 checks passed
@ianchen0119 ianchen0119 deleted the fix/amfue branch August 31, 2024 10:02
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.

3 participants