enc/dec implementation and unit test are imported from osmo-sgsn.git
b83aabaa95695c61a64e5e990944f8e55934a976.
Change-Id: Ia3b903e8bc7890489390dcc5b2d4b60efd55dc2c
This event doesn't show up as an explicit primitive in TS 24.007 GMMRR
SAP, but it is clearly needed to (re)arm the READY timer in GMM layer as
per TS 24.008 section 4.7.2.1.1:
"""
The READY timer is started:
- in the MS when the GMM entity receives an indication from lower layers that an LLC frame other than LLC
NULL frame has been transmitted on the radio interface;
"""
Change-Id: I9fd4047cfae4a12ad3be41860032eeda263d3276
3GPP TS 44.064 loosely defines "QoS params" on each primitive by listing
the fields, which are a bit different on each primitive.
Change-Id: I6760bace69d400edd4576ec2820e29b74f8dfca5
App and SM itself may need access to PTMSI or TLLI.
PTMSI:
- App may want to store it somewhere in order to reuse it next time
it wants to GMM Attach.
TLLI:
- App will need the TLLI to identify the MS when sending/receiving
primitives over SN SAP (app<->SNDCP).
- SM layer will need the TLLI to communicate over SNSM SAP (SM<->SNDCP),
as well as relay the information to the app if the GMM Attach happens
implicitly over SMREG-Act_Pdp_Ctx.req -> GMMSM-Establish-Req.
Change-Id: I7b1b8ac414474652b438f15b7f07961032a0f56d
Upper layers (SM or app) may need access to PTMSI or TLLI.
PTMSI:
- App may want to store it somewhere in order to reuse it next time
it wants to GMM Attach.
TLLI:
- App will need the TLLI to identify the MS when sending/receiving
primitives over SN SAP (app<->SNDCP).
- SM layer will need the TLLI to communicate over SNSM SAP (SM<->SNDCP),
as well as relay the information to the app if the GMM Attach happens
implicitly over SMREG-Act_Pdp_Ctx.req -> GMMSM-Establish-Req.
Change-Id: I552c43c55409773e2d13b72cba45a866165f203f
The GMM layer doesn't really have to differentiate between SM
connections, everything is sent over the LLC "GMM" SAPI.
However, we still want to identify/related a given MS if there are
multiple MS using the stack.
Change-Id: Ib757f016824d918ce8b74ae0c2a652a6c1823556
Update the state in the FSM before triggering paths implemented by the
user which may also again interact with the FSM. If the state is not
updated earlier, then the new interactions may encounter the FSM in an
unexpected state with regards to the event received.
Change-Id: I10eb23f6db5ff3b0b90f9066aa4fa44c8cb85170
New GMM-GMMREG-SIM_AUTH.ind/rsp primitives are added to allow GMM
resolving authentication request received from the network.
The user of the GMMREG SAP is responible for doing the resolution using
its SIM.
Depends: libosmocore.git Change-Id Id619459c17976b77cd2c7e4179123bb06807285c
Change-Id: I5c97642baac5ed29de63ae93fc7f0ecde5edf735
According to 3GPP TS 45.002, section 6.3.2.2.1, in the case of multi-
slot Uplink TBF allocation, a USF (Uplink State Flag) is given for
each PDCH allocated to the MS. Thus we need to indicate a USF value
for each PDCH to the lower layers: add ul_usf[8] to cfg_ul_tbf_req.
According to 3GPP TS 44.060, section 5.2.2, in the case of multi-slot
Downlink TBF allocation, a DL TFI (Temporary Flow Identity) given to
the MS is not limited to the scope of a single PDCH and applies to
all timeslots allocated. We're already doing this fine.
Change-Id: I1dda0b4eedcaca7e93f832fc875507028c3ff3eb
Related: OS#5500
As seen in TS 23.007 C.6.
We still don't need/want to implement ABM (acknowledged mode), hence
only the interface related parts are implemented, and transmit of SABM
message is left for the future.
Change-Id: I27aff368f4a70d30c23523946d72a751e100f298
Otherwise if a test includes {layer_name}_private.h from several
libraries to use private APIs it will fail due to colliding g_ctx
pointers of different types.
Change-Id: Ib8a844551452b79bdb3a81968ffc1fd42ee1c5d9
This patch itnroduces all the boilerplate required to build and package
a new libosmo-gprs-sm.so library, which aims to contain the SM layer
implementation.
A minimal implementation is provided together with a unit test,
showcasing Activation of a PDP Context and requesting implicit GPRS
attach to GMM if it is not yet attached.
This commit also adds/improves code in GMM layer implementing the GMMSM
SAP which is used to interact SM<->GMM.
Related: OS#5501
Change-Id: I9b4a9a6364f7799540475e7e1d10ab2310768281
The DL_TBF for the assignment is not created until later on when the
DL_TBF is first used, only the DL_ASS request is stored as part of the
gpre->tbf_dl_ass_fsm.
Since no DL_TBF existed, the POLL was being stored if the DL_ASS
referred the UL_TBF by means of GlobalTFI->ULTBF.
Instead, let's not require an UL_TBF to be present and simply pass the
GRE along which can be used to send the PKT_CTRL_ACK later on when the
scheduling the poll triggers.
Change-Id: Icdaa30e9ff942fb53cc4bbd801e4542b8885b32a
This patch contains further work on several areas for the GMM layer,
like fixes and improvements in existing primitives, initial FSM
implementation, initial Tx and Rx of some GMM messages, etc.
Related: OS#5501
Change-Id: If6cbb1d425b3a9f713348f1dea4747e2b6be0a44
This patch contains further work on several areas for the GMM layer,
like fixes and improvements in existing primitives, initial FSM
implementation, initial Tx and Rx of some GMM messages, etc.
Related: OS#5501
Change-Id: I212053b3a3f27ef7d63503c3d5ef08453b2d2056
The library itself only contains a bunch of boilerplate to build the
library and have usual initialization, logging, prim APIs.
There's not yet much logic specific in it yet, but will make next
commits easier to review.
Related: OS#5501
Change-Id: Ie098576954a55e5046c2463390ab7133511c1eb3
The code to generate a PKT CTRL ACK is the same for a DL TBF and an UL
TBF.
Move it to the generic base class in order to be able to generate it for
a DL TBF in a follow up patch.
Change-Id: I767696b445842ebc32b35c320273b13f63076ca4
While reworking tbf_ul_ass_fsm, avoid being in "ASSIGN" state while
waiting to send Pkt Ctrl Ack. The PCU is free to ask the TBF to transmit
data before receiving Pkt Ctrl Ack; the time where it can start
transmitting data is actually controlled by TBF Starting Time.
Change-Id: Id81f16743f2c464e01caf27ba2eb8c0fc715fe8a
We'll need to get one event for each Pkt UL ACK/NACK the UL TBF receives
in order to implement T3182 properly in a follow-up patch, hence rework
the events sent to the FSM (merge events about Final ACK and Contention
Resolution in one generic UL ACK/NACK event with some data parameters).
Change-Id: I4420abd69a318bd93fde73a67239456466071497