A recent commit added records to separate 2 binary octets into known
fields, but 2 fields filling 1 byte were actually written swapped. Fix
it now.
Fixes: 7b7a1e8ed1
Change-Id: I884bddb0e1e5f1cfc5615c11d6c7d602d0df9224
Should fix the following log message:
NS_Emulation.ttcnpp:784 Timeout operation on timer Tns_alive failed: The timer is not started.
Change-Id: If1fae965659f73fde2508b0e9158099025fa65f2
Should fix the following log message:
BSSGP_Emulation.ttcnpp:1118 Timeout operation on timer g_T1 failed: The timer is not started.
Change-Id: Id7d1b76a6bc1fc2f0f4896c59673c01293b526e9
Those interfaces reuse messages from other Diameter RFCs, but changing
the contents of the messages, eg some Mandatory fields like
Service-Context-Id which are mandatory in RFC5006, doesn't even appear
in Gx CCR in TS 29.212.
Keeping them well separated helps in avoiding confusion on users fo the
messages.
Change-Id: Ibe0d5f263813d5083e020c942283f214983162b4
The previous conditions "isvalue()" were wrong. Passing an array of
templates to isvalue() returns false, which is unexpected here.
Change-Id: Iaad47b1ec7e2a7477fa554df9caeb866ffa594eb
The previous PDP-Type IE should have been a PDP-Address from the
start, since having only PDP-Type with no address is only a specific
case (dynamic addressing).
This becomes clear by looking at other similar protocols like:
* MAP: APN-Configuration IE has servedPartyIP-IP{v4,v6}-Address IEs
* Diameter S6b, 3GPP TS 29.272 7.3.35 APN-Configuration contains
Served-Party-IP-Address AVPs
* Diameter SWx, 3GPP TS 29.273 APN-Configuration.
* GTPv1C Ts 29.060 7.7.29 PDP Context containing PDP Address.
Since PDP-Type on its own really makes no sense, being it a special case
of PDP-Address, let's keep the IE by renaming it (keeping old name too
for API backward compat) and extend it to support lengths > 2 bytes.
Old implementation of libosmogsm gsup actually ignored lengths > 2
bytes, so we are safe acting against older implementations here, both
on the sending and receiving side on the wire.
Change-Id: I3e92368fff61694bcef6a48320595b59ae8f54ca
Related: OS#6091
Related: libosmocore.git Change-Id I775ff9c3be165d9f30d6ab55d03f99b6104eadd6
Related: osmo-gsm-manuals.git Change-Id I775ff9c3be165d9f30d6ab55d03f99b6104eadd6
The CEIA interface is an interface between osmo-epdg and
strongswan.
It is used by the osmo-epdg to synchronize state.
Related: OS#6091
Related: libosmocore.git Change-Id I6f7c20340c99f94b1326a8a7dc99c86cf6a0dbc3
Change-Id: I3da4f731597eee3736a9aab513f5257a78e8d8eb
Since recently GTP2 Emulation got improved routing, and it should simply
match by the already registered imsi.
Change-Id: I410242d6597db10b97edf72b92e749db28520c39
I'm finally not using it for now, but since it takes a while to write,
leave it there for some lucky future user.
Change-Id: Ibf4b98e19ff13f23c552f50ca91832f0d317bbbf
NAS Token is derived from kasme and NAS ul_count as specified in 3GPP TS
33.401 A.9, and its LSB 16 bits passed to the network when mapping the GUTI to
RAI+PTMSI+PTIMSI_SIG.
Take the chance to move guti2rai_ptmsi() up to before the place it is
used.
Change-Id: I5e6003a2fe3e74cc93cfe4a288e6c114aa288d0b
A recent commit in GTPv2_Emulation improved the routing of incoming
messages from network towards clients.
After that change, the GTPv2_Emulation properly matches the originating
component of the procedure and forwards the reply to it.
Hence, TC_tx_echo() needs to be adapter to expect the reply on its
CLIENT port.
TEID0 is now left for incoming initiating messages which have no seqnr
match.
Change-Id: I1764fdf81192597e393d79d34cb8f221aa79bbd9
Fixes: 1d2cc67036
First try forwarding to component transmitting the originating request,
since this is the most fine-grained match.
Finally, if no specific match was found and if messages belongs to
TEID0, send it over that port as a fallback.
Fixes: 1d2cc67036
Change-Id: Ie96d65085fb352489150183415dbd6cc8237a47c
The TEID field is optional, based on t_Bit. Hence, we also want to
match by type if there's no TEID.
Change-Id: I65044b8758046704e22f9057f34ce5fdbb7aabfe
It is sometimes needed to reset them to zero as per spec, like when
moving GERAN/UTRAN->EUTRAN.
This will be used by a follow-up patch.
Change-Id: I61d7b919aba8f58a020c18ae9b9bba4108d59010
Fix the issue that MSC rejects call termination, because talker can't
be identified as originator of the call.
Fixes: OS#6325
Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
Old osmo-msc versions do not include the Source Name IE in SMS related
GSUP messages, unless it's set explicitly in the config file ('hlr' /
'ipa-name'). Recent osmo-msc versions (see the related osmo-msc patch)
do include this IE even if it's not set explicitly ('unnamed-MSC').
Because of this, some testcases in ttcn3-msc-test are currently
failing for osmo-msc master, but still passing for the -latest.
Let's set the 'ipa-name' explicitly in osmo-msc.cfg, and expect the
Source Name IE to be present in SMS related receive templates.
Change-Id: Ic24d3082fe3dce08e43e8f3ecb6d6132503c55c6
Related: docker-playground.git I7757aae1d01b679f530b5c0a6c95b224cb9f204f
Related: osmo-msc.git I7bacd001b81326c32bc262c7d0c0491ded822fa8
Related: OS#6135
We do expect it in receive templates for SMS, so let's also
indluce it in the send templates.
Change-Id: I6468d8606eb85c811d86e4a1407ee60c8a36fbea
Related: OS#6135
The previous logic was wrong, since it was increasing the rx_count at
the time where the msg is received and before checking it. Instead, it
should be increased after having validated and accepted it.
This fixes the case where rx_count will have to be reset (to zero) when
doing mobility GERAN->EUTRAN.
Change-Id: I712d95f7784a6a9855fe36300b0ebfcd4c6ef377
The MME is sending the message after TAU Reject, and it may be forwarded
through TTCN3 components while some of them are already being torn down
since the test is finished.
Change-Id: I6b915d0e32a46fa9546b3b1b96aa69ad43baae9e
Before this patch, for instance, registering an IMSI would not
necessarily mean the messaged ended up in the client registering it, due
to how the code paths were being handled.
Ideally the code should create a CLIENT candidate list based on all
registered matches, and then remove duplicates and finally send message
to each CLIENT in the resulting list. That's really not needed as of now
though.
Change-Id: If253a2b8991f0caf685058238df9a7c997983e27
Building MME_Tests with an 8core host with 16GB of RAM sometimes
exhausts the whole available RAM, triggering the OOM killer.
Let's increase the variable to generate 8 C++ files for each TTCN3
files, in order to avoid consuming so much memory.
Change-Id: If5f54e18384f8a26b281d057e9d9f5c450566422
According to 3GPP TS 23.003 sec 2.8.2.2.2, LACs from GERAN are
configured with MSB 0 in order to differentiate it from EUTRAN ones.
This is used by MMEs to figure out if the peer is an SGSN, based on
the the LAC mapped into MME group ID in GUTI .
Change-Id: Iaf89228f6f026e04d5f583211959025e6d8d4a1d
This will be used further in subsequent tests, plus it is configured in
the sgsn peer list of open5gs-mmed.cfg, so it knows how to route/find
SGSN peers.
Change-Id: Ia7d807bb5d75d711be7d4f6fbccd8fd123da171f
Some later parts of the 4G->2G cell reselection where missing, mostly
related to tear down after MS has successfuly moved to the new SGSN. mainly:
- S6a Diameter Cancel Location Req + Answer initiated by HSS.
- Handle UeReleaseContextCommand and answer with
UeReleaseContextComplete, emulating the ENB.
- handle S11 GTPv2C Delete Session Request and answer with Delete
Session Response, emulating the SGW.
Change-Id: Ic0263a3aec922194aad22b031b2c82a99954354d
open5gs-mmed transmits it after attach complete.
Read it so that it's not kept queued in the port and follow-up uses of
the port don't provide unexpected results.
Change-Id: I6f19a18cced7acd2b831c943e8b3a1f462378435
We still want to forward it to the user so that it can:
1- validate the IUT sent the message
2- answer with a UeContextReleaseComplete
The f_assoc_id_by_s1ap_ids() function is modified to avoir a Dynamic
test error if the enb_ue_id is omit, which can happen if
UeContextRleaseCmd used choice "MME UE S1AP ID".
Change-Id: Iaf6a775d1cbc4f85f185bb26a0da1e5c9a4167a2
It's not true that it can contain several IDs. The only difference is
that it has a choice IE which can hold a pair containing both MME/ENB UE
IDs, or only MME_UE_ID.
Change-Id: I4fb51f3f50fa10400184b65d272530ea26a2bc8e
There's currently no user of this template, but there will be one in a
follow-up patch in MME_Tests.
- Set generic templates as default parameters, so it can match
everything.
- Reorder parameters to follow the message fields more closely.
- Change/fix some template types in parameters which were not correct.
Change-Id: I38b6c51b78772bc01e7be916ba382cb78934864c
This allows more easily finding, understanding and using the tons of
templates coming from different specs.
Change-Id: I2e6b813a9e4ff98eef575aaaf46dbcf9f1a5d2d4
Use value 0 to indicate that the test is not really using the generated
imsi, to easily increment it for tests requiring it.
Change-Id: Ia9d70c125b92352f50adfa80a6cb916bfc8acf99