Age | Commit message (Collapse) | Author | Files | Lines |
|
At 36c3, osmo-hlr was run with a patch that records the RAN type of attached
subscribers. Even though this is not in osmo-hlr master, it is nice information
to send along.
Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274
|
|
This caused frequent crashes at 36c3. The "proper" fix is probably elsewhere
(lynxis mentions an unfinished patch), but at least this prevented some crashes
during active operation.
Once this is merged, we can (re)enable SGSN_Tests_Iu.TC_geran_attach_iu_rau,
which tests exactly for this scenario: A Subscriber / MM context that is so
far attached via GERAN, but now receives a RAU via UTRAN/Iu.
Closes: OS#4339
Change-Id: Ifde15dc4151d84748f0e67b32c9c260cb2d9d8fc
|
|
New define is available since libosmocore 1.1.0, and we already require
1.2.0, so no need to update dependenices.
Let's change it to avoid people re-using old BSC_FD_* symbols when
copy-pasting somewhere else.
Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72
|
|
Related: OS#2737
Change-Id: I3fc614da6ba137e871ee0fe86ca22b6a4a354dd2
|
|
Change-Id: I38cb31907eddeade5350cdb648df179408d908d2
Related: OS#3727
|
|
Change-Id: I4f2d70d0b0f1b7bdb8604c930aba8fbb53d8bd54
|
|
Change-Id: Ic228273aa6fb197b78c70c467a4a99af317e8098
|
|
Change-Id: I2028c82ac1b0421101c3f5d04fd999b65abdbf08
|
|
The N201 values are negotiated per SAPI, and there are default values
per each SAPI. Let's use those rather than hard-coded values.
Closes: OS#3954
Change-Id: I447a3c6dd85311772a6e219c62dc820d2726857f
|
|
Otherwise lower layers will end up using a TLLI from PTMSI which was not
yet announced to the MS if it is still not in GMM attached state, as
showcased by SGSN_Tests.TC_attach_req_id_req_ra_update.
Related: OS#3957, OS#4245
Change-Id: Ide51726abb82f5784eca4ab8d62b2ad8512be843
|
|
Change-Id: I89815f44f615a188f46a13f3785b3f7484f73bb3
|
|
Change-Id: Id89cc6760179fb9b1709a30b5d1af41d466b280b
|
|
Output:
20191107021548500 DMM <0002> gprs_gb.c:40 MM_STATE_Gb(2596296189)[0x6120000084a0]{Idle}: Received Event E_MM_PDU_RECEPTION
20191107021548500 DMM <0002> gprs_gmm.c:1531 MM(/d4b6d7af) -> GMM RA UPDATE REQUEST type="RA updating"
20191107021548501 DMM <0002> gprs_gmm.c:1615 MM(/d4b6d7af) The MM context cannot be used, RA: 901-70-2758-208
Assert failed mmctx->gb.llme == NULL gprs_gmm.c:1620
Scenario reproducing the crash can be triggered with TTCN3
SGSN_Tests.TC_attach_req_id_req_ra_update.
Basically, SGSN first receives an ATTACH REQ with a given RA ID, then
SGSN switches to state CommonProcedureInitiated and sends GMM ID REQ,
and MS/PCU answers immediatelly with a RA Update instead with a new RA
ID.
Related: OS#3957, OS#4245
Change-Id: I64fa5cf1b427d3abb99e553e584897261a827ce6
|
|
Since osmo-ggsn.git c94837c6a401bf0f80791b619a9b4cfbe9160afd, those
APIs are a no-op since timers are tracked internally through osmocom
APIs (and at the same time, new implementation fixes some timing related
bugs).
As a result, osmo-sgsn depends now on at least that libgtp commit. Since
it's not yet avaiable on latest libgtp release, let's track it down in
TODO-RELESE to not forget to update libgtp requirements during osmo-sgsn
release.
Related: OS#4178
Change-Id: Ia9a93d4a6ed63cd0c736f9a99d81d730b958d82e
|
|
When the MS is in MM_STANDBY, the Routing Area is known,
but not the exact cell.
Start the paging procedure. (Even this is only supported
for the last known cell, not the Routing Area. Routing Area
paging is not yet supported.)
Change-Id: Icc2c6ba70f8f74054546a1e31741fc90b232a23c
|
|
Paging should be done in gprs_gb
Change-Id: I3020020f52005aa460ca6b245ee2297aec9821b3
|
|
GCC warns us that 'pmm_state_fsm_timer_cb' is defined but not used.
This function was introduced in [1], but was not assigned to the FSM.
[1] I66c2ac0350cb074aefd9a22c5121acf723f239d3
Change-Id: Ib040befc87b2676aad2b8fe3671404fb3f5b030b
|
|
Change-Id: I867612a60236eaf7009400c92f5d871006aaf008
|
|
When a RAU fails without an a GMM context, release the Iu
connection after sending a response.
Change-Id: I05a9200f55d608ccfb3f86184c324a2b428da76b
|
|
When the SGSN releases a RANAP connection, it sends a Release Command
and waits for a Release Complete. Use X1001 to release the Iu connection
when the Release Complete is lost/never received.
Change-Id: I39a0169c22a4ac430b3d6f3c281d1f381eaa4756
|
|
Implicit detach means there won't be any Gb state afterwards.
Change-Id: Iececb730e7135e14ebd94f82edb79b03ced1f9e3
|
|
When moving between RANs we need them at a later point.
Allocate them always to not make the code (more) complex.
Change-Id: I1724790335b0820f153a0cbdb5cfd1cfea36d1e9
|
|
After processing the event, set the return code to success.
Thanks to manatails (redmine).
Change-Id: I73b3b3c3dd330bc953835737758854cf68539495
Fixes: #3969
|
|
In IDLE there is not further context with the MS. Prevents the Timer from sending
packages to a MS which can not respond
Change-Id: Ibdd913173af11d0e6d04aa392e047d5d9aee1243
|
|
A Iu release should stop any active procedure.
Change-Id: I78c6c0c4024657212d6abef51e226ce233018fee
|
|
The user inactivity timer is similiar to the Gb READY timer and reduces
the resources taken by an idle UE.
Change-Id: I66c2ac0350cb074aefd9a22c5121acf723f239d3
|
|
PMM Connected defines a Iu signaling connection. The 2 other
PMM states do not have an active Iu signaling connection.
Change-Id: Ie05d2bdf8dfb593b4c7e837107a3a06f22e90119
|
|
Remove gprs_ranap.c and gprs_mm_state_iu_fsm.c
from the Makefile when building without IU.
Change-Id: I2386f8e86bbf0b87eedce9f57eb86b1b64998a69
|
|
When receiving a PDU, the GMM fsm will change to state MM_READY
and will re-arm the T3314
Relates: OS#1941
Change-Id: I78f40762fb17bbd4a6f35608a793f8e5271e9b86
|
|
All branches need a MM context. Exit early if no MM context
present.
Change-Id: Ifa4c55f1f2c199fa63bd755311026b8586a65f3f
|
|
MM_IDLE means there is no known state to this MM.
Change-Id: Ieb0d6cea828842763c13942fe1a63dd89399f799
|
|
After Security Mode Complete, the sender has been authenticated.
Send a CommonId to enable paging coordination between CS and PS.
Change-Id: If195c26e87ba3054e159746671babf93a12e7013
|
|
Change-Id: Ib4361cdc12f9c1674c89c6fafeeb52a3f42abe1d
|
|
It could happen that SGSN drops GTP side of a pdp ctx (pdp->lib=NULL)
while still maintaing the other side (to notify about the entire pdp ctx
being torn down). If a PdpActReq arrives during that time, we need to
account for that situation, otherwise osmo-sgsn crashes accessing
pdp->lib.
If no pdp->lib is found at that time, let's reject the request and
expect at some point later in time the entire pdp context will be
destroyed and reestablished.
Related: OS#4173
Change-Id: I6dd87557ebb26fdbd280504abde10d976acecf64
|
|
Change-Id: Ie61d22e7868af6de73cdf9c731f07130b282599d
|
|
State machine inspired in the one from TS 24.008 4.1.3.3.1. Some state
transitions are inroduced in the code but are still commented out since
we lack some functionalitites or improvements in the code to handle
different scenarios.
Most of the logic is still outside of the FSM, but at least now the
states are handled in a sane way triggered by events.
Change-Id: Idecb43c10d66224d4f9ba9320825040ce6cf9a07
|
|
Change-Id: I3b21a976c6683bea5419a33f0ccb8b56483d6e21
|
|
Change-Id: I8e28ac03edf82374e804701ebe635e1171a2b36a
|
|
Change-Id: I2d8d947ab1eb4100f404b885461f7a30583c9ac6
|
|
Change-Id: I16fccc0eadf588599b9e5578d0f4dbaf9df81737
|
|
Change-Id: I707d5e9b775179e732d281ce3d245de83d648eea
|
|
Change-Id: I2cc98d3a276d953609bbbbaa9782a0112687791e
|
|
Build files shared by osmo-sgsn, osmo-gbpy and osmo-gtphub into a .la
library, so we can later split each application into its own subdir and
clearly identify what's used by who.
Due to a dependency error with .Po files, I cannot depend on the specific
.o files directly in LDADD for each binary, but it works fine on follow up
commits when binaries are splitted into different makefiles, so it will be
done later.
Change-Id: Ib7665c530c086a5f3135c395bb8bf19ed4a882b6
|
|
Value presviosuly printed as MM state is actually usually refereed as
GMM state, so rename it.
Change-Id: Ia06c53f0cd2a6348237ed3abeb9367d965745aba
|
|
Implement TS 23.060 6.1.2 Mobility Management States (Iu mode) using
osmocom FSM and drop old implementation.
Most of the logic on each state is still kept in gprs_gmm.c, will be
inserted into the FSM later.
Change-Id: I4c9cf8c27194817c56e8949af0205e1cc14af317
|
|
Implement TS 23.060 6.1.1 Mobility Management States (A/Gb mode) using
osmocom FSM and drop old implementation.
Most of the logic on each state is still kept in gprs_gmm.c, will be
inserted into the FSM later.
Change-Id: I04004423e993107374d5a3549b8a93ac169251dd
|
|
Change-Id: I79333bef4a4bf743fcad07812c9a213b368ff2b6
|
|
Change-Id: I1b89c179e1ba08b65e31727fdce90c7b578f4d6d
|
|
INET(6)_ADDRSTRLEN already contains the required extra null byte at the
end, no need to add +1 to it.
Change-Id: I5a16659e007c6883fe21582cce5dac544e6d4bb9
|
|
inet_ntop manual states:
"inet_ntoa(3) is now considered to be deprecated in favor of
inet_ntop()".
Change-Id: I0c708d047122f349acf46797a9e5973040e7ae04
|