-
Notifications
You must be signed in to change notification settings - Fork 87
39C3 GSUP fixes #301
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?
39C3 GSUP fixes #301
Conversation
Note: Commit message added by committer. Code is from the commit author. Triggering the ISD did not work reliably in practice when just looking at the JSON data and I (the commiter) don't know why. But when using the Database it does work.
The location information itself is not always unique. During 39C3, the MSC and SGSN did not have different IDs, causing the ISR to not work correctly. This patch also takes the peer role into account to make identifying the correct peer more reliable.
Previously, we only looked at the peer id in order to find running transactions. This is a problem when multiple transactions are running concurrently for different IMSIs: - IMSI A starts an ULR from Peer A - IMSI B starts an ULR from Peer A - IMSI B will find the Transaction from IMSI A that might not be in the expected state -> Failure This fixes this by also taking the subscriber's IMSI into account when handling these transactions. Co-authored-by: Alexander Couzens <lynxis@fe80.eu>
The value error caused the connection to be reset, which is not at all what should happen here. Co-authored-by: Alexander Couzens <lynxis@fe80.eu>
198fcbe to
e0ee737
Compare
These files were touched recently by both Alexander and me.
|
Commits look good, feel free to merge!
I suspect this is needed because diameterClient.sendDiameterRequest(
requestType='CLR',
hostname=json_data['serving_mme'],
imsi=json_data['imsi'],
DestinationHost=json_data['serving_mme'],
DestinationRealm=json_data['serving_mme_realm'],
CancellationType=1
)In any case, as you wrote, it doesn't hurt to have this commit and given that this is what was running at 39C3 I think it makes a lot of sense to merge it. |
|
About 5abb85d: @osmith42 is correct about his assumption. So when looking over the code again. I think We should check what was changed via the call: a) if the |
|
@Takuto88 great that you take care to upstream the changes. Thanks a lot! |
@lynxis: Does it? What exactly? Because this commit ran during the event and I don't recall any issues.
That's pretty much what the code does apart from the CLR for 2G/3G. That would be a new feature though and I would consider that out of scope for this specific PR. But I agree that this should happen, so I have created #304 to track this. Personally, I would merge this as is unless there is something with commit 5abb85d that I am missing. |
This branch contains a couple of bugfixes that were authored during 39C3 for the GSUP implementation of the insert subscriber data / update location procedures. They originally stem from @lynxis's branch here but have been cleaned up for upstreaming: https://github.com/lynxis/pyhss/commits/39c3/
The only commit that I am not sure of is 5abb85d. There was an issue with the ISRs not being triggered correctly. I suspect that this was a first shot at fixing this and the "real" fixes were actually made in 6fcebf1. Maybe @lynxis can chime in and explain?
In any case the change in 5abb85d does not break anything and it did work correctly during the event, therefore I included it.