Doing this when receiving an IPv4 EUA thwos an error:
"if (not match(cpr.endUserAddress, tr_EuaIPv4(?)) and not match(cpr.endUserAddress, tr_EuaIPv6(?)))"
Dynamic test case error: Performing lengthof() operation on an octetstring template with no exact length.
This happens if for instance received spare bits are set to '0000'.
Change-Id: I70ad3c10e2ecfed8f733ff906272a9597b2ab9bd
Otherwise, during shutdown of all components we may end up in a
situation where the BVC is already killed and BSSGP Emulation receives
a packet which tries to forward to BVC and fails.
This can be seen quite a lot in PCU_Tests.TC_pcuif_suspend:
"""
PCU_Tests.ttcn:394 setverdict(pass): none -> pass
...
PCUIF_Components.ttcn:246 Stopping test component execution.
...
GPRS_Components.ttcn:222 Connection of port BSSGP[0] to TC_pcuif_suspend-BVCI1234(6):BSSGP_SP was closed unexpectedly by the peer.
...
GPRS_Components.ttcn:222 Port BSSGP[0] was disconnected from TC_pcuif_suspend-BVCI1234(6):BSSGP_SP.
...
Component type BSSGP_Emulation.BSSGP_BVC_CT was shut down inside testcase TC_pcuif_suspend
...
BSSGP_Emulation.ttcnpp:317 Dynamic test case error: Sending data on the connection of port BVC to 6:BVC failed. (Broken pipe)
"""
Change-Id: Ib0adcf64eb5ca876cd9e9b91f2b597804c03bdc2
Should fix following TTCN3 warning during runtime of
PCU_Tests.TC_pcuif_suspend:
"""
BSSGP_Emulation.ttcnpp:462 Timeout operation on timer g_T2 failed: The timer is not started.
"""
Change-Id: Ic74572a21b5abee8e530741466360ff7e16a357d
The templates ts_RANAP_RabAssResp and tr_RANAP_RabAssResp miss the
option to send a RAB_FailedList. This is needed to simulate a RAB
assignment that fails at the HNB
Change-Id: I95c7c51587981d9f478b9d31fcde139f228fa87f
Related: OS#5152
This test validates that changing the local TEID through UpdatePDPContext
is correctly followed by the GGSN.
Change-Id: Ic6af25866bf7efc2cabf029e49abaf15d5857592
We have f_inet_ntoa() for converting IPv4 addresses to strings,
but so far there was no similar function for IPv6 addresses.
Change-Id: I0858cf8cb44a6673e19f3496c362d68fcdd7b18d
We must respect this flag not only in "normal" PDUs but also
in the code path processing the "expect" handling.
Change-Id: I04a9197ac0b68c2dcb7542d035dc70c9f2b90473
According to TS 29.060, sec 7.3.1 Create PDP Context Request:
"""
The SGSN shall include the User Location Information IE in the PDP
Context Activation procedure. The SGSN shall include the CGI or SAI
in the "Geographic Location" field of the User Location Information
IE depending on whether the MS is in a cell or a service area
respectively.
"""
Change-Id: Iaea95e5779d4f878023ce3f160ac69f092452056
According to TS 29.060, sec 7.3.1 Create PDP Context Request:
"The SGSN shall include the RAT Type IE during Primary PDP Context
Activation procedure."
Change-Id: Ibc57798e50ccd08ef6126f75f7c8134e56d2778a
This patch implements a new mode of operation, which allows to
have direct communication between the emulation component and
the other component connected via the 'DIAMETER_UNIT' port.
This eliminates the need to have dedicated components for each
IMSI, what is not necessarily needed in some specific cases.
Change-Id: I52e22ac70cc85be5b0436b68c77356aabc4f05e1
Related: SYS#5602
Counts talloc objects via VTY and waits for a specific object count.
Useful to test against leaks.
The intended use is to check against leakage of bsc_subscr and
gsm_subscriber_connection after each BSC_Tests.*, see patch in 'Related'
below.
Related: OS#5337
Related: I69d4c5c6f8d499bb7f0b96a48af045361433c57b (osmo-ttcn3-hacks)
Change-Id: Iafe720a4931270e868f40c4f623d10bb9c14dc80
open5gs-smfd version 2.4.2 requires this IE to be present:
[smf] INFO: [Added] Number of SMF-UEs is now 1 (../src/smf/context.c:820)
[smf] INFO: [Added] Number of SMF-Sessions is now 1 (../src/smf/context.c:2610)
[smf] ERROR: No Serving Network (../src/smf/s5c-handler.c:101)
[smf] ERROR: No Data in Serving Network (../src/smf/s5c-handler.c:105)
[smf] ERROR: Invalid Len[0] in Serving Network (../src/smf/s5c-handler.c:110)
Change-Id: Idf6d147cc4a37996ee4ae6de18158b0e140d9db6
Related: SYS#5602
This change fixes the following error:
Dynamic test case error: None of the branches can be chosen in
the alt statement in file GTPv2_Emulation.ttcn
between lines 362 and 370.
which may happen when osmo-uecups-daemon fails to create a tunnel
due to insufficient permissions.
Change-Id: Icb229aed7fa9dedcf999837ec6ad249ab4fdebb7
Related: SYS#5602
IPA_Emulation component was marked with the "alive" type recently, in
order to avoid race conditions leading to errors during tear down of the
test.
It turns out, the way "alive" keeps the component alive is by means of
not closing the sockets when the component is stopped. As a result,
TC_rsl_drop_counter test stopped working properly because it was
specting a TCP FIN to be sent to osmo-bsc when the component was
stopped.
In order to fix it, add a new CFG port to the IPA_Emulation component on
which one can operate. Add a a new method to tell the component to close
the socket.
Then, put that in BSC_Tests into a function which was actually unsued
until now, and use it in the test in order to have the specific logic
enclosed in a function helper.
Fixes: 7138913d66
Change-Id: I68163b053313d9907ba8e40954a5933d14cb7db6
* Immediate tx of IuUP (N)ACK control packets. Without this, INIT ACK
is delayed until the TX side of the RTP endpoint is enabled.
* Allow and handle IuUP control messages even if g_rx_enabled is false.
* Properly validate user data payload if IuUP is in use.
Change-Id: Id4f8b02a8123bb30b659c40148c8ab4c7c2078a1
Until now, an Init was sent on each RTP transmit period, clogging the
pcap files. Moreover, this is break by design, since transmitting
another Init so close the the previous one would give no time to the
transmitter to receive the Init ACk and move state, which means the
other end would potentially be reconfigured each time (for each Init).
Change-Id: I8e299a3fe49f9d31cae182f7ed4dc0ea3fc22ba2
This should hopefully fix HNB_Tests errors showing up in jenkins after
the test finishes:
Iuh_Emulation.ttcn:203 Dynamic test case error: Port HNBAP has neither connections nor mappings. Message cannot be sent on it.
Change-Id: Ide201425e81dcfe2fd395d820bdcbd74f5415ef5
As seen when running a test:
IuUP_Emulation.ttcn:150 Dynamic test case error: While RAW-encoding type '@IuUP_Types.IuUP_PDU': There are insufficient bits to encode '@IuUP_Types.IuUP_PDU_Type_0.frame_nr'
Change-Id: Ic9e69115c49545a7b9797d8f85568d5e91dfb329
* t_RSL_IE_ActType_PDCH is actually a constant, not a template.
* tr_RSL_CHAN_ACT_PDCH makes no use of parameter 'mode'.
* Accomplish tr_RSL_CHAN_ACT_PDCH with a send template.
* Use 'present' qualifier for receive template parameters.
Change-Id: Ie62a92daaacf4de5f05dd1f3f5b4a2a5e4ee6dd6
According to feedback received from TITAN developers in
https://www.eclipse.org/forums/index.php?t=msg&th=1106652&goto=1848616&#msg_1848616
the use of alive-type components has the following advantage:
> Also the DTE during the shutdown can be avoided to use alive type
> components. The test ports of the alive components are not
> disconnected/unmapped when the component finished only when killed or
> the MTC terminated.
So the idea of this patch is to use alive-type components for all the
underlying infrastructure, such as the *_Emulation_CT starting from M3UA
to SCCP and further up the stack. This way, only the MTC and the
highest level of components (such as ConnHdlr) remain as normal
components.
The hope is that using more alive-type components in the lower protocol
layer emulations will reduce the probability of DTE during shutdown if
some message is received during the component shutdown after the MTC
has completed.
Change-Id: I61d791d6d1bfe9226aabbe223baafc5f8f6d4f04
According to RFC 6733, section 3 "Diameter Header", if the 'R' bit
is set, the message is a request. If the 'P' bit is set, the
message may be proxied, relayed, or redirected.
ts_DIA_AIR is a template for Authentication Information *Request*,
so the 'R' bit must be set. Also, let's allow this message to be
proxied, relayed, or redirected by setting the 'P' bit by default.
In tr_DIA_AIR, do not match all command flags, just ensure that
the message is a request. Other flags do not matter.
Change-Id: I7db3b632189eed09c1bdf98f9d588491d928e2f5
Related: SYS#5602
* Make both {hbh,ete}_id parameters last among the others;
* Use more elegant and consistent template formatting;
* Make DestinationRealm value configurable;
* Make SessionId value configurable.
Change-Id: Iaf6472fecbadd58e86b78c59348d9924ab57f97d
Related: SYS#5602
* Make both {hbh,ete}_id parameters last among the others;
* Use more elegant and consistent template formatting;
* Make Origin{Host,Realm} values configurable;
* Make DestinationRealm value configurable;
* Make SessionId value configurable.
Change-Id: I0585e306a87453c212c6b5ac5635181c47b34b4f
Related: SYS#5602
Having default values for these parameters allows omitting them
in subsequent send template definitions based on ts_DIAMETER.
Change-Id: I714b18bbe77949593803e999d25e4ef8e1827917
Related: SYS#5602
It's clearly stated in a comment to this function that the returned
value is 0 <= x < max, so it's always less than the maximum.
Change-Id: If127fc6a2feeddbdd3ea636b56dadf8957941758
The resulting set of dependencies needed just to have one simple CellId
struct is huge. That was fine for sgsn testsuite since anyway those were
being used, but it's not acceptable for other testsuites (hnodeb) which
only really require the GTP side.
After this change, GTP_Templates only requires GSM_Types, which ends up
in a much smaller subset of dependencies being pulled in.
Change-Id: Icd8234908af445b798517fe110cd0648969179a4
Create functions to check which from Osmocom repository the SUT is
running. Put it in Misc_Helpers instead of a new library file since
Misc_Helpers is already available in many/all? tests and it fits there
too.
Depends: docker-playground Ic06532f7a67e59458652c5cf4c8f6fee8113e703
Related: OS#5327
Change-Id: Ic33d08992ea84af006d133db6aec508a7b7c7f28
The BVCI that this message might contain should not be used to route it.
It referes to the BVCI that the PDUs were transferred to (BVCI (new)).
Instead broadcast to all components.
Change-Id: Ia1df35da44ef28d91501bb898e1059bf1390129b
A new Iuh CodecPort + Emulation is introduced to (de)mux RANAP and RUA
in the same SCTP socket.
The Iuh_CodecPort.ttcn file has currently a hack to be able to test
HNBAP, since titan seem to be reporting sinfo_ppid=0 when in fact it
received sinfo_ppid=20 (HNBAP).
A couple tests are added to validate HNBAP HNBRegister Request + Accept
or Reject. In current osmo-hnodeb state, both tests pass if run
separately, but fail if run sequentially since osmo-hnodeb still doesn't
re-connect properly after first test finishes and connection is dropped.
Related: SYS#5516
Change-Id: I7227917148e98a2c777f4b05d8d2eca6e9c121b7
So far all handover tests trigger handover via VTY command. This means
that any bugs introduced in measurement report handling and handover
target selection are by definition not caught.
Almost a year ago, fixing a handover oscillation bug for intra-BSC
handover introduced a segfault for inter-BSC handover targets, because
for those the target.bts is NULL. Show this bug.
Related: OS#5324 SYS#5259
Related: I5a3345ab0005a73597f5c27207480912a2f5aae6 (osmo-bsc)
Change-Id: Iba033c32015173f57dbb1c211aefab1a9094e29d
Unfortunately, TITAN has a weird (and often unusable) model of
defining padding in records. According to its reference guide,
padding length is counted from the beginning of the message.
So if the 'MeasurementResults' is a part of another record, and
there are other fields preceeding it, the encoded representation
of the 'MeasurementResults' may still be shorter than 16 octets.
Change-Id: Ia1c87ae85ee402369dad0dfd81159f179095c8d2
Decoding was implemented in [1], but encoding was not.
Change-Id: I82f8afd3e64d83d165a7070a1b82a6276ef0b020
Fixes: [1] Ic9568c8927507e161aadfad1a4d20aa896d8ae30
The latest release of osmo-sip-connector (1.5.0, 23 Feb 2021) does
support MNCCv7, so there is no need to maintain MNCCv6 support.
Change-Id: Ie45158e805a62e86b9496b46f323b83a74630460
Related: I5448ff931ec33f24f4837a51376f1703fe97683b
Related: OS#5282
Test if a XUDT SCCP message is processed by libosmo-sigtran. We
assume any XUDT is received (and echoed back) just like normal UDT.
Related: OS#5281, SYS#5674
Change-Id: Idbf6db7a684e51858129618b2fcffcbe55b1b70f
Will need this code again to verify the TSC during handover, so cast
this in a separate function.
Related: SYS#4895
Change-Id: I7a3f68ed1deba6a4a0a1cc4df7613638225c1640
Allow to switch off automatic Channel Activation ACK via a new port
signature.
Required for upcoming BSC_Tests.TC_lost_sdcch_during_assignment().
Related: SYS#5627
Change-Id: I9a9d191aa66ec27f4f80c2baa2c5aa3c7b668d66
IF the BSS-BVC is gone gbproxy blocks the BVC towards the SGSN (this is
the only thing it can do since there is no BVC-REMOVE). If the SGSN ever
decides to reset that BVC the gbproxy should not ACK it, but instead
consider the BVCI unknown.
Change-Id: Ic57b39a77adf71abda99ef8af7da1592e2225a0d
Related: SYS#5628, OS#5236
New versions of osmo-pcu support Neighbor Address Resolution over this
interface, and deprecated the old CTRL interface.
Let's use it by default while still keeping support for the old one for
a while to avoid breakage of existing deployments.
Tests run to validate:
* Old osmo-pcu still passes tests using CTRL interface
* New osmo-pcu (with new iface support) still passes tests using CTRL
interface
* New osmo-pcu (with new iface support) passes tests using new iface
Related: SYS#4971
Change-Id: I05f1aabc64fc5bc4740b0d8afd8990b485eacd50
Add tests for the new early IMM ASS feature in osmo-bsc:
'immediate-assignment (post-chan-ack|pre-chan-ack)'
Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc)
Related: SYS#5559
Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf
Will be used by MSC_Tests.TC_call_re_establishment_auth in
I8110a6b432de734d53b111c7b69aabca12129691
to re-plug SMPP handling for an imsi to another vc_conn.
Related: SYS#5130
Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74
Will be used by MSC_Tests.TC_call_re_establishment_auth in
I8110a6b432de734d53b111c7b69aabca12129691
where a call from one vc_conn gets re-established in another vc_conn.
Related: SYS#5130
Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501
Will be used by MSC_Tests.TC_call_re_establishment in
Ifdff5573eeb3b3d41e8599b9b0228411d2576864
where a call from one vc_conn gets re-established in another vc_conn.
Related: SYS#5130
Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63
Will be used by MSC_Tests.TC_call_re_establishment in
Ifdff5573eeb3b3d41e8599b9b0228411d2576864,
where a call from one vc_conn gets re-established in another vc_conn.
Related: SYS#5130
Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54
To simulate an MS initiated call release at the MSC, a MO CC DISCONNECT
is required. So far msc's f_call_hangup() has some really weird
sequences of MNCC events. This is one preparation to fix that.
Will be used by MSC_Tests.TC_call_re_establishment in
Ifdff5573eeb3b3d41e8599b9b0228411d2576864
Related: SYS#5130
Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68
The failure verdict includes the RSL message that could not be
associated with a handling component, but ttcn_logformat does not format
that message. Add an identical log() that gets formatted nicely.
Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b
Add explicit RSL_DCHAN_PT and RSLEM_PROC_PT args to functions and
altsteps related to channel establishment and assignment. This allows
establishing and assigning a channel on cells other than bts 0.
This is required for upcoming BSC_Tests.TC_cm_reestablishment().
Related: SYS#5130
Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f
This way functions like f_inet_addr() and f_inet6_addr() can be
used directly without converting between bytes and integers.
Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f