Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
It's going to be useful to track new dependency APIs being used which
require dependency version release and version bump during release of
osmo-sgsn.
Change-Id: Ia495a8577001c6a223c31f4ddd7eee289e3523c7
|
|
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: I62121e46e5091e5b559397aa01f107ddc23e2c18
|
|
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
|
|
This way it's easier to add new common functionalitites without
forgetting to add it on both sides, and simplifies the code.
Change-Id: Ib6c0427ac7b35295cf1caf2f28cb2a5c155b9d9c
|
|
Those two state sets are not part of the same state machine, and are
used in different scenarios, so let's split them and handle them in Gb
and Iu specific parts of struct sgsn_mm_ctx. This is required in order
to improve related code (for instance, use osmocom fsm).
Change-Id: I6100d607da316da0595886c6968704dd9ccfbde9
|
|
Now that we have RANAP/Iu handling specificities in its own file, let's
have also Gb specific glue code for messages coming from llc up to MM/SM
layer in its own file. This way same entry points in gprs_gmm.c are used
by Gb and Iu: gsm0408_rcv_gmm() (for MM) and gsm0408_rcv_gsm() (for SM).
Change-Id: Iaf57922a0970c1d03f6f1d6337d27ae3d4aaf32c
|
|
RANAP related functionalities were splitted among several files
(gprs_gmm.c, gprs_sgsn.c and sgsn_libgtp.c). Let's move it into its own
file to shrink complexity/size of existing files.
It also allows to keep a lot of conditionally enabled code (BUILD_IU)
and its dependencies (osmo-iuh) together.
Change-Id: I549042aaff045a378de77d657cc396ee08f22f33
|
|
Change-Id: I7e97bac1c13a2c26203eb64e590fd75d77eb44bd
|
|
It will be used in forthcoming commits.
Change-Id: I30f46f44af1d0eee324b1a995c1dad2e1315af7c
|
|
Change-Id: I709f847802a975e1a75d0b87ac5125240cfd0854
|
|
Change-Id: Ib6b3a1b250de373656310a3c8f88d1d39bdcee60
|
|
This function should not do the transistion of Iu/Gb. Only copy simple data
Change-Id: Id52761f3ea655a2d0cc663a950154c6b7c1b5f7a
|
|
Change-Id: I02c46062d6dc9802d9cae057587e66a68a65436c
|
|
There's no real need to use -1 to indicate echo timer as disabled, since
0 can also be used (it doesn't make sense to have a timer timeout of 0).
This way code is simplified.
Change-Id: I689034887188a53590eddeffda781629694eb5ed
|
|
Change-Id: Ibb89499e9c1ab588336df34fde26faf3fbf2c72c
|
|
Change-Id: I71d9abcf7e3a836c475b7adbb95a82580e41ae6d
|