OsmoMSC excessively uses LU Reject Cause 22 (congestion)
For some reason OsmoMSC almost always claims that a LU Reject is due to congestion, which is simply not true. Like, let's say there is no intersection between the network-permitted and MS-supported encryption algorithms. clearly we are not rejecting due to congestion in such a case.
Aside being confusing when looking at protocol traces, there are strong reasons for proper reject causes. Congestion is a termporary condition, i.e. the MS will continue to re-try to register. The lack of matching encryption algorithms is a permanent conditon, and hence a permanent LU reject cause should be used to prevent the MS from any retries.