NSConfiguration currently contains parameters relevant only for IP
based transport. Move IP/UDP parameters into a sub-structure in
anticipation of Frame Relay support.
Change-Id: I6904520d8c2f546327029777d68b1907611a8cf5
Both osmo-bts and osmo-pcu are switching to PCUIFv10 soon, so let's
use the new version by default. For older (latest) IUT versions
not supporting PCUIFv10, one would need to override this module
parameter in {BTS,PCU}_Tests.cfg.
Change-Id: I9350c4a54434c3d46ce9424f382ca0057e58d053
Related: SYS#4868, SYS#4915
The dependency of PCUIF_Types creates also a dependency on
Replace the PCU_AddrType by an unix like address family defined
in the Osmocom_Types to reduce the dependency.
Change-Id: I0b4fda96accef401ffc009010f9f5621583fd6dd
This is a step to prepare the NS_Emulation for operating on top of
Frame Relay, not just UDP/IP. We replace the NS_CodecPort (mapping to
a IPL4asp) with a newly introduced NS_Provider_CT, specifically a
NS_Provider_IPL4_CT.
This change removes any IP specific bits from NS_Emulation and moves
it into the newly-created NS_ProvideR_IPL4.
Change-Id: I4d0b7ad0ed9447a038dd3eeee2b975146d10fba0
Unlike osmo-pcu, osmo-bts does check length of the messages received
over the PCU interface, so I7a532d7abff8af354e40c5d706bb882efc6f905f
caused all the related test cases in ttcn3-bts-test to fail.
Reverting it is not a solution, because we cannot maintain different
padding attributes for two different protocol versions. Let's add
a wrapper function that would call enc_PCUIF_Message() and append
padding depending on the configured protocol version. In addition,
let's add a module parameter that would allow us to (optionally)
disable padding for ttcn3-pcu-test.
This change makes all broken PCUIF specific test cases pass.
Change-Id: Ica9e0c49c8b16e7d585a481670762c6433c61118
There is no reason whatsoevery why a L3_Templates.ttcn file should
ever include types from RLC/MAC. This creates a dependency nightmare.
The type for which ts_RaCapRec is written (MSRACapabilityValuesRecord)
originates from titan.ProtocolModules.MobileL3 so it's completely
unclear how any of that ever related too RLC/MAC.
Change-Id: Ie1ccef090ad51e26ccae17998e4294c6e27cf9c8
This in turn means Osmocom_Gb_Types doesn't need to depend on
GSM_RR_Types anymore, which is particularly ugly as the latter
now depends on RLCMAC_*, creating a long chain of dependencies.
Change-Id: I8c8da7709695ff0023f71b3999291e2515b22e46
If test calls RTPEM_bind twice, the previous socket is kept open
(ConnId 1) while the new one is assigned to the the expected ConnId for
RTP/RTCP packets received (ConnId), however, if remote was already
sending packets, it may happen that the port still receives those with
ConnId=1, which may make test fail with message:
"Received unexpected type from RTP"
Change-Id: I73f4af4e590dd3958e3f4d1dba0496c0750d642d
My initial assumption was that we can skip redundant '0'B bits or
even '00'O octets in the Mobile Allocation IE, and thus reduce
the overall size of this element. Unfortunately, this is wrong.
3GPP TS 44.018, section 10.5.2.21 clearly states that the Mobile
Allocation IE contains a bit-string of size NF, where NF is the
number of frequencies in the cell allocation. If NF % 8 != 0,
then '0'B padding bits must be appended to make it octet-aligned.
In other words, if the cell allocation contains let's say 13
frequencies, but a hopping timeslot makes use of only a small
fraction of it (e.g. 4 first channels), we would still need to
transmit at least 13 bits (+padding), including all redundant
bits and octets.
In RLC/MAC frames though it's not required to make the bit-string
octet aligned, so we need to send exactly NF bits without padding.
In order to achieve that:
a) add MA length field to INFO.ind (record PCUIF_InfoTrxTs);
b) ajust the existing test cases to use this field.
It's safe to merge this change as the related patches have not
been merged to osmo-pcu and osmo-bts yet.
Change-Id: I2709673c90a0cd7d76de9db8b8ad82ac59ca84a0
Related: SYS#4868, OS#4547
Otherwise TITAN would refuse to decode any messages:
Dynamic test case error: While RAW-decoding type
'@BSSAP_LE_Types.PDU_BSSAP_LE': Can not decode type
'@BSSAP_LE_Types.PDU_BSSAP_LE', because invalid message was received
Change-Id: I3db7e8784efd067ccf0bc7dbc234d9b4ff1c033c
Related: OS#4597
This way one can simply pass an IP addr in string format and return the
IE no matter the IP version.
Change-Id: I743dbb7c89e504762498b7f278c12e130352e5f0
Similar to [1], the existing implementation [2] is unfriendly
to use, so let's work this around by defining a minimalistic
implementation of (RR) Handover Command.
[1] If1a5244a688abed6e6de2bf3f6e19e0e28129ea5
[2] titan.ProtocolModules.MobileL3_v13.4.0
MobileL3_RRM_Types.PDU_RRM_HandoverCommand_NW_MS
Change-Id: I08e6d33a725f99e2c92f93153b2369c4c764c012
Related: SYS#4868, OS#4545
Unfortunately, the existing implementation [1] is somewhat
incomplete and unfriendly to build templates on:
- some fields holding integer numbers defined as BITx,
so we would have to do bit2int() / int2bit();
- some bit-map fields defined as octetstrings;
- some fields are not decoded at all (raw octetstrings).
Let's work this around by defining a minimalistic implementation
of (RR) Assignment Command with all mandatory and some optional
fields. Reuse some IEs directly from MobileL3_RRM_Types.
[1] titan.ProtocolModules.MobileL3_v13.4.0
MobileL3_RRM_Types.PDU_RRM_AssignmentCommand_NW_MS
Change-Id: If1a5244a688abed6e6de2bf3f6e19e0e28129ea5
Related: SYS#4868, OS#4545
Most likely, the second part of the condition was copy-pasted
from ra_is_ps(), where the specs. require that at least one
of the three LSB's shall be zero. This requirement does not
apply to emergency RA values in range '101xxxxx'B.
Change-Id: I4c923682edfeee9c6bf3aeeeb67438809a54109f
Those two modules are analogous to BSSAP/BSSMAP CodecPort and Emulation,
but for the Lb interface (BSC-SMLC) instead of the A interface.
Change-Id: I92fd91056731abb8d3c01560f80c01c6a48a6fc9
osmo-pcu.git 0052051c07af63da98137c9f8e3b3119642eb587 introduced a bug
(fixed in 1d68cdff928f32941aff36c70e4543203c283d15) where no MS could
GMM attach to the network, but no test showed the issue.
This couple test verifies both correct behavior and also ensures wrong
IMSI is detected and reported.
Related: OS#4729
Change-Id: I5072d80b7ed9945a6083cdf3254efb8b8f119c54
GSM_RR_Types.ttcn: In TTCN-3 module `GSM_RR_Types':
GSM_RR_Types.ttcn:957.2-983.2: In template definition `ts_IMM_ASS':
GSM_RR_Types.ttcn:957.2-983.2: While checking template restriction `value':
GSM_RR_Types.ttcn:146.14-16: warning: Inadequate restriction on the referenced template parameter `len', this may cause a dynamic test case error at runtime
GSM_RR_Types.ttcn:145.44-63: note: Referenced template parameter is here
Change-Id: I0d17102294430d23eb683e16d5ac66abe806f2c1
L3_Templates.ttcn: In TTCN-3 module `L3_Templates':
L3_Templates.ttcn:120.1-125.1: In template definition `tr_MI_IMSI':
L3_Templates.ttcn:122.25-124.2: In template for record field `oddEvenInd_identity':
L3_Templates.ttcn:123.11-28: In template for union field `imsi':
L3_Templates.ttcn:123.23-28: In actual parameter list of function `@L3_Templates.f_tr_MI_IMSI':
L3_Templates.ttcn:123.24-27: In parameter #1 for `digits':
L3_Templates.ttcn:123.24-27: warning: Inadequate restriction on the referenced template parameter `imsi', this may cause a dynamic test case error at runtime
L3_Templates.ttcn:120.37-59: note: Referenced template parameter is here
Change-Id: Ia6979dff7d3c58f8609ebe55de2550446c3f1781
L3_Templates.ttcn:1099.1-1108.1: In template definition `ts_ML3_MO_CC':
L3_Templates.ttcn:1099.53-1108.1: warning: Field `msgs' is missing from template for record type `@MobileL3_Types.PDU_ML3_MS_NW'
Change-Id: Id131274ae7832846df6c09cbe6763b9e147ef372
RAN_Emulation.ttcn: In TTCN-3 module `RAN_Emulation':
RAN_Emulation.ttcnpp:1294.1-1343.1: In function definition `ExpectedCreateCallback':
RAN_Emulation.ttcnpp:1309.4-1313.2: In else statement:
RAN_Emulation.ttcnpp:1312.3-12: warning: Control never reaches this statement
RAN_Emulation.ttcnpp:1342.2-11: warning: Control never reaches this statement
Change-Id: I4e7cc0a7e6bff5c5e569458548fa70e814bd200c