-
Notifications
You must be signed in to change notification settings - Fork 87
feat: implement inbound roaming reject #303
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
base: master
Are you sure you want to change the base?
Conversation
Implements inbound roaming reject cause configuration. This is useful for private networks and public SIMs from other carriers try to join. In that case, you want to respond with ROAMING_NOT_ALLOWED as reject cause in 2G/3G/4G. Otherwise, the UE may believe that its subscription is terminated. Defaults to ROAMING_NOT_ALLOWED for a safe OOBE. Production carriers are advised to change this to IMSI_UNKNOWN.
osmith42
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM besides the typo and some ideas, thanks for making this!
| # The latter is useful when operating a private network and public SIMs should not be allowed to connect. | ||
| # "Roaming not allowed" will cause the UE to not try again on this network. | ||
| # "Imsi unknown" may cause the UE to believe that its subscription is invalid. | ||
| # For private networks, "ROAMING_NOT_ALLOWED" is recommended. Otherwise, use "IMSI_UNKNOWN". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about mentioning in CHANGELOG.md between ## [Unreleased] and ### Added that users may want to adjust their config to add reject_unknown_imsis_with: "ROAMING_NOT_ALLOWED" if they are running a private network?
| # "Roaming not allowed" will cause the UE to not try again on this network. | ||
| # "Imsi unknown" may cause the UE to believe that its subscription is invalid. | ||
| # For private networks, "ROAMING_NOT_ALLOWED" is recommended. Otherwise, use "IMSI_UNKNOWN". | ||
| reject_unknown_imsis_with: "ROAMING_NOT_ALLOWED" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might be too much for this pull request, so feel free to reject the idea. But how about we check if this config option (and in the future: more config options) doesn't have an unexpected value set at the start of the main service of PyHSS and refuse to start up if that is the case? This would prevent users from accidentally making a typo in the config value and then possibly running with the wrong reject unknown setting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought about this some more, it should be easy to add such a check in lib/pyhss_config.py.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've had the same thought the other day. I think I will just go ahead and add this to this PR as it should not be a big deal.
Implements inbound roaming reject cause configuration. This is useful for private networks and public SIMs from other carriers try to join.
In that case, you want to respond with ROAMING_NOT_ALLOWED as reject cause in 2G/3G/4G. Otherwise, the UE may believe that its subscription is terminated.
Defaults to ROAMING_NOT_ALLOWED for a safe OOBE. Production carriers are advised to change this to IMSI_UNKNOWN.