Commit Graph

435 Commits

Author SHA1 Message Date
Harald Welte 68e495b48a bts: Add paging related tests
We're testing at 80% and 200% of PCH capacity, both for either IMSI-only
or TMSI-only paging requests.  The way how we test ensures:

* the expected number of paged mobile identities end up on the Um interface
* we implicitly check the queuing limit of 200 paging records by
  overflowing it in the 20-seconds-of-200%-load cases
* we implicitly check the batching of mobile identities into different
  paging types
* we test the PCH load reporting over RSL

As a side note, in case you were ever wondering what's the expected
paging throughput / capacity, there are now helper functions to compute
it.  For our combined CCCH/SDCCH4, it's about 16 IMSIs per second or
about 32 TMSIs per second.

Change-Id: I0b80b72bdab3d80d915296d70e1174623fbd8610
2018-02-25 12:58:36 +01:00
Harald Welte 7484fc41b4 bts: Type Definition + Template for SI3; Send SI3 at start of test
The BTS needs some of the SI3 parameters like BS_AG_BLKS_RES for
internal computations, so make sure we send it after the connection
has been established.

Change-Id: I5dc3724f79e669f52593cd776806d84b4dd4bf5c
2018-02-25 12:57:21 +01:00
Harald Welte 874c22393e RSL_Types: Add ts_RSL_BCCH_INFO() for sending BCCH_INFO
Change-Id: Id9ad914f67137e38c7ad259c7a74de0e98c8f50d
2018-02-24 04:52:43 +01:00
Harald Welte 34252c56c7 RSL_Emulation: Make CCHAN_PT bi-directional
So far we only dispatched received Common Channel messages from the
wire / IUT into the CCHAN_PT. Now the tester can also send Common
Channel messages back to the wire / IUT.

Change-Id: If3d5516c14ea3fbbd8c3de35eaa8ea5f18a00933
2018-02-24 04:51:50 +01:00
Harald Welte 5377d2f730 GSM_Types: add rxqual2ber and rxlev2dbm + ivnerse functions
Change-Id: I6293f6a9b73d5614cbb61c64617af4dd8afc1e73
2018-02-24 01:03:09 +01:00
Harald Welte 7f26f5524d Add TRXC (OsmoTRX Control) protocol types + codec port
Change-Id: I3b5e81693e5cf8ee8a2c360bde8b16c5276d2297
2018-02-24 01:03:09 +01:00
Harald Welte 39b47be947 RSL_Types: Add tr_RSL_MEAS_RES_OSMO()
This is a template that goes beyond the 3GPP specs, as it expects
presence of certain optional IEs which we know are always present
in the OsmoBTS case.

Change-Id: Ibf37565ab4fe70515b598a2757953628aa780241
2018-02-23 19:03:54 +01:00
Harald Welte 7d7d26cb04 L1CTL: Quickly fail in case of non-successful FBSB.resp
Change-Id: I9d1fdb196eee7b3b06f2d3622e59d58f402dcd0d
2018-02-23 19:03:54 +01:00
Harald Welte a82f7e6098 L1CTL: Increase FBSB timeout to ~1s
Change-Id: Id2bb23ae966bd9aa5fc36bfa8ba41d7f136ac88f
2018-02-23 19:03:54 +01:00
Harald Welte eb1e6813c7 GSM_RR_Types: Fix inverted "valid" logic in measurement report
Change-Id: I3ebdd30639b45ba1a9c0fbda7bf2775035833300
2018-02-23 19:03:54 +01:00
Harald Welte 2691adf843 RSL: Add definitions for RSL MEAS REP parsing/encoding
Change-Id: Ib04b81891def2c15a62767a29b53c0fb605d45be
2018-02-23 19:03:54 +01:00
Harald Welte cbc947f709 GSM_RR_Types: Add ts_IMM_ASS and ts_MEAS_REP
which allows us to send RR IMMEDIATE ASSIGNMENT (DL/AGCH) and
RR MEASUREMENT REPORT (UL/SACCH) messages from tests.

Change-Id: Ic75041e84c15c77805ecafb823bf7108920675ca
2018-02-22 00:29:00 +01:00
Harald Welte ce6dc4494c L1CTL: Add optional link_id argument to t_L1CTL_DATA_IND()
Change-Id: Ib4cf42825da1034966086d9232273c2328a94947
2018-02-22 00:29:00 +01:00
Harald Welte bb6aed387e RSL_Emulation: Pass ASP_IPA_EVENT_UP to RSL_CCHAN port
When emulating the BSC side of RSL, this can be used by a test case
to wait for the RSL connection to be established.

Change-Id: Iad2f6e4cb6a8f3b77e452f36a83ec11e7554e6c7
2018-02-21 12:20:30 +01:00
Harald Welte 1c02fd1ad5 RSL_Emulation: Introduce notion of 'bts_role'
So far we assumed we emulate the BTS side and talk to a BSC.

Let's make this configurable and disable the BTS-side spcific code
paths by means of a 'bts_role' boolean type.

Change-Id: I0d0460cbb633b470f6117d07643f68aefb1530eb
2018-02-21 12:20:30 +01:00
Harald Welte 3bc387f41a IPA_Emulation: Don't log IPAC_MSGT_ID_RESP as "Unknown/unsupported"
Change-Id: I6ea3855a1f3d1cba6ac173b0f9cf9052d5d028fc
2018-02-21 12:20:30 +01:00
Harald Welte df277258f1 IPA_Emulation: Make dependencies to RSL/MGCP/SCCP/GSUP conditional
Let's use the preprocessor to avoid IPA_Emulation pulling *all*
dependencies into each and any of our projects.  The code readability
suffers a bit from the many #ifdefs, but compilation speed increases
if we don't have to pull in all those (recursive) dependencies.

After all, a BTS test case will never need SCCP, GSUP or MGCP.

Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0
2018-02-20 16:17:17 +01:00
Harald Welte 9abd1289ec RSL_Types: Add templates for "BSC side"
So far, the RSL templates have been used for BSC testing, i.e.
TTCN3 behaving like a BTS.  Now we want to test the BTS, so we
have to "invert" the receive/send direction and hence also need
the inverse templates.

This doesn't add *all* of them, but a sufficiently large number for our
first testcases against OsmoBTS.

Change-Id: Ica9cfae5a691e4d967d046b04e5bb16a71a89adf
2018-02-20 16:10:41 +01:00
Stefan Sperling 830dc9d07b Add tests for OS#2714, "close RSL connections from unknown Unit ID".
This adds two new tests: One for RSL, and a second one which performs
the same test on the OML port. Both tests open an IPA connection and
send a unit ID which is unknown to the BSC. The tests expect the BSC
to close the connection immediately.

We need to add handling for a socket error in IPA_Emulation because
otherwise these tests do not pass reliably as some closed connections
are not properly detected.

Change-Id: I6a947d7411a016e4d7650031396cae3575756453
2018-02-19 13:06:09 +01:00
Harald Welte 57b9b7f1dc Add TC_attach_pdp_act_user_deact_mt for GGSN-originated PDP DEACT
Change-Id: I7eb653694f487f8bbf122146300c93be625b0f87
Related: OS#2961
2018-02-18 22:28:13 +01:00
Harald Welte 6f20316985 sgsn: Add TC_attach_pdp_act_user_deact_mo
Change-Id: I43cb7728658cae6590eb1bd31c7c285b942a265e
2018-02-18 22:04:55 +01:00
Harald Welte 4aacdd8784 L3_Templates: Fix activatePDPContextReject msg_Type
Change-Id: Ibc40502a4e9862ac8d95d77b483dac39ac783e5b
2018-02-18 21:24:05 +01:00
Harald Welte 37692d84e9 sgsn: Add user plane GTP testing (GTP->Gb and Gb->GTP)
Change-Id: Ifd62cca8cd9dbcffe4eac957db210ac13b8c633f
2018-02-18 20:23:31 +01:00
Harald Welte 752abbada5 BSSGP_Emulation: Allow clients to send PDU_LLC directly
If a client is sending a PDU_LLC on the BSSGP port, we will encode
it and wrap it in BSSGP before sending it down the stack towards the
IUT, just like we're doing with L3 PDUs already so far.

Change-Id: Ie3385dbb9aee793bdbd006376a69e0a551b23c3c
2018-02-18 19:47:09 +01:00
Harald Welte a2526a85d3 BSSGP_Emulation: Add SNDCP decoding support
Change-Id: Icd2e8feed9173b0a2729b7ee1cfac37a86eca6cf
2018-02-18 19:47:04 +01:00
Harald Welte 7aff2ca8cd sgsn: GTP Create PDP: Include missing required "Charging ID" IE
Change-Id: I7e4b71d7ca6e75f759f77fb47abc9816c0aa716d
2018-02-18 19:45:11 +01:00
Harald Welte 835b15f799 sgsn: Add TC_pdp_act_unattached
Change-Id: I162ab7cb74102e6f15c4d685c49575bcd0b4f41c
2018-02-18 14:39:11 +01:00
Harald Welte c7872fa0c0 BSSGP_Emulation: use 'isvalue()' instead of 'isbound()'
This seems to be a bug in TITAN 6.1.0: isbound() on a bound-value
still returns false.  isvalue() however returns true if the variable
is bound, while still returning false if it is not.

Change-Id: If6e9ea970a90470a98a33e50ea5cff0fd1781719
2018-02-18 14:06:12 +01:00
Harald Welte eded9ad578 sgsn: First PDP CTX ACT test: TC_attach_pdp_act
Change-Id: Ia1bfaca99a2a70bb097e2ee44f54e4a31b849a1b
2018-02-18 10:57:02 +01:00
Harald Welte c69cf4e933 ggsn: Move GTP templates to separate GTP_Templates + Add GTP_Emulation
Change-Id: I384e59738a9e0fc0186b69f0806f217a2a8d8a4b
2018-02-18 10:26:54 +01:00
Harald Welte 328eb6d535 move GTP_CodecPort from ggsn to library (for sgsn reuse)
Change-Id: If1b25f3c4705fcf4763886b54c5ef1f7ae08628f
2018-02-18 10:26:45 +01:00
Harald Welte d471901f72 BSSGP/LLC: Fix LLCC SAPI for SM
While in TS 24.007 there is a separate L3 SAPI for GMM and SM,
this only applies to messages sent over LAPDm, and not LLC.

In LLC, both GMM and SM are sent via the same LLGMM LLC-SAPI.

Change-Id: I7814c952cd7f6032222b190d396aaa0570571bfc
2018-02-18 10:26:36 +01:00
Harald Welte 6abb9fe76f sgsn: Add TC_detach_* for various GPRS DETACH use cases
Change-Id: I2243b850400482b911d687585929a2eef3490954
2018-02-18 10:26:34 +01:00
Harald Welte 91636de6d5 sgsn: Add new TC_attach_rau: Attach followed by RA Update
Change-Id: I8f71bf83f4e6504f1cfbdc55a57e3ed62b3e5f25
2018-02-18 10:26:25 +01:00
Harald Welte f70997db90 sgsn: Implement TLLI assignment/modification/unassignment
It's important that we implement the proper TLLI handling whenever our
P-TMSI changes.

Change-Id: I5b95b9e49f0a1db9659714c4d01f340fd44fafe8
2018-02-18 10:26:09 +01:00
Harald Welte 04683d0fb8 sgsn: Add TC_rau_unknown
Change-Id: If33fc690cedcc362c3cd5d7c1951440ecba328c2
2018-02-18 10:25:25 +01:00
Harald Welte 872ce17d35 move f_vty_config() from MSC_Tests to Osmocom_VTY_Functions
Change-Id: Ie7373c28b1d2b76f8d637ac6c86976fd341e3e2c
2018-02-18 10:23:41 +01:00
Harald Welte 5b7c812e03 sgsn: TC_attach_*_timeout test cases
Change-Id: If8cd9e4387588e8299b7675b8b57392d7da66bd9
2018-02-18 10:18:14 +01:00
Harald Welte 5a4fa04ec4 sgsn: Use Random RAI when performing attach request
Change-Id: Id349c7cd0899d6b87114a3ece8bc2ee625f64116
2018-02-18 10:18:14 +01:00
Harald Welte 14a0f94881 sgsn: Use random TLLI when performing ATTACH
Change-Id: If104add9a6d029b674e46e01af71f2e336aa35f0
2018-02-18 10:18:14 +01:00
Harald Welte 5ac3149d99 First actual SGSN test case
Change-Id: Id66ddf8dbe1c5cfa96a087235588ba67763b7f05
2018-02-18 10:12:31 +01:00
Harald Welte 519db89960 L3_Templates: Fix ts_MI_TMSI_TLV / ts_MI_IMSI_LV / ts_MI_IMEI_LV
It seems not all encoder paths properly set typeOfIdentity, so
let's make sure we set it correctly.

Change-Id: Ie35dcf7fec901b786eb2127c1a23f5c161c5778c
2018-02-16 20:03:47 +01:00
Harald Welte b0386dfd30 L3_Templates: More GMM related templates
Change-Id: Idf305731afb9a4c316e7320553705946c3edb633
2018-02-16 20:03:47 +01:00
Harald Welte 78d9f275c2 Osmocom_Gb_Types: Add ts_BSSGP_UL_UD and tr_BSSGP_PS_PAGING
Change-Id: I0504ee9137eef08c2ab0c710d1b57b2c19bf0db8
2018-02-16 20:03:47 +01:00
Harald Welte ccda45ecf9 bool2bit_tmpl(): Print unsupported template in failure case
Change-Id: I53c65e3a2b71e4c9b6691969d50def69b25ddfd0
2018-02-16 20:03:47 +01:00
Harald Welte b596c18689 bool2bit_tmpl(): Fix for '?' template case
Change-Id: I6dd3c4afdf61689a23aefc277a70cf298cb24c96
2018-02-16 20:03:47 +01:00
Harald Welte 158a7ca881 Add L3_Common for shared L3 functions between MSC and SGSN testing
Change-Id: I16e80df610235849180dc946f9457302deafb9d2
2018-02-16 20:03:47 +01:00
Harald Welte e5695f5544 msc: move f_gen_{imei,imsi,msisdn} to L3_Templates.ttcn
This allows them to be reused in upcoming SGSN tests.

Change-Id: I0459eeb44e58342da656f2312560466698374b72
2018-02-16 20:03:47 +01:00
Harald Welte 38575a753b L3_Templates: Add various GMM related templates
... needed for upcoming SGSN testing

Change-Id: I2026c5db3d709566dc3764515d3711b361d82a06
2018-02-16 20:03:47 +01:00
Harald Welte c7adaa722b Osmocom_Types: Add bool2bit() and bool2bit_templ()
Those can be very handy to convert boolean values and templates
to the BIT1 type that is used a lot in Ericsson code.

Change-Id: I137595edabd2bbf5e6cf8bf9bdb73b3589c94c64
2018-02-16 20:03:47 +01:00
Harald Welte 853c0ada1d BSSGP_Emulation: Remove one level of indent (like most other code)
Change-Id: I1d6de5404dbf907f663ec89b1847c6de84d5d858
2018-02-16 20:03:47 +01:00
Harald Welte 96a33b00c9 sgsn: Skeleton of a SGSN test fremwork
Based on the exsting NS/BSSGP emulation as well as the VTY, GSUP and
CTRL implementations, we are now building a test framework skeleton
for osmo-sgsn.

Change-Id: Icce90f9d8a680c7a523163e2c0bc03d12ff857e2
2018-02-16 20:03:47 +01:00
Harald Welte e0abc47d32 Migrate Gb (NS/BSSGP) code over to Ericsson NS/BSSGP modules
When we started out, Ericsson hadn't released yet their NS and BSSGP
modules.  Let's port our logic over to their encoder/decoders, as they
are more complete (but less regular / more difficult to use).

Change-Id: Icbc4f5d24f3419f99c9a4805f836bddd2849f492
2018-02-16 18:35:44 +00:00
Harald Welte 23b774ea48 Move f_hex_is_odd_length from BSSMAP_Templates to GSM_Types
It's a quite frequent requirement in encoding IMSI/BCD numbers, so
let's move it to the more generic GSM_Types module.

Change-Id: I6fb8d9a6f37c990f6901fb48b15312a157954fda
2018-02-16 17:50:35 +00:00
Harald Welte 73489404fd General_Types: Add INT18b_BO_LAST type
Change-Id: I9611cad26bf9a447e63462caa608da1f5888a9d8
2018-02-16 18:43:47 +01:00
Harald Welte ecb8f68c0d gprs: Move BSSGP related code to library
Change-Id: I9e13c63cc12c88be82124a8e3ce3c315b7b3a1fa
2018-02-16 18:33:59 +01:00
Harald Welte fc5e1c85a4 gprs: Move NS Types/CodecPort/Emulation to library directory
Change-Id: I876ce0e981d70ff0e737175983002268fd690989
2018-02-16 18:33:55 +01:00
Daniel Willmann 92f662789d BSSMAP_Emulation: Parameter to skip seq no patching
This is needed to check that duplicated messages will actually be thrown
away by the MSC.

Change-Id: I0a6914067ec8daa8903f0ef0c877f178cfd61659
2018-02-15 10:29:01 +01:00
Daniel Willmann 8b084374b5 MSC_Tests: Add CC sequence no. test with DTMF
Change-Id: I9674343acc18187b9e016bd8e0be470d5424046f
2018-02-15 10:29:01 +01:00
Harald Welte 7f5825807d BSSMAP_Emulation: Sleep 1s to wait for M3UA/AS/ASP to come active
We don't have a good way to make the BSSMAP code wait for the lower
SIGTRAN layers to be up and running.  To avoid the RESET being
sent before the lower layers are up, introduce a sleep of 1s.

This is ugly, but appears to work for now.  A more proper solution
is more than welcome.

Change-Id: I7a43b3e381405f3af30b3ffe04bc50e64ec66f57
2018-02-14 20:21:26 +01:00
Harald Welte 261af4b501 WIP: Intra-BSC handover testing
Change-Id: Ic47e639a7c8640c736c84a44780fc8e111a64b52
2018-02-13 08:15:33 +01:00
Harald Welte 70b52c9d4b RSL_Emulation: Add procedure calls to suspend/resume dchan handling
We introduce a procedure by which any DchanHandler can globally
disable all receiving/processing of DChan related messages.  This is
required in upcoming handover code, as we need to block handling
of messages such as RSL IPAC CRCX on the new Dchan before we have
processed the RR HANDOVER CMD and raised an associated expect here in
the RSL emulation code.

Change-Id: Ibef65f87d0d481accbc0e019874dd43b3f9a5dbc
2018-02-13 08:15:33 +01:00
Harald Welte 421e4d4eee RSL_Emulation: Add second RSL/RSL_PROC port for hand-over cases
Also, extend RSLEM_{register,unregister}() with an optional third
argiment, so the RSL_DchanHdlr can register 'expect' also for
that secondary BTS/port during hand-over

Change-Id: Ic22778f17dc4b93ef54837cf400ddd7d1732ae7e
2018-02-13 08:15:33 +01:00
Harald Welte a4ca446034 WIP: Prepare MSC_Tests for ability to emulate two BSCs
Change-Id: Ibe3ae6ed4181c6ba7501f5443b4f22e3c8abeb3e
2018-02-13 08:15:33 +01:00
Harald Welte 33ec09bf34 msc: Mobile Terminated Voice Call test
Change-Id: I4fa353623991ac98726217559fea9f83f64715ea
2018-02-11 11:49:48 +01:00
Harald Welte 49518bf842 BSSMAP: Fix L3 sequence number for ComplL3(Paging Response)
The existing code generating L3 sequence numbers in MO direction
made the assumption that the L3 message inside ComplL3 would always
be MM/CM, and increment the sequence number.

However, in case of a paging response, it is actually RR, which
does *not* have L3 sequence counters.  So we must make the sequence
counter increment dependant on the L3 protocol discriminator.

Change-Id: I25a5dd0c180c9acfa870984c6b122ac0c46383b3
2018-02-11 11:49:47 +01:00
Harald Welte 1823cb18a1 MNCC: Fix encoding of non-signal MNCC PDUs
Change-Id: I0b673f16daeccfdd2c9b5a4ee119c71f87a9644b
2018-02-11 11:46:32 +01:00
Daniel Willmann dcf9eb92f4 L3_Templates: Use tid parameter in ts_ML3_MO_CC template
Change-Id: I6c28b206625cb081a98a722b8c793ce02af74441
2018-02-06 16:23:36 +01:00
Daniel Willmann ff6abf0f2d MNCC_Emulation: Initialize connection table
Change-Id: I903f6bf14a15abc6cae1d527195414c5f081c2df
2018-02-06 16:23:36 +01:00
Harald Welte 9dadc522d7 BSSMAP_Emulation: Send proper L3 N(SD) seuence numbers in MO
We have to make sure all mobile originated L3 messages carry
proper sequence numbers

Change-Id: Id8638673ad1a133f46893b2140970ec072022b3a
2018-02-06 13:43:36 +00:00
Harald Welte d13700dd6c MNCC: Represent 'keypad' as one-character charstring, not int
The MNCC Unix Domain Socket encoding uses an int here, which is
a bit odd, given that it's an ASCII / IA5 char value on the actual
GSM L3.  Let's convert from/to something useful.

Change-Id: Id17ac502ca33f4962214a3d5938d0dc29ca6ec1b
2018-02-03 21:45:47 +01:00
Harald Welte e3bd658abf bsc: reduce code duplication; add new test case on too short messages
Change-Id: I8232ee58c14a4358a01b5428ff2b4e559491b185
2018-01-31 23:37:14 +01:00
Harald Welte fbf9b5eafd bsc: Add TC_unsol_ho_fail test case for unsolicited handover failure
Change-Id: Ic3bd71d77d03cb7eebabdf98ba0bfbafd24ec0ea
2018-01-31 20:47:04 +01:00
Harald Welte 898113b838 bsc: Add TC_classmark to test RR CLASSMARK -> BSSMAP CLASSMARK conversion
Related: OS#2902
Change-Id: Idd86b5505e1a4fee666287680a20dc235970be93
2018-01-31 18:50:41 +01:00
Harald Welte 751d3eb19f BSC_Tests: Implement remaining missing paging tests
We now test all of the cell identification types specified in BSSMAP,
and also lists with a length != 1 entry.

Change-Id: I261f948d6054d0c90078c1dd0b2785a967b0a49b
2018-01-31 16:08:26 +01:00
Harald Welte 363cb0a394 bsc: Handle wildcard endpoint name in MGCP CRCX
MGCP permits for the CallAgent to send a wildcarded endpoint name,
at which point the MGW itself must allocate an endpoint name and
return it as SpecificEndpointId parameter in the CRCX response.

Change-Id: I704bbe4e11b27e83a6ae6a71aa6a715dc8301f34
2018-01-30 20:10:56 +01:00
Harald Welte 06e835fa6d MGCP_Emulation: Remove bogus mgcp_conn_id variable from MGCP_ConnHdlr
A given MGCP_ConnHdlr is handling multiple connections on one Endpoint
anyway, and the variable is not set or used anywhere.

Change-Id: If9eea3f665289a52915f114f0a69234aad28f322
2018-01-29 22:35:41 +01:00
Harald Welte 1909f464af bsc: Unregister old RSL channel number after assignment
Change-Id: I27d113391094f938ff92c4d6514172ee634f695c
2018-01-29 22:35:41 +01:00
Harald Welte ecb254b18a L3_Templates: Add ts_RRM_AssignmentComplete
Change-Id: I3ae33ea00496eaef5885a58cd5fbc491abe68c87
2018-01-29 21:35:13 +00:00
Harald Welte f70df65570 RSL_Emulation: Permit registration of explicit Channel Number
During assignment or hand-over, a given TTCN-3 component may be
interested in registering more than one channel number.  Add an explicit
procedure port with associated registration procedure, similar to what
we already do in GSUP, MNCC and others.

Change-Id: Iba37bf9541c779b79e179f995cdfa677633fadeb
2018-01-29 21:35:13 +00:00
Harald Welte 2c2e8c4e18 GSM_Types: Enable sub-slot templating in t_RslChanNr_Lm
Change-Id: I22dca2338ad66c81add5d161bd2a3b3e8e15bdcf
2018-01-29 21:35:12 +00:00
Harald Welte 6a8199dda3 RSL_Types: More templates, f_rsl_find_ie() for finding an IE in a message
Change-Id: Id7fa7d672c1fde97882fa44959501e8bf7b8dc0b
2018-01-29 21:35:12 +00:00
Harald Welte e540822967 RSL_Types: Make tr_RSL_MsgTypeDR match non-transparent RLL
There are quite a number of non-transparent RLL messages, such as
RLL_RELEASE_REQ.  Make sure we match those as intended.

Change-Id: I30260a57fc01613450e6ac66e0af97c29041b4fa
2018-01-29 21:35:12 +00:00
Harald Welte 1fe7481174 MGCP_Templates: Some more convenience extraction functions
Change-Id: I2fc121b1d90327c879a096773ecc5c04faad07d7
2018-01-29 21:35:12 +00:00
Daniel Willmann aeea76fe5d bsc: Reply to CRCX with ACK
Change-Id: Ieaea431a99241d8844b915e1b46b77c79fff24df
2018-01-29 21:35:12 +00:00
Pau Espin aea381feca library: Implement f_inet6_addr function
It can be used to parse IPv6 functions, since inet_addr supports IPv4
only.

Change-Id: Icb6dd38462501895d1b4409a3c530793917bd803
2018-01-29 15:18:19 +01:00
Harald Welte d95da56490 GSUP: Initialize ExpectTable
For some reason TITAN 6.1.0 requires the table to be explicitly
initialized, while 6.3.0 is happy without it.

Change-Id: I4f9ac98fb60ad16b98acd627efd617bfb4f6abcb
2018-01-27 21:55:34 +01:00
Harald Welte 473676b879 BSSMAP_Emulation: ispresent(bssap.pdu.bssmap) before accessing fields
This seems not to be required on TITAN 6.3.0 on my laptop, but the
older 6.1.0 on Debian 9 seems to need it.

Change-Id: I574d8b79ac43e0fceddb3f9815666aef0ed66a3f
2018-01-27 20:38:54 +01:00
Harald Welte 167458a5c1 msc: Add TC_gsup_cancel testing GSUP Location Cancel
Related: OS#2886
Change-Id: Ib962c4a1e71f926631503fe4b3459ca49360dfa4
2018-01-27 19:00:04 +01:00
Harald Welte 8a1dd53367 GSUP_Types: Add tr_GSUP_IMSI as helper for messages with IMSI as first IE
Change-Id: Ie1b9682d102da28fa7de4cb391d61aeb52f1676b
2018-01-27 19:00:04 +01:00
Harald Welte 6aa04e313b GSUP_Types: Use (value) annotation for send (ts_) templates
Change-Id: I5c74ad71e8a0966f10bddcdf800cd94226cd900d
2018-01-27 19:00:04 +01:00
Harald Welte 812f7a45e3 WIP: msc: First test case for mobile terminated call testing
We start the call from the MNCC side, match on the paging and then
pick it up from there.

It currently fails as the MNCC_Emulation cannot yet handle "ConnHdlr
originated" MNCC calls yet.

Change-Id: I28c465187fd8b1dcfd687180b373a47bb9ac6734
2018-01-27 12:45:39 +01:00
Harald Welte 3f95be8fff GSUP_Types: Make sure our MSISDN encoding agrees with OsmoMSC
OsmoMSC seems to have broken encoding of MSISDN which is not in-line
with the spec.  Let's adapt to it.

Change-Id: I4892df63f1a135573dcac977f5eb0a79cbaffad3
Related: OS#2883
2018-01-27 12:45:39 +01:00
Harald Welte 17d2115ab8 BSSMAP: Add IMSI/TMSI mapping table to dispatch incoming paging
If we're emulating BSC/BTS/MS, then we must be able to dispatch
incoming paging requests based on their IMSI or TMSI to the right
ConnHdlr component.  This introduces a new table to facilitate that
dispatch.

Change-Id: I85c1ea3bcf8fb4a100f20cffdc991826b58e290b
2018-01-27 12:45:39 +01:00
Harald Welte 4017d55bbe msc: Make TC_lu_and_mo_call succeed with osmo-mg enabled osmo-msc
This is for patch https://gerrit.osmocom.org/#/c/4980 in osmo-msc

Change-Id: Ieec52d5e0da776d35d6a473bd726b368af9d5c66
2018-01-26 22:53:57 +01:00
Harald Welte be48a7c081 BSSMAP_Templates: tr_BSSMAP_AssignmentReq support for cic + aoip
Change-Id: I666e70d265d9d5dea7516640809b6081ddeecb88
2018-01-26 22:53:57 +01:00
Harald Welte b6e1d7ec31 BSSMAP_Templates: Make ts_BSSMAP_IE_AoIP_TLA also usable for receive
Change-Id: I8ef753e448453fcab845fbd2936e37a0c22075a0
2018-01-26 22:53:57 +01:00
Harald Welte b71901a52f msc: Rewrite TC_lu_and_mo_call() to be more modular
All relevant parameters are passed in in form of a CallParameters
record, and the bulk of the work has been moved to
BSC_ConnectionHandler.

Change-Id: I932c6c9f7a48b6a1f1ec399e8bba6a413c8bc69e
2018-01-26 22:53:57 +01:00
Harald Welte 9601c8106a MGCP_Emulation: Move from connetion-based to endpoint-based model
In the end, we will often see two connections that relate to one
endpoint, so let's dispatch based on the endpoint name and not based
on the connection identifier.

In the BSC case, we have
* two MGCP connections on one EP in case of RTP/IP based Abis
* one MGCP connectio on one EP in case of E1/T1 based Abis

In the MSC case, we have
* two MGCP connections on one EP: BSS and MSS/MNCC side

Change-Id: I8cd7395ee7b076a9a9ef513cc1b71f2db5009845
2018-01-26 22:53:57 +01:00
Harald Welte c2461d66a5 msc: Move f_sleep() to common Osmocom_Types.ttcn
Change-Id: Ic748e1dfe002cb6ee4d785e9b7f8dca34873e504
2018-01-26 22:53:57 +01:00
Harald Welte bb5a1212c8 MGCP_Emulation: More complete implementation
* re-introduce connection table
* introduce unitdata_cb for connectionless MGCP messages (like AUEP)
* rename MGCP_Emulation_CT members to avoid clashes with other similar
  component names when using "multiple inheritance"
* Use HostName/PortNumber types on MGCP_conn_parameters
* allow "bind to local UDP port only, permit any UDP source port" behavior
* implement expect matching criteria + expect matching only on CRCX
* add helper function f_create_mgcp_expect() like in other Emulations

Change-Id: I953a91e663648715fa4fe98acacca393c8747001
2018-01-26 10:42:53 +01:00
Harald Welte a02515f82f MGCP_Emulation: Add comment + license disclaimer
Change-Id: Ibf1a1ed80a99c8d8754cce3b47b11b5186b9c52d
2018-01-26 10:42:53 +01:00
Harald Welte b6c6ec15f2 BSSMAP_Templates: Permit tr_BSSMAP_AssignmentReq without CIC
Change-Id: Id0379fcb676698d92effce755dbc07c26a6a1101
2018-01-26 10:42:53 +01:00
Harald Welte 4b2b3a673a L3_Templates: ts_Bcap_voice(): Include speech version octets
Change-Id: Iff48bff6df6fa7dae3bc8467be4d75b0305f68ad
2018-01-26 10:42:53 +01:00
Daniel Willmann 166bbb3310 bsc: CRCX is answered with (malformed) ACK
Change-Id: I09c1ed467e95be236e0758d6a9c8bbef405c02eb
2018-01-26 10:42:53 +01:00
Harald Welte c27eaaeb8b MGCP library part of "bsc: Reply to CRCX with ACK"
Change-Id: I68b66d26dfbbba11e1b3a8c04435f08d095f68ed
2018-01-26 10:42:53 +01:00
Daniel Willmann 955627afed MGCP_Emulation part of "bsc: Register expect criteria for MGCP CRCX"
Change-Id: I466df816eef9863bf1664e785b996c0697dc04e3
2018-01-26 10:42:53 +01:00
Daniel Willmann 34e7dd0cca MGCP_CodecPort: Receive MGCP command or response
If we act as MGW we need to accept MGCP commands sent to us as well

Change-Id: I895cfb688a2923b278828f5ae918c73fda18636d
2018-01-26 10:42:53 +01:00
Daniel Willmann fa870f5e25 Add MGCP_Emulation
Change-Id: I5245be2b44e98e1c74b9519c610564667b980a67
2018-01-26 10:42:53 +01:00
Harald Welte 9182704cbc ggsn: Move random number helpers to Osmocom_Types.ttcn
Change-Id: I141289cbf1807e81d72f07ac1183fa48b2dc54af
2018-01-26 10:42:53 +01:00
Harald Welte 161142834f msc: TC_lu_imsi_auth_tmsi_encr_13_13
Add a first test for encryption (cipher mode command/complete)

Change-Id: I8a8a5c55d87bb251896664679920b96f678673a0
2018-01-24 23:05:35 +01:00
Harald Welte c638f4dbe9 msc: TC_lu_auth_2G_fail: Test auth failure in 2G auth
Change-Id: I54ef4137c0b95658b1e844ac1bb13729f27fd0d1
2018-01-24 23:05:35 +01:00
Harald Welte 0195ab1ab1 msc: Add TC_cm_reest_req_reject: Expect CM RE-EST REQ to be rejected
Change-Id: I7d15b935caed2dacf39d66a33ff933a9b8c443d9
2018-01-24 23:05:35 +01:00
Harald Welte 6ed6bf9773 MSC_Tests: Use enum instead of magic numbers for CM_SERVICE_TYPE
Change-Id: Ic90b4a0aa47821877a2d3566606b9c9dd5919968
2018-01-24 23:05:32 +01:00
Harald Welte ae1362544f f_enc_IMSI_L3: Fix filler digit in *even* case
We actually need to add the filler digit 'F' if the number of digits
is even.  It is absent when the number of digits is odd.

Change-Id: Ic1353f4ea09bba3151636b94a99c8559e0289ffd
2018-01-24 22:42:25 +01:00
Harald Welte 2f562b1a70 GSUP: Fix handling of odd-length IMSI and 0xF filler digit
Change-Id: I4e0a9f1236504ce6026c6e34fd97fda6fefa832c
2018-01-24 22:42:25 +01:00
Harald Welte 553f655035 Osmocom_VTY_Functions: Make prompt configurable
We want to use this code also for OsmoMSC testing, so let's make the
prefix configurable as module parameter.

Change-Id: Iec846227e88b3dc0d3be9474b8b926719161c9ee
2018-01-24 18:53:32 +01:00
Harald Welte 45164da2bc MSC_Tests: More CM SERVICE REQ and EMERGENCY CALL related tests
Change-Id: I04ca21824f66ad90d9dac2c25000ecd724aa4528
2018-01-24 17:29:15 +01:00
Harald Welte ba7b6d940e msc: Add test case for LU with MI=IMEI (which is illegal)
Change-Id: Ie3c91a0ff212a70a8e03e0579f240a10bc4356f4
2018-01-24 17:29:15 +01:00
Harald Welte bc881789bd msc: Test closing BSSAP connection of LU by ClearCommand
Change-Id: I9194da2f9324ee17c920458cb920a6fa718ac739
2018-01-24 17:29:15 +01:00
Harald Welte 071ed736c8 msc: Add tests for HLR SAI timeout and HLR SAI error
Change-Id: I7f8c8ff9ccadd7b7b14cba12a34cebe6855a5367
2018-01-24 17:29:15 +01:00
Harald Welte 77a8ebaceb GSUP/L3: Add templates related to authentication
Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554
2018-01-24 17:29:15 +01:00
Harald Welte 2bb825fc71 WIP: MSC: Add MO call testing
Change-Id: If32cb359b3cf732c4752856538552595dbbf2a8a
2018-01-24 17:29:15 +01:00
Harald Welte ef9fa87ac9 msc: Prepare authentication support
Change-Id: I930bed1907fd0faf61788cf14e75f2b2337572f4
2018-01-22 03:01:27 +01:00
Harald Welte d748a0519a msc: More MNCC and L3 templates towards voice testing
Change-Id: I3132a856175fc9421e1a0bfd37620d6b1625574b
2018-01-22 03:01:27 +01:00
Harald Welte 515f5d11e7 MNCC: Properly terminate speech version array
MNCC has this weird encoding that the speech version array must
be terminated with one element '-1' at the end.  Let's make sure
our default complies to this rule.

Change-Id: I2e06ed1b558c58a62a00ea8d3573bb31c0c3e750
Related: OS#2853
2018-01-22 03:01:27 +01:00
Harald Welte ec3d065b59 MNCC_Types: Define '0' in various enums for unused value
it seems the decoder is using '0' in positions where we have
not defined any enum value for '0'.  Work around that.

Change-Id: I6bf0540f7ddd4dbe3b6c6ac06421a933126a7e17
2018-01-22 03:01:27 +01:00
Harald Welte 5c2622cafb MSC_Tests: Implement early classmark sending in LU
Change-Id: I019d51703c60203c7cb83a77dc7ca4b3d6623e24
2018-01-22 03:01:27 +01:00
Harald Welte 71b693365d BSSMAP_Emulation: Introduce new MSC_CONN_PRIM_CONF_IND
If the ConnHdlr initiates an outbound connection, it needs to know
once that connection is established if it wants to send further
data. Transform the N-CONNECT.confirm into a MSC_CONN_PRIM_CONF_IND
and send it to the ConnHdlr.

Make use of it from the MSC_Tests when issuing a Complete L3 Info.

Change-Id: I7293a9f4993d13c90316224eb9f13e10130388ef
2018-01-22 03:01:27 +01:00
Harald Welte 6ff81909fd More GSUP and L3 Templates
Change-Id: I0e9136fc3b8f171934f054ec149d8dd344faa034
2018-01-21 19:31:09 +01:00
Harald Welte 0b476066b9 BSSMAP_Emulation: Decode DTAP
It's quite cumbersome if the user of the BSSMAP_Emulation (the ConnHdlr)
will have to manually decode the DTAP in every BSSAP/DTAP message he
receives (and encode on the transmit side).  Let's introduce a new
optional mode in which the DTAP messages are already decoded for
more convenient matching inside the ConnHdlr.

Change-Id: I35cd4ea78aca0ce7c7d745e082d7289882c11e81
2018-01-21 19:31:09 +01:00
Harald Welte 0e5aad201f Add new GSUP Emulation module, dispatching GSUP based on IMSI
Change-Id: I6d06280fa5729ee921d319854a9b11636cf83495
2018-01-21 19:31:09 +01:00
Harald Welte cb6cc33521 L3_Templates: Template for tr_CM_SERV_REJ and ts_ML3_MO_LU_Req
Change-Id: Iad1596a3b80de16a9b0e2d644cf9a0fe2c51ad21
2018-01-21 19:31:09 +01:00
Harald Welte ae8ce238cd BSSMAP_Templates: Fix + enable ts_CellId_CGI
Change-Id: Icafe6415b3f896176edcac604a0945e83126db09
2018-01-21 19:31:09 +01:00
Harald Welte 0a6835c6f2 BSSMAP_Templates: Make ts_BSSAP_DTAP usable
A send template with '?' is broken.  Also, allow caller to specify DTAP
payload as well as optionally a DLCI.

Change-Id: I641ee8ce5e5ae70b514342cf68cdc79b1926c4d0
2018-01-21 19:31:09 +01:00
Harald Welte dfe94dd5f7 GSUP_Types: Templates for UpdateLocation + ISD
Change-Id: If7a5a1159f098645652114e0c36fea98f63f946c
2018-01-21 19:31:09 +01:00
Harald Welte 049ca642aa BSSMAP_Templates: tr_BSSAP_BSSMAP / tr_BSSAP_DTAP: DLCI may be present
Change-Id: I98b313e354b31fae8c1fea9e61a838970d575d69
2018-01-21 19:31:09 +01:00
Harald Welte b0ec4eec33 BSSAP_Adapter: Always perform BSSMAP Reset on start-up
Change-Id: I1f8834be3409348b3a30b1489f5faa4d1c47b086
2018-01-21 19:31:09 +01:00
Harald Welte 0cf76ad9f7 Move BSSAP_Adapter.ttcn to library so it can be reused
Change-Id: I6ecb1a4823ee036b65d4e4e8ebc23c1db4915a42
2018-01-21 19:31:09 +01:00
Harald Welte ffe55fcc83 bsc test: Abstract out CTRL handling so it can be re-used from MSC test
We create a new Osmocom_CTRL_Adapter module which can be used by
test suites using the 'extends' functionality.

Change-Id: I3ef6cfaa738900e008155013a05b8ccf3d4b7aeb
2018-01-21 19:31:09 +01:00
Harald Welte 876bf9d474 MNCC_Emulation: Similar to BSSMAP_Emulation but for MNCC
Dispatches MNCC to individual ConnHldr's based on IMSI.

Change-Id: I850b49ce6a6c894b413b8905008452ce91d2cdb0
2018-01-21 19:28:59 +01:00
Harald Welte ca519981aa BSSMAP_Emulation: Add missing procedure port to client/ConnHdlr
Change-Id: I2925f74d5dcc18f37d48ec8a38a308c1adeef3cc
2018-01-21 19:28:26 +01:00
Harald Welte fe75a20163 MNCC_Types: Add enumerated for cause location + cause coding
Change-Id: If67691a7a18cdde726dfcab48fdfc7b29bd518b4
2018-01-17 13:34:58 +00:00
Harald Welte 8a10e8656d MNCC: Make sure all unused fields are set to omit, not 'unbound'
Change-Id: I0ef3afa19d4ad5e011a7c0d86f8367461608e163
2018-01-17 13:34:58 +00:00
Harald Welte 251b52b71c MNCC: Add some useful templates / helper functions
Change-Id: I59374f9f17600bd405b52dd3a0bcdb39b9ac9adc
2018-01-17 13:34:58 +00:00
Harald Welte 8b2a258808 MNCC_Types: Add templates for most MNCC messages
This adds templates for sending and receiving MNCC messages from
the external MNCC handler point of view, i.e. as required for MSC
testing.  The inverse templates will be needed if we want to implement
emulation of the MSC side of MNCC.

Change-Id: I77665aaf589bdaa9dc0aa6a5daa431fafdc2b383
2018-01-17 13:34:58 +00:00
Daniel Willmann d47106b337 BSSMAP_Emulation: Initialize ExpectTable before use
The assignment_fr_* tests now go through to the point where the BSC
sends a CRCX to the mgw.

Change-Id: Ic5a128861ae7b1a4cf8158e43c59c52ebd2a20ba
2018-01-17 13:12:19 +01:00
Daniel Willmann 17f970fc65 RSL_Emulation: Initialize the ConnectionTable
By default all the elements in the conn table seem to be considered
<unbound>.
f_cid_create() manages to set ra, ra_fn and comp_ref in the
ConnectionData element, but checking for
ispresent(ConnectionTable[i].ra) still returns false while
log(ConnectionTable[i].ra) returns 23. Setting every optional element to
omit as f_cid_clear() does before using the connection table seems to
solve this issue.

The assignment_fr_* tests now continue after receiving the Immediate
Assignment, but still fail after receiving the CM Service Request.

Change-Id: I24205425c5b6ae5b8a0f6288ba89ea5a1dc4669d
2018-01-17 13:11:57 +01:00
Stefan Sperling 6d9309b8a4 Fix f_enc_mcc_mnc() to return a properly encoded MCC/MNC triple octet.
With help from Daniel Willmann.

Change-Id: I99a5317e425d15acd463aa94c683676cacd54e0b
Related: OS#2754
2018-01-11 14:43:16 +00:00
Harald Welte 474fd7d11a Add a MNCC Socket implementation for TTCN-3
Change-Id: I8c334d4c2e630b2b779e73404c44a8df3278c614
2018-01-03 21:09:35 +01:00
Harald Welte 35bb716610 Add comments with short module description on top of each file
Change-Id: Id934d7a763b619d52cbec7de439b3708225b81f3
2018-01-03 21:09:29 +01:00
Harald Welte df32723446 GSUP Support and first test against OsmoHLR
Change-Id: Idd7a6aca1ab193da39294f49a3adc4c1cd7cecff
2017-12-28 23:17:24 +01:00
Harald Welte 8098164721 RTP_Emulation: Integrate IuUP support
Change-Id: I46de7fb9c324654275a27aa5f8c1be70340e3229
2017-12-25 00:03:07 +01:00
Harald Welte 3f6f48f4c1 RTP_Emulation: Add RtpemConfig / RTPEM_configure() call
Change-Id: Ie60b750fc009a3d8aa044e4fd450873aa19086bb
2017-12-25 00:00:58 +01:00
Harald Welte 46a38f1669 RTP_Emulation: Fix calculation of timer + timestamp increment
Change-Id: I3ba0d31ad571f42721f208a40f7dcbd8fb2c6e88
2017-12-25 00:00:58 +01:00
Harald Welte 8a4d3954b6 RTP_Emulation: Fix encoding of timestamp; int2bit counts in bits!
Change-Id: I8e8b8faff362536c46b188eb9bbb77bf0ceb866d
2017-12-25 00:00:58 +01:00
Harald Welte c676c68de6 Add 3GPP TS 25.415 IuUP encoder/decoder
Change-Id: Ie04438d8ec2b796e9e56b1937fa024a5299457dd
2017-12-25 00:00:58 +01:00
Harald Welte 73cd271a56 BSC_Tests: Implement ecnryption related procedures
Let's verify the operation of the CIPHERING MODE COMMAND as issued
by MSC, performed by BSC and implemented by simulated BTS/MS.

Change-Id: Ibc06bd2177c63837a794a0ca1f54ebef17499e78
2017-12-17 13:24:39 +01:00
Harald Welte 15166144ae L3_Templates: Add ts_RRM_ModeModifyAck template
Change-Id: Iec607577aff1c65cb208c20a4c4169b5b4569892
2017-12-17 13:24:39 +01:00
Harald Welte 71b5ec8c57 RSL_Types: Fix message type of ts_RSL_IPA_MDCX_ACK()
Change-Id: I8ce0c96d66c3027d68542b3f58d9a732fb42517d
2017-12-17 13:24:39 +01:00
Harald Welte 7794d5b7ea RSL_Types: Handle IPA specific messages in tr_RSL_MsgTypeDR()
They all are related to a dedicated channel and carry a channel number
as first information element.

Change-Id: Ic3fdc029a96c34a9d2d9ec669b789526c8325637
2017-12-17 13:24:39 +01:00
Harald Welte f307500caa RSL_Types: Fix RSL Message Type enumerated definition
Change-Id: I9096f8a579ee245fb193e0fd53144056bc4a23a8
2017-12-17 13:24:39 +01:00
Harald Welte 624f963393 BSC_Tests: Prepare for tests based on {RSL,BSSMAP}_Emulation
The existing tests were implemented directly on top of the BSSMAP
and RSL CodecPorts.  If we loop in the RSL_Emulation and
BSSMAP_Emulation components, we can properly multiplex/demultiplex
multiple MS (radio channels) on both the RSL and the MSC (SCCP
connection) side.

In order to have a single component that handles both the RSL and the
BSSAP side of a given channel/subscriber/call, we introduce the concept
of BSSMAP "Expects", where the test csse can register the L3 INFO that
it sends in the RLL ESTablish INDication on the RSL side, so the BSSMAP
handler cna route the BSC-originated SCCP connection with that L3 INFO
back to the same component.  This is a bit inspired "in spirit" of the
"expect" mechanism of netfilter connection tracking.

Change-Id: I71f777cd4f290422fa68897952b6505875e35f0e
2017-12-17 13:24:35 +01:00
Harald Welte 004f5fbca3 BSSMAP_Emulation: use BSSAP_CodecPort
So far, BSSMAP_Emulation used the SCCPasp_SP_PORT directly, explicitly
calling BSSAP encode/decode functions while processing the primitives.

Let's clean this up and use the BSSAP_CodecPort which has meanwhile
been developed as a dual-faced port that can be stacked between SCCPasp
and the user to avoid any manual encode/decode function calls.

Change-Id: Icded789d18f3469f74e16f552df2c7ac44ac4294
2017-12-17 11:04:32 +01:00
Harald Welte f1b64e208f BSC_Tests: Ensure MSC passes SpeechCodecList in AoIP ASSIGNMENT
Change-Id: I66deffc50b5adcc8707747c0baa2e65ee36bf18e
2017-12-15 14:56:48 +01:00
Harald Welte 235ebf1b9c BSC_Tests: Add whole bunch of new assignment tests
Change-Id: Ia7304f2e2265c2ebd92575a9403b082579397656
2017-12-15 14:19:10 +01:00
Harald Welte 4bf5fc97fb BSSMAP_Templates: Define various ASSIGNMENT related templates/constants
Change-Id: Id4f98120dbedf1a4fd5fb34df0d638eb08d7c3cb
2017-12-15 14:19:10 +01:00
Harald Welte b69533d153 BSSMAP_Templates: Define enum with 08.08 cause values
Change-Id: I2fc122a510403d0da8da04ca323687065347c96a
2017-12-15 14:19:10 +01:00
Harald Welte cfe2c962a7 BSC_Tests: Add TC_outbound_connect to test if BSC rejects inbound SCCP connections
Change-Id: Ie9087df9ff9b48c8be242b1ae66cbca936b07121
2017-12-15 14:19:10 +01:00
Harald Welte cc7e4dc40e BSSMAP_Templates: Enable use for AoIP, not just E1-CIC
Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205
2017-12-15 14:19:10 +01:00
Harald Welte 9958a4d7c8 RSL_Types: Add various IPA / Abis-IP specific IEs + templates
Change-Id: I683e7c23b217a993e0d8f079e5bf1a10403420bb
2017-12-15 14:19:10 +01:00
Harald Welte 16a4adfa5f BSC_Tests: Add TC_assignment_cic_only (AoIP Assign. must fail with only CIC)
Change-Id: Iee7202841ad8466a65b5d54679262be100863e39
2017-12-15 14:19:10 +01:00
Harald Welte a8ed906866 BSC_Tests / RSL_Types: Add enumerated for RSL Cause value
this looks much more human-readable in the logs...

Change-Id: I2bc3de37a3059cc16c6293df45e5c4d620422502
2017-12-14 09:46:01 +01:00
Harald Welte 5d1a2209f2 bsc: Run three virtual BTSs (2 in one lac, 1 in another)
This allows us to verify if the BSC pages *only* where it is supposed
to page based on the cell identity list in the 08.08 PAGING.

Change-Id: I53ffe44279a7b83e045b3fdb25da64529955d457
2017-12-13 19:51:29 +01:00
Harald Welte 067d66ed5b Add RTP_Emulation (stream source/sink) on top of RTP_CodecPort
Change-Id: Ic0750bdc025cd6f16094843550429d976fb44f4f
2017-12-13 17:24:03 +01:00
Harald Welte 1a9b35dd3e Add missing RTP_CodecPort_CtrlFunct TTCN and C++ files
Change-Id: Ic5499a0b5f635a93214cbb5e641d2fd8d37f38d6
2017-12-13 15:42:31 +01:00
Harald Welte 152c38c765 move RTP_CodecPort.ttcn to library
Change-Id: I67343f016757c23a85db6b526b6f60476e91ffc3
2017-12-13 13:19:26 +01:00
Harald Welte 16979760b2 Osmocom_CTRL_Types.ttcn: workaround to compile on TITAN 6.1.0
I have no clue why, but this seems to work?

Change-Id: I49750709e50d16a9fabec3e754ae8381832e6104
2017-12-13 00:46:31 +01:00
Harald Welte 4c5ef5b3e1 IPA_Types: Add ts_PDU_IPA (selftest fixup 2017-12-12 15:53:40 +01:00
Harald Welte 735dd07b38 RSL_Types: Work around (perceived) shortcoming of TITAN RAW encoder 2017-12-12 14:55:17 +01:00
Harald Welte 3e6ad89a2b IPA_Emulation: Call f_IPL4_setGetMsgLen for both client and server
So far, only the IPA client was instructing the IPL4asp to use
the message-desegmentation function.  The server didn't use it, leading
to inconsistent behaviour.
2017-12-12 14:39:46 +01:00
Harald Welte 72cecfa26c BSSMAP_Templates: Add templates for various PAGING options 2017-12-11 19:51:00 +01:00
Harald Welte 51d74101b8 RSL_Types: Fix coding of RSL_IE_ChanNeeded and matching if PAGING_CMD 2017-12-10 23:05:02 +01:00
Harald Welte fdfa046803 Osmocom_CTRL: Fix matching on incoming trap; avoid generating error verdicts in functions 2017-12-10 18:09:40 +01:00
Harald Welte 346658df4b BSSAP_CodecPort: respondingAddress is optional in BSSAP_N_DISCONNECT_ind 2017-12-10 14:10:25 +01:00
Harald Welte 510a287a5e BSSAP_CodecPort: Don't dereference optional fields unconditionally 2017-12-10 13:48:17 +01:00
Harald Welte e8a5ab1122 RSL_Types: New tr_RSL_REL_REQ and tr_RSL_DEACT_SACCH templates 2017-12-09 22:34:57 +01:00
Harald Welte 6efa8e3940 RSL_Types: Fix RSL_IE_Cause (missing length octet) 2017-12-09 22:34:06 +01:00
Harald Welte cfa79adb83 BSSMAP_Templates: Add tr_BSSMAP_ClearRequest 2017-12-09 22:33:47 +01:00
Harald Welte 36975c8ef7 add missing BSSAP_CodecPort file 2017-12-09 21:39:57 +01:00
Harald Welte 4a267365fd RSL_Types: Add ts_RSL_RF_CHAN_REL_ACK and ts_RSL_MsgDiscType 2017-12-09 17:49:32 +01:00
Harald Welte 3ec493f9bc Osmocom_CTRL_Fucntions: Add f_ctrl_get_ratectr_abs and f_ctrl_get_exp_ratectr_abs 2017-12-09 16:25:29 +01:00
Harald Welte 0ac4667870 Osmocom_CTRL_Types: Permit * (wildcard) and fix pattern syntax 2017-12-09 14:19:58 +01:00
Harald Welte 852a384e5c Osmocom_CTRL_Functions: Add f_ctrl_get_exp() function to GET + match expected 2017-12-09 14:19:36 +01:00
Harald Welte 95a478172f Osmocom_CTRL_Functions: Make TRAP resistant (ignore TRAPs) 2017-12-09 14:19:03 +01:00
Harald Welte 5819b554ad IPA_Emulation: Don't send events to unconnected ports 2017-12-09 03:13:36 +01:00
Harald Welte 03c0e5600e IPA_Emulation: Send ASP_IPA_EVENT_UP even in client mode 2017-12-09 03:13:32 +01:00
Harald Welte a76c4bb7b9 Extend IPA_Emulation with support for CTRL 2017-12-09 02:06:07 +01:00
Harald Welte bdb63706b7 IPA_Emulation: Add comments 2017-12-09 01:15:44 +01:00
Harald Welte bc330beab7 RSL_Emulation: Move templates into RSL_Types 2017-12-09 00:56:36 +01:00